The Deep End: Procedural Content

Posted by omicron1 on Jan. 21, 2008, 6:54 p.m.

So, I can (and have) fit a universe of up to 120 galaxies, each with up to 100,000 stars, each with up to 12 planets, each with up to 12 moons and 10 cities, and each of those objects with a uniquely-generated three-syllable name (3,168,000,000 entities, for those who are counting) into a 30.1kb gmk file. It takes less than a 300th of a second to generate this, or to move from one entity to another. Plus, the data for this universe itself takes up a grand total of…

4 bytes.

That's one integer… and I can generate 4,228,250,625 unique universes using it.

Random facts:

The total size of storing all the names for these objects would be

38.016 gigabytes of storage space.

I also keep track of the color of every star; the distance of each planet from its sun; the type of each planet (rocky, earthlike, gaseous, etc.); the radius of each moon; its distance from its planet; etc.

With the addition of a single integer, I have the time in the galaxy; how civilized every planet in the galaxy is, and how many cities it has (this number grows over time).

I can potentially keep track of trade, governments, ships, lawfulness, pirate bases, natural resources, hazards, etc. - all with the same two integers.

The nearby entities (reachable by travel) for a planet in a galaxy I recently generated are:

Merex Galaxy

Oizuna Galaxy

Talu Galaxy

Rapyum Galaxy

Cluster Isenete

Cluster Gait

Cluster Kinlu

Cluster Geitman

Zuna Star

Geitarrati Star

Periarra Star

Dunekase Star

Planet Aolisman 1

Planet Aolisman 2

Planet Aolisman 3

Planet Aolisman 4

Planet Aolisman 5

If all that doesn't convince you to try procedural content… well… there's no help for you.

Comments

Killpill28 16 years, 3 months ago

Holy [censor]crap[/censor]

I made up a new tag:]

LoserHands 16 years, 3 months ago

Wow! This message is…. 10 times more memory than that. :D

Tyranic-Moron 16 years, 3 months ago

So you've made a smaller version of Noctis? OMG WIN etc

Seriously though, awesomesauce :D

omicron1 16 years, 3 months ago

Well, of course it doesn't have any of the drawing code, etc. in place yet - it's just the generation code, currently… but it's still quite compact.

PY 16 years, 3 months ago

Yeah, follow in the footsteps of wonders like Elite.

You'd better be making something goddamn awesome with it.

stampede 16 years, 3 months ago

I'm speechless :O It's awesome to try to figure out own procedural content generators, but I'm not that advanced in it. Shit… Awesome.

Panithadrum 16 years, 3 months ago

oh you make me want to make procedural engines :P are you using binary code or something?

DesertFox 16 years, 3 months ago

:D Procedural generation :D

Gamer3D 16 years, 3 months ago

Personally, I prefer to not simply set the seed of the random() function. I was, however, able to cut about 120 Kb off one of my games by making a procedural texture generator (for some, not all, textures).

Gamer3D 16 years, 3 months ago

Eh. Note: That was before this blog entry.