Post subject: Question on luck manipulation
Joined: 1/1/2022
Posts: 1716
Hey guys, I just watched a few NES movies for the first time and it amazes me how fast some games can get finished. However, what I found most amazing is how luck is manipulated and apparent random events are being controlled. (I understand that the game doesn't produe totally random numbers but pseudo random numbers.) Can someone explain to me, in general, how this is done? For example, I watched the speed run of the rpg Dragon Warrior 1 on NES. In this movie, the player is able to walk throughout the recording avoiding random encounters and fighting the exact enemies he wants, when he wants. Furthermore, he can control critical hits, spell success rates, etc. So, are there tools/techniques that help in determining, as in the above example, which path to walk to avoid monsters totally? I find it hard to believe that it is all done by trial and error. Can someone give me an overview of how its done or point me to some texts I can read on the subject? Thanks a lot :) -Flack
Emulator Coder, Site Developer, Former player
Joined: 11/6/2004
Posts: 833
There are two important things you need to know. First, the NES, SNES, etc are deterministic. This means that their behaviour is 100% reproducible and predictable. Any randomness is merely an illusion. Second, randomness is simulated as a function of something the user cannot realistically control. These are usually some combination of a factor of the previous button inputs, player location, frame counter, etc. The only entropy source (a way to get random data into the system, which is processed by the CPU to produce something psudo-random) is the controller. Using savestates, we can fiddle with the controller until we get what we want. If something happens that you don't want, go back a bit and change how you behave. The random number generator will have a different set of data to work with and produce a different result. I hope that makes sense to you.
Active player (278)
Joined: 5/29/2004
Posts: 5712
I think Flack is asking for a more reliable way to do it.
put yourself in my rocketpack if that poochie is one outrageous dude
Emulator Coder, Site Developer, Former player
Joined: 11/6/2004
Posts: 833
Ugh... That really varies by game. The best advice I can offer is to try to determine what it is that the game uses as its main entropy source, and then try to fiddle with it. Not every action affects luck. Find out which ones do and then go by trial and error. If you can refine the strategy later, so much the better. Observe. Learn. Exploit.
nesrocks
He/Him
Player (241)
Joined: 5/1/2004
Posts: 4096
Location: Rio, Brazil
It's not ramdom trial and error, normally it depends on which frame the event starts, so what we do is try 1 by 1 (using frame advance) untill we get what we want, or, if that's taking too long, untill we detect the pattern so we can know when its gonna work. Sometimes it takes really long though, and the events are really unclear, then god help the person making the timeattack hehe i remember illusion of gaia hell...
Emulator Coder, Skilled player (1300)
Joined: 12/21/2004
Posts: 2687
The Dragon Warrior 1 movie in particular had some extra tools used (a custom program to predict battle outcomes, I think). Avoiding enemies was probably trial-and-error though, or at least it could easily have been done that way without taking too much time. In that case it's not so much a matter of finding the best paths to walk, since all you have to do is add tiny delays in-between steps until you find an amount that doesn't result in a battle. It's almost always case-by-case, since different games do different things for their randomness.
Editor, Reviewer, Experienced player (969)
Joined: 4/17/2004
Posts: 3107
Location: Sweden
>So, are there tools/techniques that help in determining, as in the above example, which path to walk to avoid monsters totally? I find it hard to believe that it is all done by trial and error. The Dragon Warrior video was special because Acmlm (who did the now obsoleted version) wrote a program to predict battle outcomes by simulating them, without having to test them. Bisqwit wrote a bot which tested huge numbers of button combinations for weapon refills in his Mega Man 1 movie. Other than that I think all games on this site used pure trial and error, however hard that may be to believe.
Editor, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Truncated wrote:
Bisqwit wrote a bot which tested huge numbers of button combinations for weapon refills in his Mega Man 1 movie.
I also wrote a page that explains how the randomness works in Mega Man 1 and 2, for the technically oriented people. (*) http://tasvideos.org/Bisqwit/RandomGenerators.html I'd like to collect code from a wider variety of games, but I couldn't yet find the randomness engine of Rockman 3-6. *) Despite this information, getting the desired results of semirandom actions is still matter of trial and error.