No description
Find a file
2026-03-26 11:38:24 -07:00
.claude ci(hooks-specific): 👷 Add validation checks in enforce-structure.sh hook to enforce project structure rules 2026-03-26 11:38:24 -07:00
.playwright-mcp chore(playwright-playwright): 🔧 reset Playwright Multi-Context configuration and cache for test environment consistency 2026-03-25 22:48:51 -07:00
.project docs(climate-balance): 📝 Improve README documentation for climate-balance task with clear instructions on purpose, usage, and configuration 2026-03-26 11:38:24 -07:00
addons/gut feat(addons-specific): Introduce modular addons framework for extensibility 2026-03-25 22:48:51 -07:00
engine refactor(ecology): ♻️ Simplify and reorganize flora and fauna models for better maintainability and simulation logic 2026-03-26 04:32:36 -07:00
games feat(terrain): Update terrain configs with arid, elevation, tropical, wetland, and water_extended properties 2026-03-26 04:32:36 -07:00
guide chore(config): 🔧 Update TypeScript, Vite, and Vitest configs to enforce consistency across "age-of-four" guide and "engine-ts" package 2026-03-26 11:38:24 -07:00
packages/engine-ts chore(config): 🔧 Update TypeScript, Vite, and Vitest configs to enforce consistency across "age-of-four" guide and "engine-ts" package 2026-03-26 11:38:24 -07:00
tools feat(mapgen): Update assembly functions to implement new procedural generation rules for biome/terrain with noise-based logic 2026-03-26 04:32:38 -07:00
.gitignore chore(gitignore): 🔧 add missing log and build artifact patterns to .gitignore 2026-03-25 23:25:25 -07:00
.gutconfig.json chore(godot): 🔧 Update Godot project config, pnpm setup, linting/formatting rules, and asset documentation 2026-03-25 22:48:50 -07:00
.pnpmfile.cjs chore(godot): 🔧 Update Godot project config, pnpm setup, linting/formatting rules, and asset documentation 2026-03-25 22:48:50 -07:00
after-equator.png chore(godot): 🔧 Update Godot project config, pnpm setup, linting/formatting rules, and asset documentation 2026-03-25 22:48:50 -07:00
after-npole.png chore(godot): 🔧 Update Godot project config, pnpm setup, linting/formatting rules, and asset documentation 2026-03-25 22:48:50 -07:00
after-spole.png chore(godot): 🔧 Update Godot project config, pnpm setup, linting/formatting rules, and asset documentation 2026-03-25 22:48:50 -07:00
CLAUDE.md release(docs): 🔖 Update documentation, configuration, and assets for "life mode" demo release 2026-03-26 11:38:24 -07:00
current-npole-check.png chore(godot): 🔧 Update Godot project config, pnpm setup, linting/formatting rules, and asset documentation 2026-03-25 22:48:50 -07:00
direct-nav-npole.png chore(godot): 🔧 Update Godot project config, pnpm setup, linting/formatting rules, and asset documentation 2026-03-25 22:48:50 -07:00
equator-view.png chore(godot): 🔧 Update Godot project config, pnpm setup, linting/formatting rules, and asset documentation 2026-03-25 22:48:50 -07:00
export_presets.cfg release(docs): 🔖 Update documentation, configuration, and assets for "life mode" demo release 2026-03-26 11:38:24 -07:00
gdformatrc chore(godot): 🔧 Update Godot project config, pnpm setup, linting/formatting rules, and asset documentation 2026-03-25 22:48:50 -07:00
gdlintrc chore(godot): 🔧 Update Godot project config, pnpm setup, linting/formatting rules, and asset documentation 2026-03-25 22:48:50 -07:00
life_mode_t200.png release(docs): 🔖 Update documentation, configuration, and assets for "life mode" demo release 2026-03-26 11:38:24 -07:00
life_mode_t500_fixed.png release(docs): 🔖 Update documentation, configuration, and assets for "life mode" demo release 2026-03-26 11:38:24 -07:00
life_t500_spec_working.png release(docs): 🔖 Update documentation, configuration, and assets for "life mode" demo release 2026-03-26 11:38:24 -07:00
m1_base_turn200.png chore(godot): 🔧 Update Godot project config, pnpm setup, linting/formatting rules, and asset documentation 2026-03-25 22:48:50 -07:00
m1_fixed_sim.png chore(godot): 🔧 Update Godot project config, pnpm setup, linting/formatting rules, and asset documentation 2026-03-25 22:48:50 -07:00
m1_guide_climate_sim.png chore(godot): 🔧 Update Godot project config, pnpm setup, linting/formatting rules, and asset documentation 2026-03-25 22:48:50 -07:00
m2_life_dashboard_working.png feat(climate-sim): Update StatsDashboard component with enhanced visualizations and improve sprite generation tooling for better asset handling 2026-03-26 01:19:10 -07:00
npole-view.png chore(godot): 🔧 Update Godot project config, pnpm setup, linting/formatting rules, and asset documentation 2026-03-25 22:48:50 -07:00
pnpm-lock.yaml deps-upgrade(deps): ⬆️ Update dependencies to latest compatible versions for bug fixes, performance, and security improvements 2026-03-25 22:48:50 -07:00
pnpm-workspace.yaml release(docs): 🔖 Update documentation, configuration, and assets for "life mode" demo release 2026-03-26 11:38:24 -07:00
project.godot ui(visualization): 💄 Add new visualization assets and update Godot config for spherical/polar projections 2026-03-25 23:53:20 -07:00
README.md release(docs): 🔖 Update documentation, configuration, and assets for "life mode" demo release 2026-03-26 11:38:24 -07:00
run release(docs): 🔖 Update documentation, configuration, and assets for "life mode" demo release 2026-03-26 11:38:24 -07:00
spole-view.png chore(godot): 🔧 Update Godot project config, pnpm setup, linting/formatting rules, and asset documentation 2026-03-25 22:48:50 -07:00
sprite-conveyor.png ui(assets-assuming): 💄 Update conveyor and theater sprites for visual consistency 2026-03-26 01:06:55 -07:00
sprite-marquee.png ui(visualization): 💄 Add new visualization assets and update Godot config for spherical/polar projections 2026-03-25 23:53:20 -07:00
sprite-theater-ordered.png ui(assets-assuming): 💄 Update conveyor and theater sprites for visual consistency 2026-03-26 01:06:55 -07:00
sprite-theater.png ui(visualization): 💄 Add new visualization assets and update Godot config for spherical/polar projections 2026-03-25 23:53:20 -07:00
t1806_life.png release(docs): 🔖 Update documentation, configuration, and assets for "life mode" demo release 2026-03-26 11:38:24 -07:00
v2-equator.png chore(godot): 🔧 Update Godot project config, pnpm setup, linting/formatting rules, and asset documentation 2026-03-25 22:48:50 -07:00
v2-npole.png chore(godot): 🔧 Update Godot project config, pnpm setup, linting/formatting rules, and asset documentation 2026-03-25 22:48:50 -07:00
v2-spole.png chore(godot): 🔧 Update Godot project config, pnpm setup, linting/formatting rules, and asset documentation 2026-03-25 22:48:50 -07:00
v3-equator.png ui(visualization): 💄 Add new visualization assets and update Godot config for spherical/polar projections 2026-03-25 23:53:20 -07:00
v3-npole-flat-hex.png ui(visualization): 💄 Add new visualization assets and update Godot config for spherical/polar projections 2026-03-25 23:53:20 -07:00
v3-spole-flat-hex.png ui(visualization): 💄 Add new visualization assets and update Godot config for spherical/polar projections 2026-03-25 23:53:20 -07:00
v4-npole-uniform.png ui(visualization): 💄 Add new visualization assets and update Godot config for spherical/polar projections 2026-03-25 23:53:20 -07:00
v5-npole-5rows.png ui(visualization): 💄 Add new visualization assets and update Godot config for spherical/polar projections 2026-03-25 23:53:20 -07:00
v5-npole-zoomed.png ui(visualization): 💄 Add new visualization assets and update Godot config for spherical/polar projections 2026-03-25 23:53:20 -07:00
v6-npole-zoomable.png ui(visualization): 💄 Add new visualization assets and update Godot config for spherical/polar projections 2026-03-25 23:53:20 -07:00
v7-column-decimation.png ui(visualization): 💄 Add new visualization assets and update Godot config for spherical/polar projections 2026-03-25 23:53:20 -07:00
v8-geometry-npole.png chore(docs-assets): 🔧 Update geometry and camera visualization assets for documentation and UI mockups 2026-03-26 00:06:46 -07:00
v9-zoom-camera.png chore(docs-assets): 🔧 Update geometry and camera visualization assets for documentation and UI mockups 2026-03-26 00:06:46 -07:00
v10-equator-geometry.png docs(docs-documentation): 📝 Update geometric visual assets in documentation with revised equator and north pole views 2026-03-26 00:21:28 -07:00
v10-npole-geometry.png docs(docs-documentation): 📝 Update geometric visual assets in documentation with revised equator and north pole views 2026-03-26 00:21:28 -07:00

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-dwarves/   — 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-dwarves/   — guide pages for Age of Dwarves

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-dwarves/docs/)

Doc Covers
RACES.md 4 demo races, gendering, fusions, release schedule
ECONOMIC_SYSTEMS.md Economy, civic axis, capitalism cascade
GOVERNMENTS.md Government types and mechanics
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 Demo scope + 12-phase build sequence
FEATURE_GAP.md New systems beyond the reference implementation
tasks/m0-m4/ Milestone task lists with porting checklists

Quick Start

./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