This is a React + Node.js implementation of the board game Captain Sonar.
Captain Sonar official rules available here.
This web version follows the rules very closely but has small deviations aiming to:
- Adapt the game to a web browser
- Allow the game to be played online, with people not next to you
This version was written in less than a week - it's not the cleanest code.
The networking code is extremely chatty. Ideally, the Server would only send "updates" to each Client,
but the quickest and easiest way to get the game up and running was to send the entire game
structure to every client every time anything changes. ¯\_(ツ)_/¯
Both the UI and server can be run locally via
npm run dev
in each folder.
The address for the web server is (currently) hardcoded in captain-ui/src/App.js
.