Skip to content

Latest commit

 

History

History
242 lines (218 loc) · 16.1 KB

File metadata and controls

242 lines (218 loc) · 16.1 KB

Requirements Tracker

Diese Datei ist die lebende Checkliste fuer das Projekt. Sie soll bei jeder relevanten Aenderung mit gepflegt werden, damit immer klar ist:

  • was das System koennen soll
  • was bereits umgesetzt ist
  • was als Naechstes dran ist
  • welche Architektur- und Qualitaetsregeln wir einhalten wollen

Statuslegende

  • [x] umgesetzt
  • [-] begonnen / teilweise umgesetzt
  • [ ] noch offen

Produktziele

  • OpenRCT2 soll sich wie Teil einer groesseren internationalen Parkbranche anfuehlen
  • Konkurrenzparks sollen wirtschaftlich simuliert werden, ohne begehbare Fremdparks zu brauchen
  • Das Endgame soll durch Konkurrenz, Marktanteile und Prestige spannend bleiben
  • Wirtschaftliche Entscheidungen sollen die echte Parkkasse betreffen, damit Trading, Rewards und Strafen gameplayrelevant bleiben
  • Das System soll sauber, modular und produktionsnah aufgebaut sein
  • Das System soll eine lebende Dokumentation und einen nachvollziehbaren Umsetzungsstand haben

Kernsimulation

  • Persistenter Weltzustand pro Save
  • Deterministische Rivalen-Generierung
  • Monatliche Welt-Simulation
  • Schnellere Live-Pulses innerhalb des Monats fuer haeufigere Ranglisten- und Markt-Updates
  • Taegliche Datenbewegung mit separatem groberen Event-Zyklus
  • Globale Nachfrage und Saisonfaktoren
  • Rivalen-Scoring und Rangliste
  • Catch-up-Mechanik fuer Konkurrenten
  • Difficulty Presets fuer Casual/Normal/Hard/Tycoon als zentrale Balancing-Schicht
  • Newsfeed fuer wichtige Welt- und Rivalenereignisse
  • Jaehrlicher Haupt-Award
  • Strukturelle Events fuer Mergers und neue Challenger
  • Bankrotte mit echten Folgen
  • Regionale Spezialeffekte und differenzierte Marktprofile
  • Erweiterte Event-Ketten mit Nachwirkungen ueber mehrere Monate

Spielerintegration

  • Spieler-Score aus echten Parkdaten
  • Besucherwirkung ueber park.guest.softcap.calculate
  • Rank-/Marktanteils-Einfluss auf Besucher
  • Award-Bonus auf Besucherlogik
  • Tieferes Balancing gegen Snowballing mit Leader-Pressure, staerkerem Rivalen-Catch-up und Balance-Harness
  • Mehr direkte OpenRCT2-Rueckkopplung ueber Nachrichten, Awards und UI-Hinweise
  • Aktive Zielaufgaben mit Deadline, Reward, Park-Cash-Strafe und Board-/Investor-Folgen
  • Echte Bauziele fuer Coaster-Qualitaet und Kapazitaetsausbau statt nur abstrakter Finanz-/Score-Ziele
  • Park-sichtbare Experience-Events mit echten Gastwellen und visuellen Triggern
  • VIP-/Kritikerbesuche als benannte echte Gaeste mit Review-Auswertung auf Basis echter Parkdaten
  • Relevante Event-Personen im People-Fenster sichtbar machen und im Park lokalisieren koennen
  • Bestehende starke Savegames werden bei neuer/migrierter League-State-Erstellung einmalig gegen ein staerkeres Rivalenfeld kalibriert

Governance und Board

  • Persistenter Governance-State fuer den Spielerpark
  • Quartalsartige Board-Reviews und Mandate
  • Investor- und Board-Druck als Gegenkraft gegen Dominanz
  • Governance-Einfluss auf Guest-Cap-Modifikator
  • Governance-Status im UI sichtbar
  • Tiefere Eingriffsrechte, Abstimmungen und Kapitalmassnahmen

Investments

  • Datenmodell fuer Spielerinvestments
  • Portfolio-Zusammenfassung im persistenten State
  • Kauf eines standardisierten Minderheitsanteils
  • Verkauf einer bestehenden Position
  • Monatliche Dividenden auf profitable Beteiligungen
  • Zwangsabwicklung bei Markt-Austritt / Merge eines Zielparks
  • Beteiligungen bei Uebernahmen in den Erwerber ueberfuehren, statt sie nur unverkaufbar zu machen
  • Portfolio-Wert und Cashflow im UI sichtbar
  • Teilverkaeufe statt nur Komplettverkauf
  • Mehrere Kaufgroessen statt nur Standard-Lot
  • Beteiligungen mit hoeherer strategischer Tiefe
  • Beteiligungen mit echter Einflussmechanik auf Events, Synergien oder Zugang zu Boni
  • Investment-ROI ueber lange Laeufe deutlich entschaerft
  • Entscheidung revidiert: keine separate Owner-Cash-Nebenwelt fuer Kern-Trading, weil sie zu wenig Gameplaydruck erzeugt
  • Rivalen-Investments werden aus Park-Cash gekauft und zahlen wieder auf die Parkkasse aus
  • Vereinfachter Rivalen-Aktienmarkt mit Kauf-/Verkaufsentscheidungen und echtem Parkkassen-Risiko
  • Negative Investment-Schocks mit realem Paper-Value-Verlust fuer riskantere oder angeschlagene Holdings
  • Architekturentscheidung getroffen: kein zweites paralleles Investment-System, sondern ein einziges League-Portfolio mit Park-Cash-Cashflows
  • League-Portfolio-Ansicht mit Park Cash, Portfolio-Wert, League Worth und letztem Cashflow
  • Margin Buying nur als spaetere Erweiterung nach stabilem Basis-Markt
  • Short Selling nur als sehr spaete optionale Erweiterung wegen hoher Regel- und QA-Komplexitaet

Rivalen- und Welt-Events

  • Konjunktur-Events
  • Tourismus- und Wettbewerbs-Events
  • Mergers als Struktur-Event
  • Neue Challenger als Struktur-Event
  • Skandale mit mehrmonatigem Reputationsschaden
  • Grosse Expansionsprojekte
  • Branchenweite Sicherheitsdebatten
  • Regionale Boom- und Schwachphasen
  • Managementwechsel und Strategiewechsel einzelner Rivalen
  • Lokaler Rivalen-Kreis fuer direkte Konkurrenz um den unmittelbaren Markt
  • Rivalen-Pressure-Campaigns gegen den Spieler, die Board, Investoren und Momentum kurzfristig belasten
  • Verlorene Head-to-head-Challenges kosten echte Parkkasse statt nur eine verpasste Belohnung zu sein
  • Sichtbare Warn-Popups fuer Rivalenangriffe, Zielverfehlungen, Investment-Schocks und harte Negativevents
  • Popup-Pacing mit persistiertem Cooldown, damit wichtige Warnungen sichtbar bleiben ohne zu spammen
  • Spieler-Gegenmassnahmen gegen Rivalendruck ueber Counter Campaign, Local Push und Build Focus

UI und Bedienung

  • Plugin-Menueeintrag
  • Statusfenster mit Summary
  • Grosses Leaderboard mit vollem Ligafeld statt nur Top-Auszug
  • News-Ansicht
  • Vollautomatische Kopplung an die echte Spielzeit ohne manuelle Monatssimulation
  • Investment-Kauf ueber UI
  • Investment-Verkauf ueber UI
  • Rivalen-Detailansicht
  • Portfolio-Detailansicht mit allen Positionen
  • Bessere Erklaerung fuer Berechnungen direkt im UI
  • Spielerpark im Leaderboard klar sichtbar
  • Vergleichsansicht Du vs Zielpark fuer Aufstiegsanalyse
  • Echte Monatskennzahlen des Spielerparks im UI statt Platzhalterdaten
  • Klarere Wirtschaftsmetriken im UI mit People Share, Money, Park Value und Equity Value
  • Eigene Custom-Stat-Cards fuer kompaktere Top-Level-Darstellung statt reiner Trennstrich-Textzeilen
  • League Board mit Sortier- und Ansichtsmodi statt nur starrem Score-Ordering
  • Geldwerte aus OpenRCT2 fuer Anzeige und Spielerkopplung auf eine konsistente Einheit normiert
  • Watchlist-Fenster mit Alerts fuer beobachtete und lokale Rivalen
  • Track/Unwatch-Flow direkt aus der Rivalenansicht
  • Einfachere Standard-Ansicht fuer neue Nutzer mit Simple/Advanced-Modus
  • Hauptfenster weiter vereinfacht: Top-Level zeigt nur Rang, Park-Cash, Profit, aktives Ziel, Boost, Difficulty und Hauptrisiko
  • First-Run-Quickstart-Fenster fuer neue Spieler
  • Schnellzugriffe klarer benannt als Money, Rivals und Goals
  • What matters now-Hinweise fuer die naechste sinnvolle Spieleraktion
  • Lokale Markt-Zusammenfassung direkt im Hauptfenster
  • Score-Treiber im UI erklaert statt nur als nackte Zahl gezeigt
  • Monatlicher World Spotlight-Boost fuer den Monatsbesten mit massivem sichtbarem Besucher-Push
  • Interne Debug-Trigger fuer Spotlight, Featured Pick und Breakout Buzz, damit jede Boost-Stufe isoliert testbar bleibt
  • Spotlight-Banner im Hauptfenster ohne oeffentliche Debug-Controls im Release-UI
  • Zusaetzliche zufaellige Featured- und Breakout-Boosts fuer Ranks 2-10 und 11-20
  • Yearly Recap mit groesstem Gewinner, groesstem Verlierer, Hauptrivale, bestem Monat und groesstem Sprung
  • Prestige Goals wie 1,000 guests, Top 10 streak, lokaler Marktlead und People-Share-Ziele
  • Reward-Vorschau und Next unlock fuer Prestige-Ziele
  • Direkt erklaerende UI-Hinweise wie Need +2.4 score, Losing people to X und Profit-/Depth-Hinweise
  • Konkreter Score driver in der Simple-Ansicht mit schwaechstem Score-Bereich und naechstem Verbesserungsziel
  • History-Filter auf 7d, 30d, Season, Year, All erweitert und Vergleichsstatistiken im Trendbereich vertieft
  • Langzeit-History fuer All ueber kompakte Daily/Weekly/Monthly-Aufbewahrung statt hartem Kurzzeit-Cap gehaertet
  • Text-Panels gegen abgeschnittene Recap-/Goal-Zeilen robuster gemacht
  • Eigenes Prestige-Fenster mit freigeschalteten Achievements, aktiven Zielen, Lifetime-Rekorden und Rivalen-Story
  • Prestige-/Achievement-Belohnungen mit Cash, Stakes, Spotlight/Featured/Buzz und temporaren Buffs
  • Boost-Zustaende fuer Spotlight, Featured und Buzz sichtbar und am Spielerpark direkt lesbar gemacht
  • Featured- und Buzz-Boosts mit kleineren echten Gast-Bursts im Live-Spiel spuerbar gemacht
  • Head-to-head-Hauptrivale mit klarer Gap-/Momentum-Zusammenfassung direkt im UI
  • Analyst-/Press-Layer mit verstaendlicher Begruendung, warum du stehst oder faellst
  • Direkte Rivalen-Challenges mit sichtbarer Reward-/Status-Zusammenfassung
  • Challenge timeline im Hauptfenster fuer aktive Ziele, Rivalen-Duelle und aktuelle Risiken
  • Capital / Portfolio-Bereich fuer Park-Cash, Portfolio, Cashflows und Management-Aktionen
  • Klare Erklaerung im UI, dass Rivalen-Trades, Dividenden, Exits, Challenges und Prestige-Cash die Parkkasse betreffen
  • Eigenes Help-Fenster als robuste Tooltip-Alternative fuer Score, People Share, Park Cash, Ziele, Challenges und Counterplay
  • Save-aware Difficulty-Empfehlung direkt im UI sichtbar gemacht
  • Money-/Rivals-/Goals-Fenster weiter vereinfacht und fuer neue Nutzer klarer benannt
  • Aktives Park-Experience-Event in Timeline und Selected-Park-Details sichtbar gemacht

Technische und Architektur-Anforderungen

  • TypeScript-Projekt mit klarer Modulstruktur
  • Reine Domain-Logik getrennt von OpenRCT2-Integration
  • Build-Pipeline fuer gebuendelte Plugin-Datei
  • Tests fuer kritische Kernlogik
  • Save-State ueber zentrales Repository
  • Dokumentierte Architektur und Roadmap
  • [-] State-Migrationen fuer spaetere Schema-Aenderungen weiter ausbauen
  • Zusaetzliche Tests fuer Investment-Edge-Cases
  • Regressionstests fuer Save-Migrationen und neue Simulationssysteme
  • Regressionstests fuer Rivalen-Challenge-Migrationen und Watchlist-Alert-Cooldowns
  • Reproduzierbarer Balance-Analyse-Harness
  • Automatisierter Balance-Lauf via npm run analyze:balance fuer Zahlen/Fakten statt nur Bauchgefuehl
  • Parallelisiertes Balance Lab via npm run analyze:balance:lab fuer automatisierte Kandidatensuche und Ranking
  • Schneller Alltags-Check via npm run analyze:balance:quick
  • Automatischer Tuning-Lauf via npm run analyze:balance:autotune mit konkreter Apply-/Keep-Empfehlung
  • Langer Release-Soak via npm run analyze:balance:release
  • Schnell-, Autotune- und Release-Reports werden als JSON-Artefakte unter dist/ persistiert
  • Difficulty-Preset-Report via npm run analyze:balance:difficulty
  • Analyse-Skripte und Balance-Harness in die TypeScript-Pruefung eingebunden
  • Numerische Guards gegen nicht-finite Score- und Leaderboard-Zustaende
  • Explizite Anti-Dominanz-Hebel fuer Catch-up-Druck und lokale Rivalitaet in den Balance-Suchraum aufgenommen
  • Schema-24-Migration fuer Difficulty/Objectives und einmalige Rivalen-Kalibrierung
  • Schema-26-Migration fuer neue League Actions und Bauziel-Felder
  • Schema-27-Migration fuer Park-Experience-Events und VIP-Review-State
  • [-] Tieferes Ingame-Testing und Balancing gegen echte Spielverlaeufe

Aktueller Fokus

  • Soliden Produktions-Grundstein legen
  • Kernsimulation mit sauberer Architektur aufsetzen
  • Erste Investment-Mechanik integrieren
  • Balancing der Investment-Ertraege gegen zu starken Kapitalaufbau
  • Achievement-Rewards und Prestige-Buffs mit echten Systembelohnungen statt nur Cosmetic Unlocks
  • Rivalen-, Vergleichs- und Portfolio-Details im UI vertiefen
  • Regionale Dynamik als Systemwelle einziehen
  • Ersten Governance-Layer fuer den Spielerpark einziehen
  • Investment-Flow um groessere Lots und Teilverkaeufe erweitern
  • Tieferes Balancing mit Leader-Pressure, Wachstums-Catch-up und ROI-Kuerzung ausarbeiten
  • Balance-Harness gegen veraltete Snapshot-Formate und NaN-Zustaende absichern
  • Balance-Lab um echte Snowballing-Hebel wie Spotlight-Gast-Multiplikator und Spotlight-Score-Bonus erweitern
  • Balance-Lab um explizite Anti-Dominanz-Hebel fuer Catch-up-Intensitaet und Top-Streak-Druck erweitern
  • Watchlist- und Local-Rival-Mechanik fuer bessere Spielerfuehrung einziehen
  • Hauptansicht um lokale Markt-Hinweise, Score-Treiber und What matters now erweitern
  • Sichtbaren World Spotlight-Wow-Moment mit starkem Besucherboost und Debug-Schalter einziehen
  • Begleitende Zufalls-Boosts fuer Verfolger- und Mid-Table-Parks einziehen
  • Prestige-/Achievement-Layer mit eigener UI und persistenten Rekorden einziehen
  • Head-to-head-Rivalitaet und Analystenfuehrung fuer bessere Lesbarkeit und mehr Story einziehen
  • Release-Soak und wirtschaftliche Reward-/Investment-Hebel in den Balance-Lab-Workflow einziehen
  • Owner-Cash-Experiment zurueckgebaut und relevante League-Cashflows wieder an die Parkkasse gekoppelt
  • Bestehende Rivalen-Investments in einem einzigen League-Portfolio gehalten statt ein zweites Parallel-System zu bauen
  • Scope fuer Margin/Shorting bewusst auf spaeter verschoben, weil der Basismarkt zuerst schwerer und klarer sein muss
  • Park-Cash-/Portfolio-Transparenz mit klarerer Erklaerung und Trenddaten ausgebaut
  • Difficulty Presets, aktive Zielaufgaben, negative Investment-Events, Rivalen-Warn-Popups und Challenge-Timeline eingezogen
  • Haupt-UI fuer neue Nutzer deutlich vereinfacht und tiefere Daten in Advanced-/Detailfenster verschoben
  • First-Run-Onboarding, Popup-Pacing, bessere Score-Erklaerung und Difficulty-Preset-QA eingezogen
  • UI-Reduktion mit Help-Fenster, klareren Subfenstern, Counter-Actions und save-aware Difficulty-Hinweis eingezogen
  • Objective-System um Coaster- und Kapazitaets-Bauziele erweitert
  • Outstanding Experience Card angelegt und ersten Park-Experience-Layer mit Pressetag, Schulausflug, Influencer-Event, Fan-Weekend und VIP-Kritiker umgesetzt

Naechste Umsetzungsschritte

  1. Angewendetes Balance-Profil gegen echte Saves pruefen und bei Bedarf weiter verfeinern
  2. Difficulty Presets ueber echte kleine, mittlere und dominante Saves feinjustieren und mit analyze:balance:difficulty gegenpruefen
  3. Neue Bauziele, Counter-Actions, Rewards und Strafen in echten Spielsituationen auf Spielspass statt nur Zahlenwert pruefen
  4. Challenge-Penalties, Pressure-Campaigns, Counterplay und Investment-Schocks ueber echte Spielsituationen pruefen
  5. Watchlist/Alerts/Popups/Help-Texte ueber echte Savegames auf Signal-zu-Rauschen und Verstaendlichkeit feinjustieren
  6. Park-Experience-Events ueber echte Saves auf Hauefigkeit, Gastmenge, visuelle Vertraeglichkeit und Nervfaktor pruefen
  7. VIP/Kritiker-UI vertiefen: Zwischenfeedback, Review-Dialog, bessere Hinweise aus echten Guest Thoughts
  8. Saisonale Expo / Trade Fair als jaehrliches GameDev-Tycoon-artiges Grossereignis planen und implementieren
  9. Rivalenangriffe als faire Parkevents mit klarer Gegenmassnahme vertiefen, bevor echte Sabotage oder Bau-Sperren aktiv werden
  10. Capital-/Portfolio-UI weiter ausbauen, vor allem Cashflow-Historie und Risikoerklaerung
  11. Vereinfachten Rivalen-Aktienmarkt fuer Kauf-/Verkaufsentscheidungen weiter vertiefen
  12. Erst danach pruefen, ob Margin Buying als kontrollierte Erweiterung genug Mehrwert bringt
  13. Short Selling nur als spaete optionale Erweiterung behandeln, nicht als naechsten Kernschritt
  14. Weitere Diagnoseansichten fuer Score-, Markt- und Event-Ursachen ausbauen
  15. GitHub-Release mit Screenshots, Beschreibung und Paket-Artefakten veroeffentlichen
  16. Anforderungen und Tracker nach jeder Feature-Welle aktualisieren