Fish Tank

in-progress

Remember those old Windows fish tank screensavers? I always wanted to make one, so why not now? Why not multiplayer? Why not 3D? Built with Threlte (Three.js + Svelte) using the same movement system from the multiplayer homepage—I had multiplayer dots swimming around in about 5 minutes, then thought... let's make it three-dimensional.

Last updated: December 07, 2025

Click anywhere in the tank to swim around.

Goals

  • Create project page
  • Copy movement logic from homepage
  • Start rendering in 3D
  • Add random shapes to the scene
  • Learn 3D scene composition
  • Add more todos

Development Log

Initial build: 2D to 3D multiplayer fish tank

Started with a basic 2D multiplayer fish tank using SVG and PartyKit WebSockets—had fish swimming around in about 5 minutes. Then converted to 3D using Threlte (Three.js + Svelte). Fish are now stunning oval shapes with eyes (so you know which way they're going) and rotate when swimming. Added photorealistic decorations: gravel floor (flat plane), rocks (spheres), and plants (cylinders). Practically indistinguishable from a real aquarium.

Initial build: 2D to 3D multiplayer fish tank