Anstoss 2007 Fanpatch mit LLMs

Begonnen von Davos, 21. September 2026, 12:12:54

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Davos

#15
Zitat von: dAb am 22. September 2026, 08:27:33Was wurden dafür für Dateien geändert? Die Python-Skripte?
Zitat von: Seeler1234 am 22. September 2026, 09:07:15Diese Art von Änderung läuft meistens in der exe direkt. ChatGPT schreibt Python-Skripte, die den zu ändernden Maschinencode lokalisieren und ändern.

Die Änderung passiert direkt im kompilierten Maschinencode.
Nicht ganz richtig. Es wurden auch Python-Skripte geändert, abr nicht ausschließlich. ANSTOSS 2007 verteilt einen Teil der Spiellogik auf die Python-Binärcode (.pyc) Dateien, während tiefere Spielmechaniken in nativen DLLs liegen. Geändert wurden bisher im Wesentlichen:

Scripts\*.pyc
Für kleinere Logik-/Balancinganpassungen, z. B. Manageransehen, Vorstandsvertrauen und Ereigniswahrscheinlichkeiten.
ManaLogik.dll
Hier wurden die eigentlichen tieferen Logikfixes vorgenommen. Dort wurden u. a. Routinen für Jugendspieler beim Saisonwechsel, Nationalmannschaftsnominierungen und Transfer-/Vertragszustände gepatcht.
KlangErzeuger.dll
Für den Windows-10/11-Absturz nach dem Laden eines Spielstands. Der Fehler hing mit der alten Miles-Sound-Implementierung bzw. dem Umgang mit Audio-Streams zusammen.
Data\Core0.zip, Core1.zip, Core2.zip
Darin liegen die binären .screen-GUI-Ressourcen. Dort wurde bisher z. B. das zu schmale Feld für die fixe Ablöse angepasst.

Die Anstoss 2007.exe habe ich nur für ein optionales Diagnose-/Logging-Modul anpassen lassen, damit ChatGPT gezielt nach weiteren Fehlern suchen kann.

Zitat von: dAb am 22. September 2026, 11:01:04Daher sollte man bei so Sachen die Erkenntnisse auch in eine md niederschreiben und dann untereinander sharen. Dann muss ein zweiter für die gleichen Erkenntnisse nicht auch nochmal bezahlen.
Gute Idee. Ich habe mal ChatGPT die Erkenntnisse zusammen fassen lassen. Hier sind sowohl die Markdown Datei mit allen Erkenntnissen + meine aktuelle Patch-Datei inkl. Diagnose Tool um den Bug bei Stadionausbau/Vereinsgelände Ausbau zu finden, heute habe ich daran noch nicht weitergemacht: EDIT: Link entfernt, für die verbesserte Version siehe die nächste Nachricht

Edit: ChatGPT lässt mich leider gerade kein MD-File exportieren, ich reiche es später nach

Davos

So ich habe die letzten Tage ChatGPT weiter laufen lassen und die KI konnte inwzischen doch einige Bugs fixen, die nach meinem Empfinden ziemlich das Spielerlebnis eingeschränkt haben. Die meisten BUugfixes konnte ich zumindest eine Verbesserung feststellen, ob es wirklich die komplette Lösung ist, müssten erst ein oder besser mehrere Langzeittests zeigen (insbesondere auch, ob die stabil sind, ChatGPT hatte bei der Korrektur der Aufwertungsrunden einen weiteren Bug hereingeschrieben, den er nur durch ein weiteres Diagnose Tool gefunden hat). Deswegen stelle ich mal den aktuellen Patch für allgemeine Tests zur Verfügung.

Behoben sind folgende Bugs:
- KI kauft zu viele Stuermer Gefixed - In kaderzusammensetzung.xml wird der Stuermer-Sollbestand auf 3-5 bei finanzschwachen bis soliden und 3-6 bei finanzstarken Vereinen reduziert.
- KI kauft gar keine vom Spieler angebotenen Spieler auf dem Transfermarkt Gefixed - Ein Fix leitet Spieler mit UserTransfer (0x400) plus SpielerAufTransfermarkt (0x1000) in den bereits vorhandenen originalen Modus-3-Kaeuferpool.
- KI spawnt zu wenig Jugendspieler Gefixed - Stellt im KI-Jugendpfad die fehlende x12-Skalierung wieder her.
- Spalte fixe Abloesesumme zu schmal Gefixed - GUI-Fix verbreitert die Spalte.
- Verpflichteter Spieler kommt trotz entsprechender Meldung nicht Gefixed - Fix prueft beim Halbjahreswechsel den Nachfolgevertrag gegen Start/DatumAb; Leihen behalten ihre originale Endlogik.
-  Transferverhandlungen haengen auf 'offen' Gefixed - Fix korrigiert den Vereinsverhandlungszustand; der Fix bleibt kumulativ enthalten.
-  Jugendspieler erhalten immer wieder dieselben Eigenschaften Gefixed - Fix korrigiert zwei verkehrt laufende trainerabhaengige Sprungbedingungen bei 0x101EE826 und 0x101EE88B, sodass die breite normale Eigenschaftsgenerierung wieder dominiert.
- Jugendspieler koennen trotz gueltigem Vertrag beim Saisonwechsel verschwinden Gefixed - Fix beruecksichtigt bei der Saisonwechsel-Bereinigung einen vorhandenen Nachfolgevertrag.
-  Fortbildung von Angestellten erhoeht Kompetenz teilweise nicht / wirkt nicht sichtbar Gefixed - die originale Fortbildungsroutine war funktionsfaehig; v0.11 korrigiert die Kompetenzanzeige auf die allgemeine Kompetenz 1-12 und klaert damit den Hauptgrund fuer den Eindruck einer wirkungslosen Fortbildung.
-  Persoenlicher Sponsor laesst sich teilweise nicht oeffnen oder auswaehlen Gefixed - v0.9/v0.10 faengt den fehlenden CS7046/CS7047-Popup-Pfad ab und nutzt wieder das originale CWerbevertrag-Typ-5-Backend fuer Preis, Laufzeit, Vertrag und Finanzbuchung.
- Managerreputation kann extrem und unlogisch springen Gefixed - Fix glaettet die zu starken Reputationaenderungen in den kumulativ gepatchten Scripts/Core-Dateien.
-  Nationalmannschaft nominiert im Langzeitspiel zunehmend unpassende Spieler Gefixed - Fix fuehrt einen Nationalteam-Refresh mit einem Herausforderer pro interner Positionsgruppe ein.
- Jugendspieler-Positionen richten sich nicht ausreichend nach bevorzugtem System/Kaderbedarf Gefixed - Fix ersetzte random & 3 durch elf Formationsslots, verwendete im Fallback aber versehentlich den Philosophie-Getter 0x10019490. v0.16 korrigiert dies auf den verifizierten Getter fuer das bevorzugte System 0x100194A0; ein vorhandenes konkretes CSystem bleibt vorrangig.
- Jugendstaerke wird nach Jugend-Aufwertung erst nach Save/Reload korrekt angezeigt Gefixed - v0.9 ruft nach drei Jugend-Aufwertungswegen sofort die zentrale Staerke-Neuberechnung 0x101DE950 auf.
- Mitarbeiter-/Co-Trainer-Kompetenzanzeige zeigt inkonsistente Fachwerte statt Gesamtkompetenz Gefixed - v0.11 ueberspringt die rollenabhaengige UI-Ersetzung und zeigt in der Einstellungsuebersicht konsistent Gesamtkompetenz 1-12.
-  Mitarbeitergehalt nutzt bei Kompetenzstufen den falschen Tabelleneintrag Gefixed - v0.11 korrigiert den Off-by-one-Zugriff in allen drei originalen 12-stufigen Gehaltstabellen.
- Gute Saisonnoten sind fuer Auf-/Abwertungen zu schwach gewichtet, führte dazu, dass Topspieler irgendwann nicht mehr aufgewertet wurden trotz guten Saisons Gefixed - v0.8 aendert nur die Notenpunkte von 50/30/20/15/10 auf 100/70/40/20/5; Mindestspiele und Schwellen bleiben original.
- Bei Auf-/Abwertungen konnte es passieren, dass ein Spieler aufgewertet wurde, aber keine Änderung der Gesamtstärke erfolgte (bspw. ein Innenverteidiger, der schon volle Stärke bei Zweikampf hatte und dann noch einmal eine Aufwertung auf Zweikampf erhielt) Gefixed - v0.14/v0.15 entfernen bei Aufwertung Werte 15 und bei Abwertung Werte 1 aus der Ziehung und normalisieren auf die verbleibenden Werte & v0.15 verwendet fuer alle 12 Feldspielerprofile und den Torwart exakt die rekonstruierten Staerkegewichte und renormalisiert dynamisch.

Teilweise adressiert / Langzeittest offen
- Junge Spieler der KI entwickeln sich nicht Teilweise gefixed - KI-Spieler laufen durch dieselbe globale CAufAbwertung-Logik; v0.7 gibt neu erzeugten KI-Jugendspielern Talent +2 bis max. 10, v0.8 staerkt Leistungsnoten, v0.12 erhoeht die Spawnmenge und v0.15 verbessert die Einzelstaerken-Verteilung. Ein 5-10-Saisons-Langzeittest bleibt dennoch noetig.
- KI-Transfermarkt insgesamt zu passiv / langfristiger Qualitaetsverlust von Vereinen Teilweise gefixed - v0.7/v0.12 reparieren Kaderbedarf und Kaeuferpool; v0.16 hebt mittlere/obere Kaderziele moderat an und gibt nur KI-Traditionsvereinen in der Kaderplanung einen Boden auf Klasse 2. Die 10-20-Saisons-Langzeitwirkung ist noch offen.
- Positionsdrift / Positionskaskade waehrend einer Auf-/Abwertungsrunde, bspw. erhielt ein Spieler eine Aufwertung auf eine für seine bisherige Position nicht relevante Fähigkeit erhielt und dann plötzlich eine andere Beste Position hatte (bspw. Innenverteidiger, der Aufwertung auf Torinstinkt bekam und dann plötzlich ZM oder so war).  Offen - der v0.8-Freeze wurde wegen des Crashs in v0.13b bewusst zurueckgenommen; v0.15 gewichtet nach dem jeweils aktuellen Positionsprofil, friert die Ausgangsposition aber nicht mehr ein.

Generell ist auffällig, wie schlecht Anstoss 2007 programmiert war. Dass die KI-vereine überaltern und keine guten Jugendspieler generieren, liegt beispielsweise daran, dass je nach Höhe der Ausgaben für die Jugendarbeit Jugendspieler mit einer gewissen Wahrscheinlichkeit pro Woche generiert wurden. Bei den menschlichen Vereinen wurde diese Grund-Wahrscheinlichkeit mit 12 multipliziert, bei den KI-Vereinen wurde es anscheinend vergessen. Das hätte man bei 5 Bugfixes sehr leicht korrigieren können...
Eine weitere Erkenntnis ist, dass das Umsetzen der bevorzugten Spielphilosophie eines Trainers (z.B. ein 4-3-3 aufstellen, wenn man es am Anfang ausgewählt hat) keinerlei Vorteile in der Spielberechnung bringt.

avatar_dAb Ich habe den Community Patch Version 0.16 Datei mit den Erkenntnissen bei We-Transfer  bei We Transfer hochgeladen, kannst du ihn vielleicht zu den Downloads packen? Darin enthalten ist auch eine MD-Datei mit den wichtigsten Erkenntnissen: https://we.tl/t-P5TnNFK85zQ66Vvw