[HN Gopher] Demystifying the LFSR
       ___________________________________________________________________
        
       Demystifying the LFSR
        
       Author : randkyp
       Score  : 32 points
       Date   : 2022-08-24 06:50 UTC (2 days ago)
        
 (HTM) web link (www.moria.us)
 (TXT) w3m dump (www.moria.us)
        
       | wernsey wrote:
       | LFSR is in my vocabulary because of these two articles:
       | 
       | * Fizzlefade by Fabien Sanglard [0] that explains the fade to red
       | effect in Wolfenstein 3D
       | 
       | * How Pitfall Builds its World [1] that explains how the original
       | Pitfall on the Atari 2600 managed to have 255 unique screens
       | despite severe constraints on the storage space available (it
       | used a maximal length 8-bit LFSR that was also invertible so that
       | you can go back to previous screens).
       | 
       | [0]: https://fabiensanglard.net/fizzlefade/index.php
       | 
       | [1]: https://evoniuk.github.io/posts/pitfall.html
       | 
       | edit: formatting
        
         | djmips wrote:
         | The use in fades goes back at least to early Apple II games
         | where I probably learned about it by reverse engineering a game
         | or reading about it in Nibble Magazine.
        
         | ElevenLathe wrote:
         | Came here to say this about Pitfall. Very interesting imagining
         | the author of Pitfall David Crane picking a seed/configuration
         | that would give him the full 255 screens while also providing a
         | gentle enough learning curve on the first few screens!
         | 
         | Another fun fact: a very young Jack Black appeared in the
         | Pitfall television commercial:
         | https://www.youtube.com/watch?v=wfLgSdAAHMA
        
       | Kosirich wrote:
       | The content seems great but there is something about that
       | background that made me dizzy when I started scrolling. Anyone
       | else?
        
         | djmips wrote:
         | Possible solutions: Shrink to fit? Simplified mode?
        
       | pestatije wrote:
       | LFSR - linear feedback shift registers
        
       | codewritinfool wrote:
       | This is awesome. Schneier has an excellent chapter on LFSRs for
       | generating pseudorandom sequences with varying lengths.
        
       | justinlloyd wrote:
       | LFSRs were used in game development for many years as "random"
       | number generators that were guaranteed to always produce a series
       | of "random" numbers that returned every value within a range
       | precisely once. It was a way to save memory when you didn't have
       | enough RAM to store the entire list of randomized numbers. It was
       | also used in level generation, e.g. Pitfall, and other games. I
       | used an LFSR in a couple of games for word generation and level
       | layout, which was especially important when you only had 6KB of
       | storage total.
        
         | djmips wrote:
         | Also good for those full screen fizzle fade-ins.
        
       ___________________________________________________________________
       (page generated 2022-08-26 23:02 UTC)