# Tourismustal — Aufbausimulation für GeoGraSim

Skigebiet-/Tourismus-Aufbausimulation im Stil klassischer Aufbauspiele (Siedler-artig),
aber mit transparentem, erklärbarem Modell. Zielgruppe: 3. Klasse Sek I (13–14 J.).

## Lehrplan-Anker (GW-Lehrplan 2023, AT)

- 3.5–3.7 Standortfaktoren und Folgen von Ansiedelungen
- 3.6 Tourismusregionen charakterisieren
- 3.17 Raumnutzungskonflikte und Raumplanung
- 3.15/3.16 Zentren und Peripherien, Lebensqualität
- 1.9/2.1 Klimawandel-Folgen (Schneegrenze, Szene 3)
- Zentrale Konzepte: Interessen & Macht, Leistungserstellung & Nachhaltigkeit

## Spielprinzip

- Kleine Iso-Karte (18×18) eines Alpentals: Berg oben, Talstraße mit Dorf,
  Kirche, Fluss und Brücke unten. Kamera startet nah am Dorf.
- **Kleine Schritte (Siedler-Prinzip):** Am Anfang gibt es nur das Gasthaus.
  Meilenstein-Karten schalten nach und nach frei: Lift → Bushaltestelle →
  Hotel → Personalhaus → Beschneiung. Auch Kennzahlen, Skipass-Regler,
  Ziele und Graph erscheinen erst, wenn sie relevant werden.
- **Laufende Zeit** mit Zeitskala (Pause/1×/2×/4×), 1 Tag = 2 s bei 1×.
  Auto-Pause bei Event-Karten. Start im Sommer (ruhige Aufbauphase),
  der erste Winter wird zur Bewährungsprobe.
- **Bekanntheit** wächst langsam – das Tal muss sich herumsprechen; dämpft
  das Wachstum und gibt dem Spiel ein ruhiges Pacing.
- Infrastruktur mit sichtbarem Kontext: Bushaltestelle nur an der Talstraße
  (animierter Bus fährt), Beschneiung nur nahe am Fluss, Piste/Schneise
  entsteht über dem Lift (Gondeln fahren).
- Wirtschaftskette sichtbar: Anreise → Kapazität (Lift/Wege) → Betten →
  Personal (braucht Wohnraum) → Einnahmen minus Betriebskosten.
- „Tagesbericht": schlüsselt die Rechnung des Tages in einfacher Sprache
  auf (Modell bleibt für Schüler nachvollziehbar und modellierbar).

## Szenen (data-driven, `js/data.js`)

1. **Pionierzeit 1975** — erstes Skigebiet aufbauen (MVP, umgesetzt)
2. **Boom 2000** — Wachstum vs. Naturschutz, Bürgerinitiative (geplant)
3. **2035 Schneegrenze steigt** — Umstieg auf Ganzjahrestourismus (geplant)

## GUI (Vorgabe)

iPad-first (80 % iPads, Rest PC), Touch-Targets ≥ 44 px. Karte vollflächig im
Hintergrund, UI schwebt darauf: oben Headline (Home, Sound, Musik, Onboarding,
Zeitskala), links Kennzahlen, rechts Bau-Menü, unten Zeit-Graphen, Events als
Center-Cards (gesammelt, über Glocke abrufbar). Stil: Nordic, flat —
Grün/Beige/etwas Orange. Platzhalter-Grafik per Canvas, später KI-Sprites.

## Telemetrie (Lehrer-Dashboard, später PHP/DB)

`js/telemetry.js` loggt: Session-Start, Bauentscheidungen (+Ablehnungen mit
Grund), Zeitskala-Nutzung, gelesene Events/Berichte, Kennzahlen-Verlauf.
Stub `flush()` wird bei Integration auf POST an Backend umgestellt.


## Stand 7.7.2026 (Feature-komplett)

Rechteckiges Spielfeld (Kernzone + Bergrahmen, randlos gefuellt, Kamera-Clamp, dynamische Zoom-Grenzen). Transparenz: Tagesbericht als Tabelle, Engpass-Zeile, Berater-Hinweise, Erst-Bau-Erklaerkarten, Sims-Gedankenblasen (1 Figur=10 Gaeste). Ausbau ueber Gebaeude-Klick, 4 Stufen mit Wimpelgirlande/Stern/Glanz. Personal als sichtbare pendelnde Figuren + Auslastungspunkte. Lage-Effekte (Lift=Basis, Einflusskreise mit Versorgungslinien, Hoehenlage-Schnee, Skiverbund, Synergie). Schrittweiser Schnee-Rueckzug pro Lift. Saisonale Betriebskosten gegen Pleite-Spirale. Tests: model-test/smoke/views (alle gruen).

## Roadmap

- [x] Grundgerüst: Iso-Renderer, Zeit-Engine, UI-Layout, Bau-System, Modell v1
- [x] Wetter/Schnee-System, Beschneiung (braucht Flussnähe), warmer Winter
- [x] Skipass-Preis mit Nachfrage-Elastizität (Angebot & Nachfrage)
- [x] Ziele + Frist (Ende 1979), Sieg-/Bilanz-Karten, Abriss-Werkzeug
- [x] Szenenwahl-Screen (Szene 2+3 als Platzhalter), Onboarding
- [x] Ambiente: Himmel, Bergkulisse, Wolken, Schneefall, Fluss, Dorf,
      Pisten/Schneisen, Lift mit fahrenden Gondeln, Ski-Figuren
- [x] WebAudio-Sound + Ambient-Musik (ohne Dateien)
- [x] Tests: `node tests/model-test.mjs` (600-Tage-Balancing),
      `node tests/smoke.mjs` + `node tests/views.mjs` (Playwright, braucht
      Server auf Port 8123, z.B. `python3 -m http.server 8123`)
- [x] KI-Sprites (gpt-image-1, transparent) via `tools/generate-sprites.mjs`,
      Renderer mit Vektor-Fallback
- [x] KI-Sounds + saisonale Ambience (ElevenLabs) via
      `tools/generate-sounds.mjs`, WebAudio-Player mit Synth-Fallback
- [x] Spielgefühl: Kamera-Momentum, sanfter Zoom, geglättetes Höhenfeld,
      Spielzeit-gekoppelte Animationen, Skifahrer-Verhalten (Gehen → Sessel →
      Abfahrt), Iso-Bus auf Talstraße, schwebende Tagesbilanz
- [x] Spaß-Mechaniken: Entscheidungs-Karten mit A/B-Wahl und echten Folgen
      (Skirennen, Sommerfest, Aufforstung, Reisegruppen) + Mini-Aufträge mit
      Belohnung (6 Stück, sequenziell)
- [x] Szenen 2 + 3 spielbar (data-driven in `js/data.js`): Boom 2000
      (Wachstum vs. Natur, Übertourismus, Vorbauten, alle Gebäude frei) und
      Schneegrenze 2035 (steigende Warmwinter-Chance, schnellere Schmelze,
      neues Gebäude Panoramaweg für Ganzjahrestourismus, Sommergäste-Ziel)
- [x] Talname wählbar (Startbildschirm), erscheint in Titelleiste
- [x] Sichtbare Saisonhöhepunkte: Skirennen (Slalomtore, Zielbanner,
      Zuschauer) und Sommerfest (Wimpelkette, Marktstände) nach Entscheidung
- [x] INFO.md: Bauplan/Anleitung für weitere Sims (Layout, Stack, Pipelines)
- [ ] Balancing-Feinschliff mit echten Schülergruppen
- [ ] Integration ins PHP/DB-System (Telemetrie-POST, Login, Home-Button)
