Battleship Online
Real-time multiplayer Battleship in the browser — private rooms, server-authoritative rules and one-tap invites.
Role: Game design, front-end, real-time back-end. Stack: React, Node.js, Socket.IO.
The challenge
Classic Battleship only works if neither player can peek at the other’s fleet. In a browser game that means the client can’t be trusted with the rules — and it still has to feel instant on a phone.
The solution
All hits, misses, sinkings and win conditions are resolved on a Socket.IO server, so the browser only ever sees what it’s allowed to. Lobby status, ready checks, salvos and the game-over screen sync live for both players, and a LAN mode lets friends on the same Wi-Fi play without any cloud database.
Outcome
- Private room codes for one-on-one matches
- Server-side validation that blocks client-side cheating
- Live lobby, ready checks, strike history and rematches
- Invite via WhatsApp, the share sheet or a copied link
- Responsive boards for phone, tablet and desktop