Anstoss 2007 Fanpatch mit LLMs

Begonnen von Davos, Gestern um 12:12:54

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Davos

Wie der eine oder andere sich vielleicht erinnert, hat Acaron Ende 2007 den Code zu Anstoss 2007 einigen Fans für die Entwickung eines Fanpatches zur Verfügung gestellt. Nachdem hier im Forum einige User mit ChatGPT/Claude eigene Fußballmanager entwickelt hatten, habe ich mich auch mal an einen Prototypen versucht und mich dabei an Anstoss 2007 orientiert. Mir kam dann aber der Gedanken, dass es dch einfacher wäre, die Bugs und Balancing Probleme des Originals zu beheben.

Ich hatte deswegen vor zwei Wochen avatar_Schappi und dann eine Woche säter aufgrund ausbleibender Antwort avatar_dAb folgends geschrieben, die damals an dem Projekt beteiligt waren: 

"[...] es gab doch mal vor langer Zeit die idee eines Anstoss 2007 Fanpatches. Aufgrund des Aufwandes und weil die Hobby-Entwickler damals ausgestiegen sind, wurde das nichts. Soweit ich weiß, warst du damals auch involviert. Gibt es denn den Code von damals noch irgendwo? Damals war das ja zu viel Aufwand, aber wenn generative KI heute etwas kann, dann Code überarbeiten und Bugs fixen (oder einem sagen, was man fixen muss). Hast du schon mal versucht Codex oder Claude Fable auf den Code zu werfen und zu schauen, ob damit Bugs behoben werden können?"
Etwas ähnliches hat S auch bei Anstoss 3 berets versucht und erfolgreich mit den Sternstunden umgesetzt (siehe https://www.anstoss-juenger.de/index.php/topic,7288.msg444755.html#new). Bei Anstoss 2007 hätten wir den Vorteil, dass wir nicht an der .exe herumdoktern müssen, sondern wir den gesamten Code wahrscheinlich haben.
Deswegen die Frage, ob jemand mir/uns den Anstoss 2007 Code zur Verfügung gestellt könnten für Experimemnte damit?

Seeler1234

Ich kann bis zum 4. Oktober noch 2x mal mein 200 € ChatGPT Abo resetten, also: Let's go! Ich hatte vor 3 -4 Jahre A2007 nochmal ausgepackt und finde es auch erstaunlich gut auf einem Touchscreen spielbar. Mit dem Code ließe sich eigentlich alles innerhalb weniger Stunden machen. Ohne Quellcode wird es schwieriger, aber machbar.

Was wir glaube ich auch ohne Quellcode lösen können ist alles, was Wahrscheinlichkeitsberechnungen sind. Da sehen ich Potenzial folgende Bugs zu lösen:

- KI kauft zu viele Stürmer
- KI kauft gar keine vom Spieler angebotenen Spieler auf dem Transfermarkt
- Junge Spieler der KI entwickeln sich nicht
- KI spawned zu wenig Jugendspieler

Das waren damals jedenfalls für mich die Gamebreaking bugs, weswegen nie ein Langzeitspielstand zustande kam. Ich denke, die wichtigsten Gamebreaking Bugs zu fixen wäre möglich. Ich installier das Spiel heute Abend mal in meinem Linux-System und gehe es durch.

Davos

Zitat von: Seeler1234 am Gestern um 12:27:27Ich kann bis zum 4. Oktober noch 2x mal mein 200 € ChatGPT Abo resetten, also: Let's go! Ich hatte vor 3 -4 Jahre A2007 nochmal ausgepackt und finde es auch erstaunlich gut auf einem Touchscreen spielbar. Mit dem Code ließe sich eigentlich alles innerhalb weniger Stunden machen. Ohne Quellcode wird es schwieriger, aber machbar.

Was wir glaube ich auch ohne Quellcode lösen können ist alles, was Wahrscheinlichkeitsberechnungen sind. Da sehen ich Potenzial folgende Bugs zu lösen:

- KI kauft zu viele Stürmer
- KI kauft gar keine vom Spieler angebotenen Spieler auf dem Transfermarkt
- Junge Spieler der KI entwickeln sich nicht
- KI spawned zu wenig Jugendspieler

Das waren damals jedenfalls für mich die Gamebreaking bugs, weswegen nie ein Langzeitspielstand zustande kam. Ich denke, die wichtigsten Gamebreaking Bugs zu fixen wäre möglich. Ich installier das Spiel heute Abend mal in meinem Linux-System und gehe es durch.
Lass uns das gern versuchen, ich denke aber mit dem richtigen Anstoss 2007 kommen wir auf jeden Fall weiter. Ich finde es gab nämlich noch eine ganze andere Reihe gamebreaking Bugs, an die wir wahrscheinlich nicht so einfach herankoommen. Dazu zähle ich unter anderem das Problem, dass die Aufwertungsrunden verbuggt waren, so dass die Spieler mit guten Noten/Formwerten/Scorern nicht aufgewertet wurden, aber dafür irgendwelche schlechten Spieler. Und die Aufwertungen dann auch so random verliefen, dass aus einem guten Stürmer plötzlich ein Innenerteidiger wurde  und ähnliches. Somit war jede langfristige Strategie zum Scheitern verurteilt...

Davos

Zur Ergänzung mal eine Liste aller Bugs, die nach Patch 5 noch offen sind:
- Kein Hinweis auf neues Fax
- Spiele nach Verlängerung werden teilweise als Unentschieden dargestellt
- Budgetaufbesserung über John Smith funktioniert nicht korrekt
- Schnee im Büro im Sommer
- Falscher Absender bei Fanartikel-Firmen
- Wochenplaner laut Handbuch vorhanden, aber nicht nutzbar
- Doping wird nicht korrekt als Disziplinarvergehen behandelt
- Zu viele Ersatzspieler möglich
- Falsche Kaderzustände nach Einwechslungen
- Kapitäns- und Standardsymbole bleiben teilweise an nicht aufgestellten Spielern
- Talentwert und Talentbalken widersprechen sich
- Falsche Antwort bei bestimmten Spielergesprächen
- Teilweise fehlerhafte Spielerstatistiken
- Verpflichtungen zur neuen Saison werden teilweise fälschlich als Blitztransfer behandelt
- Spalte für fixe Ablösesumme zu schmal
- Transfer-Kostenfaktoren erscheinen teilweise auf der falschen Seite
- Vereinswappen aktualisiert sich in der Spielersuche nicht korrekt
- Teilweise unrealistische Gehälter und Ablösesummen
- Vertragsinformationen bei Spielern aus der Saisonende-Suche fehlen
- Verpflichteter Spieler kommt trotz entsprechender Meldung nicht
- Vereinslose verpflichtete Spieler erscheinen später nicht
- Bestimmte Spielerpositionen fehlen oder funktionieren nicht vollständig
- Transferverhandlungen können im Zustand ,,offen" hängen bleiben
- Probleme mit Ausstiegsklauseln im Managervertrag
- Transferverhandlung kann ein Einzelgespräch am selben Tag verdrängen
- Zweite Mannschaften teilweise unrealistisch stark
- Jugendspieler erhalten immer wieder dieselben Eigenschaften
- Gescoutete Eigenschaften von Spielern für die zweite Mannschaft gehen verloren
- Jugendspieler können ohne angezeigte Stärken generiert werden
- Jugendspieler können trotz gültigem Vertrag beim Saisonwechsel verschwinden
- Geändertes Saisonziel wird nicht korrekt übernommen
- Widerspruch zwischen Saisonziel und erwartetem Tabellenplatz
- Präsident kann ohne Wahl wechseln
- Fortbildung von Angestellten erhöht Kompetenz teilweise nicht
- Scoutkosten werden nicht korrekt angezeigt
- Vereinsführung kann trotz sportlichen Erfolgs unlogisch reagieren oder kündigen
- Budget- und Gewinnprognosen widersprechen sich teilweise
- Fanartikel-Lizenzpartner kann trotz bestehendem Vertrag verschwinden
- Persönlicher Sponsor lässt sich teilweise nicht öffnen oder auswählen
- Stadiontribüne wird falsch als überdacht dargestellt
- Fehlerhafte oder extrem lange Bauzeiten auf dem Vereinsgelände
- Angezeigte und tatsächlich berechnete Stadionbaukosten stimmen nicht überein
- Rasen kann trotz gegenteiliger Fehlermeldung erneuert werden
- Zuschauerzahl kann die Stadionkapazität überschreiten
- Finanz- und Fernsehgeld-Balancing teilweise fehlerhaft
- Budgets können trotz sehr hohem Vereinsvermögen extrem niedrig sein
- Budgetaufbesserungen funktionieren teilweise nicht korrekt
- Einnahmen- und Gewinnprognosen können widersprüchlich sein
- Manageralter wird falsch berechnet
- Karriereansicht zeigt teilweise falsche Vertragsdauer
- Manager steigt zu schnell zum Toptrainer auf
- Managerreputation kann extrem und unlogisch springen
- Fehler bei Reputation beziehungsweise Reputationstabelle
- Champions-League-Termine können falsches Jahr anzeigen
- Torjubel ertönt an falschen Stellen
- Elfmeterschießen funktioniert teilweise falsch
- Fehlerhafte Textmodus-Logik
- Textmodus-Kommentare können nicht zum aktuellen Spielstand passen
- Co-Trainer stellt Spieler teilweise auf falschen Positionen auf
- Co-Trainer lässt bei Pokalspielen teilweise die Ersatzbank leer
- Verletzungshäufigkeit teilweise zu hoch
- Champions-League-Finale kann vor dem Bundesliga-Saisonfinale stattfinden
- Nach einem Aufstieg können fast alle Ligaspiele freitags stattfinden
- Meistercup mit falscher Spielzahl oder falschem Entscheidungskriterium
- Internationaler Qualifikationscup verwendet teilweise falsche oder veraltete Regeln
- Ligapokal-Paarungen können falsch erzeugt werden
- Wettbewerbstermine können unlogisch angeordnet sein
- Nationalmannschaft nominiert im Langzeitspiel zunehmend unpassende Spieler
- Langfristige Spielerentwicklung teilweise problematisch
- Transfersystem kann sich über mehrere Saisons unplausibel entwickeln
- Reputation entwickelt sich langfristig teilweise unlogisch
- Mannschaftsstärken können sich im Langzeitspiel ungünstig verschieben
- Falsche Bauzeiten im Netzwerkspiel
- Server muss Spieltag starten, obwohl nur der Client betroffen ist
- Server kann zweite Halbzeit starten, während der Client noch Aktionen durchführt
- KI-Spiele werden im Multiplayer teilweise falsch dargestellt
- Tabelle wird bei Montagsspielen zwischen Server und Client nicht korrekt synchronisiert
- Nachrichten und E-Mails landen teilweise beim falschen Netzwerkspieler
- Server kann Aufstellung teilweise nicht bearbeiten
- Anzeigetafel bleibt trotz serverseitiger Deaktivierung aktiv
- Netzwerk-Abstürze im Zusammenhang mit Vertrags- und Transferterminen
- Synchronisationsprobleme zwischen Server und Client
- Sound kann beim ,,Bitte warten"-Bildschirm hängen bleiben
- Teilweise fehlerhafte oder verspätete Audioereignisse
- UI-Elemente aktualisieren sich nicht immer korrekt
- Falsche oder veraltete Anzeigen nach einem Zustandswechsel
- Doppelte Fragen innerhalb derselben Trainerscheinprüfung
- Sportgerichtsverhandlung kann am selben Tag wie das betroffene Spiel stattfinden
- Termine können sich gegenseitig unlogisch blockieren
- Reihenfolge bestimmter Termine ist fehlerhaft.

dAb

#4
Ich sehe da trotzdem noch ein urheberrechtliches Problem bei der ganzen Sache. :wave:
Es mussten damals ja auch nicht ohne Grund extra Verträge unterzeichnet werden.
AJFM:
Meister: 1, 5, 6, 7, 13, 16, 28, 32
Internationaler Pokal: 98
Nationaler Pokal: 23, 32
Supercup: 8, 14, 17, 20, 26
Verbandspokal: 39

:joint:

Seeler1234

Zum Dekompilieren: Der EuGH hat entschieden (C 13/20, Top System, Urteil vom 6. Oktober 2021), dass man Software dekompilieren darf, um Fehler zu beheben. Das dekompilieren wäre kritisch bei allgemeinen Optimierung, nicht beim Fehler beheben.

Zum Quellcode: Haben Sie es denn in den Verträge gestattet? Das scheint ja der Sinn der Verträge gewesen zu sein.

Meine Sorgen in der Hinsicht wären aus praktischer Sicht relativ begrenzt. Der wirtschaftliche Wert des Urheberrechts ist inzwischen gleich null. Der Code ist beliebig replizierbar.

Anstoss 2007 wird nun seit fast 20 Jahren nicht mehr wirtschaftlich verwertet. Das heißt natürlich nicht, dass man Nutzungen nicht verbieten kann, wenn wir tatsächlich gegen das Urheberrecht verstoßen sollten, Schadensersatz fände ich aber nahezu ausgeschlossen.

Hattet ihr denn damals den Code von Ascaron bekommen oder von Kalypso? Denn so, wie sich Kalypso die letzten 17 Jahre verhalten hat, hätte ich überhaupt Zweifel, dass sie wirksam die Lizenzen an den Urheberrechten (nicht Markenrechte) von Anstoss 4 bis 2007 erworben haben.

Davos

Zitat von: dAb am Gestern um 14:18:38Ich sehe da trotzdem noch ein urheberrechtliches Problem bei der ganzen Sache. :wave:
Es mussten damals ja auch nicht ohne Grund extra Verträge unterzeichnet werden.
Das ist aus meiner Sicht ein zweistufiges Problem:
1. Meine ursprüngliche Frage war nicht, ob ihr den originalen Quellcode weitergebt, sondern ob ihr schon mal versucht habt, den Quellcode durch ein LLM zu jagen und Bugs zu beheben. Ersteres ist durch die Verträge/NDAs sicherlich vebroten, letzteres aber nicht.
2. Das führt zu der Frage, was steht denn in den NDAs, die ihr unterzeichnet habt? Wie sieht es mit Abänderungen aus, wer ist als Kontakt angegeben? Kannst du die mal hochladen? Eine von euch entsprechend gefixte Version zu veröffentlichen entspricht doch dem Sinn des damaligen Fanpatches. Also würde es "nur" um die Bearbeitung gehen. Könnte man da nicht beim Rechtsnachfolger mal nachfragen, ob man da noch den Kreis der Personen erweitern kann?

Davos

Zitat von: Seeler1234 am Gestern um 15:36:25Zum Dekompilieren: Der EuGH hat entschieden (C 13/20, Top System, Urteil vom 6. Oktober 2021), dass man Software dekompilieren darf, um Fehler zu beheben. Das dekompilieren wäre kritisch bei allgemeinen Optimierung, nicht beim Fehler beheben.

Zum Quellcode: Haben Sie es denn in den Verträge gestattet? Das scheint ja der Sinn der Verträge gewesen zu sein.

Meine Sorgen in der Hinsicht wären aus praktischer Sicht relativ begrenzt. Der wirtschaftliche Wert des Urheberrechts ist inzwischen gleich null. Der Code ist beliebig replizierbar.

Anstoss 2007 wird nun seit fast 20 Jahren nicht mehr wirtschaftlich verwertet. Das heißt natürlich nicht, dass man Nutzungen nicht verbieten kann, wenn wir tatsächlich gegen das Urheberrecht verstoßen sollten, Schadensersatz fände ich aber nahezu ausgeschlossen.

Hattet ihr denn damals den Code von Ascaron bekommen oder von Kalypso? Denn so, wie sich Kalypso die letzten 17 Jahre verhalten hat, hätte ich überhaupt Zweifel, dass sie wirksam die Lizenzen an den Urheberrechten (nicht Markenrechte) von Anstoss 4 bis 2007 erworben haben.
Mal die Einschätzung von Gemini zu dem Post:
"Fazit dazu
Die Analyse aus dem Forum ist realistisch, pragmatisch und juristisch an vielen Stellen treffend:

Es ist ein uraltes totes Spiel – es juckt wirtschaftlich niemanden.

Der Code-Zugang via Ascaron-Vergangenheit war damals "Grauzone", aber historisch gewachsen.

Ob Kalypso überhaupt die Code-Urheberrechte besitzt oder nur die Namensrechte (womit sie zwar "Anstoss 2022" bzw. die neuen Versuche ankurbeln konnten, aber beim 2007er Code vielleicht ins Leere greifen), ist ein berechtigter Zweifel.

Die Quintessenz für die Praxis: Wenn die Community den Patch im stillen Kämmerlein oder über einschlägige Fan-Foren (wie früher üblich) teilt, passiert zu 99,9 % gar nichts, weil es für niemanden profitabel ist, dagegen vorzugehen. Offiziell als "Open Source" auf GitHub hochladen und ein großes Fass aufmachen sollte man es vielleicht eher nicht – aber unter dem Radar machen es viele Fan-Projekte genau aus diesen Gründen seit Jahren genau so."

Den letzten Absatz sollten wir so umsetzen

Davos

#8
Entschuldigt, dass ich auf mich direkt selbst antworte. Ich habe den gesamten 3GB großen Spieleordner von Anstoss 2007 in meine Pro Version von ChatGPT gefüttert. ChatGPT meint, dass es mit der Spielstruktur auf jeden Fall schon was anfangen kann. Die Einschätzung ist wie folgt:
Schon ohne Original-C++ sehr gut machbar: Python-Ereignisbalancing, Vorstandsvertrauen, Managerreputation, bestimmte Verletzungsereignisse, Datenbankwerte und reine GUI-Layoutfehler.
Mit Reverse Engineering wahrscheinlich machbar: Elfmeterschießen, Nationalmannschaft, Stadionkosten, Transferzustände, Budgets.
Mit Original-Source erheblich einfacher: Saisonwechsel-/Jugendvertragfehler, komplexe Transfer-KI, Langzeitsimulation und größere Umbauten.


Ich habe ChatGPT erst einmal auf meinem neuen Laptop (ohne Laufwerk) lauffähig gemacht. Dafür habe ich den Spieleordner von meinem alten Rechner (mit DVD-Laufwerk) auf einen USB-Stick kopiert und dann auf den neuen Laptop und ChatGPT einen Installer schreiben lassen, der die entsprechenden Registry-Einträge anlegt. Dabei stellte sch heraus, dass Anstoss 2007 wegen einer Access Violation in mss32.dll nicht lauffähig war (stürzte unmittelbar nach dem Laden eines Spielstandes ab). ChatGPT hat ein Diagnose Tool geschrieben und einen Bugfix und jetzt läuft auch unter Windows 11.

Danach habe ich gerade folgende Bugs beheben lassen von meiner langen Liste:
- Managerreputation: übertriebene Reputationssprünge geglättet
- Vorstandsvertrauen: extreme Ausschläge reduziert
- GUI ,,Fixe Ablöse": zu schmales Feld verbreitert
- Jugendspieler-Saisonwechsel: Spieler mit Nachfolgevertrag werden nicht mehr irrtümlich bereinigt
- Nationalmannschaft: festgefahrene Nationalkader können wieder durch stärkere Spieler erneuert werden
- Transfer-Verhandlung bleibt ,,offen": die beiden fehlerhaften Same-Day-Abbrüche entfernt
- Transfer zugesagt, Spieler kommt nicht: zukünftige Transfers werden anhand ihres Startdatums aktiviert

Zumindest das Thema mit den Jugendspielern und Spielern, die bei einem Vertrag/Wechsel zur nächsten Transferperiode niemals bei dem eigenen Verein ankommen und im Nirvana verschwinden (einen Bug, den es auch schon bei Anstoss 2005 gab) ist nachprüfbar verschwunden. Habe es gerade in einem alten Spielstand getestet und die Spieler waren in der nächsten Saison bei mir im Klub! Den Rest konnte ich auf die Schnelle nicht testen, würde aber davon ausgehen, dass es behoben ist, wenn der Rest auch klappt.

Seeler1234

Nice! Das ist doch schon mal ein cooler Start. Wenn die Jugendspieler nachkommen, könnte auch das Problem der Transfer-KI gelöst sein.

Für die Transfer-KI würde ich vielleicht mal schauen, ob wir da nicht einfach die KI aggressiver auf dem Transfermarkt machen können. Die KI muss gar nicht intelligenter agieren. Es würde reichen, dass sie überhaupt agiert. Also gibt es vielleicht einfach einen Wahrscheinlichkeitswert, den man hochschrauben kann.

Dein erster Bericht liest sich aber schon sehr vielversprechend.

Ich bin derzeit mit meinem Betriebssystem auf Omarchy (Fork von Arch Linux). Da muss ich es auch erstmal zum laufen bekommen. Das regelt ChatGPT Luna mit High Think aber im Regelfall.