Settings

Theme

Demystifying the LFSR

moria.us

38 points by randkyp 3 years ago · 9 comments

Reader

wernsey 3 years ago

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

  • ElevenLathe 3 years ago

    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

  • djmips 3 years ago

    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.

justinlloyd 3 years ago

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.

codewritinfool 3 years ago

This is awesome. Schneier has an excellent chapter on LFSRs for generating pseudorandom sequences with varying lengths.

Kosirich 3 years ago

The content seems great but there is something about that background that made me dizzy when I started scrolling. Anyone else?

pestatije 3 years ago

LFSR - linear feedback shift registers

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection