Lava Lamp

I originally made a version of this in Pascal when I was in college. This is a fairly simple particle system with only a few rules. The temperature of a particle cools or heats based on position and no two particles can have the same coordinates. However, the number of particles you have and the size of the container, combined with the speed of heating and cooling, can make big differences to how interesting it is to watch.