Spring (RTS engine)
A free, cross-platform, open-source real-time-strategy game engine — genre-specialized for RTS rather than general-purpose. Originally TASpring (inspired by Total Annihilation), built for large-scale unit battles. Written in C++ (~87%) with Lua for gameplay scripting/customization; OpenGL rendering. GPL (v2/v3) licensed.
What it's for
Spring runs full RTS games defined largely in Lua — units, rules, UI, and AI are scriptable, so a "game" on Spring is a content+script package rather than a recompile. Notable titles built on it include Beyond All Reason, Zero-K, and Balanced Annihilation (well-known Spring games; the repo README itself doesn't enumerate them). ~28k commits, dedicated AI/tools/docs trees.
Correction: upstream is dormant, and the engine continues under another name (2026-08-15)
The June version of this page called Spring an "active project." Re-verified against the GitHub API at
the freshness check: spring/spring was last pushed 2024-03-31 — about 17 months of no commits —
at 3,963★ / 863 forks. The activity moved to a fork. Recoil's README states it
plainly: "Recoil is a fork and continuation of an RTS engine version 105.0", linking to this
repository. Zero-K describes itself as "running on the Spring/Recoil engine", which is how the
ecosystem now writes the name.
So Spring is best read here as the origin of a live lineage rather than a live engine. The two axes below still hold — genre specialization and copyleft licensing both carried into the fork intact. What does not hold is any inference from this repository to current RTS-engine practice; for that, see recoil-engine.
Why it matters to the spoke — two new axes
- Genre-specialized vs general-purpose (new axis). Every engine here so far is general-purpose 3D (godot-engine, unreal-engine, unity-engine, o3de) or a general 2D framework (flame-engine, phaser, love2d, torque2d). Spring is the first purpose-built for one genre — RTS — trading breadth for deep genre fit (massive unit counts, deterministic simulation for multiplayer). Pairs with openage (also RTS) as an emerging RTS-engine cohort.
- Copyleft licensing (new point). GPL is stronger copyleft than the permissive MIT/Apache of godot-engine/o3de/flame-engine/torque2d — extending the licensing axis to a fourth position: permissive-OSS → copyleft-OSS (Spring, openage) → source-available royalty (unreal-engine) → proprietary subscription (unity-engine). Lua scripting is shared with love2d.
Related
recoil-engine · openage · torque2d · godot-engine · love2d · o3de · synthesis