# Heli-Audio-Drehbuch — Regelwerk V3 Stand: 2026-05-31 · Atlas · Status: aktives Konzept ## Zweck Akustische Inszenierung jeder Heli-Mission, die **schnellen wie langsamen Spielern** gerecht wird — ohne Audio-Inhalt zu verlieren. ## Designkonflikt (aus V1 gelernt) Bei M1 Damüls dauerte das Plan-Audio fast 2 Minuten. Thomas hat die Routenplanung in 15 Sekunden geklickt. → Audios kommen entweder nie zum Spielen oder spielen lange nach Plan-Ende weiter. **Beides falsch.** ## Lösung V3 — Skip + Nachhol **Grundregel:** Audios werden **nie gekürzt** (Inhalt bewahren). Aber: - Übersprungene Audios werden in eine **Nachhol-Queue** gepackt - In den natürlichen Pausen (Abflug / Flug / Anflug) werden sie nachgeholt — mit Vorab-Text „Übrigens, beim Überflug von X …" - Wenn die Nachhol-Queue zu lang ist, wird das Flugtempo **automatisch gedrosselt** ## Architektur ### 1. Mission-Eröffnung (kompakt, ~12 s) NEU: `r_mission_intro_` ersetzt die alten langen `r_mission_geo_` + `r_mission_start_` in der Plan-Phase. Inhalt: - Notfall-Art + Ort (1 Satz) - Stützpunkt + Ziel - Hinweis aufs Ziel-Marker („auf der Karte rot markiert") - Bereitschafts-Frage / Tower-Übergabe Beispiel M1: *„Notarzteinsatz Skiunfall Damüls. Wir starten in Nenzing, unser Ziel ist die Bergrettung Damüls — auf der Karte rot markiert. Tower an Crew: bereit zur Routenplanung?"* ### 2. Routenplanung (schlank) Pro Wegpunkt: - **Tower funkt den Wegpunkt** (kombiniert mit Geo-Info, max ~5 s) - Beispiel: *„Weiter über Thüringen — Walgauer Gemeinde am Eingang zum Großen Walsertal."* - **Klick richtig:** Klickgeräusch (200 ms), KEIN Audio - **Klick falsch:** Kurzer Pilot-Hinweis (max 3 s) - *„Nicht ganz — weiter östlich."* **Skip-Mechanik:** - Wenn Spieler **klickt während Audio noch läuft**: Audio wird abgebrochen - Wenn Spieler **richtigen Wegpunkt klickt obwohl Audio noch nicht gestartet**: Audio wird in `missedAudios`-Queue gepusht - Tower-Audio für den nächsten Wegpunkt wird sofort gequeut **Plan-Ende:** - `r_nav_plan_done` (~5 s) — „Plan vollständig — Startfreigabe in Kürze." ### 3. Abflug-Phase (Cockpit) Eigene Audios (Tower-Freigabe, Pilot-Bestätigung). Dazwischen Pausen → **erste Nachhol-Slots**. ### 4. Flug-Phase (Karten-Animation, längste Pause) **Hauptzeit für Nachhol-Queue.** Plus: - `r_nav_heli_intro_` (Crew-Vorstellung der Region) — am Anfang - `r_nav_altitude_*` (situativ) - `r_nav_fuel_half` (Halbzeit) - `r_im_zielgebiet` (kurz vor Landung) **Tempo-Drossel:** wenn `missedAudios.length × 7s > flightDuration × 0.7` → `flightSpeed = 0.7x` ### 5. Ziel-Anflug + Landung Letzte Nachhol-Items, dann Caution + Landung-Sequenz. ## Vorab-Text (5 rotierende Templates, Variante B) 5 kurze (~2 s) Intro-Audios, die VOR dem Original-Nachhol-Audio gespielt werden: | Intro-ID | Text | |---|---| | `r_nachtrag_a` | *„Übrigens — kurzer Nachtrag noch."* | | `r_nachtrag_b` | *„Da fällt mir noch etwas ein."* | | `r_nachtrag_c` | *„Ich wollte dir noch sagen —"* | | `r_nachtrag_d` | *„Ein kleiner Geo-Hinweis noch."* | | `r_nachtrag_e` | *„Schau, was wir da gerade überflogen haben —"* | Sequenz: `r_nachtrag_` (2 s) → 0,5 s Pause → Original-Audio (5-10 s). Im Funk-Pille zeigt sich ein Label „**Nachtrag**" statt der normalen Sprecher-Bezeichnung. ## Level-Mechanik (didaktische Tiefe) | Level | Wegpunkt-Markierung | Tower-Anweisung | Audio-Menge | |---|---|---|---| | **L1** Einfach | Große rote Pulse-Marker, exklusiv | Wegpunkt-Name + Geo-Info | viel | | **L2** Mittel | Kleine orange Marker unter Standard-POIs | Nur Wegpunkt-Name (keine Geo) | mittel | | **L3** Schwer | NICHT markiert — verschmelzen mit allen POIs | Nur Richtungs-Hint („Richtung Süden") | wenig | L2/L3 bauen wir später — V3 fokussiert auf L1. ## Audio-Slots pro Phase ### Phase 2 — PLANUNG | Slot | Audio-ID | Dauer | Pflicht | |---|---|---|---| | Mission-Intro | `r_mission_intro_` | ~12 s | ✓ | | Pro Wegpunkt (Tower+Geo) | `r_wp_geo_` | max 5 s | ✓ | | Klick richtig | Klickgeräusch | 200 ms | ✓ | | Klick falsch | `r_nav_plan_wrong_near/far` | max 3 s | optional | | Plan-Ende | `r_nav_plan_done` | ~5 s | ✓ | **Skipped Audios** → `game.missedAudios` Queue. ### Phase 3 — ABFLUG | Slot | Audio-ID | Dauer | |---|---|---| | Tower-Startfreigabe | `r_tower_start_` | ~8 s | | Pilot-Bestätigung | `r_pilot_call_` | ~6 s | | Strike (situativ) | `r_tower_strike_` | ~5 s | | Übernahme (situativ) | `r_tower_handover_` | ~8 s | | Start erfolgreich | `r_start_erfolg` | ~5 s | | **Nachhol-Slot** (in Pause) | `r_nachtrag_X` + queued | ~7-10 s | ### Phase 4 — FLUG | Slot | Audio-ID | Dauer | |---|---|---| | Crew-Vorstellung | `r_nav_heli_intro_` | ~12 s | | Höhen-Info | `r_nav_altitude_mountain/valley` | ~6 s | | Treibstoff | `r_nav_fuel_half` | ~5 s | | Wetter (situativ) | `r_nav_weather_enter` | ~7 s | | **Nachhol-Slots** (Hauptzeit) | `r_nachtrag_X` + queued | ~7-10 s each | | Im Zielgebiet | `r_im_zielgebiet` | ~6 s | ### Phase 5 — RETTUNG (LANDUNG) | Slot | Audio-ID | Dauer | |---|---|---| | Anflug | `r_land_approach` | ~7 s | | Caution | `r_caution_` | ~8 s | | Winde runter | `r_land_winch_down` | ~5 s | | Retter unten | `r_land_rescuer_down` | ~6 s | | Warteschleife (Filler) | `r_warteschleife` | ~5 s | | Patient versorgt | `r_land_rescuer_ready` | ~5 s | | Patient an Bord | `r_patient_aboard` | ~5 s | | Kurs Klinik | `r_kurs_klinik` | ~6 s | ### Phase 6 — AUSWERTUNG | Slot | Audio-ID | |---|---| | Mission erfolgreich | `r_mission_success` | ## Was muss neu produziert werden ### Neue Audio-Texte (TTS-Run nötig) 1. **5 Vorab-Intros** (Variante B): - `r_nachtrag_a`, `r_nachtrag_b`, `r_nachtrag_c`, `r_nachtrag_d`, `r_nachtrag_e` 2. **5 fehlende WP-Geo-Audios** (aus Validator-Bericht): - `r_wp_geo_zwischenwasser` (M1) - `r_wp_geo_felswand_raetikon` (M3) - `r_wp_geo_bodensee_bregenz` (M5) - `r_wp_geo_schlucht_mellau` (M6) - `r_wp_geo_kaiser_kufstein` (M7) 3. **25 Mission-Intros** (NEU): - `r_mission_intro_m1` bis `r_mission_intro_m25` ### Re-Generation existierender Audios - Alle 16 `r_tower_handover_*` und `r_mission_abort` → „Chefpilotin"-Text - `r_caution_berg_fels`, `r_caution_berg_fels_m` → „kann Steinschlag verursachen" - 13 audio-texts.json-Einträge mit ASCII-Umlauten - 14 `r_pilot_call_*` mit Marlene-Stimme statt verschiedener Pilot:innen **Schätzung Total:** ca. 70 MP3-Generierungen, Kosten ~3-5 €. ## Aufwandsplanung | Phase | Aufwand | Wer | |---|---|---| | Audio-Texte schreiben (5+5+25 = 35 Texte) | 1-2 h | Atlas | | Texte mit Thomas reviewen | 1 h | gemeinsam | | Code: Skip-Detection + missedAudios-Queue | 2 h | Atlas | | Code: Pump-Logik in Flight/Landing | 1 h | Atlas | | Code: Vorab-Intro-Logik (Variante B) | 1 h | Atlas | | Code: Tempo-Drossel | 30 min | Atlas | | TTS-Run für alle neuen + gefixten Audios | 30 min + ~5 € | Atlas (Skript) | | Test gemeinsam | 1-2 h | gemeinsam | | **TOTAL** | ~8-10 h | | ## Status & nächste Schritte - [x] Konzept V3 dokumentiert - [ ] Audio-Texte entwerfen (35 Stück) - [ ] Thomas-Review der Texte - [ ] Code-Implementierung (Skip + Nachhol + Tempo + Vorab-Intro) - [ ] TTS-Run - [ ] Test