2.1 KiB
2.1 KiB
Roadmap
OpenRA3 is a very large undertaking. This roadmap is deliberately honest about scope: reconstructing a 2008 RTS engine from a decompiler plus a related open engine is a multi-year, multi-person effort. The milestones below are ordered so that each one produces something that builds and runs.
Done
- v0.0.1 — skeleton + minimal skirmish. C++26 modules, GCC 16,
CMake/Ninja, Docker
dev/deploy, GitLab CI. ReadsBIG4/RefPack data from a local install, recovers map start waypoints, and runs a deterministic headless two-player skirmish to a decision.
Next
- v0.1.0 — complete map parsing. Parse
MPPositionListfor maps that do not usePlayer_N_Startwaypoints; recover map dimensions, terrain heightmap and placement grid; place real starting structures/units. - v0.2.0 — data & file formats. Parse compiled gameplay assets
(
GameObject,WeaponTemplate,ArmorTemplate,LocomotorTemplate) so units use the real balance numbers instead of OpenRA3's stand-ins. - v0.3.0 — deterministic simulation. Real update modules, locomotor movement, weapons/damage/armour resolution, build queues and the tech tree, pathfinding and shroud.
- v0.4.0 — AI. Skirmish AI: build states, team composition, attack
waves (the reference tree's
AI*modules). - v0.5.0 — renderer. A W3D/D3D9 (or portable Vulkan/OpenGL) client
backend implementing
ra3::client::display, plus input. - v0.6.0 — content. Load real maps, units, powers and strings; play a skirmish end-to-end with a UI.
Cross-cutting tracks
- RE depth — keep recovering retail layouts (see
REVERSE_ENGINEERING.md); every structure gets an address citation and a test. - Determinism & replay — the logic random stream and frame ordering must be reproducible; replay format and a golden-replay test suite.
- Offline only — no online mode. Multiplayer, if pursued, is LAN lockstep on the message stream, never an online service.