Navy Combat
Navy Combat is an independently developed naval warfare game that runs entirely in a web browser — no download, no plugin, no install. It is built with Three.js and TypeScript, and the whole thing is about one idea: make naval gunnery feel like it mattered.
Most browser games about ships are arcade shooters with a health bar. This one simulates the things that actually decided naval engagements:
The renderer is Three.js with a custom Gerstner-wave ocean shader, procedurally generated ship models, and a physically flavoured lighting and post-processing chain. There are no downloaded art assets — every hull is generated geometry — and every sound is synthesised at runtime with the Web Audio API.
The simulation runs on a fixed 60 Hz timestep and is fully deterministic, which is what makes the lockstep multiplayer possible: both players run the same simulation from the same inputs and continuously verify that their worlds still agree. Determinism is strict enough that the simulation is not permitted to read the system clock, use the ordinary random number generator, or even call the browser's own trigonometric functions, because different browser engines round them differently and that is enough to make two clients disagree.
The backend is a Cloudflare Worker handling matchmaking relay, the ranked ladder and optional cloud saves. Everything else runs on your machine.
The game is free. It is supported by advertising, plus an optional full edition that adds cosmetic camouflage schemes, the carrier hulls and progression boosts. Competitive ranked matches use stock ships with every bonus disabled, so paying never buys a combat advantage. See the Terms for details.
Bug reports, balance complaints and feature requests are welcome. Email ooohbest1@gmail.com. If you are reporting a bug, saying which ship and which mode you were playing helps enormously.