Aquila To-Do / Roadmap
Dieses Dokument ist die kanonische Langfrist-Roadmap fuer Aquila.
docs/PLAN.mdbleibt der kurzfristige aktive Arbeitsschrittdocs/AGENT_LOG.mdbleibt das operative Handoff-Protokolldocs/TODO_AQUILA.mdist die grosse Zukunftsplanung mit Phasen, Reihenfolge und offenen Entscheidungen
Wenn sich Zielbild, Reihenfolge oder Prioritaeten aendern, wird dieses Dokument zuerst aktualisiert. Danach folgen PLAN.md, AGENT_LOG.md und die Portfolio-Webseite.
Pflege-Regeln
- Bei jedem Wechsel des aktiven Milestones dieses Dokument aktualisieren
- Nach jeder groesseren Scope-Aenderung
docs/PLAN.mdmit diesem Dokument abgleichen - Nach jeder inhaltlichen Aenderung an dieser Roadmap die Portfolio-Seite neu deployen
- Erledigte Punkte nicht loeschen, sondern abhaken oder in den Statusbereich verschieben
North Star
Aquila soll am Ende keine bloesse schoene Karte, sondern ein lesbares, historisch gestuetztes Kampagnenspiel sein:
- klare strategische Top-down-Lesbarkeit
- warme, painterly Mittelmeerkarte statt kuehler Digitaloptik
- klickbare Welt mit Staedten, Provinzen, Strassen, Armeen und Entscheidungen
- technische Basis in Unity/C#, waehrend die Python-Pipeline die Karten- und Tile-Quelle bleibt
Aktueller Stand
- Kampagnenkarten-Pipeline in
aquila-westmedlaeuft lokal reproduzierbar - Visual Cleanup Pass 1 (A-E) abgeschlossen
- Unity-Prototyp U0 angelegt
- Tile-Streaming U0.2 eingebaut
- AquilaUnity-Graphify-Baseline + Portfolio-Graph stehen
- U0.2 Playtest formell als stabil freigeben
- U1 Settlement Interaction fertigstellen
Milestone 0 - Foundation Lock [ACTIVE]
Ziel: Die bestehende Karten- und Unity-Basis so stabil machen, dass darauf ohne Angst weitergebaut werden kann.
- U0.2 Playtest einmal sauber mit Unity + MCP abnehmen
- pruefen: Tile-Lader, Pan/Zoom, Marker-Klicks, Console sauber
- dokumentieren: U0.2 in
AGENT_LOG.mdalsAPPROVED - kleiner Smoke-Test-Workflow definieren, der vor jedem groesseren Unity-Feature erneut gefahren wird
Definition of done
- keine Console-Errors im Basis-Playtest
- Tile-Pyramide laedt reproduzierbar
- Marker/HUD/Camera regressionsfrei
Milestone 1 - U1 Playable Map Interaction [NEXT]
Ziel: Aus der Karte wird erstmals ein bedienbares Spielgeruest.
- Settlement anklickbar und eindeutig selektierbar
- Hover- und Selection-State sauber trennen
- HUD-Panel fuer
Name,Faction,Lon/Lat - Deselect durch Klick auf leere Karte
- Kamera kann auf selektiertes Settlement zentrieren
- Selection-UX so robust bauen, dass sie spaeter fuer Provinzen/Armeen wiederverwendbar ist
Definition of done
- ein Marker gleichzeitig selektierbar
- HUD zeigt korrekte Daten
- Fokus auf Settlement funktioniert
- keine Regressions an Tile-Loader und Map-View
Milestone 2 - U2 Campaign Shell
Ziel: Erste echte Kampagnenoberflaeche statt nur Debug-HUD.
- rechter Inspector statt reinem
OnGUI-Kasten vorbereiten - Layout fuer Top-Bar / Side-Panel / Bottom-Hints festlegen
- Platzhalter fuer Ressourcen, Runden-/Zeitstatus und Fraktionskontext
- grundlegende Input-Hierarchie definieren: Karte, UI, Selection, Tool-Modi
- visuelle Sprache fuer Buttons, Tabs, Info-Panels festlegen
Definition of done
- UI fuehlt sich wie eine Kampagnenoberflaeche an
- Debug-Box-Charakter deutlich reduziert
- Panel-Struktur ist fuer Provinzen, Armeen und Events erweiterbar
Decision Gate A - Was ist der eigentliche Kampagnenloop?
Bevor wir tiefer in Systeme investieren, muessen wir das Spielformat absichern.
- Entscheidung: rundenbasiert, pausable real-time oder Hybrid
- Entscheidung: Fokus auf Staat/Fraktion, auf Armee/Generaele oder beides
- Entscheidung: wie granular ist die Karte spielerisch? Settlements only, Provinzen, Regionen?
- Entscheidung: wie stark historisch vs. sandboxig?
Ohne diesen Gate riskieren wir, spaeter UI, Provinzen, Armeelogik und AI doppelt zu bauen.
Milestone 3 - U3 World Structure (Settlements, Provinces, Roads)
Ziel: Die Karte bekommt spielbare Struktur.
- Settlement-Datenmodell ausbauen: IDs, owner, level, tags, ggf. harbor/fort
- Provinz-/Regionenmodell definieren
- Road-Graph aus Python/Source-Daten oder manuell vorbereiten
- visuelle Darstellung fuer Provinzgrenzen und Strassen
- Selection kann zwischen Settlement und Provinz unterscheiden
- Cost-Mask / Bewegungskosten in nutzbares Unity-Format ueberfuehren
Definition of done
- jedes Settlement gehoert zu einer Provinz/Region
- Strassen sind sichtbar und logisch nutzbar
- Karte fuehlt sich nicht mehr wie reine Bildflaeche an
Milestone 4 - U4 Movement and Presence
Ziel: Es gibt erstmals Dinge, die sich auf der Kampagnenkarte bewegen.
- erstes Army-/Stack-Datenmodell
- Army-Marker / Banner / Counter definieren
- Bewegung entlang Strassen und ueber Freiraum regeln
- Reichweite, ETA oder Zugkosten im UI anzeigen
- einfache Path-Preview beim Auswaehlen eines Ziels
Definition of done
- eine Fraktion kann mindestens eine Armee ueber die Karte bewegen
- Bewegung liest sich visuell klar
- Wegkosten und Ziel sind fuer den Spieler lesbar
Milestone 5 - U5 Campaign Systems (Ownership, Economy, Supply)
Ziel: Die Karte bekommt strategische Konsequenzen.
- Besitz/Owner-State fuer Settlements und Provinzen
- Einnahmen-/Versorgungsmodell minimal definieren
- Supply-Linien oder Versorgungseinfluss auf Bewegung/Armeen
- Hafen- und Kuestenlogik als Sonderfall vorbereiten
- UI fuer Besitzwechsel und einfache Kampagnenwerte
Definition of done
- Karte reagiert spielmechanisch auf Besitz und Raum
- Armeen existieren nicht losgeloest von der Welt
Milestone 6 - U6 Conflict Layer
Ziel: Der Schritt von der Strategie- zur Konfliktkarte wird glaubwuerdig.
- Regeln fuer Begegnung / Blockade / Belagerung / Schlacht-Eintritt definieren
- erster Kampagnen-Konfliktzustand zwischen zwei Fraktionen
- UI fuer "angreifen", "belagern", "abweichen", "zurueckziehen" vorbereiten
- spaeterer Uebergang zu separatem Battle-Prototyp oder abstrahierter Kampfauswertung entscheiden
Definition of done
- der Spieler kann mehr tun als nur bewegen und anschauen
- Konflikte sind auf der Kampagnenkarte abbildbar
Milestone 7 - U7 Visual Cleanup Pass 2
Ziel: Die Karte soll deutlich naeher an die Referenzbilder ruecken.
- globale Waerme steigern (Hillshade / Warmth / Palette)
- Wald als Masse statt Punktkonfetti lesbar machen
- ggf.
STYLE_FOREST_SPRITE_RENDER_SCALEeinfuehren - Composition-Pruefung mit echten Campaign-Layern statt nur nackter Karte
- entscheiden, ob Unity-Side Shader/Mesh-Prototyp noetig ist oder Python-Basis reicht
Definition of done
- Karte wirkt weniger digital-kuehl
- Referenzabstand ist sichtbar kleiner
- Spiel-Layer und Karte harmonieren zusammen
Decision Gate B - Bleibt die Karte 2D-Sprite-basiert oder wechseln wir spaeter zu Mesh/Shader?
Das ist ein groesserer Architekturhebel und soll erst nach funktionierendem Kampagnenkern entschieden werden.
- pruefen, ob Python-Map + Tile-Streaming fuer den Ziel-Look ausreicht
- pruefen, ob Unity-Mesh/Heightmap/Shader echten Mehrwert bringt oder nur Komplexitaet
- Entscheidung dokumentieren, bevor ein groesserer Rendering-Umbau beginnt
Milestone 8 - U8 Content Expansion
Ziel: Aus dem Prototyp wird eine echte Kampagnenwelt.
- mehr historische Settlements
- Fraktionsdaten und Startbesitz
- Provinz-Content / regionale Identitaet
- Events, Missions oder Startskripte
- Save/Load-Grundlage
Definition of done
- die Karte fuehlt sich nicht mehr wie Demo, sondern wie Kampagnenraum an
Parallel-Arbeitsmodell
Codex
- plant die naechsten Milestones und Slices
- prueft Scope, Risiken und Reihenfolge
- reviewed Unity- und Python-Aenderungen
- haelt
PLAN,DECISIONS,CHANGELOG,AGENT_LOGund Portfolio-Sync sauber
Claude Code
- implementiert den freigegebenen Slice in Unity oder Python
- bleibt innerhalb der vereinbarten Dateien / Module
- dokumentiert kurz, was getan wurde und was offen bleibt
Till
- gibt Zielrichtung, Referenzlook und Prioritaeten vor
- testet echte Bedienbarkeit im Editor
- entscheidet an den grossen Design-Gates
Update-Trigger fuer diese Roadmap
Roadmap aktualisieren, wenn mindestens einer dieser Punkte eintritt:
- aktiver Milestone wechselt
- ein Decision Gate wird entschieden
- Scope eines Milestones veraendert sich deutlich
- ein geplanter Block wird gestrichen oder neu aufgenommen
- Website/Portfolio soll einen neuen Aquila-Status spiegeln
Kurzfristige Reihenfolge ab jetzt
- U0.2 sauber freigeben
- U1 Settlement Interaction bauen
- Campaign Shell definieren
- Decision Gate A klaeren
- Provinzen/Strassen/Bewegung aufbauen
- erst dann tiefer in Kriegssysteme und grossen Visual Pass 2 investieren