[Organisation] Fehlende Modding Tools

Calhavintas

Junior Member
Registriert
30.07.2017
Beiträge
3
Fehlende Modding Tools?

Hallo ihr Lieben,

ich bin ein Fan von Baldur's Gate seit meiner Kindheit und habe angefangen die Enhanced Editions zu spielen und zu modden.
Ich habe durch ein Informatik-Studium und durch Hobby-Projekte Erfahrung sammeln können und habe Lust Modding Tools für Infinity Engine Spiele in meiner Freizeit zu entwickeln um der Community unter die Arme zu greifen und sie zu unterstützen.
Die bestehenden Modding Tools (BWS, Big World Project, ...) sind großteils nur unter Windows lauffähig, weshalb Modding für die Enhanced Editions unter Linux/Mac bisher schwer umsetzbar ist.

Hauptaugenmerk liegt dabei auf:
  • Unterstützung für möglichst alle Infinity Engine Spiele (alt und neu)
  • Lauffähig auf verschiedenen Betriebssystemen
  • Open-Source mit Hosting auf Github
  • (Wahrscheinlich) geschrieben in C# (meine aktuelle Hauptsprache, gute Bekanntheit, Cross-Platform)

Meine Fragen an euch:
Welche Tools fehlen euch generell noch?
Was würde euch Arbeit abnehmen (sofern es automatisierbar ist)?
Welche alten Tools werden nicht mehr aktualisiert/sind Aktualisierungen gewünscht/sollen auf anderen Plattformen laufen?

LG
Calhavintas
 
Zuletzt bearbeitet:

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
12.946
Hallo Calhavintas, willkommen im Forum!
Wenn Du Modden sagst, dann meinst Du die Installation von Mods in ein Spiel, nicht das Erstellen von Mods?

Ich habe keinen wirklich konkreten Wunsch was das Ergebnis betrifft. Aber BWS krankt daran, dass es ein Normalsterblicher (:shine:) nicht warten kann, da die ganzen Informationen in seltsamen ini Dateien abgelegt sind, die für sich genommen keinen Sinn machen. (Außer man weiß, wie man sie lesen muss.)
Wenn es ginge, die ganzen Informationen, die man zu Mods sammeln kann, vor allem die Installationsreihenfolge / Kompatibilitätsnotizen, so abzulegen, dass man 1. diese lesen kann, um sie z.B. in einer manuellen Installation zu berücksichtigen und 2. von Hand dazufügen kann, und das ohne Programmierer zu sein, fände ich das ein wichtiges Feature für die Modinstallation. Kompatibilität ist ja *das* wichtige Feature überhaupt, ohne die macht das Modden eines Spiels ja keinen Sinn. Wenn das Tool diese Info also so ablegen / einlesen würde, dass man das als Nicht-Programmierer pflegen könnte, wäre das zienlich gut.
Bin mir nicht sicher, ob das als Feedback zu Deiner Frage Sinn macht..

Hast Du auch ein Auge auf die englische Community, es gab immer mal wieder Vorstöße und Ideen von Installern, die das BWS ablöen und nicht auf Windows begrenzt sind. Bisher wüsste ich zwar nicht, dass da wirklich dran gearbeitet wird, aber bescheid zu wissen ist immer besser als hinterher zu merken, dass zwei Leute ähnliches implementiert haben.. EDIT: Wisp arbeitet z.B. an einem Tool nahmens "Zeitgeist". Ich blicke nicht ganz durch, was das werden wird, aber es ist sicher einen Blick wert, bevor Du mit Deinem anfängst.
 
Zuletzt bearbeitet:

Calhavintas

Junior Member
Registriert
30.07.2017
Beiträge
3
Vielen Dank für die Begrüßung :) schön hier zu sein.

Für einen eigenen Mod fehlt mir eine passende Idee, aber mit den Grundzügen bin ich vertraut. Momentan arbeite ich mich noch durch die Dateiformate und die grundlegende Arbeitsweise der Spiele (welche Ordner werden wie durchsucht, welche Änderungen an der Engine gibt es durch die neuen Editionen, ...)

Ich bin für alle Vorschläge offen und wollte nicht wahllos mit irgendeiner Idee anfangen, sondern es sollte schon ein Bedarf in der Community da sein ;)

Sei es für das Bearbeiten von einzelnen Dateiformaten oder das Erstellen, Pflegen, Konvertieren von einzelnen Mods, als auch für die Installation und Wartung von (beliebig) großen Mod-Paketen, sowie Tools zur Pflege von Linklisten, sammeln und warten von Informationen usw.

Dein Vorschlag passt also durchaus, gerade auch was die Wartbarkeit der Daten durch andere betrifft ;)

Bei der englischen Community bin ich auch angemeldet, aber nicht so oft unterwegs. Das mit dem BWS ist mir schon aufgefallen, hab gerade mal ein Blick in die Ini Dateien geworfen :wunder: für AutoIt als Sprache wird das Projekt echt zu groß, sprich schwer wartbar und es gibt nicht so viele, die diese Sprache kennen

Zeitgeist scheint ein Programm rein für das Installieren/Deinstallieren von Mods mittels weidu zu sein/werden ohne Download der Mods. Außerhalb dessen gibt es ja immer noch viel, was momentan manuell erledigt wird
 

Dabus

Senior Member
Registriert
18.11.2007
Beiträge
5.086
Naja, BWS ist ja auch mal als was anderes geplant gewesen.

Das BWP sollte mit der Install.bat das Installationsgedöns liefern, das BWS sollte nur so als "GUI Wrapper drüber gezogen" werden.

Anfangs gabe es auch nur die Auswahl "Mod ziehen: ja, nein", eine Hand voll simple Konflikte, Download, Entpacken und dann an die Install.bat übergeben.

Dann wurde der ganze Krams komplizierter und ich erzähle mal nur ein paar Sachen -- zum Spaß und zum Verdeutlichen, warum die Anwendung vielleicht nicht wie aus einem Guss wirkt und viel geflickt wurde.

Es gab hässliche Ausnahmen bei Downloads (hosts mit Werbung) und beim Entpacken (NSIS und andere Sonder-/Installerformate, gepackte Zips, Packete mit und ohne Weidu, die evtl. aktualisiert werden musste).
Dann sah die GUI nicht gut / professionell / nach Hersteller XYZ aus.

Dann sollten es Merker in der BWP-PDF geben, die auslesen wollte. Testen, machen tun und dann kam es doch anders und zack zack waren Wochen für die Katz. Dann war die GUI zu verspielt und die eingeplante Abfolge sollte anders werden.
Die Batch wurde öfters geändert, es gab komplexere Abhängigkeiten und Konflikte.

Die GUI war dann natürlich auch nicht ausreichend, das was man zum Einlesen der Batch und der PDF hatte dann spätestens auch, als es eine Inflation an Variablen in der Batch gab, die für Leonardo sinnvoll war.
Da musste man sich was eigenes ausdenken oder bei jeder neuen Version das Importmodul umschreiben.

Dann war die Logik für die Auswahl-GUI nicht von Haus aus da.
Dann gab es Sub-Komponenten, Multiple Choice oder freie Eingabe von Werten. Komponenten die es nur in bestimmten Sprachen oder bei bestimmten Spielen gibt. Dann hat z.B. Stratagems die Zillionste Komponente gehabt und man musste für diesen Sonderlösungen basteln.

Dann hat man Admin-Tools geschrieben bzw. Konfigurationsdialoge.
Es wurde gesagt, daß 1 Download nicht mehr zeitgemäß ist und man mehr Pakete zeitgleich ziehen sollte.
Dann wurde gesagt, daß die Auswahl nach Rangfolge doof ist und man sollte doch lieber Fragen stellen und daraus Multiple Choice Dialoge machen.
Dann haben sich die beschwert, die nach Rangfolge und PDF installieren wollten. Zwischendurch gab es natürlich die Vorschläge von Purristen, die aus dem BWS so etwas wie eine manuelle Installationsanleitung ableiten wollten.

Es wurde gesagt, daß BGEE, IWDEE usw. und dann EET das Ding wäre.
Die ganzen auf ein Spiel ausgerichteten Variablen aus dem Skript zu pflücken war schon ätzend. Dann die GUI abändern, weil da was anderes als BG1 und BG2 hin musste.
Es wurde festgestellt, daß man in den Spielen oftmals das selbe nutzt und man die Einstellungen irgendwie zusammen fassen sollte. Dann wurde das noch komplexer, mehr Einzellösungen im Code statt in Konfigurationsdateien und da keiner mit den Konfigurationsdialogen arbeitete waren die wieder hinten dran oder eher hinfällig.

Und irgendwo ab der Einführung von EET war dann bei mir Schicht im Schacht.

Hier ist das Entwicklungsdrama zu Ende.

Die Konfigurationsdateien finde ich aber trotzdem lesbar. Auch wenn sich der eine oder andere XML gewünscht hat. :D

Das AutoIt3 meine erste / einzige Skriptsprache war, die auch eine GUI zeichnen konnte, sollte als Erklärung dienen, warum ich das genutzt habe.

Wobei ich zugeben muss, daß ich mir das eine oder andere "iiih, wer nimmt denn so was", kein Linux, Mac, kein Java, kein .net, usw. hätte sparen können, wenn ich irgendwas mit Wget/curl für den Download zusammen gestrickt hätte.
Andererseits gibt es für Infinity Spiele keinen Framwork zum massiven Modden und so ist das BWS nach und nach immer komplexer und unübersichtlicher zu Handhaben geworden, weil immer mehr Mods ins BWP / BWS rein geschmissen worden sind.

Wobei es sicher geholfen hätte, wenn man das Zeug per PHP/HTML/perl/ruby oder so in einer Webseite hätte konfigurieren können, um mehr Leute an zu sprechen.

Andererseits hätte auch eine Begrenzung auf eine spielbare stabile Auswahl geholfen. Oder weniger Bewegung bei den entwickelten Mods.

Letztendlich muss man bei neuen Versionen ja immer wieder nachsehen, was sich geändert hat, ob die Komponenten noch von den Zahlen her stimmt, ob es neue Komponenten gibt, ob es neue Übersetzungen gibt, ob es Konflikte & Abhängigkeiten gibt, etc. pp. Das Gefitzel hat mich z.B. verrückt gemacht, da ich es auch nie machen wollte und ich das als Sisyphusarbeit empfinde.

Äh, ja. Rant zu Ende. :D
 
Zuletzt bearbeitet:

Calhavintas

Junior Member
Registriert
30.07.2017
Beiträge
3
Hallo Dabus :)

entschuldige falls ich dir zu nahe getreten bin, das war nicht meine Absicht. Ich bewundere eher was du geschafft/geschaffen hast und für die ursprüngliche Version war AutoIt eine handhabbare und gute Lösung.

Aus Sicht eines Programmierers stimme ich dir komplett zu. Anfangs sollte es das installieren von Mods für lange abgeschlossene Spiele, die nur unter Windows laufen vereinfachen (die Anfänge davon habe ich auch noch verfolgt).
Dann gab es immer mehr Änderungen bei den Anforderungen, die bei größeren Projekten gerne mal entstehen, mit die größten sind wohl die neuen Editionen mit nativer Unterstützung für Linux und Mac, da hat auch WeiDU mit zu kämpfen (Probleme mit der Groß-/Kleinschreibung).

Ab da verschieben sich die Anforderungen an die genutzte Sprache/n, z.B. wie schnell sich Änderungen nachträglich (auch von anderen) einpflegen lassen. Für rein inhaltliche Veränderungen wäre dabei eine möglichst intuitive Form wünschenswert, die auch Personen ohne Programmierkenntnisse durchführen können (selbsterklärend wäre perfekt) bzw. über eine GUI. Gerade dieses manuelle Abgleichen ist eine große Fehlerquelle, kostet viel Zeit und raubt den meisten den Spaß an der Sache.

Wie sähe denn für dich im Idealfall das Modden von Infinity Engine Spielen aus?
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
12.946
Meine Kommentare oben über das BWS sind eher meinem Frust geschuldet, dass ich da nicht durchblicke. Sollte keine Abwertung sein. Ich sehe aber jetzt, dass mein Genöle sich nahtlos in Deine Aufzählung einreiht. :o
Ich würde halt gerne helfen, das BWS aktuell zu halten, und bin da auf andere angewiesen. Das nervt (mich).

Dass es eine Riesenleistung ist und mit ein Grund, warum überhaupt noch so viele Leute sich BG-Installationen aufziehen (und wir nicht ständig "wie mache ich das und in welcher Reihenfolge"-Threads beantworten müssen) ist eine Tatsache. :up:
 

Dabus

Senior Member
Registriert
18.11.2007
Beiträge
5.086
Ähm, die Liste da oben sieht im Nachhinein wirklich so aus, als ob es die Reaktion eines Katers wäre, dem man auf den zerzausten Schweif tritt. Öh, stimmt wohl zu 10% :rolleyes:

Was ich nicht so genau weiß ist die Sache mit Andoid / iOS bzw. BGEE unter MacOs und Linux. Also wie gut das zum Modden geeignet wäre und wie der Aufwand dafür ist.

Also ich würde z.B. keinen Aufriss drüber machen, wenn Du mit Sprache X z.B. nur Windows bedienst. Damals war jedenfalls Linux bestenfalls ein Nischenprodukt und MacOS habe sich Schöngeister besorgt, weil es schick war und nicht, um ein Spiel zu spielen. Wie das heute ausschaut, weiß ich natürlich nicht - ich habe kein EE und bin zu faul, um Marktanteile der EE-Spiele zu googlen.

Ein Großteil der Sachen wirst Du wohl weiterhin brauchen.
Einige Modeigenschaften, Übersetzungen, Beschreibungen.
Was interessant wäre, wäre vielleicht eine Möglichkeit, die Pflege der Mods durch die Spieler / Modder machen zu lassen. Wobei ich dann nicht weiß, wo man dann aufhören will / sollte.

Beispiel Installationsabfolge:
Da gibt es ja so Grundsätze wie Tweaks am Ende, damit die neuen NPCs aus Quests mit gemoddet werden, oder Tweaks die Waffenschwemme von DSotSC ausmerzen können. Dann gibt es wieder Ausnahmen, wo einzelne Elemente vor bestimmte Mods müssen. Oder Elemente vor der Installation eines Mods gesichert und dann später zurück kopiert werden. Zumindest gab es mal solche Sachen.

Kann man so was einfach "ausknobeln"? Also X Bedingungen sammeln und am Ende kommt was sinnvolles raus? Oder ist das eh nicht sinnvoll, weil die Informationen nicht allen 500 Mods mit gegeben werden, die es gibt? Sollte man das X Usern zutrauen oder nur einem Modder, evtl. dem Modder des Mods oder einem anderen Experten? Schießt man sich in den Fuß, wenn man zu offen ist?

Noch ein Beispiel zum Thema "das kann jeder pflegen".
Wenn es eine Änderung bei den Komponenten gibt, kann das evtl. haarig werden. Wird aus der Abfolge 0 = NPC, 1 = eigene Klasse, 2=anderes Bild 0=NPC, 1=Klasse 1, 2=Klasse, 3 = Bild, so muss man evtl. eine andere Stelle anpassen, wie z.B. die Konflikte der Klasse mit einer anderen Klasse oder einem Quest. Zumindest, wenn Du den Konflikt als "Komponente 1 von Mod A hat Konflikt mit Mod B" abgespeichert hast. Und das braucht man, wenn man mehrsprachig sein will. Evtl. könnte es aber auch sinnvoll sein, die Konflikte dann immer in englischer Sprache zu sichern. Das könnte bei Anpassungen der Beschreibung aber auch doof werden.

Lässt man nun das Einpflegen von so einfachen Sachen wie den Komponentenbeschreibungen durch einen "normalen, technisch unbedarften" User machen, muss der also irgendwie trotzdem an die möglichen Konsequenzen denken.

Beispiel Spielen:
Manche Sachen wie Dialoge von einem NPC aus einem Mod passen einfach nicht zu einem Bild, was ein anderer Mod zeichnet. Solche Sachen sollte man auch irgendwie berücksichtigen, damit die Welt konsistent wirkt.

Ich hätte seit Jahren gerne ein Punktesystem, um gute Mods zu finden. Also gut geschrieben, nette Dialoge, ich habe gelacht, die Kämpfe sind knackig, keine Bugs. etc. So daß man sagen kann: Ich will jetzt Questmods mit wenig Bugs und viel Dialogen und man kriegt eine Liste, die man sich ansehen kann.
Ja, wir haben hier einen Wiki-Ansatz, aber das war eher allgemein gehalten und war nicht auf dieses Punktesystem runter gebrochen -- und ich mag halt nicht so gerne so viel lesen, bis ich raus habe, ob das was für mich wäre.

Ich hatte auch mal überlegt, ob man vielleicht die Komponenten und Konflikte z.T. aus dem verfügbaren Downloads der Mods automatisch auslesen könnte. Also ein Crontab auf einem Server, der schaut nach, ob es was neues gibt und sagt dann: OK, keine Änderung der Beschreibungen oder neue Sprache gefunden und dann sieht sich jemand die Neuerungen an.
Wobei das auch wieder in die Hose gehen kann, weil viele ältere Mods nicht mit WeiDU-Befehlen geschrieben wurde, die auf direkte Konflikte oder Abhängigkeiten hin deuten. Da findet sich dann ein IF_FILE_EXISTS statt einem MOD_IS_INSTALLED in dem BEGIN Bereich und man ist wieder gekniffen. Deswegen kann ich Alien z.B. auch verstehen, wenn er da gerne mehr Struktur bei den Mods drin hätte.

Das ist also nicht ganz so einfach, wenn man erst mal über die ersten möglichen Probleme stolpert und zig Leute an einem Kochtopf stehen und köcheln.

Wobei ich Dich nicht davon abhalten will, was zu bewegen. ;)

Gespielt habe ich das BWP übrigens 30 Minuten nach dem Xten mal installieren, wovon ich die meiste Zeit gewürfelt habe.
 
Zuletzt bearbeitet:

Acifer

Senior Member
Registriert
27.04.2019
Beiträge
2.190
Meine Fragen an euch:
Welche Tools fehlen euch generell noch?
Was würde euch Arbeit abnehmen (sofern es automatisierbar ist)?
Welche alten Tools werden nicht mehr aktualisiert/sind Aktualisierungen gewünscht/sollen auf anderen Plattformen laufen?
@Calhavintas : In der großen Hoffnung, dass auch knapp zwei Jahre nach dem ersten Post Dein Angebot noch nicht verjährt ist, möchte ich einfach mal meine drei großen Modding-Tool-Wünsche nennen:
  1. Ein übersichtlicher Area-Editor, der auf einem großen Blickfeld möglichst alle Dinge, die man zur Area-Editierung nutzt, vereint. Und der vielleicht die kleinen Hilfs-Maps (für Licht und Wegfindung) direkt bearbeiten kann und in der korrekten Farbe über die Area projiziert. Für mich besteht das Area-Editing meistens darin, zwischen dem alten IETME, Near Infinity und DLTCEP hin- und herzuspringen. Und z.B. das Einsetzen oder Verändern von Türen, die sich Öffnen oder schließen lassen sollen, ist extrem fummelig.
  2. Ein kleines Programm zum Sortieren und Editieren von Animationsdateien, bevor man diese zu einer kompletten Animation zusammensetzt, würde auch viel Zeit sparen. Z.B. zum schnellen Ändern einzelner Palettefarben, dem Zusammenstellen zu einer gif-Animation oder Ähnlichem.
  3. Ein gutes Tool, um größere Dialoge übersichtlich zu erfassen, möglichst in einer Form, wie sie z.B. der gute alte Infinity Eplorer darstellt, und zwar, bevor diese kompiliert werden. Auch nach vielen Jahren Kampferfahrung im Weidu-Dschungel geht mir bei umfangreichen Wortgefechten immer noch die Übersicht abhanden, und nach zig GOTOs und EXTERNs ist das Dialog-Editieren immer noch recht schnell ermüdend. Oder hat jemand aus dem Forum hierzu einen Tipp parat? Vielleicht bin ich aber auch einfach nur zu ungeduldig.:confused:
Ich jedenfalls würde mich über solche Tools freuen, wenngleich ich den Aufwand hierzu gar nicht abschätzen kann.
 
Zuletzt bearbeitet:
Oben