marzojr
He/Him
Experienced player (749)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
dwangoAC wrote:
That text is definitely a bit too deep but yes, I think I could do a better job of explaining the general concept. Where did your quote come from, by the way? Just curious.
My own head, actually, the quote block was just to make it stand out from the rest of the message. I have been researching entropy collection, PRNGs and related stuff for some time now, ever since I decided to add more randomness to one of my Sonic hacks; this is basically a distilled summary of everything I have read.
Marzo Junior
Moderator, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
marzojr wrote:
dwangoAC wrote:
...Where did your quote come from, by the way?
My own head, actually...
That is some good stuff - you should consider editing the wiki and creating / updating pages on this topic. The better we can explain this kind of stuff to new users, the better off the site is. Thanks for the effort!
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Banned User, Former player
Joined: 3/10/2004
Posts: 7698
Location: Finland
marzojr wrote:
Video games — especially older ones — generally have very few good sources of unpredictable data; the chief among those is the player. Moreover, older console games generally didn't reseed the PRNG — they either chose a seed based on when the player started the game, or had a fixed seed. Thus, the only real source of unpredictability used was the player. By removing all unpredictability from the player, you remove all unpredictability from these games.
If this is to become an article (rather than a speech given at a marathon), perhaps that part could be elaborated further. It doesn't really explain how or why what the player does affects the randomness or what values the PRNG produces. As it is, it just leaves it as a bit mysterious "what the player does can affect the PRNG, somehow". Perhaps a few concrete examples could be listed. For example, some older games simply had a PRNG updating at each frame (or such), like it were a "clock" that goes through a (pseudo)random sequence, constantly changing at each frame, and when any part of the game needs a random value, it reads the value that it happens to have at that moment. Thus the player (or more precisely the TASer) can for example wait for an additional frame or two before doing something so that the PRNG will have a different value, which will affect that something (eg. a random item drop). Of course many other techniques were (and are) used. Perhaps briefly list a few examples.