Jump to content

What does "Procedural Terrain" do to the Mün?


Recommended Posts

"Procedural" in game terms means making up as you go along instead of being fixed, yes :-0

Without it KSP would have store height-data for every square meter of Kerbin, the moons and other planets, for instance.

With it the major features and heights are defined and stored but then the programme 'fills in' the rest when it needs it.

For Mun, major craters won't come or go but how whether a particular spot is flat or not will do. Actual height should be within a fairly tight margin, depending on how broken the terrain is anyway at that point.

Link to comment
Share on other sites

"Procedural" in game terms means making up as you go along instead of being fixed, yes :-0

Without it KSP would have store height-data for every square meter of Kerbin, the moons and other planets, for instance.

With it the major features and heights are defined and stored but then the programme 'fills in' the rest when it needs it.

For Mun, major craters won't come or go but how whether a particular spot is flat or not will do. Actual height should be within a fairly tight margin, depending on how broken the terrain is anyway at that point.

Thanks!

But also, what does that mean for my bases?

What happens if a Crater generates under them when I am not at the base?

Can that happen?

Link to comment
Share on other sites

What happens if a Crater generates under them when I am not at the base?

Can that happen?

No. Procedural is not the same as random. It probably includes some sort of pseudo-random number generation but the seed is always the same, so the terrain under your base will not change.

Link to comment
Share on other sites

No. Procedural is not the same as random. It probably includes some sort of pseudo-random number generation but the seed is always the same, so the terrain under your base will not change.

Few.

Thanks for clearing that up!

Link to comment
Share on other sites

Based off of what Pecan said:

If you have ever played Minecraft, you may be aware of world "seeds". If you make a world based on a seed, it will be nearly identical to another created with the same seed. I'm no expert on this kind of stuff, but that's how I'd think of it.

Link to comment
Share on other sites

Based off of what Pecan said:

If you have ever played Minecraft, you may be aware of world "seeds". If you make a world based on a seed, it will be nearly identical to another created with the same seed. I'm no expert on this kind of stuff, but that's how I'd think of it.

Yeah, I play Minecraft, so now it makes sense. Thanks all!

Link to comment
Share on other sites

Not everything is procedural. Mostly just the minor craters. The biomes and the larger craters are fixed. Procedural craters are only created when you start the game, unlike Minecraft which is technically generated as you expand the explored areas, even if it is based of a fixed seed. So, there is no chance of a crater forming below your base.

Link to comment
Share on other sites

Watch the

to see Mu talk about the terrain.

Procedural means "the mesh is not created outside the game and then loaded, it's created by the game." It says nothing about whether that mesh is randomly generated, or (as is the case with KSP) pseudo-randomly generated from a fixed seed. In particular, while much of the planetary (moonetary?) terrain is created based of noise functions and fractals, that doesn't mean it's random or that it will ever change. If your function is (add three, output, multiply by four, output, divide by seven, output) and you give it the same input (seed) it will always give you the same outputs. The only way terrain will appear to change is if you change your terrain detail settings in the game graphics options, and that's not because the height the terrain should be changes, but because with a lower (or higher) resolution mesh created, the appearance may change.

Quick example: Think of the planet in 2D. It's a circle. However, you have to make it into a polygon for the game to render it. At low terrain detail, it's an octagon; at high detail, it's a 12-gon. That means that for any given point on the (2D) surface, what was once angled at low detail may be flat at high detail--but that's not because the underlying terrain (the circle) changed, just the resolution at which it is represented and thus the final product you see.

The old "changing ocean detail in the settings.cfg file" trick, to speed up performance--you know how that changes apparent sea level? Sea level doesn't change, but the number of polygons used to, which means /\ becomes _ near you, and so the area near you is flatter (and thus lower).

EDIT: to follow up, if you are at PQS level, everything is procedural. Just because the mesh is created procedurally from a static heightmap as well as some seeded noise functions doesn't mean it's any less procedural. Only when you get high enough and KSP switches to 'scaled space' view of the body do you instead get a static mesh with a static texture.

Edited by NathanKell
Link to comment
Share on other sites

As Nathan said, it is doubtful that there is any randomization to the terrain generation, so your base is most likely safe.

In simplest terms, procedural generation is creating something from a mathematical equation when needed, as opposed to creating a space consuming mesh in advanced, but it does not have to ever be random. I think some people confuse procedural generation with randomness.

Procedural generation can be either static random (Or a combination). In static, you are using the same equation every time, and get an identical output every time, this can be done to save space when you have lots of stuff that "could" be seen, but not at any particular time. Instead of of storing gigs worth of meshes, you just store textures and equations and create the content as it's needed. Static tends to lean towards games that could potentially have hundreds of gigs worth of traditional meshes or tons of data pointing to where everything needs to go in advance.

In random you have random variables that can change the output each time the equation is ran. This allows for a new experience each time it's ran.

I feel that most instances of procedural generation is a hybrid, and is probably what KSP uses. a combination approach leans towards small teams, in that it alleviates workload. They can use a random generated system with some predetermined variables to control specific outputs (we want this planet to be HUGE, but don't care about how it looks aside from that). They run the equation as many times as they want, and get several options to use. They can now pick the one they like best without having to hand model each one. That equation is now the static seed for that game for that planet. All they had to do was create the textures and define how those textures are applied procedurally and let the equation do the rest.

No Mans Sky a good example of a hybrid gsystem. (some speculation here as well as info from dev videos) When a planet is found and generated it's procedurally generated. Even the developers don't always know a lot of what was going to happen. However, since there is a multiplayer element to the game, and they could not have the same world look different for each person, the equations used to create each world are saved. So when a new player rediscovers an already discovered planet, it is loaded based off the saved equation, and should come out looking identical. This hybrid systems lets you have true randomization for discovery, but keep things constant between players: No one knows what that next discovered planet will look like until it's discovered. Any small changes past that point (animals moving, dying, etc, perhaps seasonal changes) are determined by another set of equations that are identical to each person visiting it. Essentially, the equations being stored on the servers changes in response to procedural generation, but it's static in that everyone who accesses it gets the same equation, and same output. All this without having to store the vast amounts of data needed on a server. Sure it taxes the computer/server CPU a bit more at generation time, but loading a single planet is easy in comparison to storing a whole universe.

Edited by jedensuscg
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...