Cutie Systems: Difference between revisions

From læi game development
Jump to navigation Jump to search
No edit summary
Line 90: Line 90:
= Dialogue System =
= Dialogue System =
== Speech System ==
== Speech System ==
== Localisation System ==
= Localisation System =






[[Category:Cutie BoingBoing]]
[[Category:Cutie BoingBoing]]

Revision as of 22:30, 1 June 2023

Game System

Game Manager

The game manager has 3 part:

  1. Game Manager gameObject: that is launched at startup.
  2. Game Manager ScriptableObject Singleton: that is instantiated by the gameObject
  3. 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

  • Game Event : Scriptable object defining what the event is. One SO for each Game Event
  • Game Event Listener : Are things that react to a trigger.
  • Game Event Trigger : Are things that trigger an event.

Collectible

Collectibles are a sub-class of Events. They are :

  • Consumed on collision
  • They have an associated sprite (mostly for the UI, but may be for other use cases)
  • They have a temporary cache system for the ones who can be lost when the player gets hurt
  • Have two events:
    • OnCollect
    • OnLoss
  • Can be respawned on loss (for PowerUps for example)

Save System

  • Affects:
    • Player Preferences
    • Player State
    • All Levels States
  • Functions:
    • Load
    • Save

https://youtu.be/_hAzWgQupms https://youtu.be/aUi9aijvpgs

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

Items System

Camera System

Gameplay Camera

Camera Handoff

Event System

Deals with game events as Scriptable Objects

Dialogue System

Speech System

Localisation System