This documentation shall describe the core aspects of the game
The name phase and scene are used interchangeably throughout the
documentation, but mean the same thing. The word phase was first used in
internal communication, but the word scene has also established since
every phase is implemented as a Scene
in Phaser3.
Name | I. | Description |
---|---|---|
PreloadScene | ✗ | Never really shown to the player, the very fist scene the game runs which will load all resources and request the current scene from the server. |
BaseScene | ✗ | This Scene extends from the Phaser3 Scene class and serves as the Base class for all other scenes |
GameScene | ✗ | This Scene will show tasks to the player and allows for a countdown to be configured. Base Scene for Quali, Competition and Alternative |
LevelEditor | ~ | The level editor. Should only be used with the provided config. |
LevelViewer | ~ | The level viewer, mainly used by the screenshot tool. Should only be used with the provided config and not in normal gameplay. |
GameIntro | ✓ | First scene shown to the player. Will show a play button and the language switcher. I strongly recommend to use the new /welcome endpoint instead of this scene, to prevent automatic crawlers from creating logfiles |
IntroduceElements | ✓ | Introduce all logic gates and circuit parts to the player |
IntroduceDrawingTools | ✓ | Ask the player to familiarize themselves with the drawing tools |
Quali | ✓ | The player need to pass these levels, in order to proceed to the
next phase. If there are too many mistakes, the player will be thrown
back to IntroduceElements |
Competition | ✓ | The main game phase where the player will play the study relevant levels |
SkillScene | ✓ | Switch to a different group which depends on how well the player performed during this phase |
Alternative | ✓ | Present some html based task or info to the player |
FinalScene | ✓ | Thank the player for participating and redirect to post survey if configured |
A checkmark (✓) in the column "I." denotes, that this class can be used in gameConfig.json. Otherwise it is only for internal purposes.
The names in the logfile will differ from the internal representation used by the Back- and Frontend. This table will help to translate between the different representations:
Logfile | Internal | LevelList | Description |
---|---|---|---|
Info | info | text | A slide containing text only |
Level | level | level | A slide containing a circuit to solve |
AltTask | url | url | A slide with an alternative task, written in HTML/Javascript |
AltTask | iframe | iframe | A slide with an alternative task, embedded in an iframe tag |
Tutorial | tutorial | tutorial | Intro Camouflage and Intro Covert, automatically shown if configured
inside gameConfig.json |
LocalLevel | localLevel | Used by the level editor, to bypass the request to the server for a level | |
Special | special | special | An info screen with additional functionality. (e.g. voluntary tutorial, break) |