Hacker News new | ask | show | jobs
by dTal 2737 days ago
A nice bit of web programming. The smoke effects look cool. Pity solids don't conduct heat - the first thing I always try and do in these is boil a pot of water.

If you've never seen this kind of thing before, the canonical PC example is The Powder Toy, which is so amazing I wish there a 3D Minecraft-like version. But it's really CPU-heavy even in 2d.

6 comments

Select Wall. Draw "bowl". Select Water. Drop water into bowl. Select Cloner. Click beneath bowl. Select Fire. Click beneath Cloner.

Observe boiling water.

Interesting, I can boil water with fire directly.

But when I put oil (in a separate compartment) beneath the bowl of water, and light it on fire, the oil burns off, but doesn't boil any water.

> Observe boiling water

What should happen? All I see is the surface 'sparkle' effect that is the same as still water.

This is what should happen: https://youtu.be/hW6_iA_YAOo
The water eventually disappears.
Are you sure? I tried watching a few different setups for a while and the water level never seemed to change. Even applying fire directly to water doesn't have an effect.
I did a ton of research because I was looking into creating a VR falling sand game (which someone actually made about a year ago https://www.oculus.com/experiences/rift/1337446473017832/).

There are a couple of other 3D falling sand games (http://csiuo.com/Sand3d/, https://github.com/TheTomster/sandish, https://powdertoy.co.uk/Discussions/Thread/View.html%3FThrea...) but none of them are very good due to the factors you mentioned. UX is also a pretty big problem, as traditional mouse or touch controls don't work well in 3D, which is why I wanted to go the VR route, but something like a very dynamic Minecraft as you mentioned could work as well.

Most falling sand game implementations are sequential, so parallelizing the simulation using a margolus neighborhood (https://en.wikipedia.org/wiki/Block_cellular_automaton) or double buffer could greatly improve performance. Most falling sand games tend to not be pure cellular automata, and some are implemented as particle systems with particle in cell grid collision instead of CA, but particle and fluid sims are easy to parallelize. I haven't seen a falling sand game (2D or 3D) that runs entirely on the GPU, and my goal was to do that, eventually ending up with some complex Claybook (https://www.claybookgame.com/) style engine.

Fork it!
I think the CPU load is just inherent to the type of program it is. It's running a fluid dynamics simulation, a thermal dynamics simulation, Newtonian gravity simulation, and discrete particle simulation all at once. If you made all that in 3D, you would have made an incredibly amazing game engine that no computer could possibly run.
Oh, I meant to get solids conducting heat ;p
also.. mites don't reproduce..
They do eat wood though.
They also can't be drowned, or killed by lava or acid.
Try feeding them dust.
and water doesn't pool
and the water turns into plants as fast as fire burns the plants.
And the water seem spectacularly incapable of putting out fires.
There's no way to put out a fire burning on top of the cloner.
I mean - if you already managed to put plants in the cloner.
dissolve the cloner in acid
boiling some water was pretty much the first thing I tried too! was disappointed.

still great though.