Jump to content

Half height terrain blocks / gradual elevation changes?


Avimimus

World-gen with half-height blocks?  

13 members have voted

  1. 1. Is adding the option for half-height blocks / half-block height elevation changes a good idea?

    • No
      3
    • Yes
      10


Recommended Posts

This may seem like anathema - but has anyone considered a worldgen option where the terrain/elevation changes are half-height blocks?

It'd make it much easier to navigate rough terrain, and it would look more realistic. I know it violates the minecraft-like aesthetic, but I think it would also make them game more distinctive, and it could have a lot of practical benefits.

What do you think? Yes or no?

Link to comment
Share on other sites

Cool thought. Do those half-height blocks remain half-height? Are drops halved? If so, it the "durability" of the block halved too? Or do they become half blocks in inventory. (A bad, bad thing with current inventory.)

For me, it would largely depend on how much it would impact mapgen and render times.

Link to comment
Share on other sites

This is actually a suggestion that's been made several times in the past. Unfortunately, there are a number of major issues which prevent it from being feasible in practice.

 

First, you need to add a half-block for every possible top-layer material. Which, as it turns out, can be a lot. Practically any block placed by the terrain generator, including every possible type of rock, every possible ore in every possible type of host rock, including ores hosted in other ores (gold in quartz etc), every variant of sand, every variant of gravel, every variant of dirt. Possibly others.

So what happens when you mine such a half-block? What does it drop? For blocks that have drop chances of secondary items, this can be handled fairly transparently - you simply halve the drop chances. But for blocks that drop themselves, you have a problem. Do you make the block drop itself? Then you've just clogged the player's inventory with a potentially useless single item that won't stack with any of the full blocks of the same material type. Or does it not drop anything, or maybe a full block at 50% chance? Then players will be confused, and/or complain that the half-block isn't avilable for decorative purposes.

And then you get into what those half-blocks actually do. Like, imagine that you found a half-block of terra preta. What do you do with it? Pretty sure you can't make that into farmland, because crops only grow on surfaces level with full blocks. Are you supposed to place the half-block floating in the air, so you can plant a crop on it? Immersion goes out the window.

And in general, plants and vegetation are a huge problem in a world generated this way. Imagine a slope like the ones you are asking for with this suggestion, a nice smooth slope using alternating full and half blocks. Unfortunately, only the full blocks can have any vegetation generating on them. So now your grass, your trees, your bushes, your flowers and everything are banded into alternating strips of growth and no growth, all the way up and down that slope. That'll look terrible!

Those aren't even all the issues. It keeps going as you examine everything that exists in the game.

 

Now, you might go through all of these issues one by one, and think 'hey, I can come up with a solution for this'. And as you keep doing this, and solve each problem, and aggregate all these solutions into a collection of changes that would need to happen to support this feature smoothly, you'll eventually realize: your collection of changes is more and more approaching the point where it begins to resemble a different change altogether. Namely reducing the base block size of the game from 1x1 meter cubes to 0.5x0.5 meter cubes. That is the ultimate destination this suggestion is heading to. Only when every part of the engine, from the ground up, thinks natively in half-meter steps, can you really achieve proper support for world generation using half-meter blocks without something breaking, and for players collecting and using natural half-meter blocks for every imaginable application.

And that pretty much devolves down to "rewrite the entire engine and game from scratch".

Hence this suggestion is not feasible, and never will be.

 

Edited by Streetwind
Link to comment
Share on other sites

  • 2 weeks later...
On 12/3/2023 at 10:45 AM, Streetwind said:

This is actually a suggestion that's been made several times in the past. Unfortunately, there are a number of major issues which prevent it from being feasible in practice.

 

First, you need to add a half-block for every possible top-layer material. Which, as it turns out, can be a lot. Practically any block placed by the terrain generator, including every possible type of rock, every possible ore in every possible type of host rock, including ores hosted in other ores (gold in quartz etc), every variant of sand, every variant of gravel, every variant of dirt. Possibly others.

So what happens when you mine such a half-block? What does it drop? For blocks that have drop chances of secondary items, this can be handled fairly transparently - you simply halve the drop chances. But for blocks that drop themselves, you have a problem. Do you make the block drop itself? Then you've just clogged the player's inventory with a potentially useless single item that won't stack with any of the full blocks of the same material type. Or does it not drop anything, or maybe a full block at 50% chance? Then players will be confused, and/or complain that the half-block isn't avilable for decorative purposes.

And then you get into what those half-blocks actually do. Like, imagine that you found a half-block of terra preta. What do you do with it? Pretty sure you can't make that into farmland, because crops only grow on surfaces level with full blocks. Are you supposed to place the half-block floating in the air, so you can plant a crop on it? Immersion goes out the window.

And in general, plants and vegetation are a huge problem in a world generated this way. Imagine a slope like the ones you are asking for with this suggestion, a nice smooth slope using alternating full and half blocks. Unfortunately, only the full blocks can have any vegetation generating on them. So now your grass, your trees, your bushes, your flowers and everything are banded into alternating strips of growth and no growth, all the way up and down that slope. That'll look terrible!

Those aren't even all the issues. It keeps going as you examine everything that exists in the game.

 

Now, you might go through all of these issues one by one, and think 'hey, I can come up with a solution for this'. And as you keep doing this, and solve each problem, and aggregate all these solutions into a collection of changes that would need to happen to support this feature smoothly, you'll eventually realize: your collection of changes is more and more approaching the point where it begins to resemble a different change altogether. Namely reducing the base block size of the game from 1x1 meter cubes to 0.5x0.5 meter cubes. That is the ultimate destination this suggestion is heading to. Only when every part of the engine, from the ground up, thinks natively in half-meter steps, can you really achieve proper support for world generation using half-meter blocks without something breaking, and for players collecting and using natural half-meter blocks for every imaginable application.

And that pretty much devolves down to "rewrite the entire engine and game from scratch".

Hence this suggestion is not feasible, and never will be.

 

Very interesting. There is a lot I hadn't considered.

That said, usually the outer layer of any material (whether it be sand, gravel, or soil) is pretty contaminated by rain, roots, and oxidisation. This is even true of some types of rocks, where the outermost layer will have oxidised. So with the exception of some rocks, having the first half block produce nothing of use for the player might be pretty immersive.

The issue with vegetation might be more difficult (requiring producing plant variants for half-height bricks)? A nuisance but doable?

Beyond that I don't see any other issues (assuming the half-blocks are just there for aesthetics and locomotion). I'm curious if you know of more (beyond those you've raised)? I'm quite curious.

 

Link to comment
Share on other sites

aside from temporal storms, where the drifter spawns occur in mid air, most spawns look for a valid whole block to spawn on in the wild (least thats my understanding).

 

Not exactly a real fix, I enjoy using the mod stepup to ease the spacebar tapping

Edited by idiomcritter
Link to comment
Share on other sites

  • 3 weeks later...
On 12/16/2023 at 8:23 PM, idiomcritter said:

aside from temporal storms, where the drifter spawns occur in mid air, most spawns look for a valid whole block to spawn on in the wild (least thats my understanding).

Not exactly a real fix, I enjoy using the mod stepup to ease the spacebar tapping

For spawns that move - how would that be a problem? They'd just initially spawn over an area that is twice as wide (i.e. every second block), and that is only if they are on a slope). I could see needing to make half-height variations for every plant (which would be a chore, but doable), but all of the animals shouldn't be an issue because they don't stay in the same place anyway.

P.S. Thanks for the tip about the step-up mod. It doesn't fix the really cliff-like terrains (which you can't climb because they are too steep), but it is definitely less tiring.

Link to comment
Share on other sites

×
×
  • 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.