Skip to content

[RoomRando]: Ideas #79

Description

@foxsouns
  • How are we handling palette shifts?
    • Let it break, it's a visual-only issue (no work needed, but ugly)
    • Update per room (somewhat simple fix in asm i think? just make each room remember what it's supposed to be, shift every entrance, and default to old behavior for any oob roomshifts)
  • Modes:
    • Full (all rooms share the same pool: any room can connect to any)
    • Half Separated (overworld pool, caves/inside/dungeon mixed pool)
    • Full Separated (like rooms share the same pools: overworld pool, caves pool, inside pool, dungeons pool)
    • Overworld (overworld pool only: do not randomize other pools)
    • None
  • Mode toggle:
    • Match ends (connect all left sides to right sides, all up sides to down sides)
  • We should have a logic file for rooms, like logic/overworld.py
    • maybe use grid references (a1, b5, etc), and comment rooms (# graveyard connector left side, # 5 chest game cave top)
    • we could use this in the actual logic files instead in order to combat redundancy, and make it more accurate: several entrances in logic do not account for roomrando
    • logic for what they connect to/have (D7_PILLAR SWITCH_TILES, SWITCH_HIT, None, NO_CONNECT, OR(FEATHER, SWITCH_HIT) # room properties, then requirements: left, up, right, down)
      • we should actually have this disconnected, that looks very ugly to read. something like:
room.add("a1", "d1_moldorm_spawn_room") { # referrable by either
  information: "HAS_CHEST";
  room_type: "DUNGEON";
  cas_item: "SWORD";
  #cas_up: ; # when no change, comment out or dont include
  #cas_down: ;
  #cas_left: ;
  #cas_right: ;
  item: "OR(r.attack_moldorm)"
  up: "None";
  down: "SWORD";
  left: "BOMB";
  right: "None";
  hard_item: "$[self.item], BOMBS";
  #hard_up: ;
  #hard_down: ;
  #hard_left: ;
  #hard_right: ;
  #glitched_item: ;
  #glitched_up: ;
  #glitched_down: ;
  #glitched_left: ;
  #glitched_right: ;
  #hell_item: ;
  #hell_up: ;
  #hell_down: ;
  #hell_left: ;
  #hell_right: ;
}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions