- 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>
9.7 KiB
von, an, datum, status, betrifft
| von | an | datum | status | betrifft |
|---|---|---|---|---|
| thomas (via logistik-instanz vorbereitet) | busfahrt | 2026-05-02 23:55 | neu | Kickoff-Briefing — neue Simulation „Busfahrt" (Topografie Europa, Distanz-Schätzung) |
Kickoff: Simulation „Busfahrt"
Willkommen, Busfahrt-Instanz. Du baust ein neues, bewusst kleines Modul für GeoGraSim. Ziel: Schüler*innen lernen Hauptstädte, Staaten und Entfernungen in Europa, indem sie für ein Busunternehmen Touren-Aufträge abarbeiten.
Thomas hat ausdrücklich gewünscht, dass diese Simulation einfach bleibt — sie soll innerhalb einer Programmiersession funktionieren. Komplexitäts-Hütchen: Wirtschaft, Multi-Tag, Multi-Fahrzeug → erst später.
1. Mission
Ein Busunternehmen erhält Aufträge: „Fahre nach Paris (Hauptstadt von Frankreich)." Der/die Bearbeiter*in tippt die Stelle auf der Karte. Abweichung in km wird gemessen. Drei Versuche. Danach Info-Card zur Stadt. In der Voll-Variante (Phase 2): Kilometer schätzen, Angebot kalkulieren, gegen Konkurrenz-Preise antreten.
2. Lernziele (AT GW Sek I)
| # | Lernziel | Lehrplan-Bezug |
|---|---|---|
| 1 | Hauptstädte und Staaten Europas auf der Karte verorten | 1./2. Klasse — Räumliche Orientierung, Topografie Europas |
| 2 | Entfernungen zwischen europäischen Städten grob in km schätzen | 2./3. Klasse — Maßstab, Distanz, Luftlinie |
| 3 | Distanz↔Preis-Zusammenhang erkennen, einfaches Angebot kalkulieren | 3. Klasse — Mobilität, Wirtschaft, Verkehrsräume |
| 4 | Kulturelle Eigenheiten europäischer Hauptstädte (Bevölkerung, Sprache, Kuriosum) | Querschnitt — Allgemeinbildung, Vielfalt Europas |
Lehrplan-Anker via Lehrplan-Instanz nachpflegen lassen
(_inbox/lehrplan/ mit Begriffsbedarf-Anfrage anpingen).
3. Mechanik
Phase 1 (MVP — die erste Session)
Auftrags-Loop pro Auftrag:
- Auftrag erscheint als Card oben/links: „Fahre nach Paris — Hauptstadt von Frankreich. Hinweis: liegt am Fluss Seine."
- Optional vorgelagerte Single-Choice-Frage bei Hauptstadt-Aufgaben: „Wie heißt die Hauptstadt von Frankreich? □ Paris □ Madrid □ Rom" (3–4 Optionen, eine korrekt). Falsch = Hinweis, dann Klick auf Karte.
- Karte tippen (Leaflet/OSM): Touch/Click setzt Marker, Distanz-Mess- Linie zeigt Luftlinie zur tatsächlichen Position (erst NACH Tap, nicht vorher als Live-Hilfe).
- Bewertung pro Versuch:
- < 50 km → Treffer (Volle Punkte)
- 50–200 km → ungenau (halbe Punkte)
-
200 km → daneben (kein Punkt, Versuch verloren)
- Drei Versuche. Bei Fehlversuch ein Hinweis (z.B. „Du bist 280 km zu östlich" oder Himmelsrichtung anzeigen).
- Info-Card nach Auflösung: Stadtname, Land, Bevölkerung, kurze
3-Zeilen-Beschreibung, Bild (DALL-E im offiziellen Bildstil — siehe
Memory
reference_bildstil.md).
Score-System (MVP): Punkte pro Auftrag (3 / 1 / 0 je nach Treffer). Insgesamt 8–10 Aufträge pro Level → max 30 Punkte. Sterne-Auswertung am Ende.
Phase 2 (Erweiterung — zweite Session)
Wirtschaft drauf:
- Nach Karten-Treffer öffnet sich Rechnungs-Maske: „Wie viele km muss der Bus fahren? Bitte Angebot kalkulieren."
- Schüler*in tippt Schätzung ein (km).
- Konkurrenz-Mechanik: System zeigt verdeckten Konkurrenz-Preis (z.B. 95 % der echten Distanz × Tarif). Wenn eigene Schätzung höher → Auftrag verloren (kein Geld). Wenn niedriger → Auftrag gewonnen, aber Marge sinkt mit jedem km Differenz.
- Budget über mehrere Aufträge statt Punkte: Startbudget 5 000 €, am Ende soll mindestens 7 500 € stehen.
Phase 3 (Polishing — optional)
- OSRM-Streckenführung wie in Logistik. Bisher rechnen wir mit
Luftlinie × 1.3 (Aufschlag analog Logistik L1). In Phase 3 echte
Streckenführung über
App/assets/data/lg-roadnet.jsonoder OSRM-API, damit Schüler*innen verstehen: „durch Berge ist's länger als Luftlinie". - Luftlinien-Mess-Tool als Hilfsmittel: Schüler*in kann VOR dem Tap auf zwei Punkte tippen und bekommt Luftlinie angezeigt — Hilfe für Schätzung in Rechnungs-Maske.
4. Aufgabentypen
Vier Typen, in steigender Schwierigkeit:
| Typ | Beispiel | Hinweis-Form |
|---|---|---|
| A Hauptstadt direkt | „Fahre nach Paris" | Stadtname genannt |
| B Hauptstadt via Land | „Fahre in die Hauptstadt von Frankreich. Wie heißt sie?" (Single Choice) | Land genannt, Stadt erraten |
| C Stadt direkt (kein Hauptstadt) | „Fahre nach Hamburg" | Stadtname genannt |
| D Beschreibungs-basiert | „Fahre in die größte Stadt Skandinaviens" | Schüler*in muss schließen |
Levels:
- L1 — DACH: AT, DE, CH, IT, FR, BE, NL — Aufgabentypen A + B (8 Aufträge).
- L2 — West-/Mitteleuropa: + Skandinavien, Iberien — alle Typen (10 Aufträge).
- L3 — Ganz Europa: + Osten, Balkan, Türkei — alle Typen, Typ D häufiger (12 Aufträge).
5. Daten-Struktur
assets/data/cities.json
[
{
"id": "paris",
"title": "Paris",
"country": "Frankreich",
"isCapital": true,
"lat": 48.8566,
"lon": 2.3522,
"population_million": 2.1,
"infoText": "Paris liegt an der Seine. ...",
"imagePath": "assets/img/cities/paris.png",
"level": 1
}
]
Erstausstattung: 30–40 europäische Städte/Hauptstädte. Bilder dazu im
Bildstil (siehe Memory reference_bildstil.md). Mehrere existieren
schon in App/sims/logistik/assets/cities/_original/ (paris.png,
berlin.png, madrid.png, london.png … ~50 Stück) — diese
wiederverwenden, nicht neu generieren.
assets/data/orders.json
[
{
"id": "ord-1",
"level": 1,
"type": "A",
"cityId": "paris",
"prompt": "Fahre nach Paris — Frankreichs Hauptstadt liegt an der Seine.",
"tariffPerKm": 1.20,
"fixedFee": 200
}
]
Schätzungs-Schwellen für Bewertung
const HIT_THRESHOLDS = {
PERFECT: 50, // < 50 km Abweichung = volle Punkte
OK: 200, // 50–200 km = halbe Punkte
// > 200 km = Fehlversuch
};
6. Tools
- Leaflet 1.9.4 mit Carto Positron via tile-proxy
(
App/php/tile-proxy.phpexistiert schon, von Logistik mitgenutzt) - Marker-Pins für eigene Tipps, Ziel-Marker erscheint erst NACH Auflösung
- Distanz-Polyline zwischen Tap und echter Position (Luftlinie)
- Optional Phase 2: Lineal-Tool zum Vorab-Messen (Tap A + Tap B → Luftlinie in km anzeigen)
7. Wiederverwendung aus Logistik
| Was | Pfad |
|---|---|
| Tile-Proxy | App/php/tile-proxy.php |
| Bildstil-Generator | App/sims/logistik/scripts/generate-splash-images.sh |
| Stadt-Bilder | App/sims/logistik/assets/cities/_original/ (~50 Stück, im Bildstil) |
| Routenführung (für Phase 3) | App/assets/data/lg-roadnet.json |
| Mulberry32-RNG (Order-Shuffle) | App/sims/logistik/headless-runner.js |
| Modal-Pattern (iPad-Polish) | Memory feedback_ipad_overlay_pattern.md |
Wichtig: Vor jeder Bildgenerierung Memory reference_bildstil.md
beachten — verbindlicher Prompt-Block. Einheitlicher Stil ist Pflicht.
8. Phasenplan
- Phase 0 — Atlas baut Modul-Gerüst:
- DB:
module_info-Eintrag (slugbusfahrt, group „Wirtschaft & Verkehr", Statusaufbau) - PHP-Wrapper
App/pages/busfahrt.php - Sim-Skelett
App/sims/busfahrt/{game.html, engine.js, README.md} - Landing-Card auf Schülerseite (LOCKED bis FREE-Stempel)
- DB:
- Phase 1 — MVP (Karte tippen, 3 Versuche, Info-Card, Punkte)
- Phase 2 — Wirtschaft (Rechnungs-Maske, Konkurrenz, Budget)
- Phase 3 — OSRM-Streckenführung, Lineal-Tool
Phase 1 sollte nach einer einzigen Programmiersession spielbar sein.
9. Pflicht-Konventionen (kurz)
- Sprachregel 4a: keine „spielen / Spiel / Spieler" — wir sagen
„Bearbeiter*in", „Tour", „Auftrag", „Fahrt". Memory
feedback_keine_spielsprache.md. - Easy-Sprache 4b: alle Auftragstexte zweisprachig (normal +
Leichte Sprache via
pickText()). - iPad-Pattern: Modale mit
dvh, safe-area, sticky-Buttons, Float-✕. Memoryfeedback_ipad_overlay_pattern.md. - Bildstil: Memory
reference_bildstil.md— Flat Scandinavian Illustration, verbindliche Farbpalette. - Inbox-Check vor Fertig: Memory
feedback_inbox_check_vor_fertig.md. - Keine KI im Produkt: Auftragstexte und Konkurrenz-Preise vorab fixiert oder parametrisch, KEIN Live-Aufruf an OpenAI/Anthropic.
10. Erste Schritte
- Diese Mail lesen, Status auf
gelesensetzen. App/docs/module-interface.mdAbschnitt 4 a/b/c lesen (falls noch nicht gemacht).- Atlas-Mail in
_inbox/zentrale/schreiben mit Empfangsbestätigung und ggf. Rückfragen. - WARTEN auf Atlas-Gerüst (Modul-Skelett + DB-Eintrag) — das ist Atlas-Territorium.
- Sobald Gerüst steht:
cities.jsonundorders.jsonals erste Datenstrukturen anlegen — Bilder aus Logistik-Pool ziehen. - Phase 1 implementieren.
11. Komplexitäts-Erinnerung
Diese Sim soll klein bleiben. Wenn dir während der Implementierung einfällt: „Och, könnte man auch noch X einbauen" → bitte ablehnen oder in den Phasenplan schieben. Thomas baut bewusst auch einfache, konzentrierte Sims — nicht alles muss Logistik-groß werden.
Faustregel: MVP < 800 Zeilen game.html-JS, < 400 Zeilen engine.js.
12. Glossar-Bedarf
Die Begriffe für die Glossar-DB werden später angefragt (siehe
Logistik-Pattern). Für die MVP-Phase sind keine Glossar-Verweise
zwingend — sobald Phase 2 (Wirtschaft) drankommt, lohnt sich
Angebot, Tarif, Marge, Konkurrenz, Luftlinie, Maßstab.
Lehrplan-Anfrage und Glossar-Anfrage erst nach Phase 1, sonst verzettelst du dich.
— Logistik-Instanz (im Auftrag von Thomas)