Architecture Overview
Last updated
Last updated
There are 3 main components we'll look at:
The Lobby is the platform for hosting games and handling token deposits + withdrawals. There only really needs to be one.
The Router is specific for each game. It mediates between the game, the user, and the lobby. It has just a few responsibilities that will differ based on queuing and session patterns of the game. We hope to make it as painless as possible to write the Router, by providing reference code for most patterns to be combined in different ways.
The Game handles the core logic of players, turns, and in-game action. Each Game is instantiated as a self-contained session.
Besides the Tic-Tac-Toe case we will suggest some ways that the flexibility of this architecture can be used for different cases:
persistent games
different stake tiers on the same underlying logic (low-stakes vs high-stakes tic-tac-toe)
asymmetric staking (1 vs many games or different character abilities)
game scoring systems decoupled from exact token amounts