# Putting it all together

## Overview

The **power of Runtime Spawner** comes from combining three systems:

1. **Runtime Spawner** – the foundation. Handles normal enemy spawning (randoms, waves, zones).
2. **Spawn Director** – controls *pacing* via Intensity Profiles. Escalates or calms pressure.
3. **Special Encounter Manager** – injects high-impact moments (special enemies, minibosses).

Together, these systems create adaptive, replayable encounters where pacing and threats feel *directed* — much like **Left 4 Dead’s AI Director**, **GTFO’s mission waves**, or **Payday’s special forces spawns**.

***

## Core Loop

The flow of decisions can be summarized like this:

```
[SpawnDirector sets pacing]
      ↓
[Runtime Spawner emits regular enemies at tuned rate]
      ↓
[SpecialEncounterManager checks rules]
      ↓
[Special enemies spawn under specific conditions]
      ↓
[Players experience a dynamic mix of baseline + spikes]
```

***

## Example Scenarios

**1. Left 4 Dead – Rolling Pressure with Specials**

* **Spawner**: baseline zombie trickle
  * Global spawn window: 3–6s
  * Alive cap: 15
* **Director**: intensity steps escalate over time
  * Step 0: Calm → 5 alive cap, long spawn windows
  * Step 1: Escalation → 10 alive cap, shorter windows
  * Step 2: Finale → 20 alive cap, rapid spawns
* **Specials**: rare threats injected periodically
  * Flanker (Hunter): appears if HP < 70%, step 1+
  * Pinner (Smoker): requires no LOS, long cooldown
  * Tank: cooldown 180s, pressure > 50, step 2 only

Result: A constantly shifting mix of baseline zombies and surprise specials that adapt to player state.

***

**2. GTFO – Timed Waves + Pressure Specials**

* **Spawner**: waves triggered by alarms or objectives
  * Wave rate multiplier: scaled by profile step
* **Director**: *AutoByTime*
  * Every 60s, step escalates
* **Specials**: triggered when pressure spikes
  * Giants spawn only if many enemies are already alive
  * Sleepers spawn at long distance, require no LOS

Result: Waves build tension on alarms, and specials ensure punishment if players take too long.

***

**3. Payday – Specials as Counters**

* **Spawner**: constant baseline cops
* **Director**: step progression tied to objectives
  * Step 0: Break-in = low intensity
  * Step 1: Bag carry = higher intensity
  * Step 2: Escape = peak pressure
* **Specials**: tactical counters
  * Cloaker: appears when a player strays > 20m from group
  * Bulldozer: HP > 50% and pressure high
  * Shield: spawns tagged `"Frontline"` zones

Result: Specials act as *role disruptors*, forcing the team to adapt mid-heist.

***

## Design Tips

* **Use Director for the baseline curve**\
  – How much pressure should players *feel* at each stage?
* **Layer Specials sparingly**\
  – Specials work best when rare, surprising, and conditional.
* **Mix step ranges + cooldowns**\
  – This prevents “stacking” and keeps pacing varied.
* **Experiment with tags**\
  – Spawn tags let you design *roles* for specials: flanks, ranged threats, boss zones.

***

## Takeaway

By combining these three systems, you can design encounters that:

* Escalate over time without manual scripting
* Respond to player health/pressure
* Mix baseline enemies with rare but memorable specials

This is the foundation of **emergent scenario design** — and can be reused across survival, horde, wave-defense, and co-op shooters.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://megacrush.gitbook.io/megacrush-unity-assets/runtime-spawner/runtime-spawner-user-manual/getting-started/putting-it-all-together.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
