How can you store a trillion names in a space no bigger than a child's exercise book?

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.

Related Posts

Achieving Star Trek: The Transporter

If any of the inventions brought to life in Star Trek can claim to be the most iconic, it must surely be the transporter. But could we ever build such a thing in real life?

The Reel Story: Zulu

The movie Zulu (1964) tells the story of 4000 Zulu warriors clashing with barely 150 British soldiers. I compare the celluloid version with the accounts from the history books.

What happens when a computer freezes?

We've all experienced it. We're happily using our computer one moment, the next moment everything on the screen stops moving. You shake the mouse and jab its buttons. You run your finger along the keyboard like a pianist playing a glissando. But your program refuses to respond.