Make floating blocks
Posted 07 January 2011 - 09:24 AM
So first I thought it'd be cool to be able to build larger boats out of blocks like wood or something. But that idea lead me to the idea of simply adding buoyancy values to each block. The values can be relative so that wood will float in water but not in air, etc... Also it's really simple physics, so once you've come up with appropriate buoyancy values you could just implement the correct equations (in reality you'd be assigning density values to each of the blocks and coming up with the correct equations based on real world physics so that the game is as realistic as possible).
This could immediately lead to building things like large floating barges in water, floating islands, and so on. Eventually you could use the same idea to make modifications like rising hot air (which might even lead to something like a hot air balloon, or air ships of some sort).
It might be implemented like such: a wood block on fire causes the x number of blocks above it to be less dense because of the heat, those blocks rise up into the sky and eventually cool off and new air blocks are generated in their place which are then made less dense by the on fire wooden block. This process continues until the wooden block is eventually put out. Maybe if you build a cloth enclosure around enough heated air then the overall density of the cloth enclosure would be small enough to make it rise up into the sky, thus creating a hot air balloon.
Even more down the road would be the creation of air currents due to density imbalances in the sky. This combined with floating objects would give the possibility of sailing ships or airships. I know it'd be tough, especially when you start to expand the idea to air densities.
Still it would be pretty cool to have a simple implementation of blocks that could float/sink in water. Even then though there's still complications with where to put the displaced blocks and how to account for the buoyancy of multiple blocks together (how does the game know that certain blocks should be considered connected, how to calculate the total buoyancy of a large complex object,...). But; I think if people like the idea than there are definitely talented enough programmers playing this game that could make it happen.
Comments, suggestions, ideas?
Posted 07 January 2011 - 09:28 AM
Posted 07 January 2011 - 09:35 AM
1) Put a treadmill and lots of cake in your suba nd eat to get lower and run to get higher,
2) have stone blocks somewhere that you can destroy to get lighter and place to get lower, kind of like the oxygen tanks on real subs, come to think of it, if redstone were more precise we COULD use air if that was given a buoyancy value that allowed air trapped underwater to try to rise.
Posted 07 January 2011 - 09:46 AM
Posted 07 January 2011 - 09:55 AM
Posted 07 January 2011 - 10:14 AM
Posted 07 January 2011 - 10:26 AM
*points to gravity affecting sand/gravel*, wouldent be too much of a stretch to make a floating objects move horizontally
Posted 07 January 2011 - 10:27 AM
Except that carts can move, and sand and gravel can fall. Also, obviously there's already a crude version of gravity so if you have density values for each block you can calculate a buoyancy force according to Archimedes principle. I actually think that implementing buoyancy only for blocks in water would be fairly simple. The math is certainly easy and it only requires that you know the density of each block which is only one extra descriptor. Really the hardest part is dealing with the displaced water and what happens when you connect blocks together. Would the float together? is there an elegant way to program in that if the surrounding blocks aren't water than the game will assume that they should be "cemented" together or will it require a complicated solution in order to avoid problems with other aspects of the game?
The real hard part is dealing with possible bad consequences of implementing a simple idea without giving it limitations. Then once you figure out the limitations you need on floating blocks, how to program that into the game.
Posted 07 January 2011 - 11:03 AM
Posted 10 January 2011 - 12:45 AM