How game-lab-6-0-utp-grupo-1-equipo-3/threadbare works
1. This is a Godot game project, not a conventional app repo. Runtime content is built from scene files (.tscn), resources (.tres), scripts (.gd, plus a few .cs), and imported narrative/dialogue assets. The root project.godot defines the engine project and likely autoloads the global services under scenes/globals.
2. The main architectural boundary is between reusable engine-like systems and authored game content. Reusable systems live in scenes/game_logic, scenes/game_elements, scenes/ui_elements, and scenes/globals; authored gameplay lives under scenes/quests and scenes/world_map. Most quest scenes are assembled by composing these reusable pieces rather than implementing bespoke mechanics from scratch.
3. Global runtime services are centralized in scenes/globals: game state, scene switching, music, pause overlay, mouse management, settings, camera shake, and aspect-ratio handling. These are the cross-cutting dependencies that content scenes rely on for persistence and orchestration across scene transitions.
4. The gameplay layer is content-driven and scene-based. scenes/quests/story_quests and scenes/quests/lore_quests contain multi-step quest chains, each with intro, stealth, combat, sequence-puzzle, and outro scenes. scenes/quests/template_quests provides a reusable template structure for authoring new quests, which suggests quests are designed as modular episodes that plug into the same progression system.
5. The game’s core interaction model appears to be built from a few standardized mechanics: dialogue, stealth, combat with thrown projectiles, sequence puzzles, movement/runner segments, and special “hook/repel” interactions. The corresponding generic implementations are in scenes/game_logic and the reusable props under scenes/game_elements/props.
6. scenes/game_elements is the canonical library of world objects and character components. It contains player, NPC, enemy, prop, and VFX building blocks such as doors, levers, collectibles, checkpoints, projectiles, trees, barrels, signs, and special puzzle objects. Quest scenes selectively instantiate and configure these components to produce specific encounters.
7. scenes/world_map is the macro-level exploration layer. It appears to contain the hub/world navigation scene(s), NPC dialogue hooks, quest unlock logic, and tilemap toggles. This likely sits above the quest scenes and uses quest progression from global state to reveal or unlock content.
8. Dialogue is a first-class subsystem. The repository contains many .dialogue assets alongside a dialogue-manager addon under addons/dialogue_manager. This suggests narrative flow is data-driven: scenes trigger dialogue resources, dialogue managers render/advance them, and quest scripts use dialogue events to gate progression.
9. UI is split into dedicated overlay systems rather than embedded in gameplay scenes. scenes/ui_elements contains HUD, dialogue balloon, cinematic UI, input hints, and story quest progress widgets. These pieces are shared across many quests and are likely controlled by the global state and current scene context.
10. Quest-specific scenes frequently define their own content variants: custom tilesets, sprite frame resources, music, and local scripts for special behaviors. That means the repo uses a layered content pattern: generic mechanics from shared systems, then quest-local configuration/assets under each quest folder, then scene assembly around those resources.
11. Editor and authoring support are substantial. The addons folder includes plugins for dialogue management, input helper prompts, phantom camera, sprite-frame texture export, Git LFS checking, story-quest bootstrapping, project settings, version labeling, credits tooling, and inspector/import helpers. These are mostly editor-time boundaries, not runtime dependencies, but they matter because they shape how content is created and maintained.
12. Asset organization is also part of the architecture. assets/first_party and assets/third_party separate original art/audio from licensed external content, with REUSE metadata and per-file license markers. The repo depends on large binary assets via Git LFS, so asset availability is a build/runtime concern as well as a source-control concern.
13. Build and release flow is handled outside the game logic via GitHub Actions and export presets. The repo includes workflows for checks, export, GitHub Pages, and Discord notifications, plus platform build directories for Linux, Windows, and Web. That indicates the project is shipped as a multi-platform Godot export with automated CI/CD.
14. If you are drawing an architecture diagram, the clearest top-level flow is: global services and UI wrap the app shell; the world map and scene switcher move the player between quest episodes; quest scenes compose reusable gameplay components; dialogue/resources drive narrative and progression; and tooling/addons support authoring, localization, and export.
Main entry points: ui_elements UI Shell · quests Quests · game_elements Game Elements · globals Globals
Components 28
Core Runtime
Engine project setup and cross-cutting services used across scenes.
- Project · Root engine project and startup configuration.
project.godot - Globals · Autoload-style services for state, scene switching, music, pause, mouse, settings, camera shake, and aspect ratio.
scenes/globals - Game State · Stores progression, inventory, and session-wide game data.
scenes/globals/game_state/game_state.tscn - Scene Switcher · Coordinates moving between menus, world map, and quests.
scenes/globals/scene_switcher/scene_switcher.gd - Settings · Applies user and project settings, including bus layout and options.
scenes/globals/settings/settings.gd
Game Content
Authored gameplay layers, quests, and world navigation.
- Game Logic · Reusable mechanics and behaviors that quest scenes compose.
scenes/game_logic - Stealth · Shared stealth detection and chase behavior.
scenes/game_logic/stealth_game_logic.gd - Sequence Puzzle · Rule-driven puzzle system for ordered interactions.
scenes/game_logic/sequence_puzzle.gd - Combat Logic · Projectile throwing and hit handling for combat episodes.
scenes/game_logic/throw_projectile_behavior.gd - World Map · Macro exploration layer that unlocks and routes quests.
scenes/world_map/frays_end.tscn - Unlocks · Uses global quest progress to reveal map content and options.
scenes/world_map/components/quest_progress_unlocker.gd - Quests · Story, lore, and template quest episodes assembled from shared systems.
scenes/quests - Story Quests · Main narrative quest chains with intro, gameplay, and outro scenes.
scenes/quests/story_quests - Lore Quests · Tutorial and side-story quests built from the same modular episode structure.
scenes/quests/lore_quests - Template Quests · Reusable NO_EDIT quest structure for new content creation.
scenes/quests/template_quests - Game Elements · Canonical reusable characters, props, FX, and interactive world objects.
scenes/game_elements - Player · Player character base scene and component behaviors.
scenes/game_elements/characters/player/player.tscn - NPCs & Enemies · Reusable NPC, elder, guard, throwing enemy, and special companion/enemy prefabs.
scenes/game_elements/characters - Props · Doors, levers, collectibles, checkpoints, hooks, barrels, signs, and other world interactions.
scenes/game_elements/props
UI Layer
Shared overlays and presentation systems.
- UI Shell · Shared HUD, dialogue, cinematic, input-hint, and quest-progress overlays.
scenes/ui_elements - Dialogue UI · Dialogue balloon and related presentation used by quest scenes.
scenes/ui_elements/dialogue/balloon.tscn - HUD · General heads-up display for gameplay scenes.
scenes/ui_elements/hud/hud.tscn - Input Hints · Contextual control prompts and device-specific input art.
scenes/ui_elements/input_hints/input_hud.tscn - Quest Progress · Shows collected items and quest-step progress.
scenes/ui_elements/story_quest_progress/story_quest_progress.tscn
Tooling
Editor plugins, authoring support, and build/release automation.
- Addons · Dialogue manager and other authoring-time plugins used by the project.
addons - Dialogue Manager · Third-party dialogue system used to compile, display, and manage dialogue resources.
addons/dialogue_manager - Build & CI · GitHub Actions workflows, export presets, and platform release scaffolding.
.github/workflows/export.yml
Assets
Organized art, audio, and licensed third-party content.
- Assets · First-party and third-party media, organized with licensing metadata.
assets
Connections 30
- Project → Globals: autoloads · Project config wires global runtime services into the game.
- Globals → Game State: owns · Persistent state lives inside the global runtime layer.
- Globals → Scene Switcher: uses · Scene transitions are coordinated as a global service.
- Globals → Settings: uses · Global settings are applied through runtime services.
- Scene Switcher → World Map: loads · Switches the player between hub and quest scenes.
- Scene Switcher → Quests: loads · Transitions into quest episodes.
- Game State → Unlocks: drives · Quest progress determines what the world map can reveal.
- Unlocks → World Map: gates · Map content is revealed or hidden based on progression.
- UI Shell → Dialogue UI: contains · Dialogue balloons are a shared UI subsystem.
- UI Shell → HUD: contains · HUD is part of the shared overlay layer.
- UI Shell → Input Hints: contains · Input prompts are exposed as reusable overlays.
- UI Shell → Quest Progress: contains · Quest progress widget is part of the common UI shell.
- Quests → Story Quests: contains · Main story quest chains live under the quest system.
- Quests → Lore Quests: contains · Lore and tutorial quests live under the quest system.
- Quests → Template Quests: contains · Quest authoring scaffold is included alongside authored quests.
- Story Quests → Game Elements: composes · Story episodes instantiate shared gameplay objects and characters.
- Lore Quests → Game Logic: reuses · Tutorial quests are built from shared mechanics.
- Game Logic → Stealth: includes · Stealth is a first-class reusable mechanic.
- Game Logic → Sequence Puzzle: includes · Sequence puzzles are implemented as reusable logic.
- Game Logic → Combat Logic: includes · Combat interactions are handled by shared logic.
- Game Elements → Player: defines · Base player prefab and abilities live in the game elements library.
- Game Elements → NPCs & Enemies: defines · NPC and enemy prefabs are centralized here.
- Game Elements → Props: defines · Interactive world objects are implemented as reusable prefabs.
- Props → UI Shell: triggers · Many props surface interaction and progress UI.
- NPCs & Enemies → Dialogue Manager: talks to · NPCs and quest-givers rely on the dialogue system.
- UI Shell → Dialogue Manager: renders · Dialogue UI is driven by the dialogue addon.
- Addons → Dialogue Manager: includes · Dialogue manager is the main addon subsystem.
- Build & CI → Assets: packages · Exports and CI depend on the repository's assets being available.
- Assets → Game Elements: feeds · Shared prefabs are textured and voiced by the asset library.
- Assets → Quests: feeds · Quest-local art, music, and audio are authored inside quest folders.