Files
OpenRA3/docs/ROADMAP.md
T

2.6 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. Reads BIG4/RefPack data from a local install, recovers map start waypoints, and runs a deterministic headless two-player skirmish to a decision.
  • v0.1.0 — map renderer + window. Software ARGB framebuffer, TGA decoder for the map art, BMP output, map/grid/unit compositing, and an SDL3 window viewer (pan/zoom).
  • v0.2.0 — dual toolchain. Switched to Clang + libc++ with import std; in every module; added an isolated Windows cross-build (llvm-mingw + SDL3 MinGW) producing openra3.exe + SDL3.dll, alongside the Linux build. Both images are separate to keep the toolchains apart.

Next

  • v0.1.1 — correct world calibration. Parse the map heightmap dimensions (and MPPositionList starts) so the unit overlay lines up with the map art instead of using an assumed world size.
  • 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 — full renderer. Terrain heightmap rendering, W3D models and a D3D9/Vulkan/OpenGL client backend implementing ra3::client::display, plus full 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.