Avimimus Posted December 2, 2023 Report Share Posted December 2, 2023 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 More sharing options...
Thorfinn Posted December 2, 2023 Report Share Posted December 2, 2023 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 More sharing options...
Streetwind Posted December 3, 2023 Report Share Posted December 3, 2023 (edited) 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 December 3, 2023 by Streetwind Link to comment Share on other sites More sharing options...
Steel General Posted December 3, 2023 Report Share Posted December 3, 2023 I'd rather see all the powdery substances act in layers like stacked charcoal or snow. Digging could be so much work. Landslides would be so cool. Heck, do it to water, too Link to comment Share on other sites More sharing options...
Avimimus Posted December 14, 2023 Author Report Share Posted December 14, 2023 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 More sharing options...
idiomcritter Posted December 16, 2023 Report Share Posted December 16, 2023 (edited) 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 December 16, 2023 by idiomcritter Link to comment Share on other sites More sharing options...
Avimimus Posted January 2 Author Report Share Posted January 2 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 More sharing options...
Recommended Posts