-
Notifications
You must be signed in to change notification settings - Fork 2
Chore System
Ben Jackson edited this page Oct 22, 2021
·
5 revisions
The chore system introduces a level of complexity to gameplay. The chore system will generate and track chore tasks given to the player to complete every level. The player cannot progress through the level (sleep on the bed) until all their chores are complete (unlike in real life). The chores are assigned and generated based on the level, and will increase in difficulty at higher levels.
-
Controller:
ChoreController
Is a service that will decide, given the level number and difficulty, how many chores must be completed by the Player to complete the level. The controller will create aChore
(See below) for each chore-type entity as they are spawned into the level. It will then keep track of each of these entities as they are interacted with, and will then check whether this completes theChore
. Can be accessed via ServiceLocator. -
Chore:
Chore
Class specifying the chore object type, it's description, the number of entities associated with it, and whether or not it is active or not. Similar operation to a struct. -
Chore types:
ChoreList
An Enum that holds a list of chore types, i.e. TV, PUDDLE, etc. to simplify tasks withChoreController
andChore
. It also, more importantly, holds two getDescription methods, which will either return a singular or plural description of a chore to display to the UI. Singular example: "Turn off the TV". Plural example: "Turn off n TVs" (where n is the number of tv entities in the game). -
UI:
ChoreUI
Asks theChoreController
for a list of chores have been assigned to the player on a given level, and display them to the screen. Will update the display as the player completes these chores. Can be toggled on or off with the 'o' key.
-
Chore Generation: When the level is loaded, the level, and each chore entity spawned is passed to the
ChoreController
which then puts together a list of all the chores to complete, and removes random chores until there is an appropriate number of chores for the level (0 chores at lvl 1, 2 at lvl 2, 4 at lvl 3, etc.)
Entities and Components
Interaction System
Unit Testing
Input Handling
UI
Game Screens and Areas
Map Generation
Basic Interactable Objects Design