The foundation of Simpl is the simpl-games-api. A single instance of
simpl-games-api provides a database for one or more games.
The model service provides the mathematical component of a Simpl game. The model service contains a scope tree that defines the relationships of the game components.
The browser will use the frontend service as a presentation layer, to authenticate users, and to connect to the model service in order to send and receive events through a WebSocket using WAMP Protocol.
The model service will listen for events from the browser and, as needed, make REST API calls through the simpl-client to the
simpl-games-api service (e.g. to store state).
Every time data is created, modified, or deleted in the
simpl-games-api service, it will send an event to the registered game model service via HTTP Webhook.
The model service will automatically forward the event to the browser and the state will update.
simpl-games-api currently supports basic and session authentication.
You will need to create one or more users for your modelservice(s) to use connecting to the
- Leader: oversees the game
- Player: plays the game
Single-player Versus Multi-player
- Single-player game: each player can see only his or her own decisions and results. A run’s leaders can see the decisions and results of all the run’s players.
- Multi-player game: all players belonging to the same world can see the decisions and results of that world. A run’s leaders can see the decisions and results of all the run’s worlds.
- Run: game users are assigned to one or more runs
- Period: happens within a scenario
- Decision: a choice a player makes
- Result: the effect created by one or more decisions
Playphase: players can submit decisions
Debriefphase: players are prevented from submitting further decisions. The leader can review the final decisions and results of all worlds in the run.
For more information, continue on with our tutorials and check out the service-specific documentation.