Cleaner player progression tracking #17
Labels
dev-experiment
Exploration of software design
discussion
looking for new ideas and opinions - anyone is welcome to join the brainstorming
frontend
Concerns the WASM frontend found in paddler-frontend
game-master
Concerns the server-side logic found in paddler-game-master
Milestone
This issue is related to #13
Current Situation
An enum called
StoryState
tracks the story/tutorial progress of each player. This enum is shared across modules but what each story state means exactly is not captured at a single location.To go between different story states, the game-master is programmed to recognize the necessary conditions, such as when a new specific building has been placed. The frontend often has to recognize it must be updated, too. The code for this is currently all over the place, pretty much hand-crafted for each state-transition.
Goals
We need a cleaner design to handle the definition of what each state means and what happens on a transition between states.
It would be great to have a central specification for this inside the shared library. The frontend and the backend could then execute their separate state machines according to the specifications and we could even generate documentation for the wiki.
The text was updated successfully, but these errors were encountered: