ROM-Hacking
On Dezember 28, 2021 by adminDa die ROM-Daten von vielen verschiedenen Programmierern oder Programmierteams erstellt wurden, können sie sehr unterschiedlich sein.
Hex-EditierenEdit
Ein Hex-Editor ist eines der grundlegendsten Werkzeuge im Repertoire eines ROM-Hackers. Hex-Editoren werden in der Regel zum Editieren von Text und zum Editieren anderer Daten, deren Struktur bekannt ist (z.B. Eigenschaften von Gegenständen), und zum Assembly-Hacking verwendet.
Das Editieren von Text ist eine der grundlegendsten Formen des Hackings. Viele Spiele speichern ihren Text nicht in ASCII-Form, und aus diesem Grund wurden einige spezielle Hex-Editoren entwickelt, denen man sagen kann, welche Byte-Werte welchem Buchstaben des Alphabets entsprechen, um die Textbearbeitung zu erleichtern; eine Datei, die diese Byte=Buchstaben-Beziehungen definiert, wird als „Tabellen“-Datei bezeichnet. Andere Spiele verwenden einfache Textkomprimierungstechniken (wie z.B. die Byte-Paar-Kodierung, auch Dual Tile Encoding oder DTE genannt, bei der bestimmte Kombinationen von zwei oder mehr Buchstaben als ein Byte kodiert werden), die mit einem entsprechend ausgestatteten Hex-Editor bearbeitet werden können.
Ein Hex-Editor ist das Werkzeug der Wahl für die Bearbeitung von Dingen wie Charakter-/Gegenstandseigenschaften, wenn die Struktur und der Ort dieser Daten bekannt ist und es keinen spielspezifischen Editor für das Spiel gibt, der diese Informationen bearbeiten kann. Einige unerschrockene Hacker führen auch Level-Editierung mit einem Hex-Editor durch, aber das ist extrem schwierig (außer bei Spielen, deren Level-Speicherformat der Darstellung in einem Hex-Editor sehr ähnlich ist).
Grafik-Editierung
Eine weitere grundlegende Hacking-Fähigkeit ist die Grafik-Editierung, bei der es darum geht, das Aussehen der Spielumgebung, der Charaktere, der Schriftarten oder anderer Dinge zu verändern. Das Format der Grafikdaten variiert von Konsole zu Konsole, aber die meisten frühen Konsolen (NES, Super NES, Game Boy usw.) speichern Grafiken in Kacheln, d.h. in 8×8-Pixel-Einheiten, die auf dem Bildschirm so angeordnet werden, dass das gewünschte Ergebnis entsteht. Die Bearbeitung dieser Kacheln ist auch mit einem Hex-Editor möglich, wird aber in der Regel mit einem Kachel-Editor (wie Tile Layer oder Tile Molester) durchgeführt, der die ROM-Daten grafisch darstellen und Kacheln finden und bearbeiten kann.
Grafik-Hacks können von einfachen Bearbeitungen (wie Luigi einen Golfschläger zu geben oder verpixelte Sprites für spätere Pokemon-Generationen zu erstellen) über das „Portieren“ von Charakteren von einem Spiel in ein anderes bis hin zu vollständigen thematischen Änderungen (normalerweise mit begleitenden Palettenänderungen; siehe unten) reichen.
Beim anspruchsvolleren Grafik-Hacking werden nicht nur Kacheln und Farben geändert, sondern auch die Art und Weise, wie die Kacheln angeordnet sind oder Kachelgruppen erzeugt werden, was mehr Flexibilität und Kontrolle über das endgültige Erscheinungsbild bietet. Dies wird durch Hex-Editing oder ein spezielles Tool (entweder für das jeweilige Spiel oder ein bestimmtes System) erreicht. Ein gutes Beispiel für einen Grafik-Hack ist das unvollendete Pokémon Torzach, ein Hack, mit dem versucht wurde, dem Spiel eine völlig neue Generation von Pokémon und Kacheln hinzuzufügen. Der Hack wurde inzwischen eingestellt, aber er dient immer noch als gutes Beispiel dafür, was mit den verfügbaren Werkzeugen erreicht werden kann.
PalettenbearbeitungBearbeiten
Eine andere häufige Form des Hackens ist das Palettenhacking, bei dem Farbwerte verändert werden, um die Farben zu ändern, die ein Spieler im Spiel sieht (dies geht oft Hand in Hand mit Grafikhacking); Palettenwerte werden üblicherweise in Hex gespeichert. Bei NES-Spielen ist dies recht einfach, da die Grafik eine vordefinierte Farbpalette verwendet, aus der das Spiel auswählt; beim Paletten-Hacking geht es in diesem Fall darum, zu ändern, welche dieser Farben ausgewählt werden. Bei Super NES-Spielen und Spielen für andere Systeme, die absolute RGB-Farbwerte speichern, ist die Sache etwas komplizierter. Paletten-Editoren sind in der Regel einfach und werden oft mit Level-Editoren oder spielspezifischen Grafik-Editoren verwendet.
Level-Edit
Eine der beliebtesten Formen des ROM-Hackings, das Level-Editieren, beinhaltet das Ändern oder Umgestalten der Level oder Karten eines Spiels. Dies geschieht fast ausschließlich mit einem Editor, der speziell auf ein bestimmtes Spiel zugeschnitten ist (Level-Editor genannt). Level-Editierungen können vorgenommen werden, um das Spiel anspruchsvoller zu machen, den Ablauf der Spielhandlung zu verändern oder einfach um einem alten Spiel etwas Neues zu geben. In Kombination mit umfangreichem Grafik-Hacking kann das Spiel ein ganz anderes Aussehen und Spielgefühl bekommen.
Datenbearbeitung
Eine Kernkomponente vieler Hacks (insbesondere von Rollenspiel-Videospielen) ist die Bearbeitung von Daten wie Charakter-, Gegenstands- und Gegnereigenschaften. Dies geschieht in der Regel entweder „von Hand“ (mit einem Hex-Editor), wenn der Ort und die Struktur der Daten bekannt sind, oder mit einem spielspezifischen Editor, der über diese Funktion verfügt. Auf diese Weise kann ein Hacker die Funktionsweise von Waffen, die Stärke oder das Verhalten von Feinden usw. verändern. Dies kann geschehen, um das Spiel einfacher oder schwieriger zu machen oder neue Szenarien zu schaffen, denen sich der Spieler stellen muss.
Assembly HackingEdit
Die mächtigste und wohl auch schwierigste Hacking-Technik ist die Bearbeitung des eigentlichen Spielcodes, ein Prozess, der ASM-Hacking genannt wird („ASM“ bedeutet „Assembler“ und bezieht sich auf die Art der Programmiersprache, die für frühe Videospiele verwendet wurde). Es gibt kein festes Muster für ASM-Hacking, da der Code von Spiel zu Spiel sehr unterschiedlich ist, aber die meisten erfahrenen ASM-Hacker verwenden entweder einen Emulator mit einem eingebauten Debugger oder Tracer oder lassen das ROM durch einen Disassembler laufen, analysieren dann den Code und ändern ihn mit einem Hex-Editor oder Assembler entsprechend ihren Bedürfnissen. Obwohl dies im Vergleich zu den oben genannten relativ einfachen Methoden eine ziemliche Herausforderung darstellt, ist mit ASM-Hacking alles möglich (natürlich innerhalb der Grenzen der Hardware/Software der Spielplattform), von der Änderung der gegnerischen KI bis hin zur Änderung der Grafikgenerierung. (Natürlich sind die Möglichkeiten immer noch durch die Fähigkeit des Hackers begrenzt, den vorhandenen Code zu verstehen und zu verändern.)
Wenn die Entwickler eine typisierte Sprache verwendet haben, kann der Hacker seinen eigenen Code für das Spiel in derselben Sprache kompilieren, wenn er Zugang zu einem geeigneten Compiler hat. Ein solches Beispiel wäre die Verwendung von C, um Nintendo 64-Spiele zu hacken, da MIPS-GCC Code für das Nintendo 64 kompilieren kann.
Musik-HackingBearbeiten
Musik-Hacks sind relativ selten, was an der großen Vielfalt der Möglichkeiten liegt, mit denen Spiele Musikdaten speichern (und damit an der Schwierigkeit, diese Daten zu finden und zu ändern), sowie an den Schwierigkeiten, neue Musik zu komponieren (oder Musik aus einem anderen Spiel zu portieren). Da das Cracken von Musik sehr unüblich ist, enthalten viele Hacks keine portierte/komponierte Musik. Das Programm SapTapper kann jedoch verwendet werden, um Game Boy Advance Musikdaten zu hacken, da viele Game Boy Advance Spiele die M4A Engine (auch „Sappy Driver“ genannt) für Musik verwenden. Verschiedene andere Hilfsprogramme wurden entwickelt, um mit der Engine zu arbeiten, wie z.B. Sappy 2006.
Ein weiteres Beispiel für die Verwendung der gleichen Engine in verschiedenen Spielen ist das Nintendo 64, in dem die meisten Spiele das gleiche Format verwenden, obwohl sie unterschiedliche Soundbänke benutzen. Ein Dienstprogramm, das als N64 Midi Tool bekannt ist, wurde entwickelt, um die Sequenzen zu bearbeiten, die von den meisten Nintendo 64-Spielen verwendet werden, obwohl es nicht die N64-First-Party-Titel abdeckt, die eine etwas andere Engine verwenden, wie z. B. Super Mario 64.Mehrere Mega Drive-Spiele verwenden eine Sound-Engine, die inoffiziell als „SMPS“ bekannt ist und seit Jahrzehnten von vielen Hackern erforscht wird. Heutzutage gibt es verschiedene Tools, um die Musik von Spielen zu verändern, die die SMPS-Engine verwenden (insbesondere Sonic the Hedgehog-Spiele), und viele von ihnen haben ihren Weg in den Steam Workshop gefunden.
ROM-ErweiterungBearbeiten
Generell kann ein ROM-Hacker normalerweise keine Inhalte zu einem Spiel hinzufügen, sondern lediglich bestehende Inhalte verändern. Diese Einschränkung kann durch eine ROM-Erweiterung überwunden werden, bei der die Gesamtgröße des ROM-Images vergrößert wird, um Platz für mehr Inhalte und damit für ein größeres Spiel zu schaffen. Die Schwierigkeit, dies zu tun, hängt von dem System ab, für das das Spiel entwickelt wurde. Beispielsweise kann die Erweiterung eines NES-ROMs aufgrund des vom Spiel verwendeten Mappers schwierig oder sogar unmöglich sein. Wenn ein Mapper beispielsweise 16 ROM-Bänke zulässt und alle verwendet werden, ist es unmöglich, das ROM weiter zu erweitern, ohne das Spiel irgendwie in einen anderen Mapper zu konvertieren, was einfach oder extrem schwierig sein kann. Auf der anderen Seite ist die Erweiterung eines SNES-Spiels (relativ) einfach. Um den zusätzlichen Speicherplatz zu nutzen, müssen Teile des Spielcodes geändert oder neu geschrieben werden (siehe Assembly Hacking oben), damit das Spiel weiß, wo es suchen muss. Eine andere Art der ROM-Erweiterung, die relativ einfach ist, sind Game Boy Advance ROMs. Die ROMs selbst sind im Allgemeinen klein, aber der verfügbare Speicherplatz übersteigt ihn manchmal um ein Vielfaches von bis zu 17.
Schreibe einen Kommentar