• KI dringt immer mehr in den Alltag ein und ich persönlich beschäftige mich auch schon lange hobbymäßig damit, quasi als man die ersten sau-hässlichen Bilder mit Dall-E die ersten Bilder generieren konnte und dann mit Stable Diffusion das ganze auch lokal möglich geworden ist.

    In diesem Thread möchte ich mit euch Modding in Kombination mit KI erkunden. Denn Modding ist schon immer ein Bestandteil von Total War gewesen, aber gerade Medieval 2 hatte da recht niedrige Einstiegshürden und leicht maschinell lesbare Textdateien und ich kenne mich eher damit aus als mit meinetwegen Attila. Deshalb vergreife ich mich hier auch an Medieval 2. Also seit gespannt, ich bin es auch :D

    Warum das ganze, bis auf dem Spaß an der Freude? Medieval 2 hat wie gesagt vergleichsweise geringe Einstiegshürden. Dennoch, um ein größeres Traumprojekt zu Ende zu bringen, braucht es am besten ein Team aus mehreren Leuten die unterschiedlichen Dinge können + sehr viel Zeit. Mithilfe von KI könnte man den Aufwand aber vielleicht deutlich reduzieren und es damit auch jemand der erst mal überhaupt keinen Plan hat, was er wie tun muss erlauben das Spiel zu modden.

    Aber damit man einigermaßen folgen kann was ich tue, fange ich mal mit dem Setup an, wobei ich unterschiedliche Tools und KIs verwenden werden:

    Frontend + Provider:

    • OpenCode mit Ollama.
    • Claude Code mit...na ja Claude.

    Verwendete KI Modelle (bisher):

    • Opus 4.8
    • Fable
    • GLM 5.2
    • Deepseek V4 Flash
    • Ornith 9b
    • Qwen Coder 14B

    Zusätzlich:


    Sowohl OpenCode als auch Claude Code verwende ich in der GUI Variante für Windows = mit grafischer Oberfläche, nicht die Terminal-Variante. In der Vergangenheit habe ich auch OpenClaw getestet und das hat grundsätzlich auch gut funktioniert, in Kombination mit Ollama sogar etwas besser als OpenCode. Problem war, dass gefühlt jedes Update alles zerschossen hat und ich quasi die Hälfte der Zeit nicht mit dem eigentlichen Projekt, sondern mit dem wieder zum Laufen bringen von OpenClaw beschäftigt war. Wenn ihr andere Frontends wie z.B. Hermes länger ausprobiert habt, dann berichtet gerne über eure Erfahrungen dazu :)

    Als ich damals an Schwert und Speer und Orient & Okzident mitgearbeitet habe, gab es so was Schönes wie Git noch nicht für uns. Wir haben mit jeder Menge Backups gearbeitet immer Gefahr laufend doch etwas kaputtzumachen. Jederzeit auf alte Dateistände zurückrollen zu können ist aber ein Mega Plus, auf welches ich auch ohne KI jetzt nicht mehr verzichten würde. Superpowers macht Coding einfach noch ein bisschen besser und headroom spart Tokens.


    Ziel:

    Das Ziel meines Projekts ist es SuS um die Features von M2EX zu ergänzen und mit den aufgehobenen Limitierungen auch neue Fraktionen oder Features mit einzubauen. Das macht es für die KI auch ein bisschen schwerer, weil sie vielleicht ein bisschen was von Medieval 2 weiß, aber praktisch nichts von M2EX.


    Erste Erkenntnisse:

    In meinem ersten Beitrag gehe ich jetzt erst mal noch nicht weiter auf die technischen Details wie Installation der Tools ein, wenn das gewünscht ist, kann ich es nachholen, aber eigentlich gibt es im Internet genug Tutorials dazu.

    Ich habe jede KI erst mal gefragt, ob sie Medieval 2 Modding kann und jede KI hat das auch mehr oder weniger bejaht. Qwen und Ornith sind lokale Modelle. Im Grunde funktioniert das, gerade wenn man gute Hardware und kein Model hat. Probleme dabei: Medieval 2 Modding ist eher ein Randthema, die Modelle sind nicht fokussiert darauf trainiert, große Modelle wissen zu dem Thema tendenziell mehr und man profitiert tatsächlich bei diesem Thema sehr stark von einem riesigen Kontextfenster und das hat man lokal eher nicht.

    Also weiter zu den Alternativen und weiteren Erkenntnissen:

    GLM 5.2 ist aktuell eines der besten Opensource Coding-Modelle, verwende ich wie die lokalen Modelle über Ollama Cloud, Deepseek V4 Flash ist etwas schlechter, aber bei OpenCode gratis mit dabei und hat einige Sachen erstaunlich gut gelöst. Wer überhaupt kein Geld ausgeben möchte, kann es auch OpenRouter testen. Nachteil, bei den kostenlosen Modellen stimmt man meist zu, dass die eigenen Eingaben fürs Training verwendet werden. Außerdem hatte ich, als ich es früher mal getestet habe, viel häufiger Timeouts als bei Ollama.

    Ich habe beide Modelle ohne tiefere Vorbereitung auf Schwert und Speer losgelassen und erst mal über Github Issues und dazugehörige Planungen anlegen lassen, um M2EX Features für die Mod zu portieren. Ich habe dabei auch Learnings angelegt, d.h. die KI sollte in eine .md Datei Dinge schreiben, die sie herausgefunden hat, in der Architektur oder Dinge die sie falsch gemacht hat, um sie bei Wiederholung besser zu machen.

    Die KI ist im Grunde ganz gut darin den Medieval 2 Log auszulesen und wenn es nur darum geht eine einzelne Datei zu ändern läuft das ganze auch ziemlich solide. Gerade GLM ist ja wie gesagt sehr gut darin strukturiert zu arbeiten und so etwas wie einen Kampagnenscript abzuarbeiten. Gute gesammelte Erkenntnisse waren dabei z.B. die Formatierung (also z.B. UTF-8, 16 etc. welche die Dateien haben müssen/können um fehlerfrei gelesen werden zu können.

    Spätestens beim Hinzufügen einer Fraktion kamen wir dann aber sehr schnell an die Grenzen. Ich wollte Wales aus Kingdoms hinzufügen und das war dann tatsächlich ein bisschen frustrierend. Anders als z.B. bei der Nutzung irgendeiner Programmiersprache fehlt es dann doch an tiefgreifenden Kenntnissen zum Medieval 2 Modding. Die KI kennt sich zwar so ungefähr aus und kann Wales auch in diversen Dateien hinzufügen, aber Medieval 2 hat sehr viele Abhängigkeiten von unterschiedlichen Dateien. Wird da an irgendeiner Stelle unsauber gearbeitet hat man meist direkt einen Absturz.


    Debugging und noch mehr Erkenntnisse:

    Ich bin dann dazu übergegangen mit Opus 4.8 und Fable zu debuggen. Interessanterweise hatte ich dabei das Gefühl, dass sich Fable dabei manchmal dümmer angestellt hat als Opus, keine Ahnung warum. Hier zeigt sich dann auch eine weitere Erkenntnis: Es liegt nicht nur daran, dass Opus so viel schlauer wäre als GLM, GLM hat keinerlei Vision-Fähigkeit und ist quasi blind. Opus kann mit Screenshots arbeiten und z.B. nativ die Kartendaten optisch lesen, GLM hat da ewig drum rumgearbeitet und versucht das über ein python Programm auszulesen. Kostet natürlich auch wesentlich mehr Tokens. Letztendlich muss ich aber sagen: Hätte ich die Fraktion von Hand eingebaut, wäre ich schneller gewesen.


    Ziel für weitere Arbeiten:

    Es ging mir hier erst mal um Prüfung wie gut Modelle überhaupt mit Medieval 2 klarkommen, noch nicht um maximale Effizienz. Die soll jetzt aber besser werden, deshalb ein paar Sachen die ich gerne machen möchte:

    • KI lesbare Anleitung speziell zum Erstellen einer neuen Fraktion und zukünftig Fehler zu vermeiden.
    • Mehr automatische Regressiontests - die KI kann damit nach jeder Änderung automatisiert und ohne großen Token-Verbrauch testen, ob ihre Änderung etwas zerschießt. Ich hab schon einige davon nebenher erstellen lassen, aber ich brauche noch mehr. Generell sind diese Tests auch ganz ohne KI lauffähig und wären daher auch so gar nicht verkerht fürs Modding.
    • Darauf aufbauend KI-lesbare Moddingtools, welche der KI erleichtern Änderungen vorzunehmen, ohne was zu zerschießen.
    • Je nach Umfang und Praktikabilität dann auch ein UI drauf klatschen, damit auch Menschen es verwenden können.
    • Einen Weg finden auch die grafischen Elemente durch die KI ändern zu lassen ohne zwangsweise ein Abo für z.B. OpenAI Modelle haben zu müssen und auch auf Medieval 2 angepasst.
  • Imperator Bob 22. Juli 2026 um 19:51

    Hat das Thema freigeschaltet.
  • Ich finde das sehr spannend. Ich habe bereits ebenfalls überlegt, wie weit ich KI für Moddingzwecke verwenden kann. In Medieval kennen wir uns wahrscheinlich alle recht gut aus, weil wir uns da über viele Jahre eingearbeitet haben. Diese Zeit hätte ich heute dazu nicht mehr und es geht natürlich auch an die Gesundheit, stundenlang am Rechner zu hocken. Vielleicht kann man in Zukunft mit KI den Zugang dazu dermaßen vereinfachen, dass diese mühsame Arbeit weg fällt.

  • Ich kann mal einen kleinen Ausblick geben:
    Anpassen und prüfen der modeldb:

    EDU-EDB Crosschecker (braucht noch etwas Verbesserungen):

    Textur-Konverter:

    Kann auch in tga konvertieren, man braucht also nicht unbedingt ein Plugin für das Grafikprogramm. Bei Konvertierung von tga in .texture werden auch die Mipmaps mit generiert.

    Karte:

    Liest aktuell nur Positionen aus und kann validieren.

    Cach Bereinigung:

    Die Bildbearbeitung mit lokaler KI Unterstützung:

    Es können Sachen per inpainting eingefügt werden, Icons platziert, Farben ersetzt und passende normal maps mit passendem Alphakanal für den Glanz erstellt werden. Auch hier wird beim speichern direkt als dds mit DXT5 und mipmaps erstellt.

    Iconerstellung:

    Kann z.B. Wappen erstellen, soll später direkt Flaggen und Wappen bearbeiten/erstellen können.

    Sprite Generierung:

    Aktuell noch fehleranfällig, ich arbeite dran.

    Und hier die verwendeten lokalen Modelle:

    Das Backend ist hier ComfyUi, das läuft aber nur im Hintergrund. Das Tool prüft, ob man ComfyUI bereits installiert hat und falls nicht, ob man für eine einfache Installation Pinokio oder SatbilityMatrix installiert hat. Die Installation kann dann entweder darüber gestartet werden oder das Tool nimmt die Installation Standalone vor. Der Download der Modelle, VAE, Gewichtungen etc. findet auch automatisch statt, man muss in ComfyUI nichts einstellen.


    Ich mache nächste Woche weiter, wenn meine Limits zurückgesetzt sind :D

  • Die KI kommt sehr gelegen wenn es darum geht Texte direkt zu übersetzen von den data\text*.txt Dateien ohne das Format zu verlieren (geschweifte Klammern Text).
    Wenn man allerdings Peinlichkeiten vermeiden will wie das Bombardieren der Schule in Iran oder das Entlassen der Verwalter der Atomwaffen sollte man wohl doch nachlesen...

    Sprite Erzeugung: wird das direkt gemacht oder erfolgt das durch Erstellung der Datei wie hier beschrieben?

  • Wenn man allerdings Peinlichkeiten vermeiden will wie das Bombardieren der Schule in Iran oder das Entlassen der Verwalter der Atomwaffen sollte man wohl doch nachlesen...

    Da hast du wohl recht :/

    Sprite Erzeugung: wird das direkt gemacht oder erfolgt das durch Erstellung der Datei wie hier beschrieben?

    Über den verlinkten Weg. Ich habe das vorerst ad acta gelegt, theoretisch müsste es mit sauberer Installation klappen wie es eingebaut ist, aber da meine Installation mit M2EX ist und es damit einen Engine Bug bei der Erzeugung der Sprites gibt, hänge ich da und habe derzeit auch nicht genug Zeit zum testen.

    Es wäre ja cool das ohne Spielstart zu integrieren, aber man braucht ja trotzdem Modelle und Texturen um die Sprites daraus zu bauen und der Aufwand das außerhalb der Engine nachzubauen wäre für so ein Tool glaube ich einfach zu groß. Am Ende haben die Leute es dann auf maximalen Einstellungen und sehen die dann gar nicht :D

  • man braucht ja trotzdem Modelle und Texturen um die Sprites daraus zu bauen und der Aufwand das außerhalb der Engine nachzubauen wäre für so ein Tool glaube ich einfach zu groß.

    Ist ein wenig wie das Rad neu zu erfinden. Vielleicht kannst Du ja die Sachen von meinem Guide so einbauen dass man dann lediglich nur die Einheiten\Modelle wählt und wenn man dann auf 'mach mal' klickt das Spiel anläuft und die Sprites erzeugt.
    Das Spiel schliesst ja gleich nach Erstellung, sollte also kein Problem sein.

    meine Installation mit M2EX ist und es damit einen Engine Bug bei der Erzeugung der Sprites gibt

    Yup, die Jungens sind gross darin auf einer Seite was nettes zu machen und auf der anderen gleichzeitig was zu vermurksen.
    Viel Spass falls Du dich entscheiden solltest wieder auf das Original zurückzugehen....

  • Ist ein wenig wie das Rad neu zu erfinden. Vielleicht kannst Du ja die Sachen von meinem Guide so einbauen dass man dann lediglich nur die Einheiten\Modelle wählt und wenn man dann auf 'mach mal' klickt das Spiel anläuft und die Sprites erzeugt.
    Das Spiel schliesst ja gleich nach Erstellung, sollte also kein Problem sein.

    Ja, im Grunde genommen ist es auch so gebaut:

    Man wählt die gewünschte Modelle aus die dynamisch ausgelesen werden. Das Tool liegt in einem Unterordner der Mod und erzeugt auch den Eintrag für die Sprite Generierung automatisch und nimmt sie nach der Generierung wieder raus, theoretisch hat man keinen Konfigurationsaufwand. Praktisch kann ich es gerade nicht weiter durchtesten und lasse es für den Moment ruhen :/


    Ansonsten finde ich schon sehr cool was sie mit M2EX anstellen, ich lese als in deren Discord mit. Letztendlich muss man ja sagen, dass die Sprite Generierung auch kein Thema ist, das viele Leute trifft. Wie viele Leute haben in ihrem Leben schon mal Medieval 2 Sprites generiert :D

  • Wie viele Leute haben in ihrem Leben schon mal Medieval 2 Sprites generiert :D

    Selbst Modder die Einheiten erstellen benutzen oft original\vorhandene Sprites die ähnlich aussehen. viele von denen haben einfach keine Ahnung wie man Sprites erstellt.
    Und dann ist da noch der Stolperstein das man halt konvertieren muss - alles Grund warum ich damals das Tool erstellt hatte.

  • Achja die Konvertierung hatte ich auch automatisiert, weil das Tool das schon an anderer Stelle ohnehin mit unterschiedlichen Formaten kann.

    Ich meine ganz grundsätzlich sind Sprites auch nicht mehr besonders zeitgemäß, ich frage mich wie viele % der Leute die Medieval 2 noch spielen wirklich nicht genug Hardware Power hätten, um gar keine Sprites im Spiel zu brauchen.

    Btw. Geomod bzw. Bestandteile davon wäre für so ein Moddingtool auch interessant. Ich hab es mir noch im Detail angeschaut, aber könnte ich (mit Angabe von Credits natürlich) etwas davon verwenden?

  • Btw. Geomod bzw. Bestandteile davon wäre für so ein Moddingtool auch interessant. Ich hab es mir noch im Detail angeschaut, aber könnte ich (mit Angabe von Credits natürlich) etwas davon verwenden?

    Der Autor vom Tool hat den Code mitgegeben im Download für genau diese Angelegenheit.
    Die Dateien (PBI) wurden mit PureBasic kompiliert. Bitte beachten - für Win11 braucht man (alte) Treiber die im neuesten Download enthalten sind. Auf ModDB habe ich die separat hochgeladen.

    Sprites & Hardware - die Sprites per CFG Datei Eintrag (unit_detail = highest) auszuschalten wird oft gemacht. Und wenn man dann ein Mod hat wo die Autoren meinen dass sehr detaillierte Modelle (hohe Verticezahlen) einfach sein müssen dann schaust DU Dir halt einen Diavortrag an wenn Du raus zoomst.

    Theoretisch sollte es auch nicht mehr passieren dass die FPS ins bodenlose fällt wenn man über große Flächen von dichtem Wald oder Hochgebirge scrollt.....

  • Supi, danke dir für die Links:thumbup:

    Ja gut wenn jemand riesige Modelle und Spiel packt dürfte das allgemeine nicht so zuträglich sein :justgrind:

    Ich hab jetzt einen Model/Texture Viewer, er prüft welche Modelle und Texturen die Mod hat und kann sie anzeigen. Wenn nur Texturen aber kein dazugehöriges Model vorliegen zieht es sich das Model automatisch aus vanilla und zeigt die Mod Textur darauf an. Geht selbst dann, wenn das Spiel nicht entpackt ist. So was hätte ich mir damals beim skinnen gewünscht :)

    Da ich jetzt aber alles ohne die Game Engine und ohne Konvertierung direkt im Tool anzeigen kann, ist vielleicht auch Sprite Generierung ohne Game Engine als 1-Klick Lösung möglich. Muss mal gucken wie aufwändig das wäre.

  • Cool danke, ich denke, die Sachen werden noch nützlich sein, zumal ich auch an den Audiodateien rumbastle :thumbup::)

    Die Animationen aus den CAS Files können inzwischen ausgelesen werden und dank der Vorarbeit auch schon so was wie Sprites generiert werden (oben original, unten erster Versuch):

    Braucht also noch etwas mehr Arbeit bis es ins Spiel übernommen werden kann.

  • Achso ganz vergessen hier eine Antwort abzusenden :gsweat:

    Ja das Bild war nur ein erster Test. Das Sprite Tool hat jetzt 3 Optionen:

    -In-Engine Generierung mit Warnung wenn M2EX genutzt wird.

    -Umfärbung: Die Positionen von bestehenden Sprites werden genau beibehalten und nur die Farbgebung entsprechend der Textur geändert. Funktioniert gut außerhalb der Engine.

    -Experimentelle komplette neu-Generierung außerhalb der Engine. Hier gibt es zu viele unbekannte, es ist lauffähig, die Farbgebung ist okay, aber gibt zu viele Artefakte in Bewegung.


    Aktuell lasse ich es ruhen um weitere Verbesserungen am Rest vorzunehmen. Es gibt jetzt deutlich mehr automatische Test für Fehlerprüfung. Es gibt einen Charakter/Armeeditor mit dem Charaktere geändert oder erstellt werden können, Anpassung der Familie (im Falle von M2EX auch Anpassung der Hauszugehörigkeit), Zuweisung von Einheiten und auch grafischer Platzierung auf der Karte.


    Dann ein Editor für historische Events und einen Scripteditor der dabei helfen soll Scripts zu ändern aber auch neu anzulegen, inklusive Erklärungen zu Aktionen, Auslösern etc.


    Prinzipiell kann man mit dem Tool auch bereits Wappen und Flaggen generieren und ins richtige Format bringen, genauso Generalsreden und Musik. Generierung von Einheitenkarten soll noch kommen. 3D viewer muss ich gucken wie gut man Erstellung von Models automatisierten könnte. Models generieren ist ja nicht das Problem, die ins richtige Format bringen und so anpassen dass die bestehenden Skeletten und Animationen Funktionieren schon, keine Ahnung ob das klappt^^

  • Generalsreden hängen ab von der Präsenz von Traits und Armeezusammenstellung - für selbst und Gegner. In wie fern kann man dies ändern mit deinem Tool? Es ist ja auch an den Akzent gebunden. zB kann ich meinen neuen Trait einfügen durch das GUI?

    Erstellt das Tool eigene sounds IDX\DAT Dateien oder erzwingt sie es durch Nulldateien oder löschen?

    Da ist ein Einheitenkarten App von Feral, bin aber nicht sicher ob der source code dafür erhältlich ist: https://github.com/FeralInteractive/medieval2-unitcards

  • Sieht aus als bräuchte man dafür Blender, aber ich gucke es mir mal an, danke :)

    Das Reden-Tool kann die .idx Dateien entpacken/auslesen und eben Reden erstellen. Egal wofür, Videos, Sounds, whatever. Tiefer geht das noch nicht. Traits hinzufügen für Charaktere geht über den Charakter Editor schon, aber noch keine neuen erstellen.

    Aktuell hab ich eine kleine Pause, bin dann aber wieder wie zuletzt an den grafischen Tabs. Man kann dann kleinere Änderungen an den Texturen direkt im Tool vornehmen, sieht die dann auch live am Model ohne das Spiel starten zu müssen und kann direkt die normal Maps erstellen oder auch von M2EX unterstütze PBR.

    Wenn die grafischen Sachen durch sind, geht es weiter zu den Soundgeschichten. Btw hat M2EX in der nächsten Version wohl die Sprite-Erstellung gefixt, ich bin gespannt.


    Edit: Hat tatsächlich nicht so viel gebracht, aber ich hatte einen Testlauf und das Tool hat etwa 500 Einheitenkarten in einem Testlauf erstellt.

    Davor hatte ich diverse Probleme mit Posen und insbesondere den Reitern. Die Arbeiten daran haben sich aber doppelt gelohnt, weil die Posen auch bei der Sprite Generierung ein Problem waren. Die experimentelle komplette Neugenerierung ohne Engine dürfte damit stark verbessert werden können.

  • Direkt an den Texturen arbeiten und normal maps erstellen sollte ein guter Köder sein um jemanden tiefer ins modden zu locken. :justgrind:

    Sprites und Einheitskarten (vor allem die Reiter) ohne mühsame Kleinarbeit ist auch nicht zu verachten. :thumbup:

    Hatte ich schon gefragt ob Du die sounds idx\dat Dateien direkt erstellst oder sie nur entfernst für Neugenerierung?

    I Sachen Script könnte der SkriptEditor hilfreich sein.


Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!