Roadmap
DINOForge follows a milestone-based development plan, building from low-level runtime to high-level content packs.
Milestones
M0 — Reverse-Engineering Harness ✅
Status: Complete
Install BepInEx, confirm plugin loading, test plugin, dump entities.
- BepInEx 5.4.23.5 installed with modified Doorstop pre-loader
- Runtime builds to
BepInEx/ecs_plugins/DINOForge.Runtime.dll - Entity Dumper, System Enumerator, Debug Overlay scaffolded
- Initial test suite passing (xUnit + FluentAssertions)
M1 — Runtime Scaffold ✅
Status: Complete
Bootstrap plugin, version detection, logging, ECS introspection, debug overlay.
- BepInEx plugin bootstrap with version-aware initialization
- ECS system and component discovery
- Runtime logging infrastructure
- Debug overlay foundation (F9 key)
M2 — Generic Mod SDK ✅
Status: Complete
Pack manifest format, registry system, schema validation, override model, dependency resolver.
- Pack manifest model with YAML loader (YamlDotNet)
- Generic
Registry<T>system with priority layers and conflict detection - Schema validation pipeline (NJsonSchema)
- Content override model with 4-layer priority (BaseGame -> Framework -> DomainPlugin -> Pack)
- Dependency resolver with cycle detection
- 17 JSON/YAML schemas covering all content types
- Content loader for YAML pack ingestion
- Asset service with addressables catalog support
M3 — Dev Tooling ✅
Status: Complete
Pack compiler CLI, validator CLI, test harness, diff tools, diagnostics.
- PackCompiler CLI (validate, build, assets commands)
- DumpTools CLI with Spectre.Console interactive terminal UI
dinoforgeCLI with 11 commands (status, query, override, reload, watch, dump, resources, screenshot, verify, component-map, etc.)- MCP Server with 13 game interaction tools for Claude Code integration
M3.5 — QA Harness ✅
Status: Complete
Bridge Protocol/Client for IPC, integration test suite, CI-runnable tests.
- Bridge Protocol: JSON-RPC message types, IGameBridge interface, typed result models
- Bridge Client: GameClient for out-of-process game communication with connection state management
- Integration test project (
DINOForge.Tests.Integration) with assertions, fixtures, and test data - 14 integration tests covering content loading, bridge communication, end-to-end pack application
- CI solution (
DINOForge.CI.sln) excluding Runtime for headless builds
M4 — Warfare Domain Plugin ✅
Status: Complete
Factions, doctrines, unit classes, weapons, waves, defenses.
- Faction archetype system (Order, Industrial Swarm, Asymmetric)
- 5 factions: Republic, CIS, West, Classic West Enemy, Guerrilla
- Unit role matrix with 13 shared slots across all factions
- Weapon classes (12 types) and defense tags (8 types)
- Wave composition templates
- Doctrine modifiers
- Balance validation
M5 — First Example Packs ✅
Status: Complete
Full set of example packs demonstrating all content types.
warfare-modern— West vs Classic West Enemy (Modern Warfare theme)warfare-starwars— Republic vs CIS (Star Wars Clone Wars theme)warfare-guerrilla— Asymmetric warfare (Guerrilla faction)example-balance— Simple stat override balance modeconomy-balanced— Economy balance profiles and trade rulesscenario-tutorial— Tutorial scenario with scripted conditions
M6 — In-Game Mod Menu & HMR ✅
Status: Complete
F10 mod menu overlay, hot module replacement for YAML packs.
- Mod menu overlay (F10) with pack listing, enable/disable, manual reload
- Mod settings panel for per-pack configuration
- Pack file watcher (HMR) for live YAML reload during gameplay
- Hot reload bridge wiring changes to re-validation and re-application
M7 — Installer & Universe Bible ✅
Status: Complete
PowerShell/Bash installer, Universe Bible system, pack generator.
Install-DINOForge.ps1(Windows) andinstall.sh(Linux/macOS) installer scripts- Installer library with programmatic installation support
- Universe Bible system: faction taxonomies, naming guides, style guides, crosswalk dictionaries
- Universe loader for parsing Bible documents
- Pack generator for scaffolding total conversion packs from a Universe Bible
M8 — Runtime Integration 🚧
Status: In Progress
ModPlatform orchestrator wiring SDK to Bridge to UI to HMR.
ModPlatformclass owns entire mod platform lifecycle (ADR-009)- Lifecycle phases: Initialize -> OnWorldReady -> LoadPacks -> StartHotReload -> Shutdown
- Plugin.cs stays thin (bootstrap only, forwards Unity callbacks)
- ECS bridge with component mapping, stat modifiers, entity queries, override applicator
- Remaining work: end-to-end in-game validation with live DINO instance
Current Stats
- 17 projects in the solution
- 342 tests passing (328 unit + 14 integration)
- 17 schemas covering all content types
- 6 example packs demonstrating all mod categories
- 4 domain plugins: Warfare, Economy, Scenario, UI
Success Criteria
A new mod can be created mostly by editing validated pack files and running the toolchain, without new reverse engineering.
If every mod still needs runtime surgery, the framework failed.