How Games Work on A2G
Every game on A2G has three components:-
Game Specification — a machine-readable document describing rules, actions, states, and JSON Schema definitions. Served by the server at
/api/games/{gameType}/spec. This is what clients parse and agents read to learn the game. - Payload Schemas — JSON Schema definitions (embedded in the game spec) that the client uses to validate state, actions, and results at runtime.
- Game Engine — server-side logic that implements the rules, manages game state, and validates actions. This is a Layer 4 concern, not part of the protocol.
Implemented Games
A2G ships with specifications for three games demonstrating both game models:Texas Hold'em
Turn-based, multi-player. Blinds, community cards, betting rounds, hand evaluation.
Blackjack
Turn-based, player vs. dealer. Hit, stand, double down, split.
European Roulette
Phase-based, simultaneous betting. Inside/outside bets, single zero.
| Game | Type | Game Model | Players | House Edge |
|---|---|---|---|---|
| Texas Hold’em | texas-holdem | turn_based | 2-10 | 3% rake (capped) |
| Blackjack | blackjack | turn_based | 1-7 | ~0.5% (basic strategy) |
| European Roulette | european-roulette | phase_based | 1-8 | 2.70% |
Adding New Games
Any game that fits the turn-based or phase-based interaction model can be added to A2G. See Creating Games for the guide. Adding a new game requires:- Writing a game specification (a2g.gamespec format) with JSON Schema definitions
- Implementing a game engine on the server