Ian Bell and David Braben, the developers of Elite (the ground-breaking, space-faring 1984 video game), faced a problem when first designing their game. They had to create an in-game universe spanning billions upon billions of galaxies. However, their computer (a BBC Micro) had a memory that could store up to 32,000 characters.
Roughly speaking, you could fill a 20-line page in an exercise book with 10 words per line. That totals about 200 words, or 1000 characters, per page. So, in a small exercise book containing thirty pages, you’d have roughly the same amount of space as Bell and Braben had in their BBC Micro.
I’m sure you’ll agree, that’s nowhere near enough space to store the names and descriptions of trillions of star systems. So what did Bell and Braben do?
Instead of trying to store all the names in memory, they essentially taught their computer how to invent names and descriptions on-the-fly. Whenever the player moves to a new star system in the game, the computer doesn’t read text from memory; instead, it follows a procedure for dreaming up new names for the new planet the player is visiting.
But how does it work? Is the generated universe the same for every player? How does the whole system not collapse into generating random garbage?
Discover the answers, and more, by reading How to Create a Universe While Sitting in a Chair.