Development plan¶
Mirror of the TDD's Technical Development Plan section. Engineers update this in place between gates instead of touching the TDD. The TDD itself is the higher-up-facing document and gets a cleanup pass per milestone.
Interaction model pivot (high priority)¶
A click-based Interact Mode: the player toggles in (pointer shown, movement locked), clicks runes in the viewport in sequence, and the sentence validates on exit. Current build is physical carry.
Plan:
- Keep
URuneCarryComponentas an alternate authoring/debug mode for prototyping. - Add a pointer-based
UInteractModeComponentthat drives the sameRuneCalculatorentry points. - Validator does not change.
Owner: Generalist Engineer.
Blueprint authoring layer for effect components¶
Today every new verb requires a C++ subclass of URuneEffectComponent. That gates content authoring on engineer time.
Plan:
- Blueprint Engineer / Tech Designer creates a Blueprint-derivable template (
URuneEffectComponent_BP). - Expose
BlueprintNativeEventvirtuals on existing C++ verbs (OnEffectApplied,OnEffectRemoved, tick hook, target-noun accessors). - After the template ships, designers and non-engineers can author new runes and effect components by subclassing in the content browser.
- C++ stays the path for performance-critical verbs (Fire, MoveToward, anything tick-heavy).
Owner: Blueprint Engineer / Tech Designer.
See Content pipeline for current status.
Grammar extension (VERB + NOUN)¶
Add VERB + NOUN to USentenceValidator. The GDD calls for it.
Plan:
- Straightforward addition to the validator.
UEffectExecutorchange: pull the subject noun from the verb's trailing position.- One engineer-week including the executor side.
Owner: Systems Engineer.
Rune redefinition exposure¶
URuneRedefinitionManager works but is not reachable from designer-side authoring.
Plan:
- Author a meta-rune or dedicated calculator type that pushes redefinitions.
- Visual language for "this rune is currently standing in for that rune."
- Wire
EffectExecutorto resolve the verb throughResolveRunebefore reading its component fields.
Owner: Systems Engineer.
See Rune system core for API status.
Puzzle device authoring¶
AClockDevice and AStarObservatory are the template. We expect ~6 more across acts 2 and 3. Each is bespoke content but shares the base class pattern.
Owner: Puzzle Engineer.
See Adding a puzzle device for the recipe.
Save / Load¶
Partial today — rune discovery and palace slot assignments persist via UPlayerRuneKnowledge and UGameplayStatics::SaveGameToSlot. Full level-state save (active sentences, runeable transforms, puzzle device state) is planned per GDD.
Plan:
- Define schema (level, calculator state, runeable snapshot, player transform).
- Versioned from day one.
- Per-level checkpoint, no mid-puzzle save.
Owner: Systems Engineer.
See Save / Load for what ships and how to test locally.
Menus¶
Main / Pause / Settings / Credits. UMG, no complex engineering.
Plan: allocate one engineer for a sprint. Owner: Generalist Engineer.
Accessibility¶
Color-blind safe rune art and audio cue redundancy are art side. Engineering side:
- Key-rebind UI.
- Subtitle/definition size setting.
Owner: Generalist Engineer.
Controller support full pass¶
Enhanced Input is wired for gameplay. Menu navigation with a gamepad is not yet hardened.
Plan: a sprint of review + fixing. Owner: Generalist Engineer.
Showcase camera polish¶
LeadingSphere mode groups close targets but framing at extreme distances still pops on the first target.
Plan: capture-reset pass and probably a post-process vignette tie-in. Owner: Generalist Engineer.
Content scaling¶
Target is ~30–40 runes across the campaign. Current RuneDataAsset coverage is ~1/3 of that.
- Each new rune that needs a component: ~0.5 engineer-days.
- Each reuse of an existing component: ~1 hour.
Fire / hazard polish¶
Multi-point fire spawning is in. Outstanding: non-uniform intensity authoring per anchor if needed (currently driven by relative scale, which has been enough).
FMOD integration¶
Currently shipping native Unreal audio (AAudioManager + per-rune USoundBase). FMOD is on the schedule for Fall Midterm.
See Audio for the migration shape.
Owner: Audio Engineer + Engineering Producer (build pipeline).
Change history¶
- 2026-05-23 — Gabriel Li — Save/load partial status aligned to GDD; redefinition cross-link to RuneSystemCore.