How guladam/deck_builder_tutorial works
This is a Godot 4 roguelike deckbuilder tutorial. The apparent player journey is character selection, a run map, room encounters, turn-based card combat, then rewards and further progression. The tree also shows supporting systems for enemy intent, cards and effects, relics, statuses, events, shops, and saved run state. No source excerpts were provided and the README does not describe component interactions, so the flow links below are dashed and have no evidence path; they represent inferred workflow rather than verified calls.
Main entry points: battle.gd Battle · map.gd Run map · run_startup.gd Run startup · card_ui.gd Card interaction
Components 21
Run progression
- Character selection
scenes/ui/character_selector.gd - Run startup
custom_resources/run_startup.gd - Run map
scenes/map/map.gd - Map generation
scenes/map/map_generator.gd - Event rooms
scenes/event_rooms/event_room.gd - Shop
scenes/shop/shop.gd - Campfire
scenes/campfire/campfire.gd - Treasure
scenes/treasure/treasure.gd - Battle rewards
scenes/battle_reward/battle_reward.gd
Combat
- Battle
scenes/battle/battle.gd - Player combat
scenes/player/player.gd - Enemy behavior
scenes/enemy/enemy.gd - Card interaction
scenes/card_ui/card_ui.gd - Card targeting
scenes/card_target_selector/card_target_selector.gd
Game content
- Card effects
effects/damage_effect.gd - Card definitions
custom_resources/card.gd - Relics
scenes/relic_handler/relic_handler.gd - Statuses
scenes/status_handler/status_handler.gd
Other components
- Player
Connections 23
- Player → Character selection: chooses character
- Character selection → Run startup: starts run
- Run startup → Run map: enters map
- Run map → Map generation: uses generated map
- Player → Run map: selects room
- Run map → Battle: enters battle
- Run map → Event rooms: enters event
- Run map → Shop: enters shop
- Run map → Campfire: enters campfire
- Run map → Treasure: enters treasure
- Battle → Player combat: runs combat
- Battle → Enemy behavior: runs enemy turns
- Player → Card interaction: plays cards
- Card interaction → Card targeting: selects target
- Card interaction → Card definitions: uses card data
- Battle → Card effects: resolves effects
- Battle → Battle rewards: grants rewards
- Battle rewards → Card definitions: offers cards
- Battle → Relics: uses relics
- Battle → Statuses: applies statuses
- Run startup → Run state: initializes state
- Battle → Run state: updates state
- Run state → Save data: persists state