Sparta
Grand strategy meets the clash of tactical battle.
SPARTA
A prototype that fuses dynastic grand strategy with real-time tactical battles — built in Godot 4.7 with GDScript.
What is Sparta?
Sparta is a solo prototype with a deliberate strategy: build the hardest, most differentiating piece first — a real-time tactical battle — as a self-contained vertical slice, get it playable, then grow outward into a campaign.
This repository currently contains Milestone 1: a single, self-contained tactical battle. You command the blue army; defeat the red army on a top-down field where where the bodies are is the whole game.
It runs with zero downloaded art — units render as colored placeholder tokens — so you can clone, open in Godot, press F5, and fight immediately.
What makes a battle interesting
⚔️ Collision is the core
Units physically occupy space, press against each other, and block friend and foe. Flanking, screening spearmen, cavalry charges, and chokepoints only matter because units can’t pass through or stack on one another.
🛡️ Flanking & morale
Hit a unit from the side (×1.5) or rear (×2) for far more damage and morale loss. Units that lose enough soldiers or take flank hits rout — and routs spread to nearby allies.
🐎 Rock-paper-scissors
Cavalry are fast with a charge bonus, but spearmen blunt that charge. Use cavalry to flank, spears to screen. Read more in Tactics.
🎬 Deterministic replays
Every battle records as a tiny seed-plus-orders log — the same approach many strategy games use. Re-watch any battle, or re-run it to debug. See Replays.
Jump in
- Getting Started — install Godot, import the project, press play.
- How to Play — controls, the objective, and the battle loop.
- Tactics That Matter — flanking, routing, and the unit triangle.
- Replays — how the deterministic record/playback system works.
- Architecture — the scripts, scenes, and the collision design pillar.
- Roadmap — milestones and the prioritized issue backlog.
This site is generated documentation. The source of truth lives in the Sparta repository — README.md, PLAN.md, REPLAY.md, and ASSETS.md.