No description
Find a file
Natalie f3c1cb5564 refactor(@projects/@magic-civilization): 📜 rename chronicle filter bucket military → combat
The turn-notification filter bucket and its label change from "military" to
"combat" to match the entry category, with richer combat log lines (attacker vs
defender, siege HP). Updates the proof scene and unit test accordingly.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 07:59:40 -05:00
.ai-arena-test
.forgejo feat(@projects/@magic-civilization): 🎬 declarative start-script system (p3-14) 2026-06-19 17:56:50 -05:00
.out-of-scope
.project feat(@projects/@magic-civilization): 🎭 hotseat player names, randomized turn order + per-seat view proof (p3-15) 2026-06-21 07:59:40 -05:00
docs docs(military): 📝 Update Phase 3 military communications documentation and add AI fairness testing objective for fog-of-war mechanics 2026-05-26 02:21:13 -07:00
drafts ui(site-c): 💄 Redesign layout, styling, and interactivity for Site C with updated HTML structure, JavaScript behavior, and CSS styling 2026-05-26 02:21:12 -07:00
engine/addons/magic_civ_physics
public feat(@projects/@magic-civilization): 🎭 hotseat player names, randomized turn order + per-seat view proof (p3-15) 2026-06-21 07:59:40 -05:00
screenshots
scripts feat(@projects/@magic-civilization): 🎬 declarative start-script system (p3-14) 2026-06-19 17:56:50 -05:00
src refactor(@projects/@magic-civilization): 📜 rename chronicle filter bucket military → combat 2026-06-21 07:59:40 -05:00
tooling chore(@projects/@magic-civilization): 🔧 prune 7 stale agent worktree gitlinks 2026-06-19 09:50:19 -05:00
tools feat(@projects/@magic-civilization): 🖥️ sprite-gen workers, operations panel + GUI dashboards 2026-06-19 20:09:01 -05:00
.claude
.env chore(@projects/@magic-civilization): 🔧 .local→.lan mesh hosts + objectives dashboard sync 2026-06-19 05:30:29 -05:00
.env.example fix(@projects): 🐛 update deployment and guide workflows 2026-06-10 03:38:03 -07:00
.gdlintrc
.gitignore feat(@projects/@magic-civilization): mark sprite pipeline as complete 2026-06-10 04:09:08 -07:00
.gutconfig.json
.mcp.json feat(@projects/@magic-civilization): add rl-self-play harness and Claude player integration 2026-05-17 03:51:07 -07:00
.pnpmfile.cjs
aod_bears_retiered.png
aod_canines.png
aod_canines_retiered.png
aod_evolution_map_default.png
aod_felids_retiered.png
aod_freefolk_dwarves.png
aod_lens_canines.png
aod_lens_canines_2.png
aod_lens_canines_scrolled.png
aod_lens_canines_t8.png
aod_lens_default.png
aod_raptors_retiered.png
aod_snapshot.md
calc-mountain-king-vs-apex.png
CLAUDE.md
climate-fix-check.png
climate-sim-1.png
climate-sim-2.png
climate-sim-3.png
climate-sim-4.png
climate-sim-check.png
climate-sim-final.png
climate-sim-fixed.png
early-access-bottom.png
early-access-current.png
early-access-updated.png
earth-42vh.png
earth-charts-visible.png
earth-fixed.png
earth-normal-mode.png
earth-scrolled-down.png
earth-scrolled-stats.png
earth-scrolled.png
earth-with-stats.png
enc-arctic-fox-modal.png
enc-arctic-fox.png
enc-audit-home.png
enc-combat-filter.png
enc-concept-modal.png
enc-first-forge.png
enc-fox-stats.png
encyclopedia-302-clean.png
encyclopedia-after-reload.png
encyclopedia-alias-glob.png
encyclopedia-detail-bottom.png
encyclopedia-detail-combat.png
encyclopedia-embedded.png
encyclopedia-full-page.png
encyclopedia-populated.png
encyclopedia-registry-working.png
encyclopedia-registry.png
encyclopedia-restarted.png
encyclopedia-search-warrior.png
encyclopedia-warrior-modal.png
evolution-aquatic-insects.png
evolution-arachnids.png
evolution-canines.png
evolution-frogs-toads.png
export_presets.cfg
full-game-final.png
full-game-page-bottom.png
full-game-page-bottom2.png
full-game-page-updated.png
gdformatrc
gdlintrc
lairs-filter-bar.png
lairs-page-tierrange.png
mcp_climate_sim.png
mcp_climate_sim_t10.png
mcp_dev_sprites.png
mcp_expansions.png
mcp_home.png
mcp_home_after_race_gate.png
mcp_populations.png
mcp_prod_after_feature_fix.png
mcp_prod_build_home.png
mcp_promotions.png
mcp_resources.png
mcp_wave_b_c_d_home.png
nogui-final.png
permutations-default.png
permutations-light-melee-filter.png
personality-axes-page-v2.png
personality-axes-page.png
pnpm-lock.yaml fix(@projects): 🐛 update deployment and guide workflows 2026-06-10 03:38:03 -07:00
pnpm-workspace.yaml
README.md docs(objectives): 📝 Clarify fog-of-war testing methodology in objectives and add setup instructions to README 2026-05-26 02:21:13 -07:00
run fix(@projects): 🐛 update deployment and guide workflows 2026-06-10 03:38:03 -07:00
sheets-page.png
sheets-skeleton.png
sim-30s.png
sim-after-10s.png
sim-after-90s.png
sim-after-fix.png
sim-after-wait.png
sim-check.png
sim-check2.png
sim-complete.png
sim-debug.png
sim-done.png
sim-earth-check.png
sim-equal-split.png
sim-final-layout.png
sim-final.png
sim-initial.png
sim-layout-check.png
sim-layout-check2.png
sim-layout-check3.png
sim-layout-final.png
sim-layout-verify.png
sim-loading.png
sim-nostart.png
sim-now.png
sim-playback.png
sim-playing.png
sim-progress-2.png
sim-streaming.png
spritegen.db
ss

Magic Civilization

Fantasy 4X turn-based strategy game in Godot 4 + Rust, hex grid.

Game 1 — "Age of Dwarves" (current Early Access): single race (Dwarves), 5 AI-only clan personalities the player can face as opponents (Ironhold, Goldvein, Blackhammer, Deepforge, Runesmith), no magic mechanics, mundane tech only. Full 4X loop (cities, tech tree, wonders T1-T10, combat, wild creatures, domination victory). High-tier items and late-game wonders carry ancient/inexplicable flavor as Game 2 teasers — effects remain strictly mundane numeric bonuses.

Game 2 — "Age of Kzzykt" (future): adds magic, ley lines, Archons, spells, Ascension victory, more races. Eventual vision includes 16 races and 5 magic schools (Civ5 + Master of Magic + Magic: The Gathering color pie).

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 (combat, economy — spells/races are Game 2 scope)

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 (public/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)
military/COMMUNICATIONS.md Comms tiers, first-contact, courier envelopes, perceived state, war-dec semantics
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