# Magic Civilization Fantasy 4X turn-based strategy game (Civ5 + Master of Magic + MTG color pie) in Godot 4 / GDScript. ## Structure ``` engine/ — genre-agnostic game engine (GDScript) src/ — autoloads, entities, map, generation, modules, rendering scenes/ — Godot scenes (.tscn + .gd) docs/ — engine architecture docs games/ age-of-four/ — fantasy game pack (the default theme) data/ — all JSON game content assets/ — sprites, icons docs/ — game design docs (races, combat, spells, economy) guide/ — player guide web app (React/TypeScript) engine/ — @magic-civ/guide-engine (shared components) age-of-four/ — guide pages for Age of Four packages/ engine-ts/ — @magic-civ/engine-ts (auto-generated climate simulation) tools/ — sprite generation, transpiler, screenshot capture ``` ## Docs ### Engine (`engine/docs/`) | Doc | Covers | |-----|--------| | ARCHITECTURE.md | Project structure, autoloads, scene lifecycle | | ABSTRACTION.md | Genre-agnostic vocabulary, theme pack system | | DATA_FORMAT.md | JSON data schemas, DataLoader patterns | ### Game Design (`games/age-of-four/docs/`) | Doc | Covers | |-----|--------| | [RACES.md](games/age-of-four/docs/RACES.md) | 4 demo races, gendering, fusions, release schedule | | [ECONOMIC_SYSTEMS.md](games/age-of-four/docs/ECONOMIC_SYSTEMS.md) | Economy, civic axis, capitalism cascade | | [GOVERNMENTS.md](games/age-of-four/docs/GOVERNMENTS.md) | Government types and mechanics | | [GLOSSARY.md](games/age-of-four/docs/GLOSSARY.md) | Term definitions | | COMBAT_SYSTEM.md | Combat mechanics (written when M8 is built) | | SPELL_SYSTEM.md | Spell/mana system (written when M9 is built) | | ERA_SYSTEM.md | Era progression (written when needed) | ### Build Process (`.project/`) | Doc | Covers | |-----|--------| | [ROADMAP.md](.project/ROADMAP.md) | Demo scope + 12-phase build sequence | | [FEATURE_GAP.md](.project/FEATURE_GAP.md) | New systems beyond the reference implementation | | `tasks/m0-m4/` | Milestone task lists with porting checklists | ## Quick Start ```bash ./run play # Launch the game ./run editor # Open Godot editor ./run lint # gdlint engine/src/ ./run test # GUT tests headless pnpm dev # Serve the player guide ```