Picture a tall cobblestone statue. An explosion rocks its base, destroying its slender supports. The structure begins to topple! Not falling limply to the ground as sand does currently, but the whole statue tilting as one piece, eventually falling to the ground and shattering into its component blocks which lay haphazard about the terrain. You sadly poke the cobble fragments, pushing them about the landscape in dejection at the loss of your masterpiece.
Or picture a mighty tree, taller than any other in the forest. You heft your axe and with a few swings chip away the trunk near the base. The tree groans as it topples towards you and you scramble to escape is path as it comes crashing to the ground. Dusting yourself off you set to work on the branches that are still intact, the wood now within easy reach.
Or picture your mighty castle. With the flick of a lever you set loose the chain holding your drawbridge, allowing gravity to drop it to earth with a resounding boom.
Or picture the rope in your hand. You fasten it about the fencepost you just placed and pray that it will hold your weight as you begin to rappel down the cliff face, bounding outwards like a half-swung pendulum.
Or the pendulum swinging from the highest point in your tower; the chandeliers hung from your rafters; the unstable shale cliff edge that slides away under your feet; the broken wooden bridge that still floats in the stream.
These are all scenarios that we could create given the proper tool in Minecraft: a robust physics engine. There are many hurdles that would need to be overcome, but I do not believe that they are insurmountable.
Blocks would need to track which other blocks they are connected or fastened to (and how much force would be needed to shear them if we wanted to go that far). When blocks lose their connection to any stable block, they should become freely affected by gravity and fall or tip or balance as a unit among their fellow connected blocks. The best example of this is the tree. When a trunk piece is removed, the blocks above it should fall but the tree above the cut should retain its structure, the whole top of the tree freely falling, spinning and colliding in three dimensions, eventually coming to rest (at which point we could stop calculating its path until it is acted upon again.) Ropes or chains attached to structures could constrain movement as well.
So. Huge project. Huge obstacles, performance not the least of these. Who's up to it? I want my hanging chandeliers casting shifting light across the room.
Rollback Post to RevisionRollBack
Quote from Eylk »
Someone's a tad strong in their use of anti-feminine derogatory metaphors today.
However, entities like mobs use the vector code. Blocks might be able to be temporarily represented as entities. There would have to be an artificial cap on their numbers though. Yes it would require a MASSIVE amount of work. The voxel-vector collision model would be hell to code and even worse to optimize. Still, it seems within the realm of possibility to me.
... and nicely done on preempting Garry's Mod comments. I don't actually own/play it. I was inspired more by physics sandbox engines like Phun. (http://www.phunland.com/wiki/Home)
Rollback Post to RevisionRollBack
Quote from Eylk »
Someone's a tad strong in their use of anti-feminine derogatory metaphors today.
http://forums.introversion.co.uk/introversion/viewtopic.php?t=2723
Physics in minecraft - it's totally doable. Dont't just tl;dr - scroll down for video at least. If you do take the time to read the article, he discusses his implementation. Basically attempted to build a voxel engine to see how Notch did it, then decided to add physics to the blocks.
for just the video, go here:
Rollback Post to RevisionRollBack
Quote from Eylk »
Someone's a tad strong in their use of anti-feminine derogatory metaphors today.
Picture a tall cobblestone statue. An explosion rocks its base, destroying its slender supports. The structure begins to topple! Not falling limply to the ground as sand does currently, but the whole statue tilting as one piece, eventually falling to the ground and shattering into its component blocks which lay haphazard about the terrain. You sadly poke the cobble fragments, pushing them about the landscape in dejection at the loss of your masterpiece.
Or picture a mighty tree, taller than any other in the forest. You heft your axe and with a few swings chip away the trunk near the base. The tree groans as it topples towards you and you scramble to escape is path as it comes crashing to the ground. Dusting yourself off you set to work on the branches that are still intact, the wood now within easy reach.
Or picture your mighty castle. With the flick of a lever you set loose the chain holding your drawbridge, allowing gravity to drop it to earth with a resounding boom.
Or picture the rope in your hand. You fasten it about the fencepost you just placed and pray that it will hold your weight as you begin to rappel down the cliff face, bounding outwards like a half-swung pendulum.
Or the pendulum swinging from the highest point in your tower; the chandeliers hung from your rafters; the unstable shale cliff edge that slides away under your feet; the broken wooden bridge that still floats in the stream.
These are all scenarios that we could create given the proper tool in Minecraft: a robust physics engine. There are many hurdles that would need to be overcome, but I do not believe that they are insurmountable.
Blocks would need to track which other blocks they are connected or fastened to (and how much force would be needed to shear them if we wanted to go that far). When blocks lose their connection to any stable block, they should become freely affected by gravity and fall or tip or balance as a unit among their fellow connected blocks. The best example of this is the tree. When a trunk piece is removed, the blocks above it should fall but the tree above the cut should retain its structure, the whole top of the tree freely falling, spinning and colliding in three dimensions, eventually coming to rest (at which point we could stop calculating its path until it is acted upon again.) Ropes or chains attached to structures could constrain movement as well.
So. Huge project. Huge obstacles, performance not the least of these. Who's up to it? I want my hanging chandeliers casting shifting light across the room.
... and nicely done on preempting Garry's Mod comments. I don't actually own/play it. I was inspired more by physics sandbox engines like Phun. (http://www.phunland.com/wiki/Home)
Physics in minecraft - it's totally doable. Dont't just tl;dr - scroll down for video at least. If you do take the time to read the article, he discusses his implementation. Basically attempted to build a voxel engine to see how Notch did it, then decided to add physics to the blocks.
for just the video, go here:
Take a look, and see what you can do. I'm no modder, but ive been learning, i might be able to help soon.