The Genesis of the Game

Published June 12, 2006
Advertisement
Back in the mid-80s I spent hundreds of hours playing Elite. For those too young to remember it, Elite was a space trading simulation with elements of role-playing and flight-simulation. The game took place in a universe with hundreds of systems and thousands of planets and space stations.

And all of this on a Commodore-64 with around 30K of RAM, thanks to procedural generation of the galaxies.

I am, deep down, quite lazy. I have no interest in manually placing several hundred villages made up of dozens of buildings and scores of NPCS. I am, however, interested in having those things in my game. And as a developer I like having the possibility of something surprising, if not actually emergent, in my game. Thus the procedural generation.

In order to have a good random-seeming distribution of towns, caves, etc., I next needed a way of generating repeatable random-seeming numbers. The built-in random functions of most computer languages do not allow for the use of seeds, so the results are not repeatable - or at least, not repeatable in any useful way. Fortunately I am not the first person to have come up with this idea.

So: the first piece of code in Shank's Pony is the Mersenne Twister class, which I translated into Actionscript2.0 from a version written in C. All tests so far indicate that it is working exactly as I had hoped.

Next: Using modulus and seeds based on the Mersenne Twister to create procedural towns and dungeons.
Previous Entry Here We Go Again
0 likes 4 comments

Comments

Trapper Zoid
Wow, procedural generation is one of the things I'm working towards. My dream gamedev goal is to be able to completely procedurally generate an RPG, including a half decent storyline.

Best of luck! Hopefully you'll unearth some great ideas and resources to help me when I finally get round to procedural generation myself!
June 12, 2006 11:07 AM
Tesseract
As I get my code in some semblance of working order I will be posting it here.
June 12, 2006 11:13 AM
Ravuya
I actually embarked on a mild procedural generation experiment for CSRPG3, in an effort to reduce the download size. Unfortunately, real life intervened and I didn't get much further than procedurally generating weird-looking terrain (randomly placed hills) and bizarre town names.

If I ever decide to make the game, I'll probably end up posting lots of documents on my "patches" system.
June 12, 2006 11:37 AM
ApochPiQ
June 13, 2006 12:48 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement