Difference between revisions of "Earthbound RNG manipulation"

From RPG Speedruns
Jump to: navigation, search
Line 16: Line 16:
  
 
RNG 1 and RNG 2 always change in step with each other and behave exactly the same way. When an event occurs that would change RNG 1, RNG 2 will also change, and vice versa. RNG 3 changes primarily based on the player's movement around the map.
 
RNG 1 and RNG 2 always change in step with each other and behave exactly the same way. When an event occurs that would change RNG 1, RNG 2 will also change, and vice versa. RNG 3 changes primarily based on the player's movement around the map.
 +
 +
Additionally, RNG 1, 2, and 3 are always reset to the same values once the console is reset. It is this that allows for consistent RNG manipulation from reset to reset.
  
 
'''Events that change RNG 1 and RNG 2'''
 
'''Events that change RNG 1 and RNG 2'''
Line 23: Line 25:
 
* An NPC begins moving or stops moving. Each time one of these events occurs, RNG advances a single unit.
 
* An NPC begins moving or stops moving. Each time one of these events occurs, RNG advances a single unit.
  
* Moving the cursor in a menu. Each cursor movement advances RNG 1 and RNG 2 a single unit.
+
* Moving the cursor in a menu. Each cursor movement advances RNG 1 and RNG 2 a single unit. This starts the moment the console is turned on.
 +
 
 +
* Opening and closing the menu. Opening the menu with A advances RNG 1 and RNG 2 a single unit. Closing the menu with B then advances RNG 2 units. Note that if you wait long enough in the menu that your characters HP/PP boxes come up, RNG 1 and RNG 2 will advance one unit every second.
 +
 
 +
* Pressing B to see characters' HP/PP boxes. This will have the effect of advancing RNG 1 and RNG 2 one unit every single frame that they are open. As a result, pressing B for an RTA route is not recommended as frame perfect inputs would be required for consistent routes.
 +
 
 +
* Sometimes (although it is unknown to what extent this occurs) when RNG 3 changes in the events listed below, RNG 1 and RNG 2 will also advance.
 +
 
 +
'''Events that change RNG 3'''
  
* Opening and closing the menu. Opening the menu with A advances RNG 1 and RNG 2 a single unit. Closing the menu with B then advances RNG 2 units.
+
* Crossing 64 pixel boundaries around the map. Imagine the map is laid out in a huge grid of 64x64 pixel boxes. When you cross one of the vertical lines or horizontal lines in a certain direction, RNG 3 will advance. Note that there are certain times in the game where this mechanic is not active. An example of this is at the beginning of the game where you walk up the cliff to talk to Pokey by the cops. These 64 pixel boundaries are not active during this time.

Revision as of 16:37, 24 February 2015


RNG Info

RNG in Earthbound is dependent on multiple factors. There are 3 values in memory that the game uses to determine all random events in the game. These three values behave in different ways under different circumstances and influence randomness in different ways. Additionally, the third RNG value was discovered fairly recently and it is not yet known to what extent it does influence randomness. We do know that it does influence it, though.

The RNG values are below and their location in game memory is as follows:

  • RNG 1: 1 byte hex value at 0x7E0024
  • RNG 2: 1 byte hex value at 0x7E0026
  • RNG 3: 2 byte hex value at 0x7E4A7A

RNG 1 and RNG 2 always change in step with each other and behave exactly the same way. When an event occurs that would change RNG 1, RNG 2 will also change, and vice versa. RNG 3 changes primarily based on the player's movement around the map.

Additionally, RNG 1, 2, and 3 are always reset to the same values once the console is reset. It is this that allows for consistent RNG manipulation from reset to reset.

Events that change RNG 1 and RNG 2

  • A character is printed in a text box. When an NPC is talking to you, every time a character is printed in the box, RNG 1 and RNG 2 will advance a unit. It doesn't matter what the character is, the RNG advances in the same way. This is critical to remember when naming your characters. The number of characters in your characters' names will change the character count in text boxes.
  • An NPC begins moving or stops moving. Each time one of these events occurs, RNG advances a single unit.
  • Moving the cursor in a menu. Each cursor movement advances RNG 1 and RNG 2 a single unit. This starts the moment the console is turned on.
  • Opening and closing the menu. Opening the menu with A advances RNG 1 and RNG 2 a single unit. Closing the menu with B then advances RNG 2 units. Note that if you wait long enough in the menu that your characters HP/PP boxes come up, RNG 1 and RNG 2 will advance one unit every second.
  • Pressing B to see characters' HP/PP boxes. This will have the effect of advancing RNG 1 and RNG 2 one unit every single frame that they are open. As a result, pressing B for an RTA route is not recommended as frame perfect inputs would be required for consistent routes.
  • Sometimes (although it is unknown to what extent this occurs) when RNG 3 changes in the events listed below, RNG 1 and RNG 2 will also advance.

Events that change RNG 3

  • Crossing 64 pixel boundaries around the map. Imagine the map is laid out in a huge grid of 64x64 pixel boxes. When you cross one of the vertical lines or horizontal lines in a certain direction, RNG 3 will advance. Note that there are certain times in the game where this mechanic is not active. An example of this is at the beginning of the game where you walk up the cliff to talk to Pokey by the cops. These 64 pixel boundaries are not active during this time.