Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Developer Task Checklists

M1-M3 Developer Task Checklist (G1-G16)

Use this as the implementation handoff checklist for the first playable Red Alert mission loop. It is intentionally more concrete than the milestone prose and should be used to structure early engineering tickets/work packages.

Phase 1 Checklist (M1: Render and Recognize RA)

StepWork Package (Implementation Bundle)Suggested Verification / Proof ArtifactCompletion Notes
G1Implement core RA asset parsing in ic-cnc-content for .mix, .shp, .pal + real-install asset enumerationParser corpus tests + sample asset enumeration outputInclude malformed/corrupt fixture expectations and error behavior
G2Implement Bevy map/sprite render slice (palette-correct draw, camera controls, static scene)Known-map visual capture + regression screenshot setPalette correctness should be checked against a reference image set
G3Implement unit sprite sequence playback (idle/move/fire/death)Short capture (GIF/video) + sequence timing sanity checksKeep sequence lookup conventions compatible with later variant skins/icons

G1.x Substeps (Owned-Source Import/Extract Foundations for M3 Setup Wizard Handoff)

SubstepWork Package (Implementation Bundle)Suggested Verification / Proof ArtifactCompletion Notes
G1.1Source-adapter probe contract + source-manifest snapshot schema (Steam/GOG/EA/manual/Remastered normalized output)Probe fixture snapshots + schema examplesMust match D069 setup wizard expectations and support D068 mixed-source planning
G1.2.mix extraction primitives for importer staging (enumerate/validate/extract without source mutation).mix extraction corpus tests + corrupt-entry handling checksOriginals remain read-only; extraction outputs feed IC-managed storage pipeline
G1.3.shp/.pal importer-ready validation and parser-to-render handoff metadataValidation fixture tests + parser->render handoff smoke testsThis bridges G1 format work and G2/G3 render/animation slices
G1.4.aud/.vqa header/chunk integrity validation and importer result diagnosticsMedia validation tests + importer diagnostic output samplesPlayback can remain later; importer correctness and failure messages are the goal here
G1.5Importer artifact outputs (source manifest snapshot, per-item results, provenance, retry/re-scan metadata)Artifact sample set + provenance metadata checksAlign artifacts with 05-FORMATS owned-source pipeline and D069 repair/maintenance flows
G1.6Remastered Collection source adapter probe + normalized importer handoff (out-of-the-box import path)D069 setup import demo using a Remastered installExplicitly verify no manual conversion and no source-install mutation

Phase 2 Checklist (M2: Interactivity + Deterministic Core)

StepWork Package (Implementation Bundle)Suggested Verification / Proof ArtifactCompletion Notes
G4Cursor + hover hit-test primitives for cells/entities in gameplay sceneManual demo clip + hit-test unit tests (cell/entity under cursor)Cursor semantics should remain compatible with D059/D065 input profile layering
G5Selection baseline (single select + minimum multi-select/box select + selection markers)Manual test checklist + screenshot/video for each selection modeUse sim-derived selection state; avoid render-only authority
G6Deterministic sim tick loop + basic order application (move, stop, state transitions)Determinism test (same inputs -> same hash) + local replay passP002 resolved (1024). Use Fixed(i32) types from research/fixed-point-math-design.md
G7Integrate Pathfinder + SpatialIndex into movement order executionConformance tests (PathfinderConformanceTest, SpatialIndexConformanceTest) + in-game movement demoP002 resolved; preserve deterministic spatial-query ordering
G8Render/sim sync for movement/facing/animation transitionsVisual movement correctness capture + replay-repeat visual spot checkPrevent sim/render state drift during motion
G9Combat baseline (targeting + hit/damage resolution or narrow direct-fire first slice)Deterministic combat replay test + combat demo clipPrefer narrow deterministic slice over broad weapon feature scope
G10Death/destruction transitions (death state, animation, cleanup/removal)Deterministic combat replay with death assertions + cleanup checksRemoval timing must remain sim-authoritative

Phase 3 Checklist (M3: First Complete Mission Loop)

StepWork Package (Implementation Bundle)Suggested Verification / Proof ArtifactCompletion Notes
G11Sim-authoritative mission-end evaluators (all enemies dead, all player units dead)Unit/integration tests for victory/failure triggers + replay-result consistency testImplement result logic in sim state, not UI heuristics
G12Mission-end UI shell (Mission Accomplished / Mission Failed) + flow pause/transitionManual UX walkthrough capture + state-transition assertionsUI consumes authoritative result from G11
G13EVA/VO integration for mission-end outcomesAudio event trace/log + manual verification clip for both result statesP003 ✓ resolved; depends on M3.CORE.AUDIO_EVA_MUSIC baseline
G14Restart/exit flow from mission results (replay mission / return to menu)Manual loop test (start -> end -> replay, start -> end -> exit)This closes the first full mission loop
G15“Feels like RA” pass (cursor feedback, selection readability, audio timing, result pacing)Internal playtest notes + short sign-off checklistKeep scope to first mission loop polish, not full skirmish parity
G16Widen from fixed mission slice to local skirmish + narrow D043 basic AI subsetM3.SP.SKIRMISH_LOCAL_LOOP validation run + explicit AI subset scope noteFreeze M3 AI subset before implementation to avoid M6 scope creep

Required Closure Gates Before Marking M3 Exit

  • P002 fixed-point scale resolved and reflected in sim/path/combat assumptions (G6-G10) ✓ DONE
  • P003 audio library/music integration resolved before finalizing G13/G15 ✓ DONE (Kira)
  • D043 M3 basic AI subset explicitly frozen (scope boundary vs M6)
  • End-to-end mission loop validated:
    • start mission
    • play mission
    • trigger victory and failure
    • show correct UI + VO
    • replay/exit correctly

Suggested Evidence Pack for the First Public “Playable” Update

When G16 is complete, the first public progress update should ideally include:

  • one short local skirmish gameplay clip
  • one mission-loop clip showing win/fail result screens + EVA/VO
  • one deterministic replay/hash proof note (engineering credibility)
  • one short note documenting the frozen M3 AI subset and deferred M6 AI scope
  • one tracker update setting relevant M1/M2/M3 cluster Code Status values with evidence links

For ticket breakdown format, use:

  • src/tracking/implementation-ticket-template.md

M5-M6 Developer Task Checklist (Campaign Runtime -> Full Campaign Completion, G18.1-G19.6)

Use this checklist to move from “local skirmish exists” to “campaign-first differentiator delivered.”

Phase 4 / M5 Checklist (Campaign Runtime Vertical Slice)

StepWork Package (Implementation Bundle)Suggested Verification / Proof ArtifactCompletion Notes
G18.1Lua mission runtime baseline (D004) with deterministic sandbox boundaries and mission lifecycle hooksMission script runtime smoke tests + deterministic replay pass on scripted mission eventsKeep API scope explicit and aligned with D024/D020 docs
G18.2Campaign graph runtime + persistent campaign state save/load (D021)Save/load tests across mission transition + campaign-state roundtrip testsCampaign state persistence must be independent of UI flow assumptions
G18.3Briefing -> mission -> debrief -> next flow (D065 UX layer on D021)Manual walkthrough capture + scripted regression path for one campaign chainUX should consume campaign runtime state, not duplicate it
G18.4Failure/continue/retry behavior + campaign save/load correctness for the vertical sliceFailure-path regression tests + manual retry/resume loop testM5 exit requires both success and failure paths to be coherent

Phase 4 / M6 Checklist (Full Campaigns + SP Maturity)

StepWork Package (Implementation Bundle)Suggested Verification / Proof ArtifactCompletion Notes
G19.1Scale campaign runtime to full shipped mission set (scripts/objectives/transitions/outcomes)Campaign mission coverage matrix + per-mission load/run smoke testsTrack missing/unsupported mission behaviors explicitly; no silent omissions
G19.2Branching persistence, roster carryover, named-character/hero-state carryover correctnessMulti-mission branch/carryover test suite + state inspection snapshotsIncludes D021 hero/named-character state correctness where used
G19.3Video cutscenes (FMV) + rendered cutscene baseline (Cinematic Sequence world/fullscreen) + OFP-style trigger-camera scene property-sheet baseline + fallback-safe campaign behavior (D068)Manual video/no-video/rendered/no-optional-media campaign path tests + fallback validation checklist + at least one no-Lua trigger-authored camera scene proof captureCampaign must remain playable without optional media packs or optional visual/render-mode packs; trigger-camera scenes must declare audience scope and fallback presentation
G19.4Skirmish AI baseline maturity + campaign/tutorial script support (D043/D042)AI behavior baseline playtests + scripted mission support validationAvoid overfitting to campaign scripts at expense of skirmish baseline
G19.5D065 onboarding baseline for SP (Commander School, progressive hints, controls walkthrough integration)Onboarding flow walkthroughs (KBM/controller/touch where supported) + prompt correctness checksPrompt drift across input profiles is a known risk; test profile-aware prompts
G19.6Full RA campaign validation (Allied + Soviet): save/load, media fallback, progression correctnessCampaign completion matrix + defect list closure + representative gameplay capturesM6 exit is content-complete and behavior-correct, not just “most missions run”

Required Closure Gates Before Marking M6 Exit

  • All shipped campaign missions can be started and completed in campaign flow (Allied + Soviet)
  • Save/load works mid-campaign and across campaign transitions
  • Branching/carryover state correctness validated on representative branch paths
  • Optional media missing-path remains playable (fallback-safe)
  • D065 SP onboarding baseline is enabled and prompt-profile correct for supported input modes

M4-M7 Developer Task Checklist (Minimal Online Slice -> Multiplayer Productization, G17.1-G20.5)

Use this checklist to keep the multiplayer path architecture-faithful and staged: minimal online first, productization second.

M4 Checklist (Minimal Online Slice)

StepWork Package (Implementation Bundle)Suggested Verification / Proof ArtifactCompletion Notes
G17.1Minimal host/join path (direct connect or join code) on final NetworkModel architectureTwo-client connect test (same LAN + remote path where possible)Do not pull in tracker/browser/ranked assumptions
G17.2Relay time authority + sub-tick normalization/clamping + sim-side validation pathTiming/fairness test logs + deterministic reject consistency checksKeep trust claims bounded to M4 slice guarantees
G17.3Full minimal online match loop (play -> result -> disconnect)Multiplayer demo capture + replay/hash consistency noteProves M4 architecture in live conditions
G17.4Reconnect baseline implementation or explicit defer contract + UX wordingReconnect test evidence or documented defer contract with UX mock proofEither path is valid; ambiguity is not

M7 Checklist (Multiplayer Productization)

StepWork Package (Implementation Bundle)Suggested Verification / Proof ArtifactCompletion Notes
G20.1Tracking/browser discovery + trust labels + lobby listingsBrowser/lobby walkthrough captures + trust-label correctness checklistTrust labels must match actual guarantees (D011/D052/07-CROSS-ENGINE)
G20.2Signed credentials/results + community-server trust path (D052)Credential/result signing tests + server trust path validationP004 ✓ resolved; see research/lobby-matchmaking-wire-protocol-design.md
G20.3Ranked queue + tiers/seasons + queue health/degradation rules (D055)Ranked queue test plan + queue fallback/degradation scenariosAvoid-list guarantees and queue-health messaging must be explicit
G20.4Report/block/avoid UX + moderation evidence attachment + optional review baselineReport workflow demo + evidence attachment audit + sanctions capability-matrix testsKeep moderation capabilities granular; avoid coupling failures
G20.5Spectator/tournament basics + signed replay/evidence workflowSpectator match capture + replay evidence verification + tournament-path checklistM7 exit requires browser/ranked/trust/moderation/spectator coherence

Required Closure Gates Before Marking M7 Exit

  • P004 resolved and reflected in multiplayer/lobby integration details ✓ DONE (see research/lobby-matchmaking-wire-protocol-design.md)
  • Trust labels verified against actual host modes and guarantees
  • Ranked, report/avoid, and moderation flows are distinct and understandable
  • Signed replay/evidence workflow exists for moderation/tournament review paths

M8-M11 Developer Task Checklist (Creator Platform -> Full Authoring Platform -> Optional Polish, G21.1-G24.3)

Use this checklist to keep the creator ecosystem and optional/polish work sequenced correctly after runtime/network foundations.

M8 Checklist (Creator Foundation)

StepWork Package (Implementation Bundle)Suggested Verification / Proof ArtifactCompletion Notes
G21.1ic CLI foundation + local content overlay/dev-profile run pathCLI command demos + local-overlay run proof via real game runtimeMust preserve D062 fingerprint/profile boundaries and explicit local-overlay labeling
G21.2Minimal Workshop delivery baseline (publish/install)Publish/install smoke tests + package verification basicsKeep scope minimal; full federation/CAS belongs to M9
G21.3Mod profiles + virtual namespace + selective install hooks (D062/D068)Profile activation/fingerprint tests + install-preset behavior checksFingerprint boundaries (gameplay/presentation/player-config) must remain explicit
G21.4Authoring reference foundation (generated YAML/Lua/CLI docs, one-source pipeline)Generated docs artifact + versioning metadata + search/index smoke testThis is the foundation for the embedded SDK manual (M9)

G21.x Substeps (Owned-Source Import Tooling / Diagnostics / Docs)

SubstepWork Package (Implementation Bundle)Suggested Verification / Proof ArtifactCompletion Notes
G21.1aCLI import-plan inspection for owned-source imports (probe output, source selection, mode preview)ic CLI demo showing import-plan preview for owned source(s)Must reflect D069 import modes and D068 install-plan integration without executing import
G21.2aOwned-source import verify/retry diagnostics (distinct from Workshop package verify)Diagnostic output samples + failure/retry smoke testsKeep source-probe/import/extract/index failures distinguishable and actionable
G21.3aRepair/re-scan/re-extract tooling for owned-source imports (maintenance parity with D069)Maintenance CLI demo for moved source path / stale index recoveryMust preserve source-install immutability and provenance history
G21.4aGenerated docs for import modes + format-by-format importer behavior (from 05-FORMATS)Generated doc page artifact + search hits for importer/extractor reference topicsOne-source docs pipeline only; this feeds SDK embedded help in M9

G21.x Substeps (P2P Engine — p2p-distribute Standalone Crate)

SubstepWork Package (Implementation Bundle)Suggested Verification / Proof ArtifactCompletion Notes
G21.5p2p-distribute core engine: bencode codec + BEP 3 wire protocol + piece picker + storage backend + choking algorithm + HTTP trackerSingle-seed→single-leech transfer of a multi-piece torrent; round-trip bencode fuzz passingSeparate MIT/Apache-2.0 repo (D076 Tier 3); no IC or GPL dependencies. See research/p2p-distribute-crate-design.md milestones 1–3.
G21.6p2p-distribute config system + profiles + peer discovery + NAT traversal: 10 knob groups, 4 built-in profiles, UDP tracker, PEX, DHT, UPnP/NAT-PMP, uTP, LSDProfile-switching demo (embedded→desktop→seedbox); DHT bootstrap + peer discovery smoke testDesign milestones 4–5, 7, 9 (subset). LAN discovery via LSD must work without internet.
G21.7p2p-distribute embedded tracker + IC integration baseline: HTTP announce/scrape with auth hook; workshop-core wraps P2P session; ic-server Workshop seedingic-server --cap workshop seeds a package; game client auto-downloads on lobby join via P2PDepends on G21.2 (minimal Workshop baseline). Design milestones 6 + IC integration section.

M9 Checklist (Scenario Editor Core + Workshop + OpenRA Export Core)

StepWork Package (Implementation Bundle)Suggested Verification / Proof ArtifactCompletion Notes
G22.1Scenario Editor core (D038) + validate/test/publish loop + resource manager basicsEnd-to-end authoring demo (edit -> validate -> test -> publish)Keep simple/advanced mode split intact
G22.2Asset Studio baseline (D040) + import/conversion + provenance plumbingAsset import/edit/publish-readiness demo + provenance metadata checksProvenance UI should not block basic authoring flow in simple mode
G22.3Full Workshop/CAS + moderation tooling + OpenRA export core (D049/D066)Full publish/install/autodownload/CAS flow tests + ic export --target openra checksExport-safe warnings/fidelity reports must be explicit and accurate
G22.4SDK embedded authoring manual + context help (F1, ?)SDK docs browser/context-help demo + offline snapshot proofMust consume one-source docs pipeline from G21.4, not a parallel manual

G22.x Substeps (P2P Hardening + Control Surfaces)

SubstepWork Package (Implementation Bundle)Suggested Verification / Proof ArtifactCompletion Notes
G22.3ap2p-distribute hardening + control surfaces: fuzz suite (bencode/wire/metadata), chaos tests, v2/hybrid BEP 52, storage perf, web API + JSON-RPC + CLI + metrics, crates.io publishFuzz corpus >1M iterations; chaos-test report (packet loss/reorder/delay); crates.io publishedDesign milestones 6, 8–10. Publishing to crates.io is exit criterion for standalone-crate promise.

M10 Checklist (Campaign Editor + Modes + RA1 Export + Extensibility)

StepWork Package (Implementation Bundle)Suggested Verification / Proof ArtifactCompletion Notes
G23.1Campaign Editor + intermissions/dialogue/named characters + campaign test toolsCampaign authoring demo + campaign test/preview workflow evidenceIncludes hero/named-character authoring UX and state inspection
G23.2Game mode templates + D070 family toolkit (Commander & SpecOps, commander-avatar variants, experimental survival)Authoring + playtest demos for at least one D070 scenario and one experimental templateKeep experimental labels and PvE-first constraints explicit
G23.3RA1 export + plugin/extensibility hardening + localization/subtitle toolingRA1 export validation + plugin capability/version checks + localization workflow demoMaintain simple/advanced authoring UX split while adding power features

M11 Checklist (Ecosystem Polish + Optional Systems)

StepWork Package (Implementation Bundle)Suggested Verification / Proof ArtifactCompletion Notes
G24.1Governance/reputation polish + creator feedback recognition maturity + optional contributor cosmetic rewardsAbuse/audit test plan + profile/reward UX walkthroughNo gameplay/ranked effects; profile-only rewards remain enforced
G24.2Optional BYOLLM stack (D016/D047/D057) + local/cloud prompt strategy + editor assistant surfacesBYOLLM provider matrix tests + prompt-strategy probe/eval demosMust remain fully optional and fallback-safe
G24.3Optional visual/render-mode expansion (D048) + browser/mobile/Deck polishCross-platform visual/perf captures + low-end baseline validationPreserve “no dedicated gaming GPU required” path while adding optional visual modes

Required Closure Gates Before Marking M9, M10, and M11 Exits

  • M9:
    • scenario editor core + asset studio + full Workshop/CAS + OpenRA export core all work together
    • embedded authoring manual/context help uses the one-source docs pipeline
  • M10:
    • campaign editor + advanced mode templates + RA1 export/extensibility/localization surfaces are validated and usable
    • experimental modes remain clearly labeled and do not displace core template validation
  • M11:
    • optional systems (BYOLLM, render-mode/platform polish, contributor reward points if enabled) remain optional and do not break lower-milestone guarantees
    • any promoted optional system has explicit overlay remapping and updated trust/fairness claims where relevant