Cutie Systems: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 3: | Line 3: | ||
== Game Manager == | == Game Manager == | ||
The game manager has 3 part: | |||
# Game Manager gameObject: that is launched at startup. | |||
# Game Manager ScriptableObject Singleton: that is instantiated by the gameObject | |||
# Game Manager ScriptableObject | |||
=== Game Task Subsystem === | === Game Task Subsystem === | ||
* lists of game tasks | * lists of game tasks |
Revision as of 18:18, 23 May 2023
Game System
Game Manager
The game manager has 3 part:
- Game Manager gameObject: that is launched at startup.
- Game Manager ScriptableObject Singleton: that is instantiated by the gameObject
- Game Manager ScriptableObject
Game Task Subsystem
- lists of game tasks
- Game tasks are scriptable objects that can be synchronous or async
For example: at the start of the game, the only initiated process is the Game Manager. It then starts a list of game tasks: * Start the first scene * Load other subsystems * Initialise the saving mechanisms * etc. until the game menu waits for player input.
Game Events Subsystem
Same as gametasks but player driven
Save System
- Affects:
- Player Preferences
- Player State
- All Levels States
- Functions:
- Load
- Save
Save
Local save
- Save Redundancy (date, and backups / 5 slots backups)
- Fallback system
- Autosave based on checkpoints (background thread)
- Separate
- Player Preference (in playerprefs)
- Game Data (as a Json + Hash)
Player Preferences
- Langage (Localisation)
- Controls (Key configuration, joystick/keyboard...)
- Accessibility (Colour blindness, Sticky rolls, Sticky Breaks...)
- Volume Control (music, sound effects, menu)
Game State
Game-wide management of:
- Character States
- All Levels States
- Play/Pause
Menus
UI
Background Music
Sound
Player Systems
Player State
Player Control
Level System
Level State
The level state is a accumulation of
- The Collectible state
- The GameEvents State