Simpl Overview
Simpl Components
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 game UI provides the frontend. simpl-ui-cookiecutter provides the basic layout to create a game UI. The simpl-react npm module provides components for building frontend UIs using React and Redux.
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 simpl-games-api.
Simpl Defined
Roles
- 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.
Game Terminology
- 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
Optional
Playphase: players can submit decisionsDebriefphase: players are prevented from submitting further decisions. The leader can review the final decisions and results of all worlds in the run.
More Information
For more information, continue on with our tutorials and check out the service-specific documentation.
