# Enemy AI replacement scenario catalogue 13 October 2026. Discussion draft grounded in ProjectI's current brief, roster and [Destiny-compatible research](../../Research/2026-10-13-destiny-compatible-ai-gap-research.md). This specifies candidate player experiences, not implementation or proven behavior. **Framework selected, 13 October:** the user will install Unity Behavior (`com.unity.behavior`). Use its graphs for individual enemy decisions, with custom C# owning encounter/squad guidance, perception, positioning and validated execution. The [package integration design](2026-10-13-unity-behavior-rework.md) records state ownership, interruption requirements and implementation/proof order. This replaces any assumption of building our own general-purpose tree runtime; every confirmed scenario and unresolved tuning choice below remains in force. Installation and replacement implementation are not yet established by this document. ## Direction confirmed with the user 1. Enemies contest areas, reposition and apply role-specific pressure, with bounded pursuit. 2. Cover breaks direct fire, but enemies may continue approaching or repositioning. There is no pack-wide freeze. 3. An individual chase has a limit. It ends in useful reassignment/regrouping, without routine teleporting or health reset. 4. This is a roguelike, not a succession of Destiny mission rooms. Areas must support continuing pressure around a moving party. Enemies must not stand around at abandoned posts. 5. After confirmed inability to reach any living player or use its weapon, and bounded recovery attempts, a stranded enemy may retire only when no player can see it. Retirement grants no rewards and causes no immediate replacement or spawn-budget bypass. 6. Borrowed mechanisms must fit the Destiny-inspired separation of encounter control, squad assignment, individual behavior, positioning and execution. Follow-up choices confirmed on 13 October: - Trapped shooters use their existing weapon only where its attack rules permit; otherwise use bounded safe escape or reassignment. Do not invent an emergency melee attack or bypass a hard attack limit. Preferred positioning distance and an actual weapon minimum must remain distinct. - Bombardiers can fire at the most recently visually observed player position for a bounded period, then reposition to seek a new angle/observation. They cannot update that position from an unseen player's live location. - Distribute pressure broadly, allowing temporary concentration rather than guaranteeing equal damage or round-robin targeting. - End pursuit based on useful progress and task relevance; merely renaming the same chase cannot renew it. - Reassign support units first when they lack useful beneficiaries. Eligibility for eventual retirement of a reachable but persistently ally-less support still needs an explicit rule. - Keep boss recovery separate from ordinary retirement and preserve required defeat/progression. No silent boss deletion, free completion or health-reset respawn is authorized. After those explanations, the user accepted broad encounter guidance with evidence-based targeting and the recommended sight-loss commitment policies. Exact guidance precision, melee-lunge stopping details and bombardier remembered-fire duration remain to specify. The later roguelike clarification supersedes the earlier suggestion of returning to fixed defended territory. Preserve the architectural separation; replace static mission fronts with temporary pressure assignments appropriate to the party and terrain. **Interpretation for review:** “no standing around” means no unproductive idle, not constant locomotion. Firing from a good lane, supporting an ally, telegraphing, recovering or briefly yielding at a bottleneck can all justify holding position. Each hold needs a useful purpose and an end/reassessment condition. ## Established project constraints The [project brief](../../PROJECT_PLAN.md#gameplay-requirements) describes solo to four-player co-op, open floating-island stages, horde pressure, tactical elites, an end boss, mobility abilities and both single-target and area builds. The current revive is a short, nearby, line-of-sight interaction; downed players are not normal living attack targets. The [existing enemy plan](../../superpowers/plans/2026-10-08-pack-ai-and-enemy-roster.md) disables jump-across navigation. Use supported ground, ramps, stairs and bridges. Do not introduce flight, gap jumping, terrain modification or teleport recovery to hide route failures. The [current roster evidence](../../ENEMY_ROSTER_VALIDATION.md) and source establish ordinary melee/ranged, bombardier, weaponless Keeper, precision Lancer, melee Bulwark and finite Splinterbeast descendants. Faction visuals currently do not imply different tactical abilities. Host authority, identity/lifetime checks, physical hit validation, reward ownership and stage cleanup remain correctness constraints. Rebuilding decisions does not authorize changing those contracts. Existing runtime and historical tests still describe the old implementation; this document does not certify the replacement. ## How areas work in this roguelike **Recommended model:** a pressure area is a temporary reachable part of the battlefield where a group can contribute. Its assignment can expire as players move, terrain blocks access, allies die or another task becomes more useful. It is not a permanent enemy home or an invisible wall surrounding a room. - The encounter layer supplies broad purpose and an approach sector, controls admissions and reassigns groups. - A squad shares that purpose; its members choose role-appropriate positions rather than matching one formation point. - An individual uses actual observations and remembered evidence to select targets and actions. - Positioning returns a feasible place/route or a specific failure. Movement and attacks execute that decision. **Proposed information boundary:** encounter guidance may keep groups moving toward a broad party region without providing exact hidden-player aim positions. Shared reports identify which player was observed and where/when. Guidance never counts as personal sight or a clear weapon path. Its precision, age and update frequency remain design choices. The following catalogue uses **Confirmed** for choices made in this conversation, **Preserve** for existing constraints, and **Proposed** for recommendations to review. A row can combine a confirmed principle with a proposed detailed response. “Check” describes future observable acceptance, not a test already run. ## Pressure and encounter flow | Case | Situation | Desired response and future check | | --- | --- | --- | | P01 | A group spawns behind island terrain without seeing a player. | **Proposed:** immediately receive a relevant approach task using broad guidance. Move through a supported route and gain attack knowledge through perception. **Check:** no dormant spawn group and no accurate pre-sighting fire at a hidden player. | | P02 | The party moves to another part of the stage. | **Confirmed direction; proposed detail:** shift useful pressure assignments instead of leaving enemies at empty posts. Keep a still-productive route until a better assignment is ready. **Check:** remaining enemies contribute again without teleporting or all reversing at once. | | P03 | One actor reaches its pursuit limit. | **Confirmed:** stop indefinite fixation and preserve damage already dealt to it. **Proposed:** choose another useful target, approach sector or regroup route. Renaming the same chase must not reset its allowance endlessly. **Check:** a meaningful change of task or bounded recovery. | | P04 | Slow Bulwarks or Keepers fall behind fast melee. | **Proposed:** mobile members keep useful pressure; slower members approach through valid routes or support nearer eligible allies. No hidden speed boost or whole-group wait for one laggard. **Check:** slow roles remain useful without permanently anchoring the group behind the fight. | | P05 | A strong area attack clears most of a horde. | **Proposed:** let the clear create space. Survivors act normally; replacements use normal cadence and budgets. **Check:** the kill feels rewarding, no immediate refill/backlog, and no synchronized evasive behavior invented solely to defeat area builds. | | P06 | The player needs a recovery opportunity while surviving enemies remain. | **Proposed:** reduce new dangerous admissions/overlap when pacing permits; existing enemies keep legitimate actions and recovery cycles. **Check:** relief comes from fewer new threats or earned openings, never a global freeze command. | | P07 | Players see all safe spawn locations, or the population cap is reached. | **Preserve:** defer admission rather than spawn visibly, inside players, on invalid ground or above cap. **Check:** no backlog burst when space opens. Continuous pressure is a goal, not permission to violate spawn safety. | | P08 | The boss encounter begins during ordinary pressure. | **Preserve:** follow the accepted boss/stage ownership and population contract. **Proposed:** assign ordinary groups supporting pressure tasks without turning their brains into boss logic. **Check:** clear boss cues and completion; no uncontrolled extra reinforcement surge. | ## Perception and player cover | Case | Situation | Desired response and future check | | --- | --- | --- | | K01 | A player ducks behind a wall to reload. | **Confirmed:** blocked direct fire stops; role movement continues. **Proposed:** shooters retain a useful lane briefly or uncover, melee approaches, support follows allies. **Check:** cover buys safety from that line without freezing the pack. | | K02 | The player repeatedly peeks from the same edge. | **Proposed:** sight updates knowledge without restarting the whole squad's decisions. Maintain useful positioning and ordinary cooldowns. **Check:** no peek-triggered global pause and no instant perfect shot on every reappearance. Reaction tuning remains open. | | K03 | The player stays behind known cover. | **Proposed:** suitable actors seek new angles or approach; an existing bombardier may use a valid telegraphed opportunity. Others maintain useful roles. **Check:** pressure develops through understandable routes, not every enemy converging on one corner or firing into a solid wall. | | K04 | The player leaves cover unseen and exits elsewhere. | **Proposed:** investigate the remembered position/plausible exits; broad encounter reassignment may continue pressure but does not update exact aim. **Check:** some enemies can initially look the wrong way; new sight explains correction. | | K05 | One squad member sees a player while another is behind an obstacle. | **Proposed:** share a scoped observation useful for approach; each attacker verifies its own opportunity. **Check:** the occluded member can reposition but cannot use its ally's sight as permission to shoot through geometry. | | K06 | An enemy hears combat without seeing its source. | **Proposed:** use the sound as coarse investigation evidence within the current task. **Check:** hearing can make it approach a relevant region but cannot provide a perfect head-height target through walls. No new stealth subsystem is implied. | | K07 | Player A was seen recently, while player B is now visible. | **Proposed:** keep separate records and choose a useful target with some stability. **Preserve:** a committed attack retains its captured target. **Check:** B's observation does not refresh A's hidden position or bend A's committed shot toward B. | ## Range, terrain and movement failure | Case | Situation | Desired response and future check | | --- | --- | --- | | M01 | A shooter is at ideal distance but cannot fire around cover. | **Proposed:** prefer a reachable useful firing position over an ideal-distance point with no shot. **Check:** it changes angle or reports failure instead of staring at the wall indefinitely. | | M02 | The player is above stairs; the enemy sees them but its muzzle is blocked. | **Proposed:** distinguish perception from weapon clearance and move to a useful landing/angle. **Check:** actual shots clear the stair edge; seeing the player's head alone does not justify wasted fire. | | M03 | The valid stair/ramp route passes closer than preferred firing distance. | **Proposed:** allow nonideal transit where physically safe, while enforcing the attack's actual release rules. **Check:** the enemy completes the route rather than rejecting it solely for crossing a preference; no body clipping or void crossing. This needs explicit treatment of current hard spacing rules. | | M04 | A player rushes into a ranged enemy's personal space. | **Confirmed fallback:** use a short safe escape or reassignment when the existing weapon cannot legally fire; no invented melee or bypassed attack minimum. **Proposed detail:** prefer lateral/backward movement without endless backpedaling or cliff hazards. **Check:** a preferred-distance penalty alone does not become a weapon prohibition; hard attack limits remain binding. | | M05 | Several actors need the same narrow bridge or stair. | **Proposed:** use destination claims, local spacing and bounded yielding. Front actors proceed; rear actors shoot if legal, choose another route or queue briefly. **Check:** movement resumes as space clears, without overlap, jitter or whole-pack deadlock. | | M06 | One player is on disconnected ground or an inaccessible ledge. | **Preserve:** no unsupported jump or warp. **Proposed:** use a legal ranged lane, target another reachable player or accept a new approach task. **Check:** distinguish “seen but unreachable” from “lost sight”; no repeated walking into the edge. | | M07 | Planning work is deferred because the query budget is exhausted. | **Preserve:** continue a still-safe accepted route/action and retry later. **Check:** budget deferral does not count as route failure, erase knowledge, trigger retirement or discard good movement. | | M08 | A selected destination becomes occupied or invalid during travel. | **Proposed:** release only the invalid claim, preserve useful knowledge, and try a bounded alternative. **Check:** no stale reservation or permanent stop; moving obstacles and actor deaths can unblock progress. | | M09 | An ordinary enemy or ordinary elite has no feasible pressure after bounded recovery. | **Confirmed fallback; proposed scope:** retire only while unseen by every player, without kill credit, loot or immediate replacement. Later admissions follow normal budgets. **Check:** actual inability is established, with no valid attack/support contribution; low usefulness, temporary control or deferred work is insufficient. Boss/progression actors are excluded pending their own policy. | | M10 | A stranded enemy is still visible, or every living player is unreachable. | **Preserve confirmed limits:** do not make it visibly vanish, teleport, gain a new weapon or cross unsupported terrain. Retry only for a meaningful condition change while hidden retirement remains unavailable. **Check:** identify the exceptional failure honestly; no fake “productive patrol.” This is a terrain/encounter failure if no legal response exists. | ## Groups, co-op and player builds | Case | Situation | Desired response and future check | | --- | --- | --- | | G01 | A same-type shooter group arrives together. | **Proposed:** establish several useful local positions instead of one shared point or compulsory formation. **Check:** multiple readable lanes, reasonable spacing and no constant position swaps. Synchronized volleys are not part of the baseline. | | G02 | A group contains melee, shooters and a support enemy. | **Proposed:** share pressure purpose but execute different roles: approach, fire, support. **Check:** all contribute concurrently; support does not need a player firing lane and melee does not obey ranged stand-off rules. | | G03 | Two/four players split far apart. | **Confirmed direction:** spread pressure broadly, allowing temporary concentration rather than exact equality. **Proposed detail:** assign groups using reachable opportunities/current pressure. **Check:** one distant player cannot drag every enemy away from the others, and one player is not permanently assigned all threats. Exact allocation remains open. | | G04 | A mobile player repeatedly dashes through and behind a group. | **Proposed:** turn/reacquire and take short useful moves; retain committed attacks and bounded pursuit. **Check:** mobility earns misses/flanks without producing an endless single-file enemy train or instantaneous universal turns. | | G05 | Players alternate damage to rapidly swap aggro. | **Proposed:** use stable target selection with immediate reactions reserved for material threats. **Check:** enemies complete useful actions; every bullet does not reset movement or retarget a charged shot. Target weights remain open. | | G06 | One player is downed and another revives them. | **Preserve:** stop selecting the downed player for new attacks. **Proposed:** pressure a visible living rescuer through ordinary targeting; no dedicated omniscient revive-punishment mode. **Check:** cover, ally control and target removal can create a viable rescue window. | | G07 | A long-range build attacks while moving away from slow melee. | **Proposed:** use other reachable approaches/tasks and future normal reinforcement positions to maintain pressure. Do not secretly accelerate melee or spawn on the player. **Check:** range remains valuable without marooning the entire roster behind the party. | | G08 | A powerful single-target build deletes the support or precision threat first. | **Proposed:** let that removal change the fight immediately; ordinary enemies retain their own roles. **Check:** target prioritization creates a real opening; no instant promotion of a grunt into the removed specialist. | ## Existing role and attack cases | Case | Situation | Desired response and future check | | --- | --- | --- | | R01 | An ordinary tracking bolt has already launched when its target hides. | **Preserve existing projectile contract unless separately changed:** launched flight is independent of new actor decisions and still collides with terrain. **Check:** cover cannot be damaged through, but entering cover does not magically recall a paid projectile. Flight tracking is not the same as the brain learning a hidden position. | | R02 | A melee target dodges during a windup/lunge. | **Proposed:** respect the attack's declared tracking/commitment boundary and collision-safe travel; finish or cancel with readable recovery. **Check:** a correctly timed dodge can work, no snapping through obstacles and no free instantaneous second attack. Exact lunge interruption policy needs specification. | | R03 | A Lancer charges while its target moves or reaches cover. | **Preserve initially:** its declared aim commitment and invalid-shot cancellation, with cue/reservation cleanup and paid cooldown retained. **Check:** no late aim snap or replacement shot without a fresh warning. Do not apply this exact policy to every weapon. | | R04 | Several Lancers target one player amid ordinary fire. | **Preserve initially:** per-player precision-attack reservation. **Proposed:** waiting Lancers reposition or consider other eligible players; ordinary enemies continue. **Check:** dangerous overlap is readable and dodgeable without making the whole encounter take turns. | | R05 | Bombardier faces low ceilings, stairs or a covered player. | **Confirmed:** fire at the most recent visually observed position only for a bounded period, then reposition for a new angle. **Preserve:** validate shell trajectory/first impact. **Check:** no unseen live tracking, warning-to-impact mismatch or endless salvos into obstruction; invalid trajectories can force earlier repositioning. | | R06 | Keeper's current beneficiaries remain useful. | **Preserve initially:** up to two valid stable links, existing eligibility/range/physical-visibility and nonstacking protection rules. **Proposed:** position to serve those allies rather than chase the player. **Check:** readable connections and little unnecessary beneficiary churn. | | R07 | A Keeper's links break or all eligible allies die. | **Preserve:** protection/cues end when invalid. **Confirmed direction:** reassignment first. **Proposed detail:** seek another useful eligible ally through a safe route. **Check:** no permanent solitary idle, invented weapon or shielding of ineligible actors. Role-aware retirement of a reachable but ally-less Keeper still needs its explicit eligibility rule. | | R08 | Two players attack a Bulwark from different directions or break its generator. | **Preserve:** directional shield, vulnerable sides/back and generator opening. **Proposed:** bounded turning toward a chosen threat while advancing as a melee role. **Check:** cooperative flanking works; no instant all-direction defense or healing on task change. | | R09 | Splinterbeast dies in a crowded area or near a stage transition. | **Preserve:** finite valid child admission, no recursive splitting, established reward/progression ownership. **Proposed:** children inherit relevant task context, not a fresh unlimited chase allowance. **Check:** a finite readable aftermath and no duplicate births from late callbacks. | | R10 | Root, slow, stun or knockback interrupts combat. | **Preserve distinctions:** root blocks voluntary translation; slow affects speed; stun interrupts the applicable actions; displacement respects supported collision. **Check:** no hidden speed compensation, root becoming an unintended stun, immunity reset, free attack refund or whole-group pause. | ## Lifetime, networking and completion | Case | Situation | Desired response and future check | | --- | --- | --- | | L01 | An enemy dies after releasing a projectile. | **Preserve:** cancel unreleased work and release its claims; the service-owned projectile follows its bounded existing lifetime/collision rules. **Check:** one attack cannot resolve twice, and shooter cleanup cannot revive an old action. | | L02 | A target disconnects, despawns or is replaced by a reused object. | **Preserve:** invalidate old target identity and pending attacks; select valid living participants. **Check:** a new lifetime cannot inherit an old charge, tether, memory or reservation. | | L03 | Players see attacks under latency. | **Preserve authority; proposed acceptance:** host decides outcomes and clients show consistent cues. **Check:** real two/four-player tests verify commitment, cancellation and damage; a host-only test cannot establish remote dodge fairness. | | L04 | All players are downed, the run ends, the stage changes or the host leaves. | **Preserve session-specific outcome:** end obsolete hostile work and clear transient state according to the existing lifecycle contract. **Check:** no ghost warnings, late damage, cross-stage links or stale claims. Zero eligible targets is not ordinary stranded-enemy retirement. | | L05 | A boss or progression-critical enemy becomes unreachable. | **Confirmed safeguard:** exclude it from ordinary hidden retirement and preserve required defeat. **Proposed detail:** try valid attacks/routes and surface a blocked encounter if none exists. **Check:** neither silently complete the stage nor respawn/heal the boss. The last-resort recovery mechanism still requires specification. | ## Decision status and remaining details The following distinguishes approved direction from details that still need specification: | Decision | Status and working rule | Why it matters | | --- | --- | --- | | Broad guidance versus exact knowledge | Accepted: coarse encounter guidance plus evidence-based individual targeting. | Keeps groups relevant without making cover relocation meaningless. | | Ordinary shooter trapped inside its spacing envelope | Recommended approach accepted: existing weapon legality, otherwise bounded escape/reassignment; no new melee. Exact weapon minimum versus preferred distance remains to specify. | Current hard minimum spacing and desired close-range counterplay must agree. | | Commitment when direct sight breaks | Recommended policies accepted. Separate aim lock, permission to release and already-launched flight for each attack; melee stopping details remain to specify. | Removing pack freeze must not accidentally remove telegraphs, cooldowns or physical validation. | | Bombardier attacking a remembered position | Accepted: latest visually observed position, bounded duration, then reposition. Duration and valid observation suppliers remain to specify. | Gives sustained cover pressure without hidden tracking. | | Pressure distribution across split players | Accepted: broad distribution with temporary local concentration; no strict equal-damage guarantee. | Prevents both permanent focus-fire and exploitable round-robin targeting. | | Meaningful pursuit expiry | Accepted: useful progress/task relevance; a new label cannot renew the same chase. | Makes the pursuit limit real in a moving roguelike encounter. | | Useless but reachable support units | Reassignment-first approach accepted; explicit eligibility for eventual hidden retirement remains to specify. | Avoids making every brief loss of beneficiaries a despawn trigger. | | Boss recovery | Separation from ordinary retirement and required defeat accepted; last-resort recovery still needs specification. | Prevents free wins/resets without pretending blocked navigation is solved. | ### Broad guidance and exact knowledge explained Broad guidance is an encounter assignment such as approaching the north ramp toward the party's general combat region. It keeps a group relevant without requiring personal sight. Exact knowledge is a timestamped visual observation used for a particular target: where that player was actually seen. When the player moves behind a wall, the assignment may remain relevant, but the observed position does not secretly follow them. Guidance must remain coarse enough that unseen relocation can fool local targeting. It cannot be an exact live player position disguised as a task. Actual sight can refresh the target record; an ally report, if permitted, remains distinct from personal weapon clearance. Guidance granularity, update rate and sharing scope still need specification. ### Attack commitment explained Preparation, aim commitment and release are separate. During preparation an attack may track a valid visible target. At commitment its permitted aim or motion locks, giving a dodge/counter window. Release still obeys that attack's cancellation and physical-validation rules. A committed attack is not automatically obliged to fire if the target becomes invalid or terrain blocks the shot. The accepted baseline is to cancel or withhold an obstructed unreleased ordinary shot while repositioning. Lancer retains its no-late-aim-snap and invalid-shot cancellation initially. Melee lunge needs its own allowed tracking and stopping rule. Already launched projectiles retain their independent flight/collision contract. These are replacement design policies, not behavior implemented by the teardown branch. ### Bombardier memory window Recommended specification detail for the accepted behavior: measure the allowed remembered-fire period from the most recent qualifying visual observation. Shots, retries and task renaming cannot restart that period. Fresh actual sight can update the recorded location/time; the exact sharing scope remains open. Once a shell or telegraphed attack commits, later observations cannot silently drag that committed attack onto a new hidden location. When the window expires, stop beginning remembered-location attacks and choose a reachable position to regain a useful angle. An already launched shell may finish normally. If no viable trajectory exists earlier, reposition earlier rather than waste the entire window firing into obstruction. Repositioning alone does not refresh stale evidence or allow another full window against the same old location. The duration is configurable and still untuned. No exact reaction time, chase distance, overlap cap, search duration, claim lifetime or retirement timeout is established by the research. They need named tuning parameters and observable criteria, rather than guessed commercial-game values or a large generic configuration framework. ## First play scenarios to agree on Start with five short comparisons: wall/alternate exit (K01–K05), stairs and temporary close transit (M01–M04), narrow bridge throughput (M05/M08), moving/split party (P02–P04/G03–G04), and stranded actor recovery (M06/M09–M10). Then test mixed-role interactions, builds, revive and boss/lifecycle cases. For each, ask whether the enemy's action was useful, whether the player could understand it, whether a reasonable counter worked, and whether pressure continued without impossible movement or concealed rule changes. Compare solo and four-player play. Human feel/readability, native navigation and network correctness need separate evidence. ## Basis and review record This catalogue applies the [Destiny research](../../Research/2026-10-13-destiny-enemy-ai-research.md) and [cross-game compatibility study](../../Research/2026-10-13-destiny-compatible-ai-gap-research.md). Those reports identify original developer sources and distinguish documented mechanisms from proposed adaptations. No claim here implies Bungie ships this exact roguelike design. Current-contract checks used the [project brief](../../PROJECT_PLAN.md), [roster plan](../../superpowers/plans/2026-10-08-pack-ai-and-enemy-roster.md), [roster validation](../../ENEMY_ROSTER_VALIDATION.md), and the existing brain, movement, targeting, status, Keeper, Lancer, Bulwark and split source. Current behavior is context, not a requirement to transplant every old exception. Three independent read-only perspectives supplied technical/lifecycle, gameplay and design/UX cases. Lead reconciliation replaced their initial static-territory return suggestions with the user's later moving-pressure direction. Those suggestions are withdrawn in this catalogue. The user additionally selected hidden retirement after confirmed failure. Exact retirement eligibility and boss exclusions remain part of the proposed specification boundary, as identified above. Scope: one discussion document, preserving runtime/assets and existing edits. Checks: source/brief consistency, scenario identifiers, relative links and document readback. No Unity operation, runtime change, test or build was performed. This is not the final implementation specification or proof that these responses work in the game.