I've stumbled across https://colyseus.io/, but it doesn't look like it quite fits my needs.
Does anyone know of a library out there with the mission of Colyseus, the behavior of Firebase, and simpler than both? Alternatively, has anyone had a pleasant experience building a discrete game with Firebase?
There may not exist any level of abstraction sufficient to encapsulate ALL turn based strategy mutliplayer internet games ;)
I kind of think you want to design a new engine specific to each game. First I don't think you will save much effort via code re-use. Second you need that flexibility when changing game parameters, rules, board size, player mechanics etc
The other possibility is to design bottom up. Observe what's possible at current public cloud latency and cost. And then design the game around those constraints.
For private hosted game rooms with limited numbers of players, any in-memory cache will do on the host vm. Use any realtime API gateway to sync. Or host static HTML5 assets on S3 and Cloudflare KV for "live" game state, dumping finished game data to plain disk files.
Best of Luck!
Basically you apply game logic on the server to mutate game state, which is automatically synchronized to each client. It’s been a few months and I don’t have the code in front of me, but can give more details later if you’d like.
The combination of Playfab's player data + multiplayer server functionality sound like what you're looking for though.
https://heroiclabs.com/nakama-opensource/