Holerö!~
Es ist viele Jahre her, da ersonn ein deutscher Programmierer mit dem klangvollen Namen Bananen-Joe die Erweiterung Destiny für den RPG Maker 2000, die neben einigen Patchfunktionen auch eine eigene Scriptsprache mitbrachte. Diese wurde bis Anfang des Jahres 2012 weiterentwickelt und schließlich mit der Veröffentlichung des Sourcecodes eingestellt.
Da mich dieses Addon schon von Anfang an sehr begeistert hat, ich viel damit gebastelt habe und schließlich beim Vorabtest für Version 2 sehr viel Energie reinfeuerte, begab es sich 2016, dass ich anfing, Destiny auf Basis des veröffentlichten Source, größtenteils in x86-Assembler (ja, wahnsinnig gruselig) verfasst, um einen Berg neuer Möglichkeiten zu erweitern, denn in vielen Punkten hatte der Umfang noch deutliche Lücken. Diese Nebenbastelarbeit hielt bis Ende 2017 an, als ich eine Pause von all diesem Zeug einlegen musste, um nicht verrückt zu werden. Viele dazugehörige Experimente liegen neben so einigem fertigen Stuff seitdem unvollendet oder kaputt herum.
Vor gut einer Woche hat mich der Wahnsinn erneut gefesselt, etwas daraus zu machen, diesmal jedoch mit Fokus auf den RPG Maker 2003 1.12! Auch wenn ich noch nie allzu sehr begeistert von diesem Programm war, da es das runde Produkt des Vorgängers mächtig zu zerpfuschen wusste, hat es besonders in jüngerer Vergangenheit einige neue Vorteile aus fähigen Händen geerntet, die man nicht ignorieren sollte. Doch was genau ist und kann dieses ominöse "Destiny" nun eigentlich? Dazu kommen wir jetzt.
[Wie war das damals eigentlich?]
Destiny kam ursprünglich in Form eines Patchers im Jahr 2008 heraus, der diverse Einstellungsmöglichkeiten mitbrachte. Das Herzstück war die Einbindung der Bibliothek "Destiny.dll", die Notizen und den sogenannten MessageLink als Scriptcode in einer eigenen Sprache verarbeiten kann. Weitere Einstellungen, von denen diverse erst gegen Ende der Entwicklung hinzukamen, waren unter anderem das Ändern von Fonts oder diversen Dateinamen, eine EnterHeroName-Reperatur sowie das Vertauschen der Zeichenebenen-Reihenfolge (Panorama, Above-Tiles, Pictures, Timer, etc.) auf dem Mapbildschirm. Ob und was alles von diesen Extras diesmal dabei sein wird, ist noch nicht entschieden, denn diese sind absolut nicht der Fokus.
[Hab gehört, es gibt Scripting?]
DestinyScript bietet eine Vielzahl an Datenlese- und -Manipulationsmöglichkeiten, eigene Speicherbereiche für Zahlen, Kommazahlen und Texte sowie das Ausführen von diversen Spielfunktionen, die nicht über Eventbefehle erreichbar sind. Dazu gehörten 2012 bereits Objekte wie Helden, Skills, Gegenstände, Attribute, Zustände, Events, Pictures, die Map, der Bildschirm und ein voller Tastenzugriff auf Tastatur und Maus. Die zuvor unveröffentlichte Erweiterung von ab 2016 gab vielen dieser Bereiche eine Menge weitere Inhalte, fügte allerdings auch Zugriff auf bspw. Animationen, Gegner, Gruppen, ChipSets, Terrains, System-BGM/-SE und Timer hinzu, es würde einfach zuviel werden, hier wirklich alles davon zu nennen. Ihr könnt außerdem diverse Syntax-Basics nutzen, die ungefähr jede Sprache mitbringt, jedoch beherrscht sie z.B. nicht das eigene Anlegen von benannten Konstanten oder Programmvariablen. Kurzum bekommt ihr eine Menge mehr Macht über die Engine, jedoch, das sei gesagt, NICHT im geradezu unendlichen Maße eines RPG Maker MZ.
[Ist das denn alles legal?]
Eine berechtigte Frage und was ältere Fassungen für RPG2000 angeht, so möchte ich dazu keinerlei Aussage treffen, diese sind hier nämlich nicht das Thema, zudem wurden dafür nie offizielle Regeln für Patches und dergleichen herausgegeben, auf die man sich stützen könnte. RPG2003 ab Version 1.10 jedoch verfügt über den Patchvertrag, der unter Erfüllung diverser Voraussetzungen das Verändern und Erweitern der Engine gestattet, ohne dass Entwickler die Berechtigung zur Verbreitung der damit geschaffenen Spiele riskieren. Ein populäres Beispiel hierfür ist Maniac Patch, prägt ihn euch gut ein, dieses gute Stück wird noch wichtig.
[Für welche Version nochmal gleich?]
Wie ich gerade sagte, ist Maniac Patch ein wichtiges Element hierbei, denn dieser wird für die Version, die ich hier hoffentlich irgendwann bereitstellen werde, in der Revision "200128" vorausgesetzt, das bedeutet, ihr müsst euren Maker sowie die RPG_RT 1.12 eures Spiels bereits zuvor damit verarbeitet haben. Es lohnt sich, selbst wenn ihr Destiny nicht auch noch draufpacken wollt. Wenn euch interessiert, was der so kann, schaut mal in den oben verlinkten Artikel.
[Wie ist der Stand?]
Am gestrigen Tage habe ich mich nach einer guten Woche Vorarbeit, die größtenteils aus einer weitreichenden, supertrockenen Datenanalyse mit viel Drecksarbeit bestand, an die Einbindung von Destiny.dll in die RPG_RT.exe 1.12 mit angewendetem Maniac Patch gesetzt und mittlerweile geht das Programm nicht mehr beim Testen in Flammen auf oder verweigert den Dienst. Die Verarbeitung des Scriptcodes funktioniert, womit ich mich nun langsam daran machen kann, die ganzen Datenzugriffsmöglichkeiten und Funktionen, die inhaltlich momentan in Destiny stecken, durchzuprüfen, zu fixen und zu erweitern.
[Brauch ich das?]
Keine Ahnung, aber wenn du in den alten Makerchen Menüs, Kampfsysteme, Nameneingaben oder viel abgefahrenere Dinge bauen willst, sind Maniac und Destiny eine enorm große Hilfe bei der Arbeit.
[Kommt das auch für RPG2000?]
Ich habe tatsächlich eine Version für 1.61 herumliegen, aber die müsste ich noch für 1.62 anpassen, weil es seitdem wieder ein Update gab (und das würde VIEL wiederholte Arbeit bedeuten). Zudem... wie bereits erwähnt, es könnte problematisch sein, da dafür nichts geregelt wurde.
[Wann kommt's raus?]
Sobald ich mir sicher bin, dass dieses Ungetüm auf die Menge losgelassen werden kann. Das kann noch lange dauern, ich hab auch noch andere Sachen vor als das hier.
[Darf ich testen?]
Möglicherweise wird irgendwann mal in die Runde gefragt, ob wer Lust dazu hat, momentan aber noch nicht.
[Soll ich hierauf warten bis ich was erstelle?]
Das wäre keine besonders schlaue Idee. Frohes Basteln! Hopp-hopp! Los, baut coole Sachen. =D
[Wird das denn überhaupt fertig?]
Finden wir's einfach mit der Zeit heraus. Hakuna Matata!
[Dein Lieblingsfeature?]
Picture-Manipulation all the Way!
[SCREENS BITTE!]
Momentan fällt mir nichts Aufregendes ein, das unmissverständlich in Standbildform die Macht von DestinyScript demonstriert und aus der Reverse-Engineering-Arbeit werde ich aus offensichtlichen Gründen nichts zeigen können. Also begnügt euch einfach mit einem winzigen Einblick darin, wie einfacher Testcode aus zweckentfremdeten Notizen und dem Messagelink ("\()") aussehen kann, mit dem ich mich vergewissere, dass die Verarbeitung klappt. Das hier ist nichtmal die Spitze der Spitze der Spitze des Eisbergs.
[DER DOWNLOAD, VERDAMMT!]
Ja, äh... hast du nur hier runtergescrollt, um was zu laden? Not ready yet. Ich hab noch nichtmal Patching-Tools bereit, damit ihr es so bequem wie möglich habt (wenn das überhaupt je passiert), geschweigedenn die Hilfedokumentation.
Nun denn, das soll's erstmal gewesen sein. =D
© 2006~2012 Bananen-Joe | Extended by KotatsuAkira
~炬燵あ