Jump to content

Procedural Kerbol System


Recommended Posts

I apologize if this has already been suggested (I tried to search for someone suggesting this already and was unable to find anything).

I realize this would be extremely difficult to implement, but it would be amazing to have a unique solar system to explore every time I started a new game of Kerbal Space Program. Even if the starting planet remained Kerbin, being able to send out satellites to map planets and do research to understand the unique characteristics of a procedurally generated planet/moon would be extremely fun and add a HUGE amount of replay-ability.

Does anyone know if anything is preventing achieving this through a mod?

Link to comment
Share on other sites

According to the developers a few months ago, the goal of KSP was to have the kerbol system which was always the same set of planets, moons, asteroids and so on. Then beyond that, there were supposed to be a handful of other predefined solar systems that were always the same. You'd discover them with your telescopes or what-not(hopefully a HUGE orbital telescope or something) before you could travel to them. Beyond even those, there were supposed to be procedurally generated solar systems to encourage you to keep going and see what you could find.

I have no idea if that's still the plan, but I really liked that idea, so...we can hope that's how it turns out.

Otherwise, I've seen it suggested at least once before that the kerbol system be procedurally generated. I don't think people took too kindly to it. People like sharing their firsts with familiar parameters. Like the first time you landed on mun or duna or eve or got to jool, everyone knows exactly what you're talking about and everyone fondly recalls their own adventures way back when. It's just a really good feeling being able to relate to your friends or just people in the community in that way. That's what the other predefined solar systems were meant to do as well, capture that same feeling. THEN there were procedurally generated ones to keep you going even more, telling wacky stories of wild discoveries into the unknown. I quite like that, I must say.

Link to comment
Share on other sites

According to the developers a few months ago, the goal of KSP was to have the kerbol system which was always the same set of planets, moons, asteroids and so on. Then beyond that, there were supposed to be a handful of other predefined solar systems that were always the same. You'd discover them with your telescopes or what-not(hopefully a HUGE orbital telescope or something) before you could travel to them. Beyond even those, there were supposed to be procedurally generated solar systems to encourage you to keep going and see what you could find.

I have no idea if that's still the plan, but I really liked that idea, so...we can hope that's how it turns out.

Otherwise, I've seen it suggested at least once before that the kerbol system be procedurally generated. I don't think people took too kindly to it. People like sharing their firsts with familiar parameters. Like the first time you landed on mun or duna or eve or got to jool, everyone knows exactly what you're talking about and everyone fondly recalls their own adventures way back when. It's just a really good feeling being able to relate to your friends or just people in the community in that way. That's what the other predefined solar systems were meant to do as well, capture that same feeling. THEN there were procedurally generated ones to keep you going even more, telling wacky stories of wild discoveries into the unknown. I quite like that, I must say.

The idea of a shared first experience makes a ton of sense and I really like the idea of progressing out of Kerbol into other procedurally generated systems. I really hope this ends up making into the game!

Thanks for the response!

Link to comment
Share on other sites

I don't really know how you overlooked the twenty+ existing threads on procedural generation that've existed over the last who-knows-how-long... but oh well. Doesn't hurt to dust it off again, I guess.

Procedural generation is good... but it can go two ways -- the entire universe is procedurally generated, with every player's universe being the same (i.e., every player's seed is set the same, so they all get the same game, essentially), OR it can be that a few predefined systems exist, and the rest of the universe gets generated entirely randomly for every player.

In either case, you end up with nice big universes without the need to download 10GB+ of game data to get it. The downside, however, is that all that data that would otherwise have to be downloaded then has to be generated and stored. Either way, KSP will eventually take up the extra 10GB+ at some point, whether the universe is created on first load, or it is created as one explores. In both cases, there is an awful lot of data to generate to populate an entire universe with stars and planets and so forth. It'll take a long time if it's done all at once, and it could easily slow down the game considerably, even if the procedural generation is sort of running in the background.

Link to comment
Share on other sites

I don't really think that sort of 10GB figure is necessary at all. Games as old as Frontier managed it in less than a megabyte, and more currently Space Engine manages it within a fairly small footprint as well.

Link to comment
Share on other sites

Hi and the idea of a proceduraly generated space does not comes with the fact that your starting system will change from one game to an other.

I mean using seeds you can choose a random system but using the same seed you create the same space.

It could generate easily juste 5000 dots in the sky for the stars and generate live the small region you zoom in with your telescope then store only collected data.

Edited by hiul
Link to comment
Share on other sites

I love the idea of a partially procedural universe. A local cluster of consistent star systems, then everything beyond that being procedural.

For the concerns about required storage: how much storage would be required for a star system?

The star itself needs:

Name

Mass

Sphere of influence radius

Location

Atmosphere

Luminosity

Planets need:

Parent star

Name

Mass

Sphere of influence radius

Orbit ellipse

Atmosphere

Texture

Heightmap

Moons need:

Parent planet

Name

Mass

Atmosphere

Sphere of influence radius

Orbital ellipse

Texture

Heightmap

There's an obvious general form that could be used so that all celestial bodies are treated the same (code duplication is a big no-no)

The biggest memory hogs I see are the texture and heightmap data.

I don’t think storing that data would be too difficult (even if LoD variants are stored)

There are easy (for the cpu) methods to generate planet heightmaps and textures too.

The only issues there might be is MORE ridiculous Unity limitations or Squad not wanting to put the effort into a procedural generator.

Link to comment
Share on other sites

The Kerbol System is procedurally generated currently, with some additional fine-tuning done by hand. That's how the game is able to generate thousands of square kilometres of surface detail without having to have it saved on disk. You're looking for a randomised system, which is not the same as a procedurally generated one. As stated above, shared experience is the main reason for not having a randomised main system. The verdict is still out for anything beyond that system though, if we reach a point where it is feasible and fun.

Link to comment
Share on other sites

As pizzaoverhead said, procedurally isn't the same as randomised. If you feed a terrain-generating procedure with the same parameters every time, you will get the same terrain every time. This is propably how the planets in current KSP get their terrain. You would get different terrain only if you feed the generator with different, e.g. randomised parameters. The problem with "procedurally generated" as a buzzword is the implication of randomised parameters to get a different whatever every time. But it's totally possible (and happening) to use procedural generation to get repeatable MBs of nice data (e.g. terrain, levels, texture, ...) out of like a dozen numbers - similar to compressing stuff.

Link to comment
Share on other sites

Procedural generation means generated using procedures, instead of loaded from a pre-assembled file. They don't need to be randomised procedures.

As an example, Kerbin's surface was originally generated using libnoise (you can see the default libnoise map is the old Kerbin, flipped horizontally. You can see that they used around 100 modules (procedures) to generate the planet. The new craters on the Mün were created using several new procedures.

If you're familiar with Minecraft, it can generate a random world, but you can take the seed of the world and give it to someone else. That seed will generate them the same random world that you saw. KSP always uses the same seed.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...