Multiplayer aerial combat defense game in the browser
Built with React Three Fiber • Three.js WebGPU • JSBSim flight dynamics
CIWS is a real-time multiplayer browser game where players either fly combat aircraft or operate a Phalanx CIWS defense turret to protect a base from incoming threats.
- Fly fighter jets (F-16, Rafale) with realistic flight dynamics powered by JSBSim WASM
- Drop bombs on enemy positions with ballistic simulation
- Defend the base by controlling a CIWS turret — track and shoot down incoming aircraft and ordnance
- Multiplayer — dogfight and coordinate with other players in real time via WebSocket
- Tactical radar & HUD — full heads-up display with radar overlay, crosshairs, and flight instruments
- Desert combat terrain — procedurally heightmapped environment with an oasis base
| Layer | Stack |
|---|---|
| Rendering | Three.js WebGPU renderer (no WebGL) |
| Shaders | TSL (Three Shading Language) — node-based, no raw GLSL |
| Scene | React Three Fiber + drei |
| Flight model | JSBSim compiled to WASM |
| Multiplayer | WebSocket server (Node.js) |
| Effects | Volumetric explosions, flares, exhaust trails, bloom |
# Install dependencies
npm install
# Start the dev server
npm run dev
# Start the multiplayer server
npm startRequires a browser with WebGPU support (Chrome 113+, Edge 113+, or Firefox Nightly).
| Action | Key |
|---|---|
| Pitch / Roll | Mouse movement |
| Throttle | W / S |
| Fire guns | Left click |
| Drop bomb | Space |
| Flares | F |
| CIWS turret aim | Mouse (turret mode) |
MIT