Cubic Chunks! Cubic Chunks!

  • Please make sure you are posting in the correct place. Server ads go here and modpack bugs go here
  • The FTB Forum is now read-only, and is here as an archive. To participate in our community discussions, please join our Discord! https://ftb.team/discord

Should Mojang impliment Cubic Chunks?

  • Yes. That would be awesome!

    Votes: 50 67.6%
  • Maybe. I'm not sure it possible though.

    Votes: 6 8.1%
  • No.

    Votes: 18 24.3%

  • Total voters
    74
Status
Not open for further replies.

Shakie666

New Member
Jul 29, 2019
768
0
0
Why not, shakie? The current "vertical columns" setup forces the client to load the entire column all the time. You'll have severe difficulties bumping the height up much without running into severe performance issues.

You can have a small preview of this is you play Terrafirmacraft. That uses the same 256 world height, but it bumps the sea level up from 64 to 144. As a result, there's a whole lot more blocks and a whole lot less air in these columns, and you'll notice that TFC is more performance heavy than any other single mod you can find. It works out for TFC because as a standalone total conversion mod, it won't find its way into modpacks, so it has all those tasty system resources for itself.

That's still without actually increasing world height, though. If you doubled it to 512 in vanilla and set the sea level at 250 or something, with Extreme Hills generating up to 500, you'd have a huge outcry from people who suddenly couldn't run the game with playable FPS anymore. And that's before any mods.
I'm not a techy person, so maybe cubic chunks would be the best way. However, having increased height/depth would lead to people building bigger structures. Trouble is, if they get too big then you won't be able to see the top from the bottom. It seems to me that this, in a way, also prevents large structures; whats the point of building a 10km high skyscraper if I can't take a screenshot of the whole thing at once?

Regardless, I still think cubic chunks would be better than what we have now.
 

Omicron

New Member
Jul 29, 2019
2,974
0
0
How is that problem different from the X and Z dimensions though? What's the point in building a 10km long sideways structure if you can't take a screenshot of the whole thing? However you turn and twist it though, you won't find any justification from that statement to force-load every generated chunk in the entire world all the time. It's a nonsense proposition, but that's exactly what you would need to take a screenshot of your 10km structure. And it's exactly what the current chunk model does in the Y direction. Data is even saved to disk as a stack of 16 cubic chunks, but during play the entire column is force-loaded all the time.

So where's the justification to demand a world that can load 10km in the Y dimension at all costs, if the most we can currently load in X and Z dimensions is 0.36km forward (the diagonal on Far view settings), and we're just fine with that? ;)
 
  • Like
Reactions: Greyed

PureEvil

New Member
Jul 29, 2019
140
0
1
ieEQV5OtHOoY0.jpeg
That's the best thing I have ever seen in Minecraft!
 

Omicron

New Member
Jul 29, 2019
2,974
0
0
...Except that it's not Minecraft, but rather a custom written voxel engine that looks similar to Minecraft, created for the purpose of demonstrating what cubic chunks are and what they can do ;)

Also, please. Thumbnail or spoiler tag for images that large.
 

Shakie666

New Member
Jul 29, 2019
768
0
0
How is that problem different from the X and Z dimensions though? What's the point in building a 10km long sideways structure if you can't take a screenshot of the whole thing? However you turn and twist it though, you won't find any justification from that statement to force-load every generated chunk in the entire world all the time. It's a nonsense proposition, but that's exactly what you would need to take a screenshot of your 10km structure. And it's exactly what the current chunk model does in the Y direction. Data is even saved to disk as a stack of 16 cubic chunks, but during play the entire column is force-loaded all the time.

So where's the justification to demand a world that can load 10km in the Y dimension at all costs, if the most we can currently load in X and Z dimensions is 0.36km forward (the diagonal on Far view settings), and we're just fine with that? ;)
I wasn't trying to justify force-loading every chunk, I accept that cubic chunks is far better to square chunks. I was trying to say that not being able to see the top of a mountain, or the ground from the top of a mountain, might look a bit odd if you can see half of it, beyond which there's nothing. It isn't so much of a problem with the X or Z co-ordinates, since that's how things are IRL with the horizon. But on the Y co-ordinate, it might look jarringly immersion-breaking (not that MC is designed to be immersive in the first place, but you know what I mean ;)).I guess that didn't come across how I intended in my other post.

I also know that a 10km tower is a tad ridiculous. I just thought of it as a random example after hearing about plans for one IRL (not that it'll ever be built, it was just hypothetical). A more realistic target might be a 1:1 model of the Burj Khalifa.
 

PureEvil

New Member
Jul 29, 2019
140
0
1
well, they said Cubic Chunks are in test stage so it might be possible to generate such terrain :)
 

arthahar

Active Member
Oct 31, 2012
78
15
34
There is another problem with lighting. What if there is for example very deep mineshaft and it is changed from above, by for example placing or removing covering block from sunlight. Vertical light is very resource heavy now, with cubic chunks this concept would have to be dramatically changed. Lighting in minecraft is an important part of the gameplay, even simple moving light is either visual only or resource heavy. IMO cubic chunks would be a good idea for a new game, but it would require too much changes to minecraft to make it feasible.

Currently full chunk column required 10-15 cubic chunks check up for lighting propagation. Possible in Cubic Chunks check for lighing level only 16 cubic chunks to up and ignore other above (light diffusion and small own light generation air in minecrftia). This will preserve current way work for old world height cases and allow optimization for other cases.
 

Celestialphoenix

Too Much Free Time
Nov 9, 2012
3,741
3,204
333
Tartarus.. I mean at work. Same thing really.
For anyone saying stuff like this:
It seems to me that this, in a way, also prevents large structures; whats the point of building a 10km high skyscraper if I can't take a screenshot of the whole thing at once?

There really isn't any way this prevents large structures

a) Current supermassive builds often don't load fully- or don't render properly. Terrain doesn't always load properly, or massive terrain can lag when it loads.

b) Cubic chunks will improve performance- allowing supermassive structures or terrain to be loaded easier.
Meaning current size supermassive builds will load faster/easier, as well as making taller supermassive builds viable.
The only real limit would be your computer- a 10km skyscraper could be loaded in its entirety. you'll need a beast of a machine or it'll lag a little.
(a lot less lag than loading a 10km road/rail in the current system mind!!)
Also C.Chunks will make a line-of-sight chunkloading algorithm viable; instead of the current sky->bedrock or a player-sphere only the surface loads. Meaning fewer chunks loaded over a vast area. Chances are you'll see the tops of epic mountains more than you would with the traditional method.

It'll be nice if the original post [on here] was updated with a bullet point list explaining cubic chunks in laymans terms. Ideally right at the top so people see it first.

 
  • Like
Reactions: WatcherInTheShadows

kittle

New Member
Jul 29, 2019
229
0
0
Unfortunately, touching the lighting engine is a large part of what makes Cubic Chunks so difficult to implement. Doing proper lighting in Minecraft is neither easy nor cheap (system resource wise).

The problem with inheriting light levels from chunks above you in a theoretically infinite height world is that the chunks above you have never been generated in the first place. Take the following thought example:
<snip>
Actually it is solveable - by doing lighting differently. Currently the MC lighting system relies on having a "connection to the sky" but with an infinitely tall world, you cant really tell where the sky will be.

So to fix, you split the lighting up into different types: Torchlight and Sunlight. With appropriate generators for both. Torchlight is well understood. there are a LOT of existing mods to generate light. A Sunlight generator is something new, but we are all familiar how mobs (and mods) react to sunlight. the only change is how to generate it. Your massive underground cave can have a sunlight generator somewhere. Or you can define something that says "if you have more than XXX unbroken air, you get sunlight" -- but this could be very exploitable, im sure somebody can come up with a better way.


Gameplay wise, the main issue with an infinite vertical would probably be the distribution of resources. The game is designed so you can get iron fairly quickly, and it doesn't take too long to make it to the depths and get your diamonds. For me it would feel funny having the depth go down thousands of metres while you only have to dig down about 60 to get to the most valuable resources in the game. Most likely it would work best with some kind of mod that changes the vanilla progression and adds more types of resources and challenges for those who want to dig deeper. Of course if it was implemented in Vanilla they'd have to overhaul the entire resource progression. Another recommendation would be lifting the artificial speed cap on vanilla minecarts so they can keep accelerating as long as you're going downhill (or are getting boosted), only limited by friction and resistance. Being able to build an elevator shaft would be nice as well (a "vanilla" version could simply have the motor consume coal in its inventory to run). Currently I will consider just the overworld and neglect the Nether for the time being
<snip>
Now as to the problem with ore generation. The current system says 'spawn diamonds between y=1 and y=12' and 'spawn gold between y=10 and y=30' (or something close). But they are all ABSOLUTE values. if y goes to -35,000 then when you go below y=1, diamonds stop spawning. Now you could change it slightly "spawn diamonds below y=12" Which will work, but as others have pointed out, if you setup a quarry to mine all the way down, then you get way too many resources.

So again - you change the way things currently work. Instead of absolute values, you go with a percentage. Now this assumes your world has a preset max depth and max height, and it doesnt change after world creation.
If we convert the values for diamonds and gold into percentages, we get: "spawn diamonds between 1% and 12%" and "spawn gold between 10% and 30%"
So if your world is 1,000 blocks tall (-500 to +500) diamonds will spawn between -490 and -380, and gold will spawn between -400 and -200
And if you want vanilla, your world will be 128 blocks tall (yes i know you can build up to y=256). So diamonds will spawn between 0 and 15, and gold will spawn between 12 and 38.

For the 1k block tall world, having nearly 100 blocks of diamond spawning sounds excessive.. but ponder what it will take to dig down to y=-380 from y=0?.. Starting at y=0 thats 380 blocks. Starting at y=64 thats 444 blocks. The first one is nearly 1.5x as tall as what minecraft currently allows. the 2nd one is nearly TWICE as tall as anything currently possible. a HUGE amount of digging. Completely doable with automation and mods. But in vanilla? your going to be a while.
 

Celestialphoenix

Too Much Free Time
Nov 9, 2012
3,741
3,204
333
Tartarus.. I mean at work. Same thing really.
Actually I've been thinking more about mod items- particularly the Quarry.

What if quarries need exponentially more energy for each level they excavate?
Right now say its 10 'energy' per block. (It isn't- I'm sticking to easy numbers here)​
If say Energy needed is = 8+ [depth/32]^2​
(at depth 1 energy= about 8, depth 32 energy=9, depth 64 energy=12, depth 96= 17, depth 128= 24)​
Eventually you'll hit a point where is isn't viable to run the quarry- but its decided by the player instead of a hard coded value.​
 

kittle

New Member
Jul 29, 2019
229
0
0
Actually I've been thinking more about mod items- particularly the Quarry.

What if quarries need exponentially more energy for each level they excavate?
Right now say its 10 'energy' per block. (It isn't- I'm sticking to easy numbers here)​
If say Energy needed is = 8+ [depth/32]^2​
(at depth 1 energy= about 8, depth 32 energy=9, depth 64 energy=12, depth 96= 17, depth 128= 24)​
Eventually you'll hit a point where is isn't viable to run the quarry- but its decided by the player instead of a hard coded value.​
Another option is to make regular stone harder to mine the deeper you go, and then have quarries / turtles /etc take this into account. They will still use the same amount of energy, but take more time. or mabye require more energy to mine blocks in the same amount of time.

Unfortunately all it takes is some enterprising n00b to set his world depth at -50,000 and then most ores are impossible to mine because the surrounding rock is 100x harder than obsidian. But if you make "harder stone" an option, people can have fun with it.
 

AlanEsh

New Member
Jul 29, 2019
907
0
0
I skipped several pages since the first page was nothing but bickering, so excuse me if this was covered already...

We all know MC currently loads chunks so reliably, I can't imagine anything horrible happening with water and lava flow when chunks above or below fail to render on cue :D
 

Omicron

New Member
Jul 29, 2019
2,974
0
0
I wasn't trying to justify force-loading every chunk, I accept that cubic chunks is far better to square chunks. I was trying to say that not being able to see the top of a mountain, or the ground from the top of a mountain, might look a bit odd if you can see half of it, beyond which there's nothing. It isn't so much of a problem with the X or Z co-ordinates, since that's how things are IRL with the horizon. But on the Y co-ordinate, it might look jarringly immersion-breaking (not that MC is designed to be immersive in the first place, but you know what I mean ;)).I guess that didn't come across how I intended in my other post.

I also know that a 10km tower is a tad ridiculous. I just thought of it as a random example after hearing about plans for one IRL (not that it'll ever be built, it was just hypothetical). A more realistic target might be a 1:1 model of the Burj Khalifa.

Well, it depends on your system settings then... view distance Far actually easily covers a standard 256 block world from bedrock to skybox limit, and it'll run faster than it does now (because it's a standard world with nothing outside the boundaries). And even in a taller world, it would in the worst case run at the same speed as it does now, while still tiding you over surprisingly far. For example, a mountain range would have to generate 2-3 times as tall as they currently do before the peaks start unloading on you - and that's assuming you're standing at sea level, not partway up the slope. Similarly, sea level would need to be raised by more than 4 times over the current world for you to be out of range of the bedrock layer.

That means, in practical application, a 512 tall world would of course not allow you to see from bedrock to skybox limit - but, if the sea level was around y=250, it would allow you to see both all the way down to bedrock and the mountain peaks so high up they kiss the sky limit, at the same time. It would also allow you to see the surface from on top of those tallest mountains. So for normal gameplay, you will pretty much never run into a situation where you stare at an unloaded hole. Considering that with the current tech a 512 tall world with actual terrain to occupy it is completely unplayable from a performance standpoint, while the Cubic Chunks model runs it at minimum as fast as we're currently running out games, that's a pretty big win.

Of course, when I say "see" here, I actually mean that "it's loaded". You probably won't be seeing it directly at the full view distance, because before you get to the outer limit, distance fog kicks in. So you will never see unloaded holes or cut-off peaks at all. You'll simply see normally shaped terrain slowly fading until there's only fog. No jarring edges. Try flying to y=256 over a quarry hole in your current world, you'll see the effect - it is present even now, we just don't see it on the y-axis because we commonly don't have enough y-axis to work with. Cubic chunks doesn't modify how the world is displayed, it only modifies how much of the world is loaded where.

"But what about the super-tall buildings?" Well, cubic chunks can give you view ranges above Far as well...
 

Celestialphoenix

Too Much Free Time
Nov 9, 2012
3,741
3,204
333
Tartarus.. I mean at work. Same thing really.
I skipped several pages since the first page was nothing but bickering, so excuse me if this was covered already...

We all know MC currently loads chunks so reliably, I can't imagine anything horrible happening with water and lava flow when chunks above or below fail to render on cue :D


It'll behave exactly the same as horizontal flow of water/lava or a player/animal hitting an unloaded chunk now. [It'll pause until the chunk loads.]
(though the vertical effect of this is also known as "gravity lag" and has been addressed in the original post.)​
 
  • Like
Reactions: Greyed

AlanEsh

New Member
Jul 29, 2019
907
0
0
It'll behave exactly the same as horizontal flow of water/lava or a player/animal hitting an unloaded chunk now. [It'll pause until the chunk loads.]
(though the vertical effect of this is also known as "gravity lag" and has been addressed in the original post.)​
Yeah I saw that -- but that didn't really speak to how waterfalls would work below a broken chunk.
 

KirinDave

New Member
Jul 29, 2019
3,086
0
0
It is crazy to me how much arguments have been raised against what amounts to esoterica in the historical model that Minecraft's engine has.

Cubic Chunks is an upgrade Mojang should do. It'd open a whole host of optimizations and improvements to the engine. It'd reduce network load, reduce maximum memory usage, and also make the internal model that most modders use for thinking about chunks more uniform. There is 0 reason not to want this upgrade.
 

Iskandar

Popular Member
Feb 17, 2013
1,285
685
128
It is crazy to me how much arguments have been raised against what amounts to esoterica in the historical model that Minecraft's engine has.

Cubic Chunks is an upgrade Mojang should do. It'd open a whole host of optimizations and improvements to the engine. It'd reduce network load, reduce maximum memory usage, and also make the internal model that most modders use for thinking about chunks more uniform. There is 0 reason not to want this upgrade.
I can't argue that this isn't a good idea. I might argue that Minecraft, as it stands, can't handle the upgrade. The old Cubic Chunks mod never really got past the unstable, buggy, sort of working alpha stage because of it. You'd have to rip the old rendering engine out by the roots and recode from scratch, and that code is years old now and probably poorly documented besides. It would take months to get working again, and it would be god awful buggy for months, if not years, after that because these things NEVER go as smoothly as you would think they would on paper.

And I just can't see Mojang making this a priority any time soon. 2000 signatures? So, what, less than 1/10th of one percent of the people who play Minecraft? And you can see the reaction it got in this forum, times that by a million or so and yeah, total drama bomb.

So yes, nice idea. would love to see it in game. Never going to happen, though.
 
Status
Not open for further replies.