A simple physics sandbox.


  • ECS-like architecture achieved through multiple inheritace
  • Sand, Water & Gas Physics
  • Buoyancy
  • Heath transfer
  • Status changes (ice -> water -> vapor)
  • Scriptable custom tile behaviours


  • Click with the Left mouse button to add the selected Tile
  • Click with the Right mouse button to delete the tile you are hovering on
  • Use the Mouse wheel to select different tiles
  • Press Space to Pause/Unpause the simulation
  • Press F1 to enable additional information
  • Press ESC to reset the world
  • Press Left CTRL while adding or deleting tiles to enable big brush mode


For being pure python it’s as good as it gets (without using multiprocessing or Cython), i would suggest using PyPy.


View Github