Cutie Systems: Difference between revisions

From læi game development
Jump to navigation Jump to search
No edit summary
No edit summary
Line 65: Line 65:
* Play/Pause
* Play/Pause
== Menus ==
== Menus ==
== UI ==
== Background Music ==
== Sound ==


= Player Systems =
= Player Systems =
Line 84: Line 80:
== Gameplay Camera ==
== Gameplay Camera ==
== Camera Handoff ==
== Camera Handoff ==
= UI System =


= Event System =
= Event System =
Line 91: Line 89:
== Speech System ==
== Speech System ==
= Sound System =
= Sound System =
== Background Music ==
== Sound ==
= Localisation System =
= Localisation System =
== Langage Scriptable Object ==
== Langage Scriptable Object ==

Revision as of 22:35, 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

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

UI System

Event System

Deals with game events as Scriptable Objects

Dialogue System

Speech System

Sound System

Background Music

Sound

Localisation System

Langage Scriptable Object