# ariaelblood/third-person-souls-like-game architecture

> Architecture diagram of the GitHub repository ariaelblood/third-person-souls-like-game, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ariaelblood/third-person-souls-like-game
- Repository: https://github.com/ariaelblood/third-person-souls-like-game

## Overview

This is an archived Godot 3D Souls-like prototype. Its documented player workflow is keyboard, controller, or touch input driving responsive character movement, with animation states and transitions presenting the character’s actions. The tree also shows combat, lock-on, status, enemy, map, camera, HUD, localization, and mobile-control subsystems, but no source excerpts establish how they connect. Dashed edges mark the unverified runtime links; the README documents the capabilities, not their implementation calls.

Main entry points: [`Component/input_component.gd`](https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Component/input_component.gd) (Input handling), [`Component/movment_component.gd`](https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Component/movment_component.gd) (Character movement), [`Component/animation_component.gd`](https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Component/animation_component.gd) (Animation system)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_player["Player systems"]
  node_input["Input handling<br/>[input_component.gd]"]
  node_movement["Character movement"]
  node_character["Character behavior"]
  node_states["Character states"]
end

subgraph group_gameplay["Gameplay systems"]
  node_combat["Combat"]
  node_lock_on["Lock-on"]
  node_status["Character status"]
  node_enemy["Basic enemy"]
  node_world["World map<br/>[world_001.scn]"]
end

subgraph group_presentation["Presentation"]
  node_animation["Animation system"]
  node_anim_notify["Animation notifications"]
  node_camera["Third-person camera"]
  node_hud["HUD<br/>[hud.gd]"]
end

subgraph group_shared["Shared services"]
  node_mobile["Mobile controls<br/>[mobile_control.gd]"]
  node_localization["Localization<br/>[Localization.gd]"]
  node_loader["Ember loader<br/>[ember_loader.gd]"]
end

node_player(("Player"))

node_player -.->|"provides controls"| node_input
node_input -.->|"drives movement"| node_movement
node_movement -.->|"animates actions"| node_animation

click node_input "https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Component/input_component.gd"
click node_movement "https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Component/movment_component.gd"
click node_character "https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Component/character_component.gd"
click node_states "https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Component/character_states_component.gd"
click node_animation "https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Component/animation_component.gd"
click node_anim_notify "https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Component/simple_anim_notfy.gd"
click node_camera "https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Third%20Person%20Controler/camera_controler.gd"
click node_hud "https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Third%20Person%20Controler/hud.gd"
click node_combat "https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Component/combat_component.gd"
click node_lock_on "https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Component/lock_on_component.gd"
click node_status "https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Component/status_component.gd"
click node_enemy "https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Enemies/basic_enemy_character.res"
click node_world "https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Map/world_001.scn"
click node_mobile "https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Data/Global/Scripts/mobile_control.gd"
click node_localization "https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Data/Global/Scripts/Localization.gd"
click node_loader "https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Data/ember_loader.gd"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_input,node_movement,node_character,node_states toneBlue
class node_combat,node_lock_on,node_status,node_enemy,node_world toneAmber
class node_animation,node_anim_notify,node_camera,node_hud toneMint
class node_mobile,node_localization,node_loader toneRose
class node_player toneIndigo
```

## Components

### Player systems

- [Input handling](https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Component/input_component.gd): `Component/input_component.gd`
- [Character movement](https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Component/movment_component.gd): `Component/movment_component.gd`
- [Character behavior](https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Component/character_component.gd): `Component/character_component.gd`
- [Character states](https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Component/character_states_component.gd): `Component/character_states_component.gd`

### Gameplay systems

- [Combat](https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Component/combat_component.gd): `Component/combat_component.gd`
- [Lock-on](https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Component/lock_on_component.gd): `Component/lock_on_component.gd`
- [Character status](https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Component/status_component.gd): `Component/status_component.gd`
- [Basic enemy](https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Enemies/basic_enemy_character.res): `Enemies/basic_enemy_character.res`
- [World map](https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Map/world_001.scn): `Map/world_001.scn`

### Presentation

- [Animation system](https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Component/animation_component.gd): `Component/animation_component.gd`
- [Animation notifications](https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Component/simple_anim_notfy.gd): `Component/simple_anim_notfy.gd`
- [Third-person camera](https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Third%20Person%20Controler/camera_controler.gd): `Third Person Controler/camera_controler.gd`
- [HUD](https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Third%20Person%20Controler/hud.gd): `Third Person Controler/hud.gd`

### Shared services

- [Mobile controls](https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Data/Global/Scripts/mobile_control.gd): `Data/Global/Scripts/mobile_control.gd`
- [Localization](https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Data/Global/Scripts/Localization.gd): `Data/Global/Scripts/Localization.gd`
- [Ember loader](https://github.com/ariaelblood/third-person-souls-like-game/blob/main/Data/ember_loader.gd): `Data/ember_loader.gd`

### Other components

- **Player**

## Connections

- Player → Input handling: provides controls
- Input handling → Character movement: drives movement
- Character movement → Animation system: animates actions
