Quinneapolis
Dragon Warrior by NEScardinality in 27:19 - AGDQ 201...
I'm mainly rewatching this because it's fucking insane but let's use it as a chance to explain how DQ1's RNG works and why this run was possible (if deeply improbable)
Quinneapolis
Quinneapolis
So! NES randomization.
monsterkiss%
sits here
Quinneapolis
The NES cannot, in fact, generate true random numbers
Quinneapolis
so each game with "randomness" fakes it in a different way
Quinneapolis
Here's how Dragon Warrior does it:
Quinneapolis
Somewhere in memory is a 256-byte block of data. Each byte is a different number between 0 and 255.
Quinneapolis
They are in... not RANDOM order, but a fixed order that's random-ish.
Quinneapolis
Then, there's a memory pointer, which starts pointing at the first number in the random block.
Quinneapolis
Actually not first - where it starts is determined using a calculation with all of your stats and your name, so that it starts in a different place each time.
Quinneapolis
Then, whenever the game is waiting for you to do shit, the memory pointer advances to the next number in the block once per frame.
Quinneapolis
So it's looping between 256 different "random" numbers about once every 4-5 seconds of idling.
Quinneapolis
then, whenever the game needs to make a die roll, it just takes whatever number is under the pointer at that exact moment.
Quinneapolis
normally that's so random that it might as well be random - it's changing to an unpredictable new value from an unknown old value, and it's doing it sixty times per second
Quinneapolis
BUT
Quinneapolis
it can be abused by a few certain tricks
Quinneapolis
First, for encounters:
Quinneapolis
while walking, the RNG pointer only moves once per tile.
Quinneapolis
while standing still, the RNG pointer moves once per frame.
Quinneapolis
This would be tricky to work with, except for ANOTHER aspect of DW: If you stop moving, it takes 16 frames to start moving again. There's a minimum pause length.
Quinneapolis
And together this means that if you use a combination of a known starting seed (via known stats and name) and a known, exact combination of movements and minimum-length 16-frame pauses, you'll get the exact same RNG results every time.
Quinneapolis
And, if you know what the RNG table looks like, you can abuse that.
Quinneapolis
If continuing to move would cause an encounter, pause for 16 frames instead to get a different roll.
Quinneapolis
That's why Nescardinality's movement on the world map keeps starting and stopping - he's moving in specific ways to make the RNG pointer dance in such a way that it skips all the numbers that would result in an encounter.
Quinneapolis
Then, in combat
Quinneapolis
The RNG is advancing once per frame whenever it's awaiting input on the menu.
Quinneapolis
It otherwise doesn't advance aside from when it needs to make a roll.
Quinneapolis
However, if you hold B while the menu is coming up, you'll cancel out of it in 1 frame
Quinneapolis
after which it will push you back in
Quinneapolis
so each Command? is Nedcardinality skipping one number in the RNG table
Quinneapolis
because if you always immediately choose something or press B, it's always moving the RNG pointer ahead by exactly one, so it's completely predictable
Quinneapolis
this all comes together to mean two things:
Quinneapolis
1. A perfectly informed player can manipulate the RNG to get just about any RNG result they want just by putting in the right inputs in the right order
Quinneapolis
2. If said player hesitates for 0.26 seconds at ANY POINT during the entire run, the whole thing INSTANTLY falls irreparably apart
Quinneapolis
so Nescardinality just waves his hand like a fucking wizard and encounters and kills five metal slimes with no effort
Quinneapolis
add to this the fact that in dungeons he's doing all this in TOTAL DARKNESS
Quinneapolis
I don't think I got all the technical details right but
Quinneapolis
it's the idea
Quinneapolis
https://imgs.plurk.com/Qy5/Dck/3KyUInn2J4EIgRn6E5S2Fm5oejY_lg.gif
Quinneapolis
superorbital ping for Command? fan solidarity
𝗕𝘂𝗻𝗻𝘆 𝗩𝗮𝗹𝗲𝗻𝘁𝗶𝗻𝗲
C O M M A N D
𝗕𝘂𝗻𝗻𝘆 𝗩𝗮𝗹𝗲𝗻𝘁𝗶𝗻𝗲
the fact that he does it all live and marathoned
𝗕𝘂𝗻𝗻𝘆 𝗩𝗮𝗹𝗲𝗻𝘁𝗶𝗻𝗲
Human tasbot
Quinneapolis
Nescardinality is a machine sorcerer
monsterkiss%
this was Amazing
Frozen Time
jegus
Frozen Time
COMMAND?
COMMAND?
COMMAND?
載入新的回覆