1
Projekte und Ideen für MMM / AGSModder | Episode 3 in Englisch
« am: 28. November 2019, 18:59:26 »
AGSModder
Ein großes Problem unserer Community ist meiner Meinung nach der großflächige Mangel an Englischen Übersetzungen für unsere Episoden und vor allem das sehr viele teils nicht gute aber auch paar der besten Episode derzeit de facto nicht übersetzbar sind, weil der Entwickler fort ist und damit auch die Quellcodes oder der Quellcode geht einfach mal so verloren.
Da habe ich mir mal vorgestellt wie es wäre, wenn es ein Modding Tool für AGS Spiele gäbe, mit dem man Spiele stark bearbeiten könnte. Dieses Problem wollte ich mal angehen.
Ich habe mich in der letzten Zeit viel mit x86 Hex-Coding und Reverse Engineering beschäftigt, mit meinem primären Ziel eine Episode zu verändern sodass sie danach auch noch funktioniert.
Als mein Beispiel habe ich Episode 3: Stubenarrest, mal genommen.
Ich weiß sie gilt nicht als beste Episode, jedoch ist sie sehr kurz, bei chronologie besessene nicht deutschsprechende Spielen ziemlich gefragt und am allerwichtigsten der Quellcode ist verloren.
Ich habe für's Erste genug geschrieben und werde mal meine bisherigen Ergebnisse mit meinem Tool vorstellung um danach noch näher drauf einzugehen.
Also die Übersetzung für das Spiel wäre vom Text her quasi komplett vollendet. Und für einen nicht-Deutsch sprechenden wäre es auch verständlich und auch gut spielbar. Alle Begriffe habe ich versucht so zu bearbeiten, sodass sie natürlich auch noch das gleiche bedeuten um nicht das (verlorene) geistliche Eigentum von verschwundenen Entwickler nicht zu verletzen.
Wie man sehen kann habe ich auch noch die View von den Verben verändert und zu meinem Glück befanden sich die englische Verben noch in dem fertigen Spiel.
Mit quasi komplett habe ich auch das gemeint, was man ziemlich einfach auf diesem Bild erkennen kann. Um es zu erklären: In dem Binärcode von der .exe und der .001 usw. kann man Strings wie sie in den AGS Scripten sich befinden frei verändern. (Strings ist vereinfacht eine Nacheinanderreihung von Zeichen.) Diese befinden sich in gewisse Datenbereiche. Ich kann einen String natürlich verkürzen aber nur so lange verlängern, sodass ich keinen anderen Datenbereich der etwas anderes enthält (Code oder andere Strings) berühre. Daran muss ich noch arbeiten, wie man Datenbereiche in gewissen Bereiche verändern kann. Dazu muss ich finden wo diese zugeordnet werden, was leider sehr kompliziert ist. Solange ich das nicht herausfinde kann eventuell so etwas passieren wie bei der Phrase givewallet. In der .exe ist das Gui Wort Gib folgenderweise angegeben.
Ein Nullwert besitzt den binären bzw. hexadezimalen Wert 00, so eine leere Information markiert dass folgender String fertig ist. Wäre nach dem Nullwert ein weiterer könnte ich sogar den String um 1 verlängern. Jedoch ist nach dem Nullwert direkt der String von einem nächsten Verben angegeben. Sprich ich darf den String derzeit nicht verlängern. Also wie kann ich diesen übersetzen? Nur so leider:
Dies ist im Spiel zum Glück nur einmal vorgekommen. Das Spiel ist davon ja auch nicht wirklich beeinträchtigt.
Hier hätte ich noch 2 weitere Eindrücke.
Also das wäre mein bisheriger Stand. Auf dieser Art und Weise kann man jetzt schon spielbare Übersetzungen erstellen.
Da sich aber kaum jemand die Mühe macht, was ich auch nachvollziehen kann, durch Hexadezimal Code sich zu kämpfen, arbeite ich an den AGSModder.
Derzeit kann man mit dem AGSModder ein AGS Spiel einlesen, und dieser gibt euch die komplette Auflistung aller im Spiel vorkommenden Texte. Diese lassen sich dann auch bearbeiten und direkt speichern. Er wird ebenfalls angegeben wie lang maximal eine Phrase sein darf.
Es funktioniert derzeit sogar mehr oder weniger, trotzdem habe ich noch viel zu Tun und auch viele Funktionen geplant welche den AGSModder zu einem wirklichen Modding Tool machen:
Sonst wäre der Editor auch auf Linux Systeme ohne Einschränkungen nutzbar.
Natürlich werde ich den weiteren Verlauf meines Projektes hier updaten und zukünftige Alpha Versionen oder gar Github Repos hier reinstellen.
Das war dann auch das "kleine" Überraschungsprojekt welches ich noch für dieses Jahr angekündigt habe.
Um ehrlich zu sein, die Arbeit ist ziemlich komplex und für mich auch zeitaufwendig, daher schließe ich einen komplette Veröffentlichung davon in diesem Jahr aus.
Dennoch will ich euch von diesem Projekt auch erfahren lassen. Der AGS Community werde ich auch mal dieses Projekt präsentieren, aber in diesem frühen Stadium finde ich eine Vorstellung noch nicht passend. (Außerdem bezweifel ich, dass ein Hacking-Tool dort nicht wirklich gut ankommen wird.)
Ich wäre interessiert was ihr von dieser Idee haltet.
Ein großes Problem unserer Community ist meiner Meinung nach der großflächige Mangel an Englischen Übersetzungen für unsere Episoden und vor allem das sehr viele teils nicht gute aber auch paar der besten Episode derzeit de facto nicht übersetzbar sind, weil der Entwickler fort ist und damit auch die Quellcodes oder der Quellcode geht einfach mal so verloren.
Da habe ich mir mal vorgestellt wie es wäre, wenn es ein Modding Tool für AGS Spiele gäbe, mit dem man Spiele stark bearbeiten könnte. Dieses Problem wollte ich mal angehen.
Ich habe mich in der letzten Zeit viel mit x86 Hex-Coding und Reverse Engineering beschäftigt, mit meinem primären Ziel eine Episode zu verändern sodass sie danach auch noch funktioniert.
Als mein Beispiel habe ich Episode 3: Stubenarrest, mal genommen.
Ich weiß sie gilt nicht als beste Episode, jedoch ist sie sehr kurz, bei chronologie besessene nicht deutschsprechende Spielen ziemlich gefragt und am allerwichtigsten der Quellcode ist verloren.
Ich habe für's Erste genug geschrieben und werde mal meine bisherigen Ergebnisse mit meinem Tool vorstellung um danach noch näher drauf einzugehen.
Also die Übersetzung für das Spiel wäre vom Text her quasi komplett vollendet. Und für einen nicht-Deutsch sprechenden wäre es auch verständlich und auch gut spielbar. Alle Begriffe habe ich versucht so zu bearbeiten, sodass sie natürlich auch noch das gleiche bedeuten um nicht das (verlorene) geistliche Eigentum von verschwundenen Entwickler nicht zu verletzen.
Wie man sehen kann habe ich auch noch die View von den Verben verändert und zu meinem Glück befanden sich die englische Verben noch in dem fertigen Spiel.
Mit quasi komplett habe ich auch das gemeint, was man ziemlich einfach auf diesem Bild erkennen kann. Um es zu erklären: In dem Binärcode von der .exe und der .001 usw. kann man Strings wie sie in den AGS Scripten sich befinden frei verändern. (Strings ist vereinfacht eine Nacheinanderreihung von Zeichen.) Diese befinden sich in gewisse Datenbereiche. Ich kann einen String natürlich verkürzen aber nur so lange verlängern, sodass ich keinen anderen Datenbereich der etwas anderes enthält (Code oder andere Strings) berühre. Daran muss ich noch arbeiten, wie man Datenbereiche in gewissen Bereiche verändern kann. Dazu muss ich finden wo diese zugeordnet werden, was leider sehr kompliziert ist. Solange ich das nicht herausfinde kann eventuell so etwas passieren wie bei der Phrase givewallet. In der .exe ist das Gui Wort Gib folgenderweise angegeben.
- G
- i
- b
- Leerzeichen
- %
- s
- Nullwert
Ein Nullwert besitzt den binären bzw. hexadezimalen Wert 00, so eine leere Information markiert dass folgender String fertig ist. Wäre nach dem Nullwert ein weiterer könnte ich sogar den String um 1 verlängern. Jedoch ist nach dem Nullwert direkt der String von einem nächsten Verben angegeben. Sprich ich darf den String derzeit nicht verlängern. Also wie kann ich diesen übersetzen? Nur so leider:
- g
- i
- v
- e
- %
- s
- Nullwert
Dies ist im Spiel zum Glück nur einmal vorgekommen. Das Spiel ist davon ja auch nicht wirklich beeinträchtigt.
Hier hätte ich noch 2 weitere Eindrücke.
Also das wäre mein bisheriger Stand. Auf dieser Art und Weise kann man jetzt schon spielbare Übersetzungen erstellen.
Da sich aber kaum jemand die Mühe macht, was ich auch nachvollziehen kann, durch Hexadezimal Code sich zu kämpfen, arbeite ich an den AGSModder.
Derzeit kann man mit dem AGSModder ein AGS Spiel einlesen, und dieser gibt euch die komplette Auflistung aller im Spiel vorkommenden Texte. Diese lassen sich dann auch bearbeiten und direkt speichern. Er wird ebenfalls angegeben wie lang maximal eine Phrase sein darf.
Es funktioniert derzeit sogar mehr oder weniger, trotzdem habe ich noch viel zu Tun und auch viele Funktionen geplant welche den AGSModder zu einem wirklichen Modding Tool machen:
- Das modifizieren der maximal Länge eines Strings.
- Das modifizieren von Grafiken.
- Austausch von Musik, Optionen, Variabeln und so weiter...
Sonst wäre der Editor auch auf Linux Systeme ohne Einschränkungen nutzbar.
Natürlich werde ich den weiteren Verlauf meines Projektes hier updaten und zukünftige Alpha Versionen oder gar Github Repos hier reinstellen.
Das war dann auch das "kleine" Überraschungsprojekt welches ich noch für dieses Jahr angekündigt habe.
Um ehrlich zu sein, die Arbeit ist ziemlich komplex und für mich auch zeitaufwendig, daher schließe ich einen komplette Veröffentlichung davon in diesem Jahr aus.
Dennoch will ich euch von diesem Projekt auch erfahren lassen. Der AGS Community werde ich auch mal dieses Projekt präsentieren, aber in diesem frühen Stadium finde ich eine Vorstellung noch nicht passend. (Außerdem bezweifel ich, dass ein Hacking-Tool dort nicht wirklich gut ankommen wird.)
Ich wäre interessiert was ihr von dieser Idee haltet.