46 lines
2.3 KiB
Markdown
46 lines
2.3 KiB
Markdown
# 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
|
|
|
|
- [x] **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.
|
|
- [x] **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).
|
|
|
|
## 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`](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.
|