Files
geograsim/App/sims/heli/docs/audio-drehbuch-regelwerk.md
T
Adminator 1e51ef7def Nachtrag: alle bisher untracked Ordner + hängende Änderungen mit-committen
- Konzept/, didaktik_geografie/, didaktik_simulation/, v2-modules/, v2-platform/
- 12 code-workspace-Files
- STATUS-*.md
- viele M/D/R-Änderungen an bereits getrackten Files
- .gitignore verstärkt: **/.humaninput/, **/secret_keys.txt

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-08 02:27:02 +02:00

196 lines
7.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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_<mid>` ersetzt die alten langen `r_mission_geo_<mid>` + `r_mission_start_<mid>` 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_<key>` (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_<x>` (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_<mid>` | ~12 s | ✓ |
| Pro Wegpunkt (Tower+Geo) | `r_wp_geo_<wpkey>` | 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_<helikey>` | ~8 s |
| Pilot-Bestätigung | `r_pilot_call_<helikey>` | ~6 s |
| Strike (situativ) | `r_tower_strike_<helikey>` | ~5 s |
| Übernahme (situativ) | `r_tower_handover_<helikey>` | ~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_<key>` | ~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_<scen>` | ~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