FoTM
A co-op arcade game where every phone in the room is a gun turret on the same ship. Turn your phone to aim, tap to fire, and shout to your crew about what's coming from behind you.
How it plays
- Your phone is the turret. Everyone sits at the centre of one ship, and each crew member aims by physically turning their phone. Asteroids close in from every direction, so nobody can watch the whole sky.
- Talking is the strategy. Split the sky between you, call out asteroids, and cover each other's blind spots. Each hit takes 10% off the shared hull.
- Survive the waves, then kill the boss. A minute of asteroids that come faster and faster, a short lull, then one mega asteroid that takes the whole crew firing together to stop.
- Join with a link or a QR code. The host names the ship, and everyone else scans the code and they're aboard.
How it's built
- No game server. Players form a full peer-to-peer WebRTC mesh. A ship is found by its name, so "joining a ship" just means connecting to the peer named after it. The host is the authority for spawning and asteroid health, and a TURN relay on Cloudflare connects players behind strict networks.
- Built for small messages. Everything happens at the ship's centre, so a shot travels over the network as nothing but the direction it was fired.
- Bot crew members play through the same client code as a person, aiming only at what their own camera can see and splitting the sky between themselves. They make it possible to test a full ship alone, and they flew the clip above.
- Svelte, TypeScript and three.js, shipped as an installable PWA, with the netcode covered by over 200 tests that run the real network layer over an in-memory transport.
