Skip to content

Reference

tilttek/game-engine
TypeRole
Contract\GameA game's rules, behind one contract
GameDefinitionA game's phases, transitions, seats, options, out-of-turn moves, undo, version, preferences and statistics
Phase, TurnOrderA phase, who acts in it and how many moves end a turn; the four turn orders
TransitionA change of phase, the phases it leaves from and the phase it leads to
PhasesThe phases as a state machine of Symfony Workflow, and its Mermaid diagram
Option, OptionKindAn option a game offers, its kind, default and allowed values
TableOptionsThe options of one table, checked by the OptionsResolver
PreferencesThe preferences of one player, checked by the OptionsResolver, given to the view of their seat
Statistic, StatisticScopeA statistic a game reports at its end, for the table or for each seat
StatisticsThe values of the statistics an outcome reports
EngineOpens a table, plays a move, replays a log or brings a state forward, verifies it against the commitment to its seed, takes a move back, gives a seat's view
TableA table's log and state after a step
StepOne move applied: the move to append and the state it leads to
GameStateThe state a log leads to: phase, turn, initiative, data and outcome; written and read back as plain values
TurnWhose turn it is: round, order, acting seat, waiting seats, moves in the turn
OutcomeHow a game ended: the winners, the reason and the statistics
MoveA move: type, seat and payload; the engine's moves
LoggedMoveA move as the log keeps it, numbered, with whether it drew at random
GameLogThe truth of a table, written and read back as plain values, with the commitment to its seed
LogHeaderWhat a log holds besides its moves: seed, seats, options, number of moves, revision and lineage
SnapshotA state as a cache keeps it, with the revision and the commitment it was built from
RandomnessThe chance of one step, seeded by the table's seed and the step's place; the commitment to a seed
TablesThe tables of an application, stored, cached, guarded, read once per request and published
GamesThe games an application offers, by name
TableUpdateWhat a publisher tells the players: identifiers and counters only
Contract\LogStore, Store\InMemoryLogStoreWhere the logs are kept
Contract\StateCache, Store\InMemoryStateCache, Store\NullStateCacheWhere the states are cached
Contract\TablePublisher, Store\NullTablePublisherHow the players learn that a table changed
Scene\RoleplayingSceneThe ready game for the phases of a role-playing scene
Exception\GameEngineException and its five exceptionsExceptions