Skip to content

Latest commit

 

History

History
108 lines (62 loc) · 3.87 KB

File metadata and controls

108 lines (62 loc) · 3.87 KB
graph LR
    GameStateManager["GameStateManager"]
    Entities["Entities"]
    Items["Items"]
    Levels["Levels"]
    Effects["Effects"]
    GameLoop["GameLoop"]
    AssetManagement["AssetManagement"]
    Command_Processor["Command Processor"]
    GameLoop -- "initiates updates in" --> GameStateManager
    GameStateManager -- "manages" --> Entities
    GameStateManager -- "manages" --> Items
    GameStateManager -- "manages" --> Levels
    GameStateManager -- "manages" --> Effects
    GameStateManager -- "updates" --> Entities
    Entities -- "can have applied" --> Effects
    Items -- "triggers" --> Effects
    Levels -- "contains" --> Entities
    Levels -- "contains" --> Items
    GameStateManager -- "applies" --> Effects
    Effects -- "modifies" --> Entities
    GameLoop -- "passes input to" --> Command_Processor
    GameStateManager -- "requests data from" --> AssetManagement
    Command_Processor -- "dispatches actions to" --> GameStateManager
Loading

CodeBoardingDemoContact

Details

Abstract Components Overview of a Game Project

GameStateManager

The central component responsible for managing the overall dynamic state of the game. This includes player status, current location, inventory, active effects, and quest progress. It encapsulates core game rules, applies effects, and manages relationships between all game elements.

Related Classes/Methods:

  • GameStateManager (1:100)

Entities

Represents all active game characters (player, NPCs) and potentially interactive objects within the game world. Each entity encapsulates its attributes (e.g., health, stats, inventory) and defines its behaviors.

Related Classes/Methods:

Items

Defines all collectible, usable, or equipable items present in the game. This includes their properties (e.g., weight, value), effects when used, and usage rules.

Related Classes/Methods:

Levels

Structures the game world into distinct locations or areas. Each level defines its layout, available actions, contained entities, and items, providing the spatial context for gameplay.

Related Classes/Methods:

  • Levels (1:100)

Effects

Encapsulates temporary or permanent modifications that can be applied to entities or the environment. This includes buffs, debuffs, damage over time, status ailments, or environmental changes.

Related Classes/Methods:

  • Effects (1:100)

GameLoop

The central orchestrator of the entire game flow. It continuously handles user input, updates the game state based on actions and time, and triggers the rendering of output to the user.

Related Classes/Methods:

  • GameLoop (1:100)

AssetManagement

Responsible for loading, parsing, and validating all static game data assets (e.g., definitions of entities, items, levels, effects) from external data sources, typically JSON files.

Related Classes/Methods:

  • AssetManagement (1:100)

Command Processor

Interprets raw user input strings, validates them against known commands, and translates them into structured actions that can be dispatched to the GameStateManager or other relevant components.

Related Classes/Methods:

  • Command Processor (1:100)