[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)