Ludii Programming Terminology¶
This page describes some of the Ludii terminology and core concepts relevant for programmatic users of Ludii:
- In Ludii, the
Gametype refers to a type of object that contains all the rules, equipment, functions etc. required to play. A single object of this type is instantiated when Ludii compiles the contents of a
Trialin Ludii corresponds to a record of a game played at a particular time (i.e., where a
Gameobject would be “the game of Chess”, a
Trialobject would be “a game of Chess as played by these persons at this time”. Trials in Ludii store the full history of moves applied throughout the trial, as well as any already-determined player rankings.
Statestores all the relevant properties of a game state (minus the history of moves, which is contained in the Trial as described above).
Contextobject in Ludii describes the context of a current trial being played, and is generally the most convenient object to pass around through methods. It provides pointers to the “higher-level”
Gameobject, as well as the “lower-level”
Actionobjects in Ludii are atomic objects that, when applied to a game state, modify a single property of it. Note that these do not correspond directly to the decisions that players can make during gameplay. Users of Ludii will generally not need to interact with these low-level objects directly.
Moveobjects are wrappers around one or more
Actionobjects. Sometimes they may even contain references to additional rules that should be executed to compute additional Actions to apply after the Actions that it directly contains have been applied to a game state. Moves correspond to the decisions that players can actually directly make when playing.