fly.johnf.work - Multiplayer Flight Sim

fly.johnf.work - Multiplayer Flight Sim
Three.js Socket.io Express WebGL JavaScript

A few months back, I saw someone on X mention they were "vibe coding" a flight simulator with Three.js. So I opened Cursor, fired up Claude Sonnet 3.5, and decided to see what would happen.

 

What unfolded over 37 iterations is honestly a pile of junk - but it's my pile of junk, and it actually works. FS1 is a multiplayer flight simulator that runs entirely in the browser. Players spawn directly into jets, can shoot at each other, crash, respawn, and do it all over again. No downloads, no setup, just instant chaos.

 

Everything you see (and hear) is generated through code. Every building, every texture, every aircraft model, and particle effect - we didn't import external assets. It's all procedurally generated with JavaScript and Three.js. Even the pixel art textures that fixed our rendering issues were created on canvas elements in real-time.

 

Building this taught me something important about staying curious. Sometimes you just need to see someone else starting something interesting, roll up your sleeves, and figure it out as you go.

 

I deployed this thing months ago just to see what would break, and it's still running. No major issues, no interventions needed. For something cobbled together through pure experimentation with tools I'd never used before, that's oddly satisfying.

 

This was all built before Claude Code existed - just Cursor and Claude Sonnet 3.5, iteration after iteration. Looking back now, with tools like Claude Code and the latest models available, I can't help but wonder what we could build today. The gap between "I wonder if..." and "it's deployed and running" keeps getting shorter.

 

The lesson here isn't about building flight simulators. It's about what happens when you let curiosity drive you. Sometimes all it takes is seeing someone else start something, thinking "I want to try that," and just going for it. You might end up with a pile of junk, but it'll be a pile of junk that flies.