Aufbau eines Hacks

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Aufbau eines Hacks

      Hi
      ich habe jetzt schon ein bisschen im Forum gestöbert aber dazu noch nichts gefunden.
      Es geht um die generellen Grundlagen.
      Was würdet ihr einem Anfänger raten, wenn dieser mit dem Hacking anfängt und einen neuen Hack erstellen will.
      Ich meine damit wie man am besten einen Hack aufbaut.
      Fängt man mit dem Erstellen der Maps an?
      Oder mit einem Skript?
      Oder macht man eine Map und dazu gleich das Skript und alles andere?
      Oder eben ganz anders.

      Was sollte man aufjedenfall lernen/können?

      Es wäre schön wenn ihr eure Erfahrungen mit mir teilt :)

      vielen Dank schonmal im Vorraus :thumbsup:
    • Ich glaube nicht, dass es dafür ein Kochrezept gibt, wie bei so vielen Dingen, die irgendwie entfernt etwas mit Kunst zu tun haben. Grundsätzlich besteht Romhacking aus ein paar Teilaspekten, die sich im Endeffekt durch einen großen Dachbegriff beschreiben lassen: Game Design. Der Unterschied zu "klassischem" Game Design, besteht in der Art und Schwierigkeit, der Teilsaspekte. Wenn du anfängst ein Rom zu bearbeiten wird dir im Endeffekt alles geboten, was ein Spiel haben muss, klar, du bearbeitest ja auch ein fertiges Spiel. Du hast also eine fertige Engine, ein Mapsystem, Kampfsystem etc. und brauchst dich nicht darum zu kümmern, dass jenes entwickelt wird. Auf der anderen Seite bist du an ein paar technische Feinheiten gebunden, die durch den GBA entstehen (Anzahl der Farben in einem Bild, generelle Prozessorgeschwindigkeit, Art der Musik, ...) was dazu führt, dass Dinge, die in heute üblichen Game Engines einfach im Hintergrund passieren, wie das importieren von Grafiken und Audio, im Romhacking nicht mehr ganz so trivial sind. (Es gibt natürlich Programme, die das vereinfachen)

      Das zu meinem vom Thema ein bisschen abschweifenden Vorwort...

      Womit soll man jetzt anfangen? Die Frage ist wohl eher, was liegt einem? Ein großer Teil eines Spieles ist natürlich die Welt, in der es sich "abspielt" - dazu gehören Maps, aber auch Dialoge und Story, bzw. Offstory Events. Es wäre also ratsam, wenn man hier beginnen möchte, sich zumindest ein bisschen künstlerisch mit einem Mapeditor auseinanderzusetzen, aber auch die interne Scriptsprache zu lernen. (Die ist eigentlich ziemlich simpel)

      Man kann sich natürlich auch noch eine Stufe zurücklehnen, und zuerst ein Design Dokument erstellen, welches Welt, Charaktere, Geschichte, etc. beschreibt. Gerade viel "Romhacking" lernt man so allerdings nicht, und kommt eventuell später drauf, dass man einige Knackpunkte so überhaupt nicht umsetzen kann. Für ein größeres Projekt aber auf jeden Fall zu empfehlen.

      Ein anderer Ansatz wären Strukturdaten, also die Stats der Pokémon (Sofern man sie verändern will), oder Grafiken. Vieles davon geht wenn man zielfokusiert "sein Spiel entwickelt" natürlich ineinander über. Ich will z.B. mein Charakterdesign durch einen Sprite widerspiegeln, und meine Welt durch Maps darstellen, welche wiederum passende Tilesets brauchen. Sich rein auf die Strukturdaten zu fokusieren ist ggf. sehr langatmig und bringt einem vielleicht oft nicht den gewünschten "Es funktioniert!" Effekt.

      Zusammenfassend: Wenn du eher lernen willst: Experimentiere, mit verschiedensten Tutorials, vllt Rombases, mit der Scriptsprache, mit Maps. "Einfach mal machen", hilft einem beim lernen zumindest ungemein weiter.

      Wenn es aber ein größeres Projekt werden soll (Vorausgesetzt man traut sich mit seinen Kenntnissen an sowas heran) - dann ist Planung und Organisation wichtig. Das Rom ist ein 16-32MB großer Binary Blob, darin etwas wiederzufinden, ist eher schwierig, wenn man keinen Plan hat. Für den Anfang reicht es, sich Offsets seiner Grafiken und Scripts zu notieren, Scripts auch abzuspeichern, und natürlich regelmäßig Backups zu machen. Eine "more sophisticated solution" wäre ein Versionskontrollsystem (z.B. git)

      Und ein kleiner Tipp noch, falls mal was schief geht: Passiert, wenn das Problem nicht lösbar ist hat man hoffentlich ein Backup, und irgendwann kommt man schon drauf, welche Fehler man macht. Meistens sind es ohnehin die simplen Fehler, die einen nachts um 4 in den Wahnsinn treiben :)

      ~Sturmvogel
      Wandering on Horizon Road
    • Das wichtigste ist, dass es Spaß machen soll. Von daher würde ich dir vorschlagen, dich einfach mit einem Teilaspekt zu beschäftigen, der dich gerade besonders interessiert. Nimm dir nicht zu viel auf einmal vor, in der Regel brauchen auch Kleinigkeiten eine gewisse (oder auch mal sehr viel) Zeit, insbesondere am Anfang, wenn man erst mal die lernen muss, wie das so alles zusammen hängt.
      Generell würde ich sagen, dass Geduld und Ausdauer die wichtigsten Faktoren sind - alles andere kann man lernen.
    • Ich bin auch eher Anfänger....
      Ich habe am Anfang etwas herumexperimentiert und ausprobiert....
      Dann hab ich mir zu meinem 1. richtigen (aktuellen) Projekt eine storyline ausgedacht und verschriftlicht....
      Dann habe ich Maps und Skripts immer gleichzeitig gemacht - anfangsstadt mit allen Skripts, 1. Route mit alles Skripts,....
      Und dann immer wieder getestet und verändert bin alles gepasst hat. Dann einen Spielstand erstellt und von dort aus weitergetestet.... gewisse stellen meines Hacks kann ich garnicht mehr sehen weil ich es so viel testen musste, bis es so geklappt hat, wie ich es mir vorgestellt habe.... :D
      Wichtig:
      Speichere alle versionen, überschreibe keine....!
      Ich habe mal unabsichtlich (wieso auch immer) irgendwelche Skripts vom Anfang überschrieben, die dann weg waren....
      Habe den Skript Code dann aus der alten Version einfach raus kopiert ;)

      Was ich dir auf meiner Erfahrung sagen kann.... ein wertvoller Tipp :)
      Notiere dir irgendwo welche Flags was bewirken und welche var Nummern auf welchem varwert sind ^^
      Ich habe meinen Hack jetzt länger nicht fortgeführt und habe absolut keinen Plan mehr welche Flags benutzt sind und welche nicht .... :-/
      Aber es gibt gewisse Flags, die ich immer für Personen verwende die an gewissen Stellen verschwinden sollen.... ^^
      Oder nur während eines Skripts auftauchen und nachher wieder unsichtbar sind...