Tankfeud is a multiplayer 2D tank battle game I am making with my friend Jonas, written in Nim using Norx. Backend is also in Nim and there is a Flutter mobile companion app, and a shared JSON protocol over websockets tying them together.
The backend uses Tidb for persistence and Redis to coordinate between instances.
- The game — Nim and Norx, talking to the backend over a custom websocket pubsub.
- The backend — Nim and websockets on top of Redis and Tidb.
- The app — Flutter, shipped as a mobile app and as a web build.
- The protocol — one JSON wire format over websockets shared by game and app.