Files
geograsim/.humanInput/stadtsimulation
T
Adminator f22c5ebbfe Stand 2026-04-13: PHP/MySQL Infrastruktur, Flussmanagement, Stadt-Prototyp
- PHP/MySQL Backend (XAMPP + Produktionsserver)
- Front-Controller, API-Endpunkte, Session-Management
- Flussmanagement-Simulation (Echtzeit, Punkt-basierter Fluss)
- Stadt & Raumplanung (Prototyp, Top-Down Kachelsystem)
- Klimawaechter 3D: Deiche kleiner, Baeume kippen, Budget angepasst
- persistence.ts: Dualer Speicher (localStorage + Server-API)
- 6 Unit-Test-Dateien fuer bestehende Simulationen

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 16:43:42 +02:00

1127 lines
23 KiB
Plaintext
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.
Gut. Dann setze ich jetzt **Pflichtenheft V2** auf: **didaktisch sauber, technisch klar, bewusst einfacher als SimCity**, aber so präzise, dass eine KI es sauber umsetzen kann.
---
# Pflichtenheft V2
## Lernsimulation „Stadt & Raumplanung“
### für Schüler:innen von ca. 10 bis 15 Jahren
---
# 1. Projektziel
Es soll eine webbasierte Lernsimulation entwickelt werden, in der Schüler:innen eine kleine Siedlung bzw. Stadt schrittweise aufbauen und weiterentwickeln. Das Spiel soll zentrale geographische und gesellschaftliche Zusammenhänge erfahrbar machen, insbesondere:
* Raumplanung
* Infrastruktur
* Nahversorgung
* Verkehr
* Umwelt
* Lebensqualität
* Zielkonflikte zwischen Wachstum, Versorgung und Nachhaltigkeit
Die Simulation ist **didaktisch priorisiert**. Sie soll **nicht** den Anspruch haben, eine realistische Stadtplanungssoftware zu sein, sondern ein **verständlich reduziertes System**, das sich spielerisch anfühlt und dennoch fachlich sinnvoll ist.
---
# 2. Didaktische Leitidee
Die Anwendung soll Schüler:innen nicht nur „bauen lassen“, sondern ihnen zeigen, dass räumliche Entscheidungen Folgen haben.
Die Lernenden sollen erkennen:
* dass Gebäude und Infrastruktur voneinander abhängen
* dass gute Versorgung nicht automatisch gute Umwelt bedeutet
* dass Verkehr, Erreichbarkeit und Lebensqualität zusammenhängen
* dass nicht jede kurzfristig gute Entscheidung langfristig sinnvoll ist
* dass ausgewogene Planung oft besser ist als extreme Spezialisierung
Die Simulation soll also **Systemdenken** fördern.
---
# 3. Zielgruppe
Primäre Zielgruppe:
* Schüler:innen im Alter von 10 bis 15 Jahren
Sekundäre Zielgruppe:
* Lehrpersonen im Fach Geografie
* ggf. fachübergreifend mit Wirtschaft, Technik, Informatik oder Umweltbildung
---
# 4. Einsatzkontext
Die Simulation ist in ein bestehendes Lernprogramm eingebettet. Sie ist **eine von mehreren Simulationen**.
Daraus folgen diese Anforderungen:
* Die Simulation muss ohne lange Einführung verständlich sein.
* Eine Runde bzw. ein Level muss innerhalb einer Unterrichtsphase bearbeitbar sein.
* Lehrpersonen sollen Ergebnisse mehrerer Schüler:innen vergleichen können.
* Das System soll kompakt genug sein, damit es nicht die gesamte Plattform dominiert.
---
# 5. Spieldauer
Die Simulation muss konfigurierbar sein, sodass einzelne Szenarien je nach Komplexität typischerweise zwischen **10 und 40 Minuten** dauern.
## 5.1 Zielwerte
* Kurzlevel: 1015 Minuten
* Standardlevel: 2030 Minuten
* Langlevel: 3040 Minuten
## 5.2 Einflussfaktoren auf die Dauer
Die Spieldauer wird gesteuert durch:
* Größe des Spielrasters
* Anzahl freigeschalteter Kacheltypen
* Anzahl der Runden
* Anzahl der Ereignisse
* Zahl der gleichzeitig sichtbaren Kennwerte
* Komplexität der Ziele
---
# 6. Grundprinzip des Spiels
Der Spieler entwickelt eine kleine Ansiedlung Schritt für Schritt weiter.
Zu Beginn gibt es nur sehr wenige Elemente, zum Beispiel:
* eine vorhandene Straße
* wenige Häuser
* freie Bauflächen
* einen ersten Bedarf, etwa nach einem Nahversorger
Im Laufe des Spiels kommen neue Anforderungen hinzu, zum Beispiel:
* bessere Erreichbarkeit
* mehr Wohnraum
* Schule
* Grünflächen
* Verkehrsprobleme
* sinkende Umweltqualität
Der Spieler reagiert darauf, indem er **Kacheln platziert**. Diese Platzierungen verändern die Stadt und ihre Kennwerte.
---
# 7. Spielwelt und Darstellung
## 7.1 Version A als verbindlicher Standard
Die verbindliche Grundversion wird als **2D-Top-Down-Spiel** umgesetzt.
Gründe:
* klarer
* technisch einfacher
* robuster
* didaktisch fokussierter
* schneller umsetzbar
## 7.2 Isometrie nur optional
Eine pseudo-isometrische Darstellung ist **nicht Bestandteil der Pflichtversion**, kann aber später als Erweiterung ergänzt werden.
---
# 8. Spielfeld
## 8.1 Raster
Das Spielfeld besteht aus einem rechteckigen Raster aus gleich großen Kacheln.
Empfohlene Größen:
* klein: 8 × 8
* mittel: 10 × 10
* groß: 12 × 12
Die Pflichtversion soll mindestens mit 10 × 10 sicher funktionieren.
## 8.2 Kachelprinzip
Jede Rasterzelle enthält genau eine Kachel. Eine Kachel kann leer sein oder einen bestimmten Typ haben.
Beispiele:
* leer
* Straße
* Kreuzung
* Wohnhaus
* Laden
* Schule
* Park
* Industrie
* Bushaltestelle
---
# 9. Zentrale Begriffe des Systems
Das gesamte Modell basiert auf drei Ebenen:
## 9.1 Rahmenbedingungen
Das sind Ausgangsbedingungen, die der Spieler nicht direkt steuert.
Beispiele:
* Startbudget
* Anfangsbevölkerung
* Umweltwert
* Größe des Spielfelds
* Ziele des Levels
## 9.2 Steuergrößen
Das sind die Aktionen des Spielers.
Beispiele:
* Straße platzieren
* Wohnhaus bauen
* Laden bauen
* Park bauen
* Schule platzieren
## 9.3 Folgeparameter
Das sind die Werte, die sich durch die Entscheidungen verändern.
Beispiele:
* Verkehr
* Umwelt
* Zufriedenheit
* Wirtschaft
* Erreichbarkeit
Diese Struktur muss in der Implementierung klar getrennt werden.
---
# 10. Kacheltypen der Pflichtversion
Die Pflichtversion soll bewusst reduziert bleiben. Es werden nur die nötigsten Kacheltypen verlangt.
## 10.1 Leerkachel
* enthält keine Bebauung
* hat keine Funktion
* kann bebaut werden
## 10.2 Straßenkacheln
Pflichtversion:
* Straße gerade horizontal
* Straße gerade vertikal
* Kurve
* T-Kreuzung
* Viererkreuzung
* Sackgasse
Jede Straßenkachel besitzt definierte Anschlüsse in die vier Himmelsrichtungen:
* Norden
* Osten
* Süden
* Westen
## 10.3 Gebäudekacheln
Pflichtversion:
* Wohnhaus
* Laden / Nahversorger
* Schule
* Park
* Industrie / Gewerbe
* Bushaltestelle
## 10.4 Gebäudegröße
In der Pflichtversion sind **alle Gebäude genau 1×1 Kachel groß**.
Mehrfeld-Gebäude sind nicht Teil der Pflichtversion.
---
# 11. Kachel-Datenmodell
Die KI soll intern mit einem strukturierten Tile-Modell arbeiten.
Beispielstruktur:
```ts
type TileType =
| "empty"
| "road_straight_h"
| "road_straight_v"
| "road_curve_ne"
| "road_curve_es"
| "road_curve_sw"
| "road_curve_wn"
| "road_t_n"
| "road_t_e"
| "road_t_s"
| "road_t_w"
| "road_cross"
| "road_dead_n"
| "road_dead_e"
| "road_dead_s"
| "road_dead_w"
| "house"
| "shop"
| "school"
| "park"
| "industry"
| "bus_stop";
```
Jede Kachel muss zusätzlich folgende Eigenschaften besitzen:
```ts
type Tile = {
id: string;
x: number;
y: number;
type: TileType;
connections: {
north: boolean;
east: boolean;
south: boolean;
west: boolean;
};
buildCost: number;
effects: Partial<SimulationEffects>;
};
```
---
# 12. Platzierungslogik
## 12.1 Didaktische Grundentscheidung
Falsche Platzierungen sollen **nicht hart blockiert**, sondern grundsätzlich erlaubt werden, sofern sie technisch möglich sind.
Das ist bewusst so gewählt, weil Fehler didaktisch sichtbar werden sollen.
## 12.2 Ungültige und problematische Platzierung
Es gibt drei Kategorien:
### A. technisch unmöglich
Diese Aktionen werden nicht zugelassen.
Beispiele:
* außerhalb des Rasters platzieren
* auf bereits belegter Kachel platzieren
* ohne Budget bauen
### B. technisch möglich, aber schlecht
Diese Aktionen werden erlaubt und haben negative Folgen.
Beispiele:
* Straße endet sinnlos
* Laden ohne Erreichbarkeit
* Schule weit weg von Wohnhäusern
* Industrie direkt neben Park oder Wohnhaus
### C. sinnvoll
Diese Aktionen verbessern das System.
---
# 13. Anschluss- und Erreichbarkeitslogik
Dies ist ein zentrales Pflichtmerkmal.
## 13.1 Straßennetz
Straßen bilden ein Netz. Zwei benachbarte Straßen sind verbunden, wenn ihre Anschlussrichtungen zusammenpassen.
Beispiel:
* Kachel A hat Anschluss nach Osten
* Kachel B rechts daneben hat Anschluss nach Westen
* dann sind beide verbunden
## 13.2 Erreichbarkeit von Gebäuden
Gebäude gelten nur dann als „versorgt“ oder „aktiv“, wenn sie an das Straßennetz angeschlossen sind oder direkt an eine Straße angrenzen.
Für die Pflichtversion reicht folgende Regel:
* Ein Gebäude ist erreichbar, wenn mindestens eine der vier Nachbarkacheln eine passende Straßenkachel ist.
Spätere Versionen könnten Netzwerkanalyse verwenden, aber das ist nicht Pflicht.
---
# 14. Spielziel
Das Spielziel ist **nicht** nur „möglichst viel bauen“.
Gewonnen wird ein Level, wenn definierte Zielwerte erreicht werden.
Beispiele:
* Mindestzufriedenheit
* ausreichende Versorgung
* Umwelt nicht zu schlecht
* kein Verkehrschaos
* Mindestwirtschaftswert
Ein Level kann also nur bestanden werden, wenn mehrere Zielbereiche zugleich in einem akzeptablen Zustand sind.
---
# 15. Kernparameter der Simulation
Die Pflichtversion soll mit wenigen, aber aussagekräftigen Parametern arbeiten.
Alle Werte liegen auf einer Skala von 0 bis 100.
## 15.1 Wirtschaft
Wie gut die Stadt ökonomisch funktioniert.
Beeinflusst durch:
* Läden
* Industrie
* Versorgung
* Zufriedenheit
* Erreichbarkeit
## 15.2 Zufriedenheit
Wie zufrieden die Bevölkerung ist.
Beeinflusst durch:
* Erreichbarkeit
* Versorgung
* Parks
* Schule
* geringe Umweltbelastung
* wenig Verkehrsprobleme
## 15.3 Umwelt
Qualität der Umwelt.
Beeinflusst durch:
* Parks positiv
* Industrie negativ
* hohe Verkehrsbelastung negativ
## 15.4 Verkehr
Belastung des Straßennetzes.
Beeinflusst durch:
* Anzahl Gebäude
* fehlende Verbindungen
* Industrie
* schlechte Verteilung
## 15.5 Versorgung
Wie gut die Bevölkerung Zugang zu wichtigen Angeboten hat.
Beeinflusst durch:
* Laden
* Schule
* Bushaltestellen
* Erreichbarkeit
## 15.6 Erreichbarkeit
Wie gut wichtige Gebäude miteinander verbunden sind.
Beeinflusst durch:
* Straßennetz
* Lage
* Isolation einzelner Kacheln
---
# 16. Simulationsphilosophie
Die Simulation muss **einfach verständlich**, aber **nicht trivial** sein.
Sie muss folgende Eigenschaften haben:
* positive und negative Effekte zugleich
* keine Maßnahme ist immer gut
* extreme Spezialisierung soll Nachteile erzeugen
* mehrere brauchbare Lösungswege sollen möglich sein
---
# 17. Simulationsmodell der Pflichtversion
Die Pflichtversion darf mit einem diskreten Rundenmodell arbeiten.
Nach jeder Runde oder nach jeder Bauaktion werden die Kennwerte neu berechnet.
## 17.1 Vereinfachtes Modell
Jede Kachel hat Grundeffekte.
Zusätzlich kommen Lage- und Nachbarschaftseffekte hinzu.
### Beispielhafte Grundeffekte
| Kachel | Wirtschaft | Zufriedenheit | Umwelt | Verkehr | Versorgung |
| -------------- | ---------: | ------------: | -----: | ------: | ---------: |
| Haus | +2 | +1 | 0 | +1 | 0 |
| Laden | +4 | +2 | -1 | +2 | +5 |
| Schule | +1 | +5 | 0 | +1 | +4 |
| Park | 0 | +4 | +6 | 0 | +1 |
| Industrie | +6 | -3 | -6 | +4 | 0 |
| Bushaltestelle | +1 | +2 | +1 | -1 | +3 |
Diese Zahlen sind Startwerte und müssen konfigurierbar sein.
---
# 18. Nachbarschaftseffekte
Neben den Grundeffekten müssen lokale Nachbarschaften berücksichtigt werden.
## 18.1 Positive Beispiele
* Park neben Haus: Zufriedenheit +2
* Laden nahe Wohnhäusern: Versorgung +2
* Schule nahe Wohnhäusern: Zufriedenheit +2
* Bushaltestelle bei Laden oder Schule: Erreichbarkeit +2
## 18.2 Negative Beispiele
* Industrie neben Haus: Zufriedenheit -4, Umwelt -3
* Industrie neben Park: Umwelt -4
* Sackgassenhäufung: Verkehr +2
* isolierter Laden ohne Anbindung: Wirtschaft -3, Versorgung -4
---
# 19. Reichweitenmodell
Für die Pflichtversion genügt ein einfaches Distanzmodell auf Rasterbasis.
## 19.1 Empfohlene Reichweiten
* Laden versorgt Häuser im Umkreis von 3 Kacheln
* Schule wirkt im Umkreis von 4 Kacheln
* Park wirkt im Umkreis von 2 Kacheln
* Bushaltestelle verbessert Erreichbarkeit im Umkreis von 3 Kacheln
Die Distanz kann zunächst als Manhattan-Distanz berechnet werden.
---
# 20. Rundenablauf
Ein Level läuft rundenbasiert.
## 20.1 Pflichtablauf pro Runde
1. Aktuelle Stadt anzeigen
2. Ereignis oder Bedarf anzeigen
3. Spieler erhält Budget für die Runde oder nutzt vorhandenes Budget
4. Spieler platziert 1 bis n Kacheln
5. Spiel berechnet neue Kennwerte
6. Spiel zeigt Feedback
7. Prüfen auf Sieg / Niederlage / Fortsetzung
---
# 21. Ereignissystem
Das Spiel soll über Ereignisse oder Meldungen gesteuert werden, damit es nicht bloß ein freies Bauen ist.
## 21.1 Typen von Ereignissen
* Bedarfsmeldungen
* Warnungen
* Zielmeldungen
* Zwischenfeedback
## 21.2 Beispiele
* „Die Bewohner wünschen sich einen kleinen Laden.“
* „Die Verkehrsbelastung steigt.“
* „Die Umweltqualität sinkt.“
* „Viele Häuser sind schlecht versorgt.“
* „Ein Park würde die Lebensqualität verbessern.“
## 21.3 Funktion
Ereignisse dienen dazu:
* die Aufmerksamkeit zu lenken
* den nächsten sinnvollen Schritt vorzuschlagen
* die Komplexität schrittweise aufzubauen
---
# 22. Progression
Die Simulation muss neue Elemente schrittweise freischalten.
## 22.1 Didaktische Reihenfolge
Empfohlene Stufen:
### Stufe 1
* Straße
* Haus
* Laden
### Stufe 2
* Park
* Bushaltestelle
### Stufe 3
* Schule
### Stufe 4
* Industrie
Diese Progression ist Pflichtbestandteil des Designs, auch wenn einzelne Levels später davon abweichen dürfen.
---
# 23. UI der Pflichtversion
## 23.1 Hauptaufbau
Die Benutzeroberfläche besteht mindestens aus vier Bereichen:
### A. Spielfeld
Raster mit allen Kacheln
### B. Werkzeugleiste
Auswahl der verfügbaren Kacheln
### C. Statusbereich
Anzeige der wichtigsten Kennwerte
### D. Nachrichtenbereich
Ereignisse, Hinweise, Feedback
---
## 23.2 Interaktion
Pflichtversion:
* Kachel in der Werkzeugleiste anklicken
* Zielzelle im Raster anklicken
* Kachel wird platziert, wenn dies technisch zulässig ist
* Kennwerte aktualisieren sich danach
Optional:
* Hover-Vorschau
* Kostenanzeige vor Platzierung
---
# 24. Visuelle Sprache
Die Grafik soll bewusst einfach und klar sein.
## 24.1 Pflichtversion
* 2D
* reduzierte Symbole
* gut erkennbare Gebäude
* Straßen müssen sofort lesbar sein
## 24.2 Stil
* freundlich
* nicht überladen
* kinder- und jugendgerecht
* kein realistischer Stil notwendig
## 24.3 Emojis
Emojis dürfen optional für kleine Animationen oder Objekte verwendet werden, etwa:
* Fahrzeuge
* Gesichter für Zufriedenheit
* Warnsymbole
Sie dürfen aber nicht die Kernlesbarkeit des Spielfelds ersetzen.
---
# 25. Balancing-Grundsätze
Die KI muss das Spiel so programmieren, dass keine triviale Patentlösung entsteht.
## 25.1 Pflichtregeln
* Ein Kacheltyp darf nicht allein das Spiel „lösen“.
* Industrie darf Wirtschaft verbessern, aber Umwelt und Zufriedenheit verschlechtern.
* Parks dürfen Umwelt und Zufriedenheit verbessern, aber keine Wirtschaft ersetzen.
* Straßen erhöhen Erreichbarkeit, können aber zu viel Verkehrsfläche erzeugen.
* Eine gute Lösung muss mehrere Ziele gleichzeitig berücksichtigen.
---
# 26. Bewertungslogik
Die Pflichtversion benötigt ein Mehrzielsystem.
## 26.1 Primäre Zielwerte
* Wirtschaft
* Zufriedenheit
* Umwelt
* Versorgung
* Verkehr
* Erreichbarkeit
## 26.2 Umrechnung in Endbewertung
Zusätzlich zu den Einzelwerten soll das Spiel einen Gesamtscore berechnen.
Beispiel:
```ts
totalScore =
0.22 * economy +
0.24 * satisfaction +
0.18 * environment +
0.16 * supply +
0.12 * accessibility +
0.08 * (100 - traffic);
```
Die genaue Gewichtung muss pro Level konfigurierbar sein.
---
# 27. Balance-Index
Neben dem Gesamtscore soll ein zweiter Wert berechnet werden:
## 27.1 Balance-Index
Dieser misst, wie ausgewogen die Lösung ist.
Ziel:
* extreme Einseitigkeit sichtbar machen
Beispiel:
* sehr hohe Wirtschaft, aber sehr schlechte Umwelt und Zufriedenheit → niedriger Balance-Index
Der Balance-Index kann über die Streuung der Teilwerte berechnet werden.
---
# 28. Sieg- und Niederlagenbedingungen
## 28.1 Sieg
Ein Level gilt als bestanden, wenn:
* Mindestscore erreicht ist
* keine harten Negativbedingungen verletzt sind
* das Rundenziel erreicht wurde
## 28.2 Niederlage
Ein Level gilt als verloren, wenn z. B.:
* Budget aufgebraucht und Ziel klar verfehlt
* Verkehr zu hoch
* Zufriedenheit zu niedrig
* Versorgung zu niedrig
* Umwelt zu niedrig
Konkrete Schwellwerte müssen je Level definiert werden.
---
# 29. Lehreransicht
Die Simulation ist in ein Lernprogramm eingebettet. Daher muss sie auswertbar sein.
## 29.1 Pflichtdaten pro Spiel
Es müssen mindestens diese Daten gespeichert oder an das übergeordnete System zurückgegeben werden:
* Schüler-ID oder Sitzungs-ID
* Level-ID
* Startzeit
* Endzeit
* Gesamtdauer
* Endscore
* Balance-Index
* Endwerte aller Hauptparameter
* Anzahl gesetzter Kacheln pro Typ
* Anzahl problematischer Platzierungen
* Sieg / Niederlage
## 29.2 Optionale Lehrpersoneninformationen
Diese Daten können zusätzlich angezeigt werden:
* Strategieprofil
* Schwerpunkt der Planung
* einseitige oder ausgewogene Lösung
* häufigste Fehler
* Zahl unverbundener Straßen
* Zahl schlecht versorgter Häuser
Diese Punkte sind als optionale Erweiterung zu behandeln, aber die Datenbasis soll vorbereitet werden.
---
# 30. Auswertungsmodell für Lehrpersonen
Die Lehrperson soll nicht nur sehen, wer „gewonnen“ hat, sondern auch, wie.
## 30.1 Beispielhafte Ergebnisansicht
| Name | Score | Balance | Wirtschaft | Umwelt | Zufriedenheit | Kommentar |
| ---- | ----: | ------: | ---------: | -----: | ------------: | ---------------------------------------- |
| A | 78 | 74 | 70 | 72 | 80 | ausgewogene Lösung |
| B | 81 | 43 | 92 | 28 | 40 | wirtschaftlich stark, ökologisch schwach |
## 30.2 Automatische Kommentare
Optional generierte Kommentare:
* „Die Stadt ist wirtschaftlich stark, aber Umwelt und Zufriedenheit leiden.“
* „Die Lösung ist gut ausbalanciert.“
* „Viele wichtige Gebäude sind schlecht erreichbar.“
* „Es wurden zu viele isolierte Straßen gebaut.“
---
# 31. Technische Architektur
Die KI soll die Anwendung modular aufbauen.
## 31.1 Empfohlene Hauptmodule
* Grid Engine
* Tile Placement Logic
* Road Connectivity Logic
* Simulation Engine
* Event Engine
* Scoring Engine
* UI Renderer
* Session / Save Adapter
* Teacher Data Export
## 31.2 Technologie
Pflichtversion:
* HTML
* CSS
* JavaScript oder TypeScript
Empfehlung:
* TypeScript
Rendering:
* Canvas oder DOM/SVG
Für Version A ist beides möglich.
Wenn die KI sauber strukturieren kann, ist ein rasterbasiertes Canvas-Rendering sinnvoll. DOM/SVG ist ebenfalls akzeptabel, wenn die Implementierung einfacher und stabiler wird.
---
# 32. Persistenz
Die Pflichtversion braucht keine komplexe Datenbank im Spiel selbst.
Es muss aber möglich sein:
* Spieldaten pro Sitzung zu speichern
* Ergebnisse an ein übergeordnetes Lernsystem zu übergeben
Falls keine Plattformanbindung vorhanden ist, genügt vorerst:
* lokaler Speicher
* JSON-Export
* Callback-Schnittstelle
---
# 33. Datenformate
Die KI soll Leveldaten nicht hart im Code verankern, sondern über Konfigurationsobjekte steuern.
## 33.1 Beispielstruktur für ein Level
```ts
type LevelConfig = {
id: string;
title: string;
description: string;
gridWidth: number;
gridHeight: number;
rounds: number;
startBudget: number;
unlockedTileTypes: TileType[];
targetWeights: {
economy: number;
satisfaction: number;
environment: number;
supply: number;
accessibility: number;
traffic: number;
};
winThreshold: number;
loseThresholds: {
minEnvironment?: number;
minSatisfaction?: number;
minSupply?: number;
maxTraffic?: number;
};
initialTiles: Array<{
x: number;
y: number;
type: TileType;
}>;
scriptedEvents: Array<{
round: number;
message: string;
hint?: string;
}>;
};
```
---
# 34. Beispiellevel der Pflichtversion
## 34.1 Level 1: Kleine Ansiedlung
Ausgangslage:
* wenige Häuser
* eine Straße
* viel freie Fläche
Ziel:
* Nahversorgung schaffen
* Zufriedenheit erhöhen
* kein Verkehrschaos erzeugen
Freigeschaltet:
* Straße
* Haus
* Laden
Dauer:
* 1015 Minuten
## 34.2 Level 2: Wachsende Gemeinde
Neu:
* Park
* Bushaltestelle
Ziel:
* Versorgung und Lebensqualität verbessern
Dauer:
* 1525 Minuten
## 34.3 Level 3: Schule für den Ort
Neu:
* Schule
Ziel:
* Erreichbarkeit und Zufriedenheit
Dauer:
* 2030 Minuten
## 34.4 Level 4: Industrie oder Umwelt?
Neu:
* Industrie
Ziel:
* Wirtschaft stärken, aber Umwelt und Zufriedenheit nicht ruinieren
Dauer:
* 2540 Minuten
---
# 35. Testanforderungen
Die KI soll nicht nur das Spiel bauen, sondern auch ein kleines internes Testsystem vorsehen.
## 35.1 Pflicht-Checks
* Straßenanschlüsse korrekt?
* Gebäude erreichbar?
* Score-Berechnung korrekt?
* Level gewinnbar?
* Level nicht mit nur einer Maßnahme trivial lösbar?
## 35.2 Balancing-Checks
Die Implementierung soll so vorbereitet sein, dass automatisierte Tests mehrere Baukonstellationen durchspielen können.
Mindestens soll prüfbar sein:
* ob ein einzelner Kacheltyp zu stark ist
* ob bestimmte Levels ungewinnbar sind
* ob Extremstrategien das Spiel kaputt machen
---
# 36. Nicht-Ziele der Pflichtversion
Diese Punkte sind ausdrücklich **nicht** Teil der Pflichtversion:
* echtes 3D
* frei drehbare Kamera
* komplexe Energieversorgung
* Wasserleitungen
* komplexe Einwohner-Simulation pro Person
* Echtzeitverkehr mit Pfadsuche für hunderte Einheiten
* mehrfeldrige Großgebäude
* Netzwerk-Multiplayer
Diese Themen können später ergänzt werden, sollen die Pflichtversion aber nicht verkomplizieren.
---
# 37. Abnahmekriterien
Das Projekt gilt als erfolgreich umgesetzt, wenn folgende Punkte erfüllt sind:
## 37.1 Fachlich
* Zielkonflikte sind erkennbar
* Planung hat sichtbare Folgen
* mehrere Lösungswege sind möglich
## 37.2 Didaktisch
* Schüler:innen verstehen die Grundidee ohne lange Erklärung
* das Spiel ist in 1040 Minuten spielbar
* die Lehrperson kann Ergebnisse vergleichen
## 37.3 Technisch
* Raster und Platzierung funktionieren stabil
* Kennwerte werden korrekt aktualisiert
* Leveldaten sind konfigurierbar
* Ergebnisse können gespeichert oder übergeben werden
## 37.4 Spielerisch
* das Spiel motiviert zum Ausprobieren
* Fehlentscheidungen sind sichtbar
* keine triviale „immer gleiche“ Gewinnstrategie dominiert
---
# 38. Konkrete Arbeitsanweisung an die KI
Die KI soll auf Basis dieses Pflichtenhefts eine erste lauffähige Version entwickeln mit folgenden Prioritäten:
## Priorität 1
* stabiles Raster
* Kachelplatzierung
* Straßennetzlogik
* Grundsimulation
* 1 spielbares Level
## Priorität 2
* mehrere Level
* Ereignissystem
* Score und Balance-Index
* Ergebnisansicht
## Priorität 3
* Lehreransicht
* Export / Schnittstelle
* Balancing-Verbesserungen
* grafische Verfeinerung
---
# 39. Umsetzungshinweis
Die KI soll **nicht** versuchen, SimCity nachzubauen.
Die KI soll eine **kleine, klare, didaktisch reduzierte Lernsimulation** entwickeln, die von der grundsätzlichen Logik klassischer Aufbauspiele inspiriert ist, aber wesentlich einfacher, transparenter und schulgeeignet bleibt.
---
# 40. Empfohlener nächster Schritt
Auf Basis dieses Pflichtenhefts ist der sinnvollste nächste Schritt:
1. daraus eine **Programmier-Prompt-Version** für eine KI zu machen
oder
2. direkt eine **erste MVP-Version** in TypeScript/HTML zu erzeugen
Wenn du willst, mache ich dir als Nächstes die **ultrapraktische Prompt-Fassung für Cursor / GPT / Claude Code**, damit eine KI sofort mit der Implementierung beginnen kann.