Jump to content

Recommended Posts

Posted (edited)

Just a thought I had once, which might be relevant with the whole river thing coming up:

Currently terrain generation is limited by the world height, which obviously is necessary for performance. It does however cause major limitations for the world topography. Terrain features need to be abrupt and janky in order to make them have any sort of significance. A mountain has to be comically steep, otherwise it won't feel tall because it can't be tall. It's definitely a major reason why the terrain gen often feels bizzarre and the world can be very annoying to traverse.

My idea would be to "cheat" this by giving every chunk its own height stat assigned to it during world gen. So if the world height is say, 256, then every chunk still has a height range of 256 blocks (or whatever it is). However, every individual chunk's world floor and ceiling could be shifted around. So let's say a chunk has a height stat of +50, that would place its floor at 50 (or 51?) and its ceiling at 306. The actual volume of the chunk would stay the same, the difference would be in its location in the world.

The most obvious benefit would be that you could have much higher mountains without really changing the world height, so hopefully you'd get nicer terrain at little to no performance cost. The really valuable thing however would be in the smaller gradual changes, since it would let rivers flow smoothly from a high source down to the sea, for example. It could also just generally allow the worldgen to be a bit more coherent and "continental" in feeling.

The obvious downside (aside from the mammoth task of redoing a bunch of things to accomodate it) is that it could result in some weirdness, especially if you set the world height to be really low. The shifting world floor means that it would be possible to reach the mantle in some places by digging horizontally into a mountain until you reach a chunk where the world floor is as high as your starting point. This would require some pretty extreme changes from chunk-to-chunk to realistically be an issue IMO. When kept within reason, the changes would always be fairly subtle. After all, even if you could in theory have realistically scaled terrain, you wouldn't actually want that for gameplay and view distance reasons. 

Edited by Reto Häner
  • Like 1
Posted
4 minutes ago, Reto Häner said:

The most obvious benefit would be that you could have much higher mountains without really changing the world height, so hopefully you'd get nicer terrain at little to no performance cost. The really valuable thing however would be in the smaller gradual changes, since it would let rivers flow smoothly from a high source down to the sea, for example. It could also just generally allow the worldgen to be a bit more coherent and "continental" in feeling.

It's a neat idea, but it seems like it could really mess with the underground system as well. Some ores, like chromite and nickel, are supposed to spawn rather deep, so by shifting the entire chunk downward it's going to shift ore closer to the surface as a result. There's also the issue of monster spawns as well, since the lower Y levels spawn stronger monsters. Not really ideal to have tier 2+ potentially hanging out at the mouth of caves, or crawling their way to the surface.

 

7 minutes ago, Reto Häner said:

The obvious downside (aside from the mammoth task of redoing a bunch of things to accomodate it) is that it could result in some weirdness, especially if you set the world height to be really low. The shifting world floor means that it would be possible to reach the mantle in some places by digging horizontally into a mountain until you reach a chunk where the world floor is as high as your starting point.

I think it would be less an issue of digging horizontally, and more an issue of digging vertically. For current chunks, I believe the average number of blocks the player has to dig to reach the mantle is about 100. To skirt the world height restrictions it seems more logical to keep the mantle as-is and simple shift the surface down, in which case, the player has less digging to do to get to the mantle in those chunks. There's also sea level to account for as well--most land tends to be above sea level, and it's not that often that dry land is found below it.

Posted (edited)
1 hour ago, LadyWYT said:

It's a neat idea, but it seems like it could really mess with the underground system as well. Some ores, like chromite and nickel, are supposed to spawn rather deep, so by shifting the entire chunk downward it's going to shift ore closer to the surface as a result. There's also the issue of monster spawns as well, since the lower Y levels spawn stronger monsters. Not really ideal to have tier 2+ potentially hanging out at the mouth of caves, or crawling their way to the surface.

I think it would be less an issue of digging horizontally, and more an issue of digging vertically. For current chunks, I believe the average number of blocks the player has to dig to reach the mantle is about 100. To skirt the world height restrictions it seems more logical to keep the mantle as-is and simple shift the surface down, in which case, the player has less digging to do to get to the mantle in those chunks. There's also sea level to account for as well--most land tends to be above sea level, and it's not that often that dry land is found below it.

I suppose you'd have to have two options: Either the underground height system is absolute, or relative to chunk height. If it's absolute, that would mean that at high altitudes you wouldn't have access to the full "spectrum" of ores and monsters: For example if you'd dig down from a high chunk, you'd just reach the mantle (or some other barrier at the world floor) before encountering deep ores or dangerous monsters. The big problem here is that it would disincentivise players from settling at higher altitudes.

If it's relative to chunk height, then you could encounter "deeper" content by digging further into a mountain horizontally, and digging down 100 blocks from a high place would give you similar results as digging down 100 blocks at sea level. That honestly doesn't sound all too bad: It makes sense to me that digging far into a mountain should give you similar dangers and rewards. It wouldn't be too janky if the changes in chunk height are kept gradual: You'd need some crazy height changes for there to be chromite at a cave entrance, for example. The downside here would mainly be in terms of predictability and complexity, since the altitude at which you find certain ores and monsters would be variable. You'd not only have to know your absolute Y position, but your Y position relative to the chunk you're standing in.

I should stress that the changes in chunk height should be very gradual, even when the terrain is steep. While that would put a limit on the height of features like cliffs, it would prevent a lot of potential jank. Excessively tall cliffs are annoying in gameplay terms anyway. 

Edited by Reto Häner
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.