Note: I did use the search, all I found was GraviTNT, a couple fan video sites, and a guide on how to find diamonds.
After reading Notch's blog back in mid-Alpha, I noticed something about gravity, and how it would affect all blocks in the future. However, the idea was scrapped, most likely due to technical issues. Well I am here to put my two cents in on the idea of gravity.
-The basics of block weight.-
Block weight is simply a numerical value, which is added/subtracted to form 'pressure'. This pressure will not directly affect the player (unless they get caught in a rockfall, of course.), but only affect blocks below them. For the purposes of this thread, stone and netherrack, which are extremely common, will have a density of one. Stuff like water, lava, dirt, and other surface materials, would have weights of less than one, air would have zero weight, obsidian would have negative weight (namely because it is a 'magical' block), and ores, cobblestone, mossy cobblestone, spawners, blocks of materials, and other underground non-stone materials, would have weights greater than one.
-How block weight applies to gravity.-
Now, of course what good is weight without gravity? Now, here is my explanation on how I think it should work.
Block weight would simply be added, layer by layer, until it reaches bedrock. Now, this may cause lag, right? Well, no. Simply because 16x16x1 layers of like materials (i.e. stone) would always have the same value. The only time calculation would be needed is when there is ores, air, and other materials in that layer. Also, block weight would only be added for the layer the player is on, and the ones above it.
Now, how to prevent all underground structures and cave systems from simply, collapsing? Easy, act like sand. This may make you say something of the likes of 'SAND?!' , however, I can explain. As you all know, if sand is supported on a 'block', it doesn't fall. You simply apply a similar solution to keep caves from collapsing.
First, you check the block weight for each chunk within the render distance. Then, if block weight is greater than a certain amount, say, 15 per column, AND there is air below said column, the game checks to see whether it is 'supported'. Supported meaning, within the chunk, there is at least a 2x2 column connecting to the rock below. If not, then it checks adjacent chunks. (If block weight is greater than 45, the previous step is ignored, and the rock collapses.) Adjacent chunks are checked to see whether they are supported. If at least ONE is true, then the rock remains solid. If not, however, the materials collapse, and fall to fill the lowest areas. However, before collapse, just to give the player some warning, a grumbling sound will be heard, material chunks will fall, this lasting for about 3-5 seconds, and then it collapses.
Anyways, those have been my ideas on gravity, enjoy!
Rollback Post to RevisionRollBack
Quote from WTFClock »
So let me get this straight
Bones
Give you wood Minecraft is now necrophiliac friendly
Quote from atiaxi »
The entire place is on fire, it should be baked by now!
Basically he said we should give everything falling physics. There was also some poorly described “pressure” mechanism and a description of how this is all totally useless because if you have a 2x2 column somewhere in every 5 chunks, nothing will ever fall.
After reading Notch's blog back in mid-Alpha, I noticed something about gravity, and how it would affect all blocks in the future. However, the idea was scrapped, most likely due to technical issues. Well I am here to put my two cents in on the idea of gravity.
-The basics of block weight.-
Block weight is simply a numerical value, which is added/subtracted to form 'pressure'. This pressure will not directly affect the player (unless they get caught in a rockfall, of course.), but only affect blocks below them. For the purposes of this thread, stone and netherrack, which are extremely common, will have a density of one. Stuff like water, lava, dirt, and other surface materials, would have weights of less than one, air would have zero weight, obsidian would have negative weight (namely because it is a 'magical' block), and ores, cobblestone, mossy cobblestone, spawners, blocks of materials, and other underground non-stone materials, would have weights greater than one.
-How block weight applies to gravity.-
Now, of course what good is weight without gravity? Now, here is my explanation on how I think it should work.
Block weight would simply be added, layer by layer, until it reaches bedrock. Now, this may cause lag, right? Well, no. Simply because 16x16x1 layers of like materials (i.e. stone) would always have the same value. The only time calculation would be needed is when there is ores, air, and other materials in that layer. Also, block weight would only be added for the layer the player is on, and the ones above it.
Now, how to prevent all underground structures and cave systems from simply, collapsing? Easy, act like sand. This may make you say something of the likes of 'SAND?!' , however, I can explain. As you all know, if sand is supported on a 'block', it doesn't fall. You simply apply a similar solution to keep caves from collapsing.
First, you check the block weight for each chunk within the render distance. Then, if block weight is greater than a certain amount, say, 15 per column, AND there is air below said column, the game checks to see whether it is 'supported'. Supported meaning, within the chunk, there is at least a 2x2 column connecting to the rock below. If not, then it checks adjacent chunks. (If block weight is greater than 45, the previous step is ignored, and the rock collapses.) Adjacent chunks are checked to see whether they are supported. If at least ONE is true, then the rock remains solid. If not, however, the materials collapse, and fall to fill the lowest areas. However, before collapse, just to give the player some warning, a grumbling sound will be heard, material chunks will fall, this lasting for about 3-5 seconds, and then it collapses.
Anyways, those have been my ideas on gravity, enjoy!
If you can't be bothered reading, why did you take the time to post? You could have spent the time making a post as time to read my suggestion!