Z3M3:Basic Notes: Difference between revisions

From ALttPR Wiki
Jump to navigation Jump to search
(Created page with " == SM logic notes == * Logic probably needs to define rules for traversal, room-by-room, rather than just accessing items. Notably: ** Getting from any door to any other doo...")
 
No edit summary
Line 1: Line 1:


== SM logic notes ==
= SM logic notes =


* Logic probably needs to define rules for traversal, room-by-room, rather than just accessing items. Notably:
== A paradigm shift in the logic ==
** Getting from any door to any other door in a room may have requirements
In the current (v10) logic, requirements for an item to be in logic combine the rules for getting to the room and the rules for actually getting the item.
** Getting from any door to a specific item in a room may have requirements
* To reduce the risk of players soft-locking, logic should work in a symmetrical way:
** Players should not be expected to follow a path they aren't able to reverse
** Players should not be expected to do maneuvers where failure would leave them unable to get back (similarly to current logic not expecting a player to get back out of Wave Beam without morph)
** Doors a player can't open should not close behind them, so connected doors likely need to be the same color. This should also be true for grey doors that open after a condition is met.
* Requirements for Hellruns are a concern
** Should heated rooms have hellrun health values for each door-to-door connection, in both directions?
** Should logic be aware of refills and farm spots along the way?
* Power Bomb count and Power Bomb farming spots may be a similar problem to hellruns
* Without an entrance randomizer, some logical requirements are based on adjacent rooms. Namely, carrying momentum through a door (e.g. invisible bridge, reverse ice beam mockball) and charging a spark (e.g. Screw Attack room)
** Ideally, the logic should be able to tell whether the adjacent room fulfills the requirement, to determine whether to expect the player to do it.
** This is especially sensitive if the logic needs to expect symmetry. If the player comes from the other way, should they be expected to assume that the adjacent room does not fulfill the requirements?


== SM room placement notes ==
With an entrance randomizer, the rules for getting to any given room become dynamic, depending on room layout. Because of this, the logic likely needs to be reworked to have room-by-room traversal rules separately from the rules for grabbing an item.
 
This rework would require:
* The ability to define separate rules for getting from any given door to any given door within a room.
* The ability to define separate rules for getting from any given door to any given item within a room.
 
== Soft-locking risks ==
Because the player cannot be expected to know what room lies beyond any door, the risk of soft-locking is much greater with an entrance randomizer. To give the player a fighting chance, the logic should expect the player to only take paths that are deemed symmetrical, i.e. paths that the player is able to follow in reverse. Namely:
* Players should not be expected to traverse a room if they aren't able to re-enter that room and go back to the original door
* Players should not be expected to do maneuvers where failure would leave them unable to get back (similarly to current logic not expecting a player to get back out of Wave Beam without morph)
* To stay in line with this expectation from the logic, other changes are also proposed in the door placement section.
 
== Cumulative requirements across multiple rooms ==
In some situations, the requirements for being able to traverse may depend on what other rooms the player previously went through. Most glaring among those:
* Hellruns. Traversing one room requires less health than many rooms back-to-back
** Should each door-to-door connection in a heated room have hellrun health values in both directions?
** Should the logic be aware of the presence of health refills and farm spots?
* Power Bomb count. PB-hungry rooms being side-by-side could lead to softlocks. Logic needs to be aware of this. The two questions above about hellruns apply to Power Bombs as well.
 
It should be noted that if we want a "symmetrical" logic, the player should only be expected to follow these paths if they have enough resources to make it through and back again.
 
== Thinking outside the room ==
Without an entrance randomizer, some rules for getting to an item are based on adjacent rooms. Namely, carrying momentum through a door (e.g. invisible bridge, reverse ice beam mockball) and charging a spark (e.g. Screw Attack room).
* Ideally, the logic should be able to tell whether the adjacent room fulfills the requirement, to determine whether to expect the player to do it.
** How far would that need to go? In current normal logic, you can charge a spark to get through pillars because there is enough room for it two rooms away.
* This is especially sensitive if we want a "symmetrical" logic. If the player comes from the other way, should they be expected to assume that the adjacent room does not fulfill the requirements?
 
= SM room placement notes =
* Doors a player can't open should not close behind them, so connected doors likely need to be the same color. This should also be true for grey doors that open after a condition is met.
* Many rooms contain one-way trips. This would place them entirely out of a symmetrical logic. Other projects have altered those rooms to make them bi-directional, e.g. by removing crumble blocks or gates. Would that be a good idea?
* Many rooms contain one-way trips. This would place them entirely out of a symmetrical logic. Other projects have altered those rooms to make them bi-directional, e.g. by removing crumble blocks or gates. Would that be a good idea?
* It is probably preferable to keep Tourian and the escape path to the ship vanilla. All told, besides the Tourian doors, that is only 2 door transitions in Crateria.
* It is probably preferable to keep Tourian and the escape path to the ship vanilla. All told, besides the Tourian doors, that is only 2 door transitions in Crateria.
* The SM VARIA randomizer offers an area randomizer option, where Zebes is split into vanilla areas. Transition doors betweens these areas are then randomized, rather than every door. /wiykd that be of interest?
* The SM VARIA randomizer offers an area randomizer option, where Zebes is split into vanilla areas. Transition doors betweens these areas are then randomized, rather than every door. /wiykd that be of interest?

Revision as of 15:04, 2 November 2018

SM logic notes

A paradigm shift in the logic

In the current (v10) logic, requirements for an item to be in logic combine the rules for getting to the room and the rules for actually getting the item.

With an entrance randomizer, the rules for getting to any given room become dynamic, depending on room layout. Because of this, the logic likely needs to be reworked to have room-by-room traversal rules separately from the rules for grabbing an item.

This rework would require:

  • The ability to define separate rules for getting from any given door to any given door within a room.
  • The ability to define separate rules for getting from any given door to any given item within a room.

Soft-locking risks

Because the player cannot be expected to know what room lies beyond any door, the risk of soft-locking is much greater with an entrance randomizer. To give the player a fighting chance, the logic should expect the player to only take paths that are deemed symmetrical, i.e. paths that the player is able to follow in reverse. Namely:

  • Players should not be expected to traverse a room if they aren't able to re-enter that room and go back to the original door
  • Players should not be expected to do maneuvers where failure would leave them unable to get back (similarly to current logic not expecting a player to get back out of Wave Beam without morph)
  • To stay in line with this expectation from the logic, other changes are also proposed in the door placement section.

Cumulative requirements across multiple rooms

In some situations, the requirements for being able to traverse may depend on what other rooms the player previously went through. Most glaring among those:

  • Hellruns. Traversing one room requires less health than many rooms back-to-back
    • Should each door-to-door connection in a heated room have hellrun health values in both directions?
    • Should the logic be aware of the presence of health refills and farm spots?
  • Power Bomb count. PB-hungry rooms being side-by-side could lead to softlocks. Logic needs to be aware of this. The two questions above about hellruns apply to Power Bombs as well.

It should be noted that if we want a "symmetrical" logic, the player should only be expected to follow these paths if they have enough resources to make it through and back again.

Thinking outside the room

Without an entrance randomizer, some rules for getting to an item are based on adjacent rooms. Namely, carrying momentum through a door (e.g. invisible bridge, reverse ice beam mockball) and charging a spark (e.g. Screw Attack room).

  • Ideally, the logic should be able to tell whether the adjacent room fulfills the requirement, to determine whether to expect the player to do it.
    • How far would that need to go? In current normal logic, you can charge a spark to get through pillars because there is enough room for it two rooms away.
  • This is especially sensitive if we want a "symmetrical" logic. If the player comes from the other way, should they be expected to assume that the adjacent room does not fulfill the requirements?

SM room placement notes

  • Doors a player can't open should not close behind them, so connected doors likely need to be the same color. This should also be true for grey doors that open after a condition is met.
  • Many rooms contain one-way trips. This would place them entirely out of a symmetrical logic. Other projects have altered those rooms to make them bi-directional, e.g. by removing crumble blocks or gates. Would that be a good idea?
  • It is probably preferable to keep Tourian and the escape path to the ship vanilla. All told, besides the Tourian doors, that is only 2 door transitions in Crateria.
  • The SM VARIA randomizer offers an area randomizer option, where Zebes is split into vanilla areas. Transition doors betweens these areas are then randomized, rather than every door. /wiykd that be of interest?