For a fun discussion I thought that I would pose something that has been bothering me in one of my game designs that I plan on seriously making a prototype of soon. I'm curious if anyone else has faced this problem or just has any creative ideas to solve it.

In a single player exploration sandbox style game that is trying to be at least semi-realistic, is it possible to have a game world that includes several planet sized environments? This is a major toughy from both a game design and programming point of view.

I feel that if I have multiple planets, and give the player the ability to travel between them, that there isn't any justification for limiting how much they can explore. What's stopping the player from landing their spacecraft whereever on the planet they want? I can't store thousands of square miles (kilometers) of persistant geometry, let alone making it all interesting. If the player want's to go on a long hike in some arbitrary direction what do I do?

I'm tempted to rewrite the story of one of my games I've been working on so that it takes place in a series of smaller regions on one planet, Climate and the sort of local flora and fauna can be different on the same planet but then I have a hard time explaning how different locations can have different gravity and atmospheric types. For this particular game design I hate the idea of invisible walls or impassible mountains.

The idea of procedurally generating locations that you visit is a possible way to approach the problem. Daggerfall and Minecraft come to mind. This would make it so that you aren't restricted in where you can go and that no matter where you go that there will be something there. A sense of scale would be met. It would also guarentee a large amount of replayability. If I want any special locations for story purposes I can place them within this world. Such an approach though may lend itself to having the player lost, not knowing what to do, or overwhelmed.

Perhaps I am just overthinking this and gamers just expect that they don't have this sort of freedom in a game world.

The sentence below is true.The sentence above is false.And by the way, this sentence only exists when you are reading it.

Hey there, here are a few 'games' that you should know if you're into this stuff

Orbiter - Realistic orbit dynamics in our own solar system. The challenge here is to learn how to navigate, it's unbelievably rewarding!

Noctis - Old exploration game, it might be difficult getting it to work on newer machines (try Dosbox). It generates procedurally a whole galaxy, allowing you to go anywhere and even go for a walk on the surface (sounds like what you want to make!)

Kerbal Space Program - Still in Beta. So far it plays like a more casual orbiter, but in a fantasy system (so far it only has the main planet "kearth" "Kerbin", a star and two natural satellites). It also allows you to build your own rockets.

So, yes, it is possible to have things in this scale. It's obviously more complex than simply using one metric system and huge float numbers, you'll need to break the space into sectors at the very least. Here's a nice article on the subject:

The author of this article works on a similar project, but I don't think it's still in development. Link.

I also am very interested in building a simulator like this! But what kills my motivation a little is that right now we don't have the technology to really build worlds that are interesting procedurally. Noctis is basically different frequencies for the perlin noise terrain and different colors. And this pattern shows after a short time. And I'm not even considering life.

I think the best approach to this is to treat it like any current RPG map. Make sure a player can always fast travel to locations of interest. This will require a 3D map and an intuitive orientation system to view these worlds but it allows a player to see what they want to see but not at the expense of their time. Make sure areas have to be explored first before they can snap there but otherwise I think this answers the major question of exploration.

As for assets across the planets (to keep the player visually stimulated), building a spectrum based asset set to access instanced assets from should allow for an easy visual method of organizing and accessing everything. A "rich to poor" contrasting set of visuals work good for man-made and an alive to dead contrasting set of visual assets for nature should work (with rocks and nonliving in the middle). Adding filters to for personal organization might help other developers on your team find what they need. I'm not a programmer so this is all I can offer. I hope its useful.

As for impassable areas, I like the blizzard system of cliffs and ramps. Players are accustom to cliffs being impassible if visually it appears like its more work to go over then around then they will follow that instinct to find a better path. To help expand on that a player could have the ability to slowly climb cliffs. This is all I've got. ;D

Common misconception, it is not called kearth but is infact called kerbin. The star is kerbol, nearest moon is simply known as mun, second moon is known as minmus.

on the subject of KSP you should take a look at its approach, although it has earth normal gravity (9.81 m/s^2) it is only a fraction of the size of earth. This is still a huge area to explore but you can just add several other similar sized planets for some more variety.

Are orbits going to be simulated because once again take a look at KSP as it has a nasty bug right now often known as "The Space Kraken" where basically at the velocities experienced in orbits you can often get overflow errors causing game crashes, there are a few solutions but I don't know enough about any of them to explain.

The terrain of kerbin was procedurely generated, funny how earthlike it is (some people have mapped it, it has roughly the same continents )

Seems alot of people are starting to develop space games now. Don't get me wrong though, I like them so its a good thing

From programmer's point of view it's not a big deal, it was done in ancient times even on C64 (Elite). Size alone is irrelevant, what matters is if the terrain is destructible or static (data that changes and needs to be stored).

From designer's point of view it's a problem, such planets will be empty and boring. Computer can never match hand crafted locations with rich NPCs connections, their stories and such (althrough, for topography alone it's quite good already).

From programmer's point of view it's not a big deal, it was done in ancient times even on C64 (Elite). Size alone is irrelevant, what matters is if the terrain is destructible or static (data that changes and needs to be stored).

From designer's point of view it's a problem, such planets will be empty and boring. Computer can never match hand crafted locations with rich NPCs connections, their stories and such (althrough, for topography alone it's quite good already).

Funny you bring up Elite. I loved that game when I was a kid. Supposedly they had to put in a couple exceptions in the code to keep it from generating star systems with offensive names.

I am not concerned with the possiblilty of procedually generating terrain. With the right sort of function I can make as much terrain as I want. As you say I'm concerned with any thing created by the computer that it would be boring.

I suppose that it may be sufficent to handcraft important locations, and then connect them with procedrally generated terrain. If you decide to explore the middle of nowhere you shouldn't be getting anything interesting (for the most part).

Edited by Platinum314, 02 July 2012 - 06:29 PM.

The sentence below is true.The sentence above is false.And by the way, this sentence only exists when you are reading it.

You likely need some hand-generated content to make the place interesting. Maybe procedurally or statically place flat areas where cities will be.

You need fast travel or similar to let you skip boring bits if you wish you.

Having "ranges" for different types of plants/animals/people gives varying interaction opportunities, e.g. "see an abc hunt an xyz".

Cliffs are a good way of leading players. Also other visual clues, like seeing a city's lights in the distance.

Destructible terrain is a killer storage-wise. Perhaps store damage with lossy compression, with the amount of lossiness based on the last used time, e.g. the land goes back to how it was after a while.

Keep in mind that a small history simulation can make land or cities look more interesting, although at a cost. Maybe generate detailed content while flying through space?

I am not concerned with the possiblilty of procedually generating terrain. With the right sort of function I can make as much terrain as I want. As you say I'm concerned with any thing created by the computer that it would be boring.

I suppose that it may be sufficent to handcraft important locations, and then connect them with procedrally generated terrain. If you decide to explore the middle of nowhere you shouldn't be getting anything interesting (for the most part).

But then, what's the point of making this huge (boring) world to explore? Wouldn't it make more sense to make a small (fun, handcrafted) world instead? Why include something that you are sure will be boring to the player?

Let's face it, the whole point of space exploration is a hope that on one planet you will find an ancient race or some ruins with awesome machines or some old fleet of abandoned alien ships that will let you rule the galaxy... If you know all you can find are just different geological formations (no matter how unique) with different biomes (no matter how green) and resources (no matter what quantities), what's the point of exploring?

Let's face it, the whole point of space exploration is a hope that on one planet you will find an ancient race or some ruins with awesome machines or some old fleet of abandoned alien ships that will let you rule the galaxy.

The whole point of space exploration is to find interesting things. What kind of interesting things? it depends on who's playing. There's a whole audience of weird people for this kind of games, like me. Space enthusiasts are usually scientists or aspiring scientists, and will be thrilled to see anything they haven't seen before. It doesn't have to be so dramatic like your example, it really can be just geological formation but it has to be more than just boring and predictable perlin noise.

0x10c no doubt has fans from all kinds of backgrounds. Some people seem to just be hoping on the ability to jump aboard someone elses ship with a gun and kill everyone on board, some just want to cruise the universe in style, I want to program (and a little of the other 2 aswell)

Let's face it, the whole point of space exploration is a hope that on one planet you will find an ancient race or some ruins with awesome machines or some old fleet of abandoned alien ships that will let you rule the galaxy... If you know all you can find are just different geological formations (no matter how unique) with different biomes (no matter how green) and resources (no matter what quantities), what's the point of exploring?

That SpaceGen java applet entertained me far more than I thought it would. I had a fit of laughter when the enslaved antoids declared independance from the empire of immortal depth dwellers, entered a civil war, and then used a time machine to wipe out their former oppressors.

A history generator like Dwarf Fortress or this particular program could spice things up a lot. But the computation time for the sort of scale I am thinking of is ridiculuous. The latest verson of Dwarf Fortress for a medium world takes a full day to run on my computer.

This is getting my creative juices running though.

The sentence below is true.The sentence above is false.And by the way, this sentence only exists when you are reading it.

The latest verson of Dwarf Fortress for a medium world takes a full day to run on my computer.

As much as I can't play it (never worked it out even with tutorials) I do find it somewhat hilarious that it is capable of being slow on some machines when it must spend no time at all rendering. It just has so much going on "under the hood". Why they had to simulate dwarves having broken arms, severed femoral arteries or some ridiculous level of damage simulation for an object represented with a smiley or sad face will forever be beyond me.