🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Procedurally generated planet Earth 1:1

Started by
17 comments, last by Dunoid 8 years, 3 months ago

Hi!

I have an idea for game about world building on planet Earth. Planet would be wiped clean with only sandy desert, snowy desert and oceans/seas. Everything else would be built as part of actual game-play. Have nice story in mind etc etc. I wont get too deep in all of that for now.
I have few things I need to clarify, since I am not personally experienced in this exact Procedural generation stuff.

1. I know there is (rather was) game called Fuel. Huge procedurally generated wold compared to most games. But what about planet sized world?

What I have in mind is something slightly similar to Google earth data (may be even could extract data from there). Only instead of high res images, have either image based (displacement maps) or other type of data for basic terrain generation that then gets detailed out with procedural generation.
So what it would take? How far the data can be compressed while not losing consistency. I would like to keep as much data as possible outside the gaming device.

Also there would be incoming data after initial world is built - terraforming, buildings, vegetation etc (this as much procedurally generated as possible too).

2. Which game engine would be suitable for something like this? Existing ones can handle it or need new engine?

P.S. If possible I would like to keep this to technological side, for now. I know it isn't the smallest project idea. How to do it... will figure it out later. Probably Indiegogo.

Advertisement
Game worlds are notoriously small, there's often only the illusion of a larger world. The level of detail is the real crux which will define if your project is possible, pain-ful or simply impossible. For a 1:1 generated world it would be simply the latter case.

Game worlds are notoriously small, there's often only the illusion of a larger world. The level of detail is the real crux which will define if your project is possible, pain-ful or simply impossible. For a 1:1 generated world it would be simply the latter case.

What I was thinking with that detail problem was, if the basic terrain of Earth can be done by extracting data from Google earth and then auto-detailed with that procedural generating algoritm, then it should be fine. All it have to do is look reasonably similar to Earth. Any other specific changes would be made by players later.
Some glitches may occur and if it wouldn't be possible to fix with algoritms, them my idea would be to do pre-alpha events where peoples can take part in terraforming/fine detailing.
Basically making the game development part of game itself.
At lest that's the idea...

There have been a few projects, mainly more academic research projects rather than direct game related stuff, that produced worlds/game spaces comparable to earth. Minecraft is technically larger than earth if I remember correctly, being able to generate several times the entire surface area of earth. However you would have to be exceptionally bored to actually manually walk to the edge of a world, and one part is much the same as any other.

From a game stand point you really have to ask yourself, "What are you going to DO with all that space". What is the point? What will the player do in it, and how will they travel around it? What will be the point of traveling?

Making a big procedurally generated space to play in is easy. The hard part is making it interesting and making the player want to play in it.

What do you plan to do in the game? Write out a story of a player actually playing your game: I load up your game, I am plopped down on your procedurally generated planet that is 1:1 scale of earth, and I do... What? What happens? Where do I go? What do I do?

Old Username: Talroth
If your signature on a web forum takes up more space than your average post, then you are doing things wrong.

What is your team size? Budget?

True that as long as you CAN export existing terrain data, and spicing it up with some procedural generation, you might get away with less work than creating everything manually.

But really, the amount of work still needed to a) export and import ALL of earths terrain data (I hope you will leave away the oceans, and go without any underwater details smile.png ), and b) write and test procedural algorithms that can do the rest reliable, looking interesting and without introducing balancing problems is still staggering. The amount of testing to make sure there is no bug somewhere hidden in your virtual world might alone take a lot of time. Of course you can just setup the procedural part, test that this work and forget about the real geodata. With the real geodata, you introduce all kind of possibilities for bugs to happen.

There IS some precedence, AFAIK the team that has written No Mans Sky was actually about 10-15 people, working some years on the game. Pretty small for the scale the game COULD take on given you are happy with what the procedural generation spits out.

But you are still WAY outside of the amount of money you could reliably get from Indiegogo. You will most probably need another source of investment.

But leaving away the non-technological stuff.... I think you need to try it out yourself. You COULD look into how games like No Mans Sky have done it (AFAIK it was written from scratch), at some point you will need to do your own prototype. Just start with one US State and see how much time you need to get it running, and with that test how much data gets pushed over the network, how much the local machine is spinning and all of that.

Nobody will be able to tell you how to build this idea of yours because nobody was really mad enough to try this yet (some came close, or did even more like No Mans Sky, but minus the real geodata of course).

You guys are being a little pessimistic on the technical front. Sean O'Neil, Ysanaeya, myself, and a host of others have each bootstrapped realistic scale planet renderers in somewhere under a year, working solo. If you take the time to read the literature, it's not that complex of a problem.

There is of course a long tail in content creation - building the biome mapping, creating flora/fauna/greebles for each biome, etc. But that's really up to you how detailed and varied it needs to be, and hence how long it takes.

Of course, when you reach that point, you still have a huge empty world with no actual gameplay. And therein lies the sticker. What possible use for a game world so big it takes a year of real time just to walk around the circumference?

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]


1. I know there is (rather was) game called Fuel.

Fuel is not big. Fuel is 249.79 miles across.

http://static.giantbomb.com/uploads/original/3/30984/1366065-xju7q.jpg

by comparison:

Caveman v3.0 is 2500 miles across.

Airships! iv1.0 s 9030 miles across - from the Mississippi to the Urals, and from the Arctic to North Africa.

and SIMSpace v8.0 is a cube about 150 light years across.

all are procedurally generated.


But what about planet sized world?

Caveman is about the size of north america, but could easily be a big as i want. i'm not even paging the world map off of disk yet. everything is stored in ram, generated on the fly, and cached. its so fast there's not even time to display a "loading area..." or "generating area..." message. and that's single thread at 1.3Ghz clock speed.


What I have in mind is something slightly similar to Google earth data (may be even could extract data from there). Only instead of high res images, have either image based (displacement maps) or other type of data for basic terrain generation that then gets detailed out with procedural generation.
So what it would take?

not that big a deal, you use google map data as input to your terrain data conversion code. this spits out your "world map". you're not really generating anything yet, just turning google maps data into world map data. once that's done you can use procedural content generation to populate the world with whatever you want (cities, roads, buildings, people, etc). obviously a chunk based approach - most likely paging from disk - would be called for, given the vast amounts of data.


I would like to keep as much data as possible outside the gaming device.

you're going to need a hard drive, or a LOT of ram.


Also there would be incoming data after initial world is built - terraforming, buildings, vegetation etc (this as much procedurally generated as possible too).

its just more stuff. more of the same.


2. Which game engine would be suitable for something like this? Existing ones can handle it or need new engine?

any engine with built in support for large game worlds. unreal supposedly has this. not sure if unity does it yet other engines may have it as well.

obviously, the terrain data conversion code and procedural content generation code specific to your title are your responsibility.


P.S. If possible I would like to keep this to technological side, for now. I know it isn't the smallest project idea. How to do it... will figure it out later. Probably Indiegogo.

on the contrary, assuming the google map data is available and in a relatively easy to use format, you add a google map file reader to a terrain gen engine, add unreal, add game specific procedural content generation, get them to all talk to each other, press the button, and out comes your game world, complete with object and actors. then you just have to code actor behavior. the real killer is the assets. you'll be procedurally generating ground meshes, and perhaps ground textures too. you will procedurally generate game objects, but they will still need assets (meshes, models, textures, sound effects, AI scripts, etc). and those assets must be made, bought or procedurally generated.

big worlds aren't lots of work. lots of assets are lots of work.

Norm Barrows

Rockland Software Productions

"Building PC games since 1989"

rocklandsoftware.net

PLAY CAVEMAN NOW!

http://rocklandsoftware.net/beta.php

You guys are being a little pessimistic on the technical front. Sean O'Neil, Ysanaeya, myself, and a host of others have each bootstrapped realistic scale planet renderers in somewhere under a year, working solo. If you take the time to read the literature, it's not that complex of a problem.

There is of course a long tail in content creation - building the biome mapping, creating flora/fauna/greebles for each biome, etc. But that's really up to you how detailed and varied it needs to be, and hence how long it takes.

Of course, when you reach that point, you still have a huge empty world with no actual gameplay. And therein lies the sticker. What possible use for a game world so big it takes a year of real time just to walk around the circumference?

That might be true... but when you move from just procedural generation to mixing real geodata with procedural generation, wouldn't that make the project far more complex?

Especially as I read the TO idea to be as close to real earth as possible... thus a lot of testing will be needed so that procedural creation does not mess up the geodata.

But agreed, that part might be solvable in a year... or two. Nothing that is impossible to achieve.

I also think that the rest of the idea is where the thing falls flat on its face. An empty world without gameplay will hardly make people jump in excitment.

"Butbut it worked for Minecraft" - Because Minecraft actually has gameplay, no matter how light it might be. Minecraft invests a ton of work into their voxel creation system, which by itself might add another 6 months (maybe more) to create.

An empty world, no gameplay only works when your creation tools really rock. And these are an additional challenge altogether.

The answer to 1 and 2 is: outerra :D

The answer to 1 and 2 is: outerra biggrin.png

Holy sh*t, I forgot about this engine!

You are right, that is pretty much most of the work done right there... looks like the engine has come a long way since I last looked at it many moons ago smile.png

Now, how to make anything meaningful with the empty world created....

This topic is closed to new replies.

Advertisement