Dungeon Crawler - Android Kartenspiel (Godot 4.x). Projekt 17 / Epic #116.
  • GDScript 100%
Find a file
Architect Agent 032b1da46e Initial scaffold: Godot 4.x project structure
Framework decision: Godot 4.3 (native Android export, mobile renderer,
GDScript, 64-bit int for billion-range progression, MIT-licensed).

Architecture (6 Autoload singletons via project.godot):
- GameManager       global state and player stats
- SaveSystem        3 save slots in user:// (auto-save after battle)
- DeckManager       collection, deck, draw/hand/discard piles
- BattleManager     turn flow, AP, status effects, allies
- LevelGenerator    procedural tile-based dungeons with fog-of-war
- ProgressionSystem XP, level-up, skill tree, enemy scaling

Includes:
- Main scene as application entry point
- Card resource class for typed card data (weapon/magic/heal/debuff/ally)
- Android export preset (arm64-v8a, portrait, package de.ybauer.dungeoncrawler)
- .gitignore for Godot artifacts (.godot, /android, export builds)

Closes ticket #123 (project 17, epic #116).
2026-06-02 23:49:55 +02:00
scenes/main Initial scaffold: Godot 4.x project structure 2026-06-02 23:49:55 +02:00
scripts Initial scaffold: Godot 4.x project structure 2026-06-02 23:49:55 +02:00
.gitignore Initial scaffold: Godot 4.x project structure 2026-06-02 23:49:55 +02:00
export_presets.cfg Initial scaffold: Godot 4.x project structure 2026-06-02 23:49:55 +02:00
icon.svg Initial scaffold: Godot 4.x project structure 2026-06-02 23:49:55 +02:00
project.godot Initial scaffold: Godot 4.x project structure 2026-06-02 23:49:55 +02:00
README.md Initial scaffold: Godot 4.x project structure 2026-06-02 23:49:55 +02:00

Dungeon Crawler

Android-Kartenspiel mit rundenbasiertem Kampf, prozeduralen Dungeons und Endlos-Progression.

  • Projekt: 17 / Epic #116
  • Engine: Godot 4.3 (Mobile Renderer)
  • Plattform: Android (arm64-v8a, Portrait)

Framework-Entscheidung

Godot 4.x gewählt aus folgenden Gründen:

  1. Nativer Android-Export APK/AAB direkt aus dem Editor, ohne Gradle-Bastelei (gradle_build/use_gradle_build=false reicht für den Standard-Build).
  2. TileMap- & Tile-System passt direkt zur Anforderung der kachelbasierten prozeduralen Levels (Ticket #118).
  3. GDScript schnelle Iteration, kein Compile-Zyklus, gut geeignet für Karten-/Statuseffekt-Logik.
  4. 64-bit int von Haus aus deckt den geforderten Milliarden-Bereich für XP/Schaden (Ticket #124) ohne BigInt-Bibliothek.
  5. Open Source, MIT-Lizenz keine Engine-Royalties, kein Vendor-Lock-in, im Gegensatz zu Unity oder Unreal.
  6. Autoload-Singletons sauberer DI-Ersatz für die geforderten Manager-Klassen.

Alternativen verworfen:

  • Unity: Lizenzunsicherheit nach Runtime-Fee-Debakel, schwerere Tooling-Kette.
  • Flutter/Flame: UI-Stack, aber 2D-Game-Tooling deutlich dünner.
  • React Native: kein echtes Game-Framework.
  • Eigenentwicklung in Kotlin/Compose: zu viel Plumbing für Rendering, Audio, Input.

Architektur

Sechs Autoload-Singletons (siehe project.godot, Section [autoload]):

Manager Verantwortung Tickets
GameManager Globaler State, Spielerwerte, Szenenwechsel #122
SaveSystem 3 Slots, Auto-Save, user://saves/ #122
DeckManager Sammlung, Deck, Nachzieh-/Hand-/Friedhof-Stapel #126, #120
BattleManager Rundenlogik, AP, Statuseffekte, Verbündete #117, #121, #125
LevelGenerator Prozedurale Kachel-Dungeons, Fog-of-War #118
ProgressionSystem XP, Level-Up, Fertigkeitenbaum, Gegner-Skalierung #124

Ladereihenfolge ist absichtlich: GameManagerSaveSystem → Deck → Battle → Level → Progression. Damit kann Save sich auf den GameManager stützen und Progression auf alles darunter.

Verzeichnisstruktur

dungeon-crawler-godot/
├── project.godot              # Engine-Config (Autoloads, Mobile-Renderer, Portrait)
├── export_presets.cfg         # Android-Export: arm64-v8a, Package de.ybauer.dungeoncrawler
├── icon.svg
├── scenes/
│   ├── main/Main.tscn         # Einstiegsszene
│   ├── battle/                # Kampf-Szenen (Ticket #117)
│   └── dungeon/               # Dungeon-Karte (Ticket #118)
├── scripts/
│   ├── managers/              # Die 6 Autoload-Singletons
│   ├── cards/                 # Card.gd (Resource-Klasse)
│   ├── entities/              # Spieler/Gegner/Verbündete
│   └── ui/                    # UI-Komponenten
├── resources/cards/           # Karten als `.tres`-Ressourcen
└── assets/                    # Icons, Sounds

Build

# Editor öffnen
godot --editor --path .

# Android-Build (Templates müssen installiert sein)
godot --headless --export-debug "Android" export/dungeon-crawler.apk

Git

Repository: http://192.168.178.106:3000/yannick/dungeon-crawler-godot