Fleet tier

Scenario Builder

Describe a mission in plain English — map, target, threats, player aircraft — and the engine builds a real DCS .miz to match.

The /scenarios/new form with all sections

What it does (vs. /build)

The recipe-driven /build flow picks fragments from a 54k-piece library by role. Scenario Builder is for when you need specific controlthe recipe flow can't give you:

  • Target by location. “Strike a comms site near Damascus, ≤120 NM from Ramat David.”
  • Red CAP by airframe. Want only F-5E + MiG-29 + Su-27 as the hostile fighters? Specify them.
  • Player roster you actually want. Pick the F-16 + F/A-18 + F-14 + F-15E mix; the base seed's slots are stripped and replaced.
  • Briefing in your words. Write the mission narrative; it lands in the briefing verbatim.

⚡ Natural-language parsing

On /scenarios/newthere's a textarea at the top. Type your mission as you'd describe it to a wing-mate:

“Destroy a bio-lab deep in Syria. Pilots can fly F-16, F-18, F-14, F-15E, MiG-29. Enemy CAP flies F-5s, MiG-29s, Su-27s. SAMs along the route. Strike target within 120 NM.”

Click Parse & fill form and Claude (Haiku 4.5 under the hood) extracts a structured spec from your prose — DCS-canonical aircraft types, sensible blue-base for the map, era inference, narrative briefing — and pre-fills the form below. Tune anything before saving.

How to use it

  1. Open /scenarios and click New scenario.
  2. Optional: type your scenario in the natural-language textarea at the top, hit Parse & fill form, and the form below auto-populates.
  3. Mission basics: name, map, era (Modern / ColdWar / WWII), time of day, weather.
  4. Launch field & range: pick your blue base airfield. Default 250 NM max strike distance — typical fast-jet combat radius with bag tanks.
  5. Target: auto-pick by hint (e.g. “damascus industrial”) or set explicit coordinates. Available landmarks per map are listed in the form.
  6. Player slots: add one row per aircraft variant. Mix coalitions for asymmetric scenarios.
  7. Red threats: enable CAP / SAM / AAA. CAP airframes are user-chosen — only those types spawn as enemy fighters.
  8. Blue support: AWACS + tanker toggles.
  9. Narrative: write your briefing. Lands in the .miz verbatim.
  10. Click Save scenario → land on the detail page → Build .miz.

Building a 60-player roster? Use Build async (large) on the detail page — it submits the build to a queue, returns immediately, and polls for completion every 2s with a 5-min cap. Avoids the 30s API request timeout that would otherwise kill big-scenario builds.

What gets generated

The pipeline produces a doctrine-compliant .miz with:

  • Static target complex at the picked coordinates (4-piece industrial cluster — warehouse + comms + tank + TACAN beacon).
  • Player groups at your blue base — base seed's slots are stripped first, yours are added with proper PLR_<COAL>_<BASE>_<TYPE>_NN naming.
  • Synthetic red CAP flights from a red airfield, patrolling near the strike route. Era-correct DCS unit types.
  • Red SAM batteries from the 54k-fragment library — real radar-equipped SA-3 / SA-6 / SA-10 / SA-11 sites with crew + spacing realism, not synthetic emplacements. Falls back to synthetic when the library is sparse for the requested era + density. Density: light=1, normal=2, hard=3 batteries.
  • Red AAA point defense at the target site (ZSU / Vulcan / Ural-23).
  • Blue AWACS + tanker with sane orbit positions and TACAN ch 25 X.
  • Briefing with your narrative, target description, distance, threat list.

Worked example: bio-lab strike

“Destroy a bio-lab deep in Syria. Pilots can fly F-16, F-18, F-14, F-15E, MiG-29. Enemy CAP is F-5 / MiG-29 / Su-27. SAMs along the route. Strike target ≤120 NM from blue start.”

That scenario maps directly to the form: map=Syria, blue_base=Ramat David, max=120, target near “damascus industrial”, player_slots = F-16/F-18/F-14/F-15E/MiG-29 ×2 each, red_cap airframes = [F-5E-3, MiG-29A, Su-27], red_sam density=hard. Build → .miz with all of the above.

Aircraft type names

Aircraft fields take DCS-canonical type names. Common ones:

F-16C_50FA-18C_hornetF-14BF-15ESEF-15CA-10CAV8BNAJF-17M-2000CMiG-29AMiG-21BisMiG-23MLDSu-27Su-33Su-25TF-5E-3F-86F SabreMiG-15bisP-51DBf-109K-4FW-190A8SpitfireLFMkIXAH-64D_BLK_IIMi-8MT

Mistyped types are silently dropped by DCS at load — if a slot is missing, check the spelling.