Performance in the next pack?

  • Please make sure you are posting in the correct place. Server ads go here and modpack bugs go here

PhilHibbs

Forum Addict
Trusted User
Jan 15, 2013
3,174
1,128
183
Birmingham, United Kingdom
If clear unobstructed line of sight to the sky is needed for lightning to strike, then no matter how high the build height there will always be the same number of blocks in a given area where lightning is able to strike.
The function to check whether there's clear line of sight to the sky is called "can lightning strike", but I wasn't thinking of lightning, I was thinking of solar panels, daylight lighting, ice forming, etc. which all basically have the same code apart for the fact that some allow glass to be in the way and others don't.
 

brujon

New Member
Jul 29, 2019
496
0
0
I'd be happy with 64km world height. (0 to 64km). With that kind of height you can recreate any natural or man-made structure on earth to scale. There are no mountains higher than Everest, which is 8.8km from sea level, and no deep sea trenches deeper than the Mariana's Trench which is 11km~deep. And according to wikipedia the earth's crust is 30 to 50km deep. How damn awesome would it be if bedrock was only found 30 to 50km from sea level? And you still had 14km of air space to build above sea level? Ore distribution would have to be massively re-worked, and actual large scale mining would be a sight to behold. I mean, horizontal scale is already not a problem with minecraft. The actual max world size is many times larger than Earth already. Vertical scale is the next logical step :D

Of course, even the most insane quarries ever set up in minecraft would take insaneR amounts of time to dig a 9x9 hole down to bedrock... Tunnel bore machines and actual mine structure would also be required. Branch mining would be met with a whole lot of nothing over nothing... Damn i want this.
 

brujon

New Member
Jul 29, 2019
496
0
0
The function to check whether there's clear line of sight to the sky is called "can lightning strike", but I wasn't thinking of lightning, I was thinking of solar panels, daylight lighting, ice forming, etc. which all basically have the same code apart for the fact that some allow glass to be in the way and others don't.

Yeah, but in any case, the OP in the thread i linked over on MCF has some thought put into it about how sunlight calculations and the like would be handled in a MC world where Cubic Chunks are used in place of regular chunks. It is a pretty awesome idea... The more i get to know a bit more about the MC community, i get more impressed with it. There's literally no game i've ever played which has near the level of involvement we see in MC. It's kind of amazing, really.
 
  • Like
Reactions: un worry

Mash

New Member
Jul 29, 2019
892
0
0
I'd be happy with 64km world height. (0 to 64km). With that kind of height you can recreate any natural or man-made structure on earth to scale. There are no mountains higher than Everest, which is 8.8km from sea level, and no deep sea trenches deeper than the Mariana's Trench which is 11km~deep. And according to wikipedia the earth's crust is 30 to 50km deep. How damn awesome would it be if bedrock was only found 30 to 50km from sea level? And you still had 14km of air space to build above sea level? Ore distribution would have to be massively re-worked, and actual large scale mining would be a sight to behold. I mean, horizontal scale is already not a problem with minecraft. The actual max world size is many times larger than Earth already. Vertical scale is the next logical step :D

Of course, even the most insane quarries ever set up in minecraft would take insaneR amounts of time to dig a 9x9 hole down to bedrock... Tunnel bore machines and actual mine structure would also be required. Branch mining would be met with a whole lot of nothing over nothing... Damn i want this.

That could work for a cooperative server, but Minecraft isn't scaled down simply to have mercy on your computer. Resources on that scale aren't feasible to be used or mined by one person. Imagine finding a pool of oil that's actually on scale with real life ones. That would power your base for the rest of your life.
 

Bigglesworth

New Member
Jul 29, 2019
1,072
0
1
Wouldn't have to be massively reworked. It would just scale up linearly with maybe a few tweaks. Seeing bedrock ever again in the game would become a feat in itself of hardcore caving down into the virtual earth. Id say many-a-lava layers would await anyone that dared bore straight down. Not to mention massive caves with strange new (lava)creatures to murder and maim you. Of course diamond could be found around the first lava layer level, but what about a new super rare ore below that into the dark abyss guarded by an underground race of very angry dwarves wielding lava cannons and some guy named Cid manning a huge cave-airship?! Take their ore... if you dare

Higher skys will only improve the game in more ways than a single person could imagine
 
  • Like
Reactions: brujon

Mash

New Member
Jul 29, 2019
892
0
0
I'm not saying that it wouldn't be amazing beyond words.

It would, however, bring a whole new definition to the word tedium in some respects.
 

brujon

New Member
Jul 29, 2019
496
0
0
Not necessarily. It would make the existence of tunnel bore machines, massive quarries and the like necessary. Also, machines taking up only one block? Forget about that. It would just look silly if the rest of the world was to scale, instead of the highest mountain going up only 100 blocks. You would need actual massive multiblocks, and actual massive factories that you build bit by bit in order to advance. Or you could just be a camper, mining bits of surface coal here and there, making charcoal, hunting and trapping. You would start small, make a small surface branch mine in a mountain or go around exploring caves, which would be fairly massive, with actual rivers going through them and all. In the distance, you would see massive mountains going above the clouds, stretching for 2 or 3 thousand blocks in the sky. Actually, depth of vision would have to be massively increased, maybe even based on Y level, that would be pretty damn awesome. In time, with effort, you could have a massive factory, processing tons of resources, with multiblock machines that take hundreds of blocks to set up.

I can dream.
 

Mash

New Member
Jul 29, 2019
892
0
0
Well, there are two ways this could work in regards to resources.

The most logical way would be to spread out the resource generation to scale with how it is now. You could probably go ENTIRE CHUNKS without finding anything. And by chunks, I mean the current size of a chunk. Obviously in this adaptation they would be a whole lot taller.
The other way, of course, would be to keep the generation exactly the same, block for block. One 64x64 hole to the 'new' bedrock would probably drown you in every type of ore. That just seems... eh.

It could be very cool, but it would require machines that could mine a hell of a lot faster than they currently do. How long would it take a BC quarry even at full speed to reach the bottom? Weeks? Months?
 

brujon

New Member
Jul 29, 2019
496
0
0
Ore Generation would have to be reworked to be a bit more like it is on RL. Most of the time, you don't find anything... Sparse single-block ore deposits near surface, but pointing towards massive ore deposit deeper underground. Branch mining wouldn't work, you'd need to actually dig long mineshafts, hoping to expose enough stone in order to find the tip of a vein, which you then start digging towards in order to mine everything out. And by veins i do mean VEINS... Automatic mining doesn't yield much unless it's a massive, MAAAASSIVE hole in the ground like the ones you see people digging in Russia and Africa to find diamonds. Actual good yields would be found more often by using TBM's', letting them run overnight, and trailing after them. These veins would not be perfectly ditributed across chunks but often span multiple chunks, and often not found for multiple chunks as well. High rewards when you find one, very low yields otherwise. Some sort of automatic processing of gravel & sand with water strainers to get low, but consistent yields would also be very welcome as a early game automatic mining solution, before you have resources to build TBM's and the like.

Minecraft would become quite a different game, however. This approach is much more in line with what Terrafirmacraft intends to become, but with more tech at the end of the tech tree.
 

ShneekeyTheLost

Too Much Free Time
Dec 8, 2012
3,728
3,004
333
Lost as always
And it would grind even the Homer cluster to a grinding halt, trying to keep track of every single block in such a massive environment.

This isn't some geospatial program we are working with here. This is Minecraft. To be able to pull a Google Earth, you'd need to completely re-write the code from the ground up, and in something a good deal better suited to it than Java.
 

Mash

New Member
Jul 29, 2019
892
0
0
Ore Generation would have to be reworked to be a bit more like it is on RL. Most of the time, you don't find anything... Sparse single-block ore deposits near surface, but pointing towards massive ore deposit deeper underground. Branch mining wouldn't work, you'd need to actually dig long mineshafts, hoping to expose enough stone in order to find the tip of a vein, which you then start digging towards in order to mine everything out. And by veins i do mean VEINS... Automatic mining doesn't yield much unless it's a massive, MAAAASSIVE hole in the ground like the ones you see people digging in Russia and Africa to find diamonds. Actual good yields would be found more often by using TBM's', letting them run overnight, and trailing after them. These veins would not be perfectly ditributed across chunks but often span multiple chunks, and often not found for multiple chunks as well. High rewards when you find one, very low yields otherwise. Some sort of automatic processing of gravel & sand with water strainers to get low, but consistent yields would also be very welcome as a early game automatic mining solution, before you have resources to build TBM's and the like.

Minecraft would become quite a different game, however. This approach is much more in line with what Terrafirmacraft intends to become, but with more tech at the end of the tech tree.

The name of the game in this would probably be... have a number of turtles start digging 1x1 holes in the ground in search of veins.

It would take the automation out of it for sure, but I imagine it would also be massively faster, even if you mined the veins by hand. Or you could just slap a quarry down and mine out the entire area.
 

Bigglesworth

New Member
Jul 29, 2019
1,072
0
1
There is no reason why every single block would have to be kept track of. In such an enviroment that would hardly be an effeciant way of going about it. I would assume their are much much more clever ways of going about such things that require only rendering a framework/surface, and dynamically rendering blocks that are uncovered. Thats to say, the world is opnly a frame with possibilities and statistics tied to it (much like physicas) and by actively interating with it, like mining a block, will the block under it actually 'exist'. Something like scrodingers block.

This is already done in a way in Minecraft already. The world outside where you start doesn't really exist until you explore it, yet it has its framework. If it already existed you would be sitting with immense amounts of map data that is mostly irrelevant. Ontop of that, given that it would take a re-write and basically be a whole new game, much better compression techniques could be employed for chunk data. You have blocks with 3 coords and ID data attached to them in more or less perfect symmetry and very few ID differences. That is the definition of compressibility.

Does anyone know if minecraft uses and sort of compression for world block data right now or is it all just raw?
 

PhilHibbs

Forum Addict
Trusted User
Jan 15, 2013
3,174
1,128
183
Birmingham, United Kingdom
Thats to say, the world is opnly a frame with possibilities and statistics tied to it (much like physicas) and by actively interating with it, like mining a block, will the block under it actually 'exist'. Something like scrodingers block.
Macrocosmic physcis doesn't work on statistics, it works on actuality. If I can see the sun, then it means there is definitely not something blocking it. It isn't based on a probability of there being a cloud or a moon or a giant spaceship, it's based on whether there's actually something there. The game would have to check, not guess.
This is already done in a way in Minecraft already. The world outside where you start doesn't really exist until you explore it, yet it has its framework.
What there is a million blocks "over there" is a lot less relevant to me than what's "up there". If the game started off drawing a blue sky with a sun based on the "probability" that there isn't a huge floating island (or a player-built frame machine) above me, but then started drawing a huge floating island a million blocks above me that then blocked off my previously-working solar panel farm, then that would not be acceptable.
 

Mash

New Member
Jul 29, 2019
892
0
0
What there is a million blocks "over there" is a lot less relevant to me than what's "up there". If the game started off drawing a blue sky with a sun based on the "probability" that there isn't a huge floating island (or a player-built frame machine) above me, but then started drawing a huge floating island a million blocks above me that then blocked off my previously-working solar panel farm, then that would not be acceptable.

You just gave me a great idea to piss someone off.
 
  • Like
Reactions: ApSciLiara

brujon

New Member
Jul 29, 2019
496
0
0
And it would grind even the Homer cluster to a grinding halt, trying to keep track of every single block in such a massive environment.

This isn't some geospatial program we are working with here. This is Minecraft. To be able to pull a Google Earth, you'd need to completely re-write the code from the ground up, and in something a good deal better suited to it than Java.

Read my above posts on Cubic Chunks. Doesn't even require a massive rewrite, Robinton already made a mod that basically uncapped build height, though sadly it is old as dirt. 30k+ blocks deep trenches are only a problem in current minecraft, where chunks are loaded from lowest to highest Y level, if the world is instead loaded through cubic chunks, then the number of blocks is manageable. The lowest Y levels are simply not loaded until they need to be. On the last pages some members even did a little bit of math to see how many blocks would be rendered on the spherical LOS provided by the Cubic Chunk method compared to the current chunk method we have, and the number of blocks rendered is a whole order of magnitude lower. That's the worst case scenario, having to render all blocks in your LOS. Oh, and implementing Cubic Chunks doesn't even have to break current worlds.

The kind of ore vein generation i described? There's also a mod for that as well. http://www.minecraftforum.net/topic/1107057-146v2-custom-ore-generation-updated-jan-5th/

As for more realistic world terrain type generation and features, EXBL, Biomes o' Plenty, and Better World Generation are all approaches that can be taken. The latter has even more ambitious features and a completely revamped world gen that is more realistic with better terrain transitions, etc...

If a couple of mods working together can achieve something similar to what i described, how can Mojang, with access to unobfuscated code and a team of devs and development kits not be able to do it?
 

Mash

New Member
Jul 29, 2019
892
0
0
Eh... I think there'd need to be some sort of re-write if this were to be taken seriously.

I mean, I'd honestly be all for something like that. It would be new and exciting, but I just don't see how something like that would be feasible. Minecraft is already so CPU intensive, and there's simply no way that something like this wouldn't affect CPU usage.
 

ex13

New Member
Jul 29, 2019
75
0
0
In my opinion, cubic chunks are possible, probably even without a huge performance impact. They would need some rewrite (e.g. different save format), but to really make use of those cubic chunks, a few more thing will need rewriting, especially the world gen needs to be redone from ground up. Because if I have infinite build height, I want huge mountains as well. All this is definitely possible and shouldn't be too hard.

However, all this amplifies one other problem of minecraft: The very limited view distance. If you stand below a massive mountain (lets talk about a few thousand meters here), you can only see a hundred meters of its base with the currently proposed cubic chunks. If you fly up, more becomes visible, but the ground vanishes too quickly. Once you stand on top of the mountain peak, you will see a small cone of ice/rock, but nothing else. No other mountain peaks (they are also a few thousand blocks away), no awesome views of your base. Those mountains would be simply useless. If you have a giant cavern where the ceiling isn't loaded and you simply see the sky - ugh. Think of Blackreach without a ceiling and its vast landscape...

Same with those huge towers/skybases that will definitely be build. If you stand on top of one, and can't see anything below you, thats simply not satisfying. Even in minecraft today, when you stand on top of a really tall tower, the world below looks like a tiny square. So, if cubic chunks get implemented, I want (at least) ten times the few distances as well - maybe even more. And this of course need a rewrite of the whole rendering engine and possibly even more - they would have to introduce an adaptive level-of-detail system for arbitrary voxel structures or directly use a real voxel rendering engine. And both of those are very far from easy (and nothing I have ever seen in any of the other minecraft clones).
 

Hydra

New Member
Jul 29, 2019
1,869
0
0
In my opinion, cubic chunks are possible, probably even without a huge performance impact. They would need some rewrite (e.g. different save format), but to really make use of those cubic chunks, a lot more rewriting is needed, especially the world gen needs to be redone from ground up. Because if I have infinite build height, I want huge mountains as well.

Mojang is already looking into this, the cubic chunks idea is not new at all.. However it will take a LOT more effort than you know. It's not the save format that's the challenge, it's the actual engine that needs to be rewritten for a large part.
 

ex13

New Member
Jul 29, 2019
75
0
0
Mojang is already looking into this, the cubic chunks idea is not new at all.. However it will take a LOT more effort than you know. It's not the save format that's the challenge, it's the actual engine that needs to be rewritten for a large part.

Sure, but at its basis, the engine stays the same. Even now, each chunk is broken into 16x16x16 cubes for rendering, so the main change is that not all those cubes of a given chunk are loaded but only those that are close enough vertically (and a few tweaks to the lighting - but as said before, a height map for this should mostly do it). Not trivial changes, especially if it should be stable and (hopefully) bugfree in the end - but not something impossible.

However, my main point is that it would create other problems - and these problems are much harder to deal with.
 

Bluehorazon

New Member
Jul 29, 2019
293
0
0
Well you need to do 3 different scenarios than.

1. Rendering, it could stay in a 16x16x16 area as it is now.
2. World generation, this needs to happen from top to bottom like it is now, because you obviously need to know what is above you
3. Actual calculation of everything that happens in your world

Point 3 is the tricky one. The world above and beneath you needs to be loaded so that the game knows what blocks are above and below you. Imagine someone is above you in the sky and between him and you is an unloaded chunk. Now he places a bucket of water. Without the blocks in between the water will never reach you. But if the game would know which blocks are between you it could calculate the water-flow without updating nearby blocks or without updating anything else (not even it self) in these chunks. But with the actual engine something like this is not possible. A chunk is either loaded or not, there isn't something in between, which makes the structure of the chunk loaded, but nothing else. For Minecraft in it's current state a not loaded chunk simply does not exist. It may be saved somewhere but it can't change and can't be used for anything. If a giant floating island is above you but isn't loaded you wouldn't even see that island.