Essence of romhacking

Discussion in 'NDS - ROM Hacking and Translations' started by Auryn, Nov 17, 2011.

  1. Auryn

    Auryn GBAtemp Advanced Fan

    Jul 21, 2011
    All the "stupid" question asked in the different forums and my talk with some people, made me decide to post this old message from a guy named InVerse of some years ago.
    I think it should be stiky in every romhacking forum because it's really correct and I think the most new guys (or aspirant romhackers / rtanslators) miss the point of "the journey" (or discovery if you want) and I think that romhacking / translations are the same as translate a TXT file.
    A good example are all (or at least the most) people asking Pleonex to make this or that plugin for Tinke.
    They probably will get the job done thanks to Pleonex but will be stuck again if only 1 or 2 bytes will be different in the next file because they never discovered anything by themself.
    I hope this text will make some people reflect on what they are doing and maybe think 2 times some people before making some stupid questions / requests in the forum.


    Often times, people ask for help on a messageboard and don’t understand why the answers they seek aren’t placed in their lap, wrapped up in a nice, neat package with a shiny silver bow. These people only see the end result of romhacking, they miss the underlying process that is the very essence of romhacking.

    What many people fail to realize is that hacking is all about the process, not the outcome. Hacking is a journey, not a destination. It’s about figuring out technology, not manipulating it. Downloading a level editor and using it to modify a game is not hacking, no matter how great the final result.

    Hacking is about taking a piece of technology, a game for instance, ripping it to shreds and figuring out how it works. The person who uncovers the data used to build a level editor is a hacker. The person who uses that editor is not. At best, they’re a low-grade designer, a tracer of someone else’s art.

    I’m not trying to rip on people who like to use level editors, do whatever it is you enjoy. I’m just trying to show you the viewpoint of the average romhacker and explain why they expect you to put some effort into finding the information you need to do whatever it is you hope to accomplish.

    No successful romhacker was taught how to romhack. They may have received personal lessons on a specific subject, but nobody babied them through the entire process with step-by-step instructions on what to do. Learning to hack requires, above all else, a desire to figure things out for yourself.

    This isn’t to say you’re on your own. On the contrary, learning to romhack is now easier than ever before, thanks to a wide variety of tools and tutorials. The first thing you should do is get a good tutorial and read all of it. Once you’ve done that, then feel free to ask questions about anything you don’t understand.
    If you haven’t read a tutorial and at least attempted to figure it out, however, any questions about what to do will invariably result in being told to read such-and-such tutorial.
    (Added by me) Try and try again even if you have to break 10 rom / iso images before you get it to work!
    It will probably be anyway faster than wait for an answer in a forum that maybe you will never get!

    Hacking requires a particular mindset. A hacker must be capable of figuring things out on their own and must have a burning desire to learn. Without these qualities, you’ll never make it far, either losing interest or just treading water in the shallow end with the most basic techniques. Not everyone is capable of being a romhacker, no matter how badly they might want to be.

    There’s an old joke that goes “How do I get to Carnegie Hall?” “With lots and lots of practice.” Well, you learn to hack by hacking. You might wonder how you can do something if you haven’t learned how to do it yet, but that’s the very nature of the beast. When you were a baby, nobody taught you how to walk, you just kept trying until you figured it out. And just like you’ll occasionally trip and stumble as an adult, even the most accomplished romhacker will routinely screw something up or run into a problem when hacking a ROM. No matter how advanced your skills might become, when you stop learning new things, you stop being a hacker.

    So decide what it is you want to be. If it’s a hacker, then get out there and hack. If you just want to design games, then do so. But remember: You couldn’t do what you do without romhackers, but they hack to satisfy their own pursuits. So feel free to ask for a particular bit of information, but remember, no one is obligated to find it for you.
    8 people like this.
  2. Phoenix Goddess

    Phoenix Goddess The Ninja's Protégée

    Apr 25, 2009
    United States
    Away from civilization.
    A step by step guide to romhacking won't teach you anything, because once you get stuck, you're stuck. All because it wasn't in the step by step.
    It's always easier to figure it out rather than have someone hold your hand each and every step of the way.

    Just because you can use tools to edit Pokemon games, doesn't make you a hacker. Same goes for simply having a tool. It won't make you a hacker, it just makes your job easier until you get stuck.

    Figuring out things on your own will help you in many ways. It's hard, yes, but no one said hacking was easy.

    Besides, it's well worth learning.

    Very well said :)
  3. junkerde

    junkerde Banned

    Jan 3, 2011
    United States
    nice speech mah brethren.
  4. Prof. 9

    Prof. 9 GBAtemp Fan

    Jun 17, 2008
    The Netherlands
    Very true. It's not just that though, you also need to be able to think in a particular way. When a romhacker looks at a file through a hex editor, he's looking at numbers, doing quick calculations and trying to find a pattern to (ab)use. Essentially, it's using logic. "If I perform this action, what will happen to the underlying values?" Not everyone I've talked to seems to be able to think in this way.

    I don't think there's anything wrong with starting out using level editors. It's basically a hex editor with a fancy GUI and it's often not user-friendly enough to guide the user through every small step, but it's more self-explanatory than a hex editor. Use it a lot and you'll eventually be able to use a regular hex editor.
    2 people like this.
  5. Dirbaio

    Dirbaio GBAtemp Regular

    Sep 26, 2010
    Wow, man, nice post. Everyone who does ROM Hacking should read this. I 100% agree with it.

    For instance, this is what I usually get when doing ASM hacking with NSMB, like this one:

    Step 0: I have a great idea, I open up IDA Pro and no$gba debugger, look through megabytes of ARM code until I find the functions that I could use, and I start coding.
    Step 1: It doesn't even compile. Most of the times it's a silly mistake but sometimes there's something really broken with my linker script or header files...
    Step 2: Crashes on no$gba debugger. Sometimes it's really tricky to trace where is the CPU jumping to garbage addresses or corrupting memory :(
    Step 3: Works fine on emulators but crashes on the real DS. This thing is really irritating because it doesnt work, but I have no way to see why. I always end up debugging with just turning the screen a solid color everytime something interesting is about to be executed. Most of my abandoned projects are abandoned because of this. (yes, libfat from inside NSMB, I'm looking at you)
    Step 4: Finally! OMG! It works! *plays with it for a bit* Ugh, I dont like it, it's buggy. It can be improved. Back to step 0/1/2/3!

    I wrote all that as an example. ROM Hacking isn't easy. Using an already-made editor is, but you'll always hit bugs, glitches, or unknown things. Even NSMB Editor, after like 4 years of development, is not complete. There's lots of data that we still have to find.
  6. pleonex

    pleonex GBAtemp Regular

    Jan 16, 2009
    South of Spain
    I totally agree.

    Romhacking is not easy, it takes a lot of time, and only if you love this, you can do it. I have started Tinke one year ago (it's very new), I have dedicated a lot of hours (in the last summer holidays, some days about 13 hours), all of this time to understand how a file is, see one image, read a text or listen a short sound... In some cases it takes years... It's a very difficult work, but now it's easier, there are documentation about general formats and it helps.

    A romhacker knows that it will get a lot of errors in the journey, but this is not problem, this is a help to continue. In some cases (I think always), the best thing is to get errors, because you will learn more.

    I want to do this process easier, but this is difficult.
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice