Build Strategy And Loadout Optimizer
What This System Is
Build strategies turn equipment selection from a single generic power score into an authored player intention. A strategy can prioritize offensive, defensive, resource, class-fantasy, item-tag, ability, and passive synergies while retaining deterministic selection and explainable results.
The shipped catalog defines dragoon.burst and dragoon.sustain. Burst favors weapon damage, attack power, and critical hits. Sustain favors defense, magic defense, health, stamina, tenacity, and items tagged strategy:sustain.
How Authors Use It
Profiles live in assets/gameplay/build_strategy_profiles.json. Each profile contains:
- stable id, label, and designer description;
- compatible class tags and required item tags;
- an item-level weight and per-stat weights;
- weighted preferred item tags;
- preferred ability and passive references;
- an opener, priority rules, combo/status/health triggers, and resource reserves;
- a minimum gold reserve;
- a maximum candidate count per equipment slot.
The shared world-domain catalog rejects unsupported schema versions, duplicate or empty IDs, empty required tags, zero-value profiles, and zero candidate limits. The current-catalog adapter additionally validates preferred ability and passive IDs.
Rules And Invariants
The optimizer projects equipment item level, weapon damage, defense, magic defense, stat modifiers, tags, and passives into an explainable score. Every contribution records its source, value, authored weight, and score. Contributions are ordered by absolute impact and stable source ID.
Candidates must first satisfy lifecycle, level, slot, class, and required-tag constraints. Selection then uses:
- strategy score descending;
- authored cost ascending where an economy decision is involved;
- stable stock, recipe, and item IDs.
Only the authored number of candidates per slot may advance through an economy checkpoint. An empty strategy_profile_id retains the legacy generic equipment-power ranking for older fixtures.
Campaign Journey Integration
CampaignJourneyPolicy.strategy_profile_id selects the profile used by automatic purchases, crafting, and equipment changes. The effective gold reserve is the greater of the journey and profile reserves. Transaction summaries explain the selected item's strongest scoring contributions.
The Slime Infestation journey uses dragoon.burst, so it crafts the offensive Tempered Slime Halberd. Running the same journey with dragoon.sustain selects the defensive Slimeguard Halberd from the same reward budget.
Combat Strategy Matrix
The Combat Balance Lab exposes Strategy Matrix. It runs every compatible Dragoon profile one level above the encounter recommendation, replaces the baseline practice spear with that profile's best compatible tool, and reports selection reasoning beside completion, survival, duration, damage, and regression metrics.
This makes trap options, overly dominant strategies, and survivability/damage tradeoffs visible without hand-authoring a separate combat fixture per build.
Current Boundaries
The optimizer selects equipment independently per slot and drives a deterministic per-profile ability rotation. It does not yet search multi-slot set bonuses, ability-loadout permutations, randomized affixes, or party composition.
Examples
Use dragoon.burst to select the offensive Tempered Slime Halberd and prioritize damage-heavy rotations. Use dragoon.sustain to keep a larger gold and stamina reserve while selecting defensive gear such as the Slimeguard Halberd.
Validation And Debugging
cargo test -p aether-world-domain build_strategy --lib
cargo test -p aether build_strategy --lib
cargo test -p aether campaign_journey --lib
cargo test -p aether combat_balance --lib