Der Aufbau eines Hacks

  • Der Aufbau eines Hacks


    Vorwort


    In letzter Zeit ist mir aufgefallen, dass immer mehr neue User das Board stürmen - was mich persönlich freut - und so ziemlich das erste Mal in den Kontakt mit dem Thema Rom-Hacking kommen.
    Viele dieser User möchten versuchen, einen (oft) Pokémon-Hack zu starten, wissen aber nicht so recht, wie sie das Ganze angehen sollen.
    Hierzu soll eigentlich dieses Tutorial dienen.
    Als Einstieg in das Rom-Hacking (speziell das häufigste: Pokémon).



    Übersicht


    1. Bedingungen (für den Start eines Hacks)
    2. Was benötige ich?
    3. Gebiete des Rom-Hackings
    4. Was ist möglich?
    5. Ablauf des Projektes
    6. Tool-Übersicht
    7. Präsentation des Hacks
    8. Begriffserklärung
    9. Nachwort



    1. Bedingungen (für den Start eines Hacks)


    1. Ich habe Interesse, eine Pokémon-Rom zu modifizieren und diese auch mit anderen zu teilen.
    2. Ich zeige Durchhaltevermögen und weiß, dass ein solches Projekt über Jahre zu realisieren ist.
    3. Ich habe mindestens in einem Gebiet des Rom-Hackings Erfahrung gesammelt (siehe hierzu: 3. Gebiete des Rom-Hackings).
    4. Ich habe eine Vorstellung, wie mein Hack aussehen soll und worum er sich handeln soll.



    2. Was benötige ich?


    Neben diversen Tools zum Hacken von Roms, ist das wichtigste eine Spielbasis, also die Rom an sich.
    Roms sind Images von Spielen, die für die GameBoy-Reihe erhältlich sind, im Prinzip GBA-Spiele für den Computer.
    Diese werden illegal vertrieben. Dies ist der einzige Nachteil des Rom-Hackings, der Download solcher Roms ist illegal.


    Für welche Rom man sich entscheidet, ist die Sache des Hackers selbst.
    In den meisten Fällen wird mit GBA-Roms gearbeitet, worauf ich auch in diesem Tutorial eingehen werde.
    Folgende Roms sind zum Hacken geeignet:


    Pokémon Rubin
    Pokémon Saphir
    Pokémon Feuerrot
    Pokémon Blattgrün
    Pokémon Smaragd


    Die sicherlich beliebtesten Roms sind Smaragd (großer Spielumfang, animierte Sprites) und Feuerrot (beliebter Stil des Spiels).
    Für eines dieser Spiele muss man sich für seine Basis-Rom entscheiden.


    Die Roms findet man auf folgenden Seiten: >>Gesuchte Roms<<


    Außer diese Rom, wird ein Emulator sowie die richtigen Hacking-Tools, Zeit und Lust benötigt.
    Der Emulator ist eine Art GameBoy für den Computer, mit ihm könnt ihr die Spiele abspielen und eure Hacks testen.
    Der bekannteste Emulator ist dieser: >>Visual Boy Advance<<


    Zu den besagten Hacking-Tools möchte ich in meinem 5. Punkt kommen.


    3. Gebiete des Rom-Hacking


    Ich denke, dass es sicherlich viele verschiedene Unterteilung gibt, die gängigste ist sicher diese:


    1. Grafik-Hacking
    1.1. Spriten
    1.2. Mappen
    1.3. Tileset-Bearbeitung
    1.4. andere Grafiken (Titelbildschirm usw...)
    2. Struktur-Hacking/ Text-Hacking
    3. Scripten
    3.1. Allgemein (PokéScript sowie XSE)
    3.2. ASM


    3.1. Das Mapping


    Um eine Basis für den Spieler zu schaffen, sollte man erst einen Grund haben, auf dem dieser stehen kann. Nichts bietet sich hier besser an, als ein Zimmer, ein Dorf, eine Stadt, ein Schiff usw.
    Mit dem Tool Advance Map (kurz AM) können Maps der dritten Pokémon-Generation mit Leichtigkeit bearbeitet werden.


    Nach dem man sich dadurch eine Grundlage verschafft hat, sollte man nun die Aktionen ins Spiel bringen. Dies geschieht so:


    3.2. Das Scripting


    Für das Scripting bieten sich zwei "Script-Sprachen" bzw. Programme an. Zu einem PokéScript, zum anderen Extreme Script Creator (XSE).
    Mit Scripten bringt man Personen dazu, sich zu bewegen, zu reden, dem Spieler Dinge zu geben und vieles mehr.
    Man fügt also Aktionen in das Spiel ein.
    Zusätzlich zu XSE sowie PokéScript existiert noch die Möglickeit via ASM zu Hacken. Dabei handelt es sich um eine Script-Sprache für fortgeschrittene Hacker, mit der man allerdings auch viel verwirklichen kann (Achtung: Nichts für Änfänger).


    Danach kann man sich dem restlichen Grafik-Hacking sowie Struktur-Hacking zuwenden. Dieses sollte man aber auch hin und wieder einschieben, um Abwechslung zu garantieren.
    Und schließlich wollen die Augen ja auch etwas zu sehen bekommen.



    4. Was ist möglich?


    Unter diesem Punkt möchte ich das prime's Topic "Research & Development" erwähnen.
    >>Hier<< erfahrt ihr, was zum jetzigen Standpunkt im Gebiet Romhacking möglich ist.



    5. Ablauf des Projektes


    Es ist sicher klasse, sofort mit dem Verschönern der Trainer, Tiles usw. anzufangen, aber es müssen zuerst einige Sachen beachtet werden.
    Als erstes sollte eine Basis für den Hack geschaffen werden, einen Bereich, auf dem man arbeiten kann.
    Dazu sollte man mit einem Teil des Grafik-Hackings beginnen:


    6. Tool-Übersicht


    Ich werde die Gliederung der Tools nach den Gebieten des Rom-Hackings vornehmen.


    6.1. Grafik-Hacking


    6.1.1. Spriten


    Das Spriten beinhaltet die Pixelarbeit, um neue Pokémon, Trainer und andere komprimierte sowie unkomprimierte Grafiken zu verändern und in die Rom einzufügen. Dafür eignet sich ein normales Bildbearbeitungsprogramm wie Microsoft's Paint.

    6.1.2. Mappen


    Mit dem Mappen erreicht man, dass Maps (Karten von Städten sowie Gebäuden) verändert werden, um eine eigene Region oder ein eigenes Gebiet zu erschaffen.


    Das beste Programm zum Mappen ist >>Advance Map<< von LU-HO.
    Um das Mapping in vollen Zügen zu genießen, sind Kenntnisse erforderlich.
    Dazu empfehle ich das Tutorial von haefele: >>Mapping...<<
    Und noch eines von MASTEROFPUPPETS: >>MOPs Mapping Tutorial<<

    6.1.3 Tileset-Bearbeitung


    Das Tileset bezeichnet die in Advance Map (AM) gezeigten Objekte (Häuser, Bäume, Gebirge...).
    Auch diese können mit Advance Map (Download siehe Punkt 5.1.2) verändert werden.
    Auch hierzu ein Tutorial von s0n1c aka Awesome: >>Tiles einfügen (mit Paletten)<<

    6.1.4. andere Grafiken


    Zu anderen Grafiken zählen zum Beispiel der Startscreen sowie der Titelscreen.
    Ich werde ein paar Tutorials aufzeigen:


    >>Einfügen einer Weltkarte in Fr/Lg<<
    >>Titelscreen All in One<<
    >>Startscreen ändern<<

    6.2. Struktur-Hacking/ Text-Hacking


    >>Texthacking mit Thingy32<<

    6.3. Scripten


    6.3.1. Allgemein


    >>XSE-Tutorial<<
    >>Levelscripts via XSE<<


    >>PokéScript Scripting Tutorial<<

    6.3.2. ASM


    >>prime's ASM Tutorial<<



    Alle anderen Tutorials sind im Tutorial-Bereich dieses Forums zu finden: >>Tutorial-Bereich<<
    Dort könnt ihr euch ein wenig umsehen und schauen, was man noch alles kleineres in Pokémon-Spielen hacken kann.



    7. Präsentation des Hacks


    Bevor ihr zu diesem Punkt übergeht, solltet ihr zuerst überlegen, ob der Hack ausgereift genug ist, um ihn einer tobenden Menge von spamenden Usern vorzustellen. Das Ganze sollte gut überlegt sein und nicht zu früh geschehen.
    Die Übersicht, wie man einen Hack präsentiert, ist beschrieben, sobald man im Showcase eine Antwort erstellen möchte.


    Das Anbieten einer .gba-Datei ist auch im Showcase strengstens untersagt. Solltet ihr euren Hack anbieten wollen, müsst ihr einen Patch erstellen und diesen als .ips-Datei hochladen.
    Dazu das Tutorial von Agi: >>Patchen<<



    8. Begriffserklärung


    Rom --- Image eines GameBoy-Spiels
    AM - Advance Map --- ein Mapping-Programm von LU-HO
    XSE - Extreme Script Creator --- ein Programm zum kompilieren und dekompilieren von Scripten in die Rom
    kompilieren --- fügt den Script in die Rom
    dekompilieren --- liest den Script aus der Rom aus
    patchen --- einen Patch erzeugen, der alle unterschiedlichen Daten zu Original-Rom vereint und somit nur eigene Daten erhält
    mappen --- Verändern der Karten in Pokémon-Spielen
    spriten - Verändern/ Erstellen von Bildern für Pokémon-Spiele
    ASM - Assembler/ Assembling, eine fortgeschrittene Script-Sprache



    9. Nachwort


    Ich hoffe, dass ich mit diesem Tutorial den Einstieg ins Rom-Hacking für die neuen User etwas vereinfachen kann. Es war eben als kleine Einführung gedacht ;)


    lg steffen


  • Genau dieselbe Idee hatte ich auch schon vor einem Monat :'D


    Aber da war ich mir nicht so sicher, ob es überhaupt benötigt wird. Zur Zeit boomt es ja wirklich schon, sodass sich dieser Tread sicher lohnt. Damit ersparen sich die neuen die Fragen, wie man etwas verändern kann, was man dafür braucht, und wo man es herkriegt.
    Ich finde, der Tread sollte oben angepinnt werden.


    n1

  • Danke, die Idee hatte ich auch schon länger ^^

    Zitat

    Ich finde, der Tread sollte oben angepinnt werden.


    Mit diesem Punkt würde ich mich auch gern an die Moderation wenden. Wäre das vielleicht möglich?. Es ist ein Topic, das immer einsehbar sein sollte...
    Wäre gut, wenn das so gehandhabt werden würde ;)

  • Danke erstmal.

    Zitat

    Die Erklaerung zu ASM ist leider ziemlich komisch, weil eine eigene Scripting-Sprache ist es nicht.


    Naja, ich kenn mich mit ASM nicht sonderlich gut aus...
    Wenn du noch ein paar Tipps hättest, könntest du sie mir ja per PN schreiben ;)


    lg

  • Du könntest vielleicht auch auf das Research & Development Topic hier einen Link setzten.
    Dann wüssten die neuen User auch immer gleich, was schon möglich ist und was nicht und würden dann noch nicht zig Topics erstellen, weil sie das Topic übersehen haben.


    Aber ansich ganz gut für Anfänger.

    Users[4939].postCount++;


    • Weltherrschafts AG in Cooperation mit Weltuntergangs GmbH:
      "Wir sorgen dafür, dass sie sich keine Sorgen um Morgen machen müssen!"
  • Das wird man wohl oder übel nicht verhindern können...
    Ich und auch viele andere User versuchen, soweit es möglich ist, zu helfen. Ob diese Hilfe letztendlich benötigt und auch angenommen wird, muss jeder für sich selber entscheiden.
    ...


    Nunja, egal.
    Ich sehe gerade, dass ich den Link zu "Research & Development" vergessen habe einzutragen. Wird erledigt ;)


    lg steffen

  • Ich habs mir grade auch mal durchgelesen - sieht gut aus :)
    Nur leider gibt es immer wieder Anfänger, die sich noch nicht mal hier umschauen, sondern einfach so n Romhack anfangen.
    Kennen weder (Fach-)begriffe wie 'Randblock' und denken, sie könnten alles.
    Oh mann - RH geht langsam aber sicher den Bach runter. :(


    Könnte man das nicht so machen, dass man bevor man einen Romhack-Post postet ertseinmal sich eine Genehmigung bei Agi / Driver oder Mods holen muss?
    Oder wenigstens, dass man beim registrieren eine PN bekommt mit wichtigen Sache, die man auf jeden Fall beachten muss?
    Oder einen Link zu diesem Tutorial? ;)

    Dieser Beitrag wurde bereits 11 mal editiert, zuletzt von »ShayminX« (Gestern, 13:37)
    Dieser Beitrag wurde bereits 6 mal verfilmt, zuletzt von »Alfred Hitchcock« (1. Januar 2012, 00:01)
    Dieser Beitrag wurde bereits 7 Mal als Musical gezeigt, zuletzt mit »Liza Minelli« (17. Oktober 2011, 12:47)

  • Zitat

    Könnte man das nicht so machen, dass man bevor man einen Romhack-Post postet ertseinmal sich eine Genehmigung bei Agi / Driver oder Mods holen muss?


    Ist doch schon so, bzw. aktiviert ein Team-Mitglied den Thread.


    Zitat

    Oder wenigstens, dass man beim registrieren eine PN bekommt mit wichtigen Sache, die man auf jeden Fall beachten muss?
    Oder einen Link zu diesem Tutorial?


    Zwar ne Gute Idee, aber zu 90% der Weltbevölkerung, Aktivieren ihren Acc. und schließen dann das Fenster/Tab.

  • kann es sein das ich einfach zu dumm bin, zu faul oder einfach net kapieren will?
    wie macnhe schon sagten ist das tutorial gut erklärt und links funzen auch wirklich, aber ich glaub ich bin einfach zu dumm damit cihs verstehe
    inzwischen komme ich mit rom hacking gut klar aber sobald cih mal was großes verändere hängt die rom dann. hilfe habe ich hier auch schon angefordert (scripter gesucht) aber keiner wollte helfen. und sobald ich die tilesets zu groß mache hängt sich das spiel auf.

  • Das hier ist ein eigentlich ein "kleiner Ratschlag"- bzw. "kleiner Leitfaden"- Thread (sollte es zumindest werden).
    Zu den Fragen:
    Wenn du nicht weiterkommst, solltest du genau nachsehen, was nicht funktioniert.
    Du kannst schauen, ob du es allein wieder funktionstüchtig hinbiegst, oder du fragst Google und dann die Community.
    Dann solltest du das richtige Forum suchen und ein Topic mit einem angemessenen Titel erstellen.
    Danach kannst du dann ausführlich beschreiben, was:

    • du gemacht hast: Oberbegriff/Unterordnung (z.B. Titelscreen einfügen/ Paletten anpassen)
    • nicht funktioniert + Screen (z.B. Farben werden nicht richtig angezeigt + Screen zeigen)

    Wenn du das so machst, können wir dir auch in den meisten Fällen helfen.
    Sich jemanden suchen, ist eine Variante, aber das sollte eher nicht zur Gewohnheit werden.


    Du bist nicht zu dumm oder zu faul, du musst nur dein Problem richtig analysieren und es uns dann in ordentlicher Form wissen lassen ;)


    Zu deinem Tilesetproblem: Du solltest die Pixel-Größe des Tilesets nicht verändern, dann dürfte es auch funktionieren.
    Einfach auf die richtige Größe und die richtige Palette achten.

  • Habe es mir durchgelesen und finde es klasse! Aber einen Einwand habe ich: Roms zu downloaden ist nur illegal wenn man nicht im Besitz des Originalspiels ist (mit Kassenbonn etc.) Weil fals mal einige Polizisten keine Hobbies haben und nachverfolgen, dass du roms gedownloadet hast stehen sie vor deiner Tür ^^

  • Habe es mir durchgelesen und finde es klasse! Aber einen Einwand habe ich: Roms zu downloaden ist nur illegal wenn man nicht im Besitz des Originalspiels ist (mit Kassenbonn etc.) Weil fals mal einige Polizisten keine Hobbies haben und nachverfolgen, dass du roms gedownloadet hast stehen sie vor deiner Tür ^^


    falsch. Das Herunterladen von Roms ist immer "illegal", auch wenn man das Original besitzt und auch wenn man den Kassenbon hat. Um das Rom "legal" zu haben, musst du das Spiel selbst auf den PC 'ziehen'.
    Wenigstens laut wp: http://de.wikipedia.org/wiki/ROM_%28Spielmodul%29
    "Ein ROM ist so lange legal, wie man das jeweilige Spiel selbst als Original besitzt und selbst eine Sicherheitskopie angelegt hat. Internet-Downloads sind grundsätzlich illegal – unabhängig davon, wie lange man das ROM nutzt und ob man das Original besitzt (siehe auch Schranken des Urheberrechts)."
    Eine Ausnahme wären da nur PD Roms (wobei PD (=public domain) ein Begriff des US-Copyrights ist und so im deutschen Urheberrecht nicht existiert).


    Roms sind Images von Spielen, die für die GameBoy-Reihe erhältlich sind, im Prinzip GBA-Spiele für den Computer.
    Diese werden illegal vertrieben. Dies ist der einzige Nachteil des Rom-Hackings, der Download solcher Roms ist illegal.

    Roms gibt es nicht nur für GBx-Spiele und Roms können auch legal erstellt werden.