Earthbound RNG manipulation

From RPG Speedruns
Revision as of 15:42, 24 February 2015 by AndyPerfect (Talk | contribs)

Jump to: navigation, search


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 from one of 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.

Additional Facts about RNG

RNG 1 and 2 follow a sort of predictable chain pattern in the way they advance. If RNG 3 is constant, RNG 1 and RNG 2 will always follow the same stream of values as events occur. This means that whether you are in a menu or watching an NPC walk ok screen, RNG 1 and RNG 2 advance in the same pattern. As soon as RNG 3 changes though, this pattern can change. RNG 3 on the other hand always follows the same pattern in that it always increases linearly.