• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

[Other] Stop Binary Hacking; It's Holding Back the Entire Community

40
Posts
6
Years
  • Make it easy to use, have tools that can do everything we can with binary with good GUIs and make it as easy to add modern features as CFRU, and I'll see you in decomp land.
     
    11
    Posts
    3
    Years
    • Seen Jan 27, 2024
    The dumbest line is

    because there is nothing to innovate. unlike with binary where there are still problems to solve

    Wow why would you solve it when there is no need to and innovating is much better when there are less limitations
     
    15
    Posts
    3
    Years
    • Seen Sep 6, 2023
    The dumbest line is

    because there is nothing to innovate. unlike with binary where there are still problems to solve

    Wow why would you solve it when there is no need to and innovating is much better when there are less limitations

    Then why are you decomp hacking instead of using rpg maker and making fangames 😏
    No point innovating decomp when there are no limitations at all in Essentials.
    "Wow why would you solve it when there is no need to" is such a lazy attitude said by people who never make anything useful themselves
     
    15
    Posts
    3
    Years
    • Seen Sep 6, 2023
    So many decomp hackers still ignoring the main point 😂
    Decomp just existing isn't enough. People don't use binary just because it exists, or because it was "once" popular. They don't use its updates just because they happen to exist. Guess what, HexManiacAdvance is a million times more user friendly than anything the decomps have ever provided except Porymap. In less than a year from now, you'll be able to make a full binary hack using only HexManiacAdvance and no other tools. That also means never worrying about offsets and freespace since HMA just does that all for you, which is something you all love to cry about. You click a few buttons and you can change everything that a Gen3 hack needs - maps, story, sprites, pokemon, music, data. Very few people are desperate to change anything deeper than that. That is objectively the best approach for those hackers. Deal with the fact that the decomps right now are more powerful but nowhere near as usable. Get it through your head and make some actual usability improvements instead of relying on the one person making Porymap and Poryscript. Imagine mapping in decomp without Porymap - that's how people see the entire rest of decomp. It sucks lmao. Don't act all surprised when people gravitate towards an all-in-one hacking tool that is easy to use instead of using your stripped down engine that lets you do anything but is a complete mess
     

    LCCoolJ95

    Limited Capacity
    638
    Posts
    14
    Years
  • Hey, sorry to chime in kind of late, but I might as well throw in my two cents. As someone who has strictly stuck to binary modding for many years, I do agree that decomps are definitely the best option for ROM modding nowadays. I don't mod anymore, just like to play them from time to time. The stuff that decomps can do are far more incredible than what binary hacking can do (Pokémon Crown, a FireRed decomp hack, is a great example of it). I feel like the push back from people is probably because of how non user-friendly it is (I complained about it a while ago, but I know better now, so I'm sorry). Like, yeah, I get that there's no GUI where you can edit what you do or don't want with your mod, but this is more of a fun way to do it. You have the code in front of you to play around with, instead of looking through it at a surface level with limitations. Binary hacking to make a ROM and decomps to make a ROM hack are like modding a computer and building a computer. Modding a computer is fine, but you're only able to work with what is in front of you. Any mistakes, and it could damage the system. While with building the computer, you're able to do almost anything with it. What kind of monitor you want to use, how much RAM you wanna give it, what kind of SSD is the best, etc. It's not a great comparison, but it's the best one that I could think of. Binary modding is limited to what the base ROM is capable of, as in dealing with certain things that are hardcoded to that specific game. While with decomps, that can be changed before the ROM is even made. Do I feel like there should be a GUI for decomps? Yeah, but with something like decomps, something that changes constantly, it's generally impossible. It's just the future that we're heading towards, and I can't wait to see what other great strides can be made with decomps.
     
    1,591
    Posts
    10
    Years
    • Seen Mar 20, 2024
    Gonna add my piece too, as I think a few practical examples of why the decomps are easier to work with would be useful here. It seems to me that a lot of the arguments against using the decomps come from a lack of knowledge (and I don't mean that as an insult - obviously we aren't all programmers, and it can be hard to find good information on this), and a lot of the arguments for it are a little too technical, so that makes binary hacking seem easier. There's no denying that downloading a map editor and diving straight into changing stuff is faster and easier than setting up the decomp, and there's still value in using that as an entry point to ROM hacking. Plenty of the basic knowledge you pick up from binary hacking even carries over to the decomps, so if you're going in with no idea what you're doing and no programming knowledge at all, that's not a bad way to get your feet wet.

    However, in the long run, the decomps are MUCH easier to work with AND more user friendly. No binary hacking tool is even remotely comparable to the ease of use VS code provides, porymap blows advance map out of the water, and working with actual, structured, human-readable code is infinitely easier than working with a binary editor that can't even edit most of the game in a meaningful way. Sure, using the command line for the first time can be quite intimidating, but look at it this way: to set up the decomp, all you're doing is pasting things into a box and pressing enter. If you can post on this forum, you can use the command line. You don't need to be an expert or even fully understand what you're doing; you simply follow a tutorial, just like most of us did/still do with ASM routines! On top of that, you only need to go through it once. After the initial setup you'll be typing "make" the vast majority of the time.

    But what if you can't code, and don't care to learn? Consider this: if your hack requires any sort of story change, you're probably going to need to learn to script, which means spending a few hours (or more) reading a scripting tutorial and playing around with some basic scripts. Either way, you ARE going to have to sit down and learn something, so why not learn the thing that will ultimately make your life easier? In the time it takes to go through an XSE tutorial, you could learn enough C to get a good foundation for using the decomps. Again, you don't need to be an expert, and you definitely don't need to know the entire language. Learning just the basics gets you:
    • A trainer editor
    • A Pokémon editor
    • A text editor
    • An intro editor
    • A move editor
    • An ability editor (want to make Blaze's boost apply to everything, all the time, and do 100% more damage? Trivial in the decomps - not so much in binary)
    • Much more!
    And it's all in one program, with built in find and replace, and all in a simple, human-readable format that allows for extremely quick editing - no more clicking through a billion drop down menus. I assume this is another point where binary hacking seems easier, because it's not immediately obvious how to find all those things in the code. It's a lot easier than you might think - just make VS code find it for you! As an example, let's say you want to edit Youngster Joey's team, but have no idea where it is. Search for "Joey", and look through the names of the files that appears - you'll see "trainer_parties" and "trainers" - Trainer parties sounds promising, so click that and the editor will jump straight to Joey's party, which looks like this:
    Code:
    static const struct TrainerMonNoItemDefaultMoves sParty_Joey[] = {
        {
        .iv = 0,
        .lvl = 9,
        .species = SPECIES_MACHOP,
        }
    };
    That's readable even if you've never seen C before, no? If you want to give him more mons, or custom moves, you can go to other trainers in the same file to see how that should look, then jump straight back to Joey with a single click and make your changes based on that. As this is a text file, you have full access to copy and paste, which make this incredibly quick and easy. VS Code can even autocomplete Pokémon species and moves for you! The code essentially doubles as documentation; it's like using existing XSE scripts as examples for your own, but for the entire game.

    You could also follow this same process to make the silly Blaze change I mentioned: searching for "blaze" leads you to "ABILITY_BLAZE", and searching for that leads you to this code in "battle_util":
    Code:
       case ABILITY_BLAZE:
            if (moveType == TYPE_FIRE && gBattleMons[battlerAtk].hp <= (gBattleMons[battlerAtk].maxHP / 3))
                MulModifier(&modifier, UQ_4_12(1.5));
            break;
    Again, even if you can't code yet, you can see that second line mentions maxHP / 3, so that must be Blaze's activation condition - the mon needs to have one third or less of its max HP. It also mentions moveType == TYPE_FIRE, which you may have guessed, makes it only boost fire moves. So we're in the right place! Get rid of that line make the boost on all the time, and affect all attacks. The next line looks like gibberish, but that 1.5 stands out - that must be the 50% damage boost. Change that to 2.0 and it's now a 100% damage boost. Anyway, the point I'm trying to make is that the decomps are, in fact, user friendly. The reason there are so few GUI tools for them is that they wouldn't be helpful for editing things like this - they'd be restrictive, time wasting, and ultimately end up being more of a hindrance than a help. A program like VS code already does everything they would do, but better.

    All that said, if your hack NEEDS Dynamax, you're stuck with binary hacking for the time being, so it's got that going for it! Seriously though, if you're making a big hack, I would highly recommend giving the decomps a serious try before resorting to binary. You can do it, and it's well worth the effort.
     
    19
    Posts
    3
    Years
    • Seen Sep 6, 2023
    No binary hacking tool is even remotely comparable to the ease of use VS code provides
    HMA
    porymap blows advance map out of the water
    AMap is being replaced by HMA

    a binary editor that can't even edit most of the game in a meaningful way.
    People don't want to edit "most of the game", they just want to edit data.

    • A trainer editor
    • A Pokémon editor
    • A text editor
    • An intro editor
    • A move editor
    • Much more!
    And it's all in one program, with built in find and replace, and all in a simple, human-readable format that allows for extremely quick editing - no more clicking through a billion drop down menus.

    This is literally a description of HMA, and HMA is MUCH psyducking easier to do all of this with than the decomps are in their current state.

    Search for "Joey", and look through the names of the files that appears - you'll see "trainer_parties" and "trainers" - Trainer parties sounds promising, so click that and the editor will jump straight to Joey's party

    Yet another thing HMA already does.

    If you want to give him more mons, or custom moves, you can go to other trainers in the same file to see how that should look, then jump straight back to Joey with a single click and make your changes based on that. As this is a text file, you have full access to copy and paste, which make this incredibly quick and easy. VS Code can even autocomplete Pokémon species and moves for you!

    more mons - HMA
    custom moves - HMA
    jump straight back to Joey with a single click - HMA
    full access to copy and paste - HMA (not to mention, automatic editing through HMA's python interface)
    autocomplete Pokémon species and moves for you - HMA


    You get the picture.

    For all the begging that is done about "just TRY the decomps first", it's embarrassing that none of you seem to want to TRY something like HMA to see WHY people think it's easier to work with and flock to it. Your whole post is trying to guess why people "incorrectly" assume binary is easier when a few clicks through HMA will literally explain it to you. There is a reason people choose it and you're spinning your own narrative. Like, imagine resorting to the niche example of ability editing just to insist decomps are better. Most hacks do NOT want to edit the base engine, even if it's just abilities. If you want to do that, use decomps. But if you're just editing the surrounding data, like your amazing list earlier, there's literally no reason to set up an entire decomp project. You can make an entire Pokemon Gaia-style hack in HMA now. That's all most people want. Very few people are out here trying to make Voyager.

    This thread has proven one thing to me and that is 99% of the arguments for decomp assume binary hacking is still where it was years ago. Guess what, it isn't. HMA alone is going to be objectively better for anyone who doesn't need to touch the base engine and you're going to keep crying about it indefinitely
     
    11
    Posts
    3
    Years
    • Seen Jan 27, 2024
    1. HMA is a great tool I completely agree but it still can't overcome the limitations of binary hacking
    2. Yes not everyone wants to make something like Voyager but there are a lot of things which people do which are easier on decomp
    3. HMA is not a solution to evrything and it can never be
    4. I agree that let use decide what to pick but you should suggest trying out both of them just having the dumb mentality of binary is easy makes the user binary but rather you should tell to try both and see which fits
     
    1,591
    Posts
    10
    Years
    • Seen Mar 20, 2024
    AMap is being replaced by HMA
    AMap has already been replaced by porymap
    People don't want to edit "most of the game", they just want to edit data.
    False. The sheer number of people asking how to do something that would be easy in the decomps and a complete nightmare in binary is staggering. I see this all the time. Plenty of people want custom key item effects or basic features from later gens that aren't covered by the CFRU, which leaves most of them with the wonderful options of ASM or nothing.

    This is literally a description of HMA, and HMA is MUCH psyducking easier to do all of this with than the decomps are in their current state.
    No, it is not easier to do this in HMA. Pokeemerald has been in a far better state than HMA will ever be in for a long time now, and at this point it will always be that way. HMA does not and will not ever compare to an actual development environment.

    more mons - HMA
    custom moves - HMA
    jump straight back to Joey with a single click - HMA
    full access to copy and paste - HMA (not to mention, automatic editing through HMA's python interface).
    A python interface is largely useless to people who cannot code, no? That seems to be half the issue with the decomps, so why is that a benefit here? The decomp also gives you more options for automated editing (e.g. regex, or anything else you want).

    You get the picture.

    For all the begging that is done about "just TRY the decomps first", it's embarrassing that none of you seem to want to TRY something like HMA to see WHY people think it's easier to work with and flock to it. Your whole post is trying to guess why people "incorrectly" assume binary is easier when a few clicks through HMA will literally explain it to you. There is a reason people choose it and you're spinning your own narrative. Like, imagine resorting to the niche example of ability editing just to insist decomps are better. Most hacks do NOT want to edit the base engine, even if it's just abilities. If you want to do that, use decomps. But if you're just editing the surrounding data, like your amazing list earlier, there's literally no reason to set up an entire decomp project. You can make an entire Pokemon Gaia-style hack in HMA now. That's all most people want. Very few people are out here trying to make Voyager.
    There is no reason for me to try HMA, because it does not offer one single feature that is not done better by VS code and porymap. It would have been an incredible break through 10 years ago, but as it stands, if you're making a substantial new hack, it is hopelessly outclassed by the decomps in every way. Those examples I gave are just the tip of the iceberg. You can make that some Gaia-style hack much more easily in the decomps than you can in HMA.

    But if you're just editing the surrounding data, like your amazing list earlier, there's literally no reason to set up an entire decomp project.
    This is literally false. Version control alone is more than enough of a reason, unless your hack is something that can be made in a week. You know that gigantic backup folder that most ROM hackers have? That used to a problem for programmers too, just on a much larger scale. Version control is the solution to that problem, and it's a really good solution. Sure it looks complicated, and it can be it if you make it that way, but the important stuff has a nice, easy to use GUI that does more than enough for a simple ROM hack. It makes development and bug fixing so much easier and will save you a lot of time and heartache.

    There's also the objective fact that fixing bugs in the decomp is infinitely easier. If you break something in binary without realising it, chances are it's staying broken until you resort to the back ups folder. The decomps give you a list of exactly what you've changed and when you changed it, making it easier to pick out bugs.

    What exactly do you think is wrong with the decomps? Pokeemerald is already well past the point where it can easily make a Gaia-style hack; the undocumented parts are irrelevant for anyone wanting some thing more advanced than that.

    This thread has proven one thing to me and that is 99% of the arguments for decomp assume binary hacking is still where it was years ago. Guess what, it isn't. HMA alone is going to be objectively better for anyone who doesn't need to touch the base engine and you're going to keep crying about it indefinitely
    Your opinion is not an objective fact.
     
    19
    Posts
    3
    Years
    • Seen Sep 6, 2023
    AMap has already been replaced by porymap

    So what? You people always love to bring up AMap as one of the horrendous parts of Binary, and now it's being replaced in Binary. You have one less thing to point fingers at and it pisses you off.

    False. The sheer number of people asking how to do something that would be easy in the decomps and a complete nightmare in binary is staggering. I see this all the time. Plenty of people want custom key item effects or basic features from later gens that aren't covered by the CFRU, which leaves most of them with the wonderful options of ASM or nothing.

    I really don't see this as common as you apparently do, but no one's saying that people with those goals in mind wouldn't be better off using the decomps.

    No, it is not easier to do this in HMA. Pokeemerald has been in a far better state than HMA will ever be in for a long time now
    In what way??? What a stupid blanket statement. It is not an opinion that editing the specific things you've listed is objectively easier in HMA. You type in "pokemon" or "trainers" and see every bit of data in one panel to edit through a GUI. Takes 2 seconds. Zero navigating a codebase, zero bugs since HMA handles everything under the hood, complete autofill as HMA pulls from the rom just as an IDE would pull from a project, hell there's even less typing.

    A python interface is largely useless to people who cannot code, no? That seems to be half the issue with the decomps, so why is that a benefit here? The decomp also gives you more options for automated editing (e.g. regex, or anything else you want).
    Um no?? What on earth do you think is more accessible to people who cannot code, Python or C? Python is literally a gateway language. And don't even get me started on the absurdity that is regex.
    Regardless, touching even a single line of Python in HMA is an optional automation bonus for if you get tired of the already plentiful copy/paste ability. Touching C is an absolute necessity in the decomps, whether you admit or not. That's why it's "half the issue with the decomps".

    There is no reason for me to try HMA, because it does not offer one single feature that is not done better by VS code and porymap. It would have been an incredible break through 10 years ago, but as it stands, if you're making a substantial new hack, it is hopelessly outclassed by the decomps in every way. Those examples I gave are just the tip of the iceberg. You can make that some Gaia-style hack much more easily in the decomps than you can in HMA.
    If you're not going to try it, then it's no surprise you're still left wondering why people keep choosing it.

    This is literally false. Version control alone is more than enough of a reason, unless your hack is something that can be made in a week. You know that gigantic backup folder that most ROM hackers have? That used to a problem for programmers too, just on a much larger scale. Version control is the solution to that problem, and it's a really good solution. Sure it looks complicated, and it can be it if you make it that way, but the important stuff has a nice, easy to use GUI that does more than enough for a simple ROM hack. It makes development and bug fixing so much easier and will save you a lot of time and heartache.

    There's also the objective fact that fixing bugs in the decomp is infinitely easier. If you break something in binary without realising it, chances are it's staying broken until you resort to the back ups folder. The decomps give you a list of exactly what you've changed and when you changed it, making it easier to pick out bugs.
    Version control is absolutely an objective advantage decomp has over binary, but you're seriously exaggerating the "struggle" without it. "Gigantic backup folder" cmon, we're on the tiny scale of roms here.
    Again, this isn't 2012: the days when you needed to keep backups of your rom dating back years just in case you broke something without knowing it are long gone. HMA doesn't break stuff randomly like archaic tools, and since the goal of HMA is to only use HMA, it's designed to never let a user break something accidentally from within it. It will stop you from doing something bad without realizing it. If you tried HMA, you would know this. Binary is not about letting the user do anything willy-nilly anymore, it's about specific changes that HMA understands well enough to safety-check. That's not a limitation, that's the goal.

    Pokeemerald is already well past the point where it can (more) easily make a Gaia-style hack
    I don't know how to tell you this but you're just wrong. Of course Pokeemerald can do this too, but you really think it's easier to do it in Pokeemerald than in HMA for a beginner? Seriously? With all the decades of tutorials binary hacking has combined with the safety net and GUI of HMA? A beginner could be knee-deep in a stable HMA hack in a week. In pokeemerald, a beginner would spend a week setting it up and then another week being unable to navigate anything outside of Porymap. Maybe they'd find a few tutorials to do specific changes. Maybe they'd get the expansion set up. They'd exhaust every resource or guide within months.
    Is it easier to make a Gaia-style hack in pokemerald than in HMA? For me, sure. Is it easier to make a Gaia-style hack in pokemerald for a complete beginner? Of course not!! It's not an easier experience when there is such a huge lack of tutorials or explanations on anything basic for the decomps. We're talking about someone who is starting on the decomps from nothing - absolutely no binary knowledge to stand on. They don't know how event scripts are related to maps, or how overworld objects are structured, or how flags work, or how to define a new trainer. Decomps provide no high-level abstraction outside of Porymap whatsoever. Beginners are simply going to drown in your codebase until you adopt the hand-holding-level guides that binary already has, and if you can't see that then you don't know your target audience.

    What exactly do you think is wrong with the decomps?

    NOTHING IS WRONG WITH THE DECOMPS FOR ANY EXPERIENCED USER

    I don't know how this is so hard for you ape-brains to understand, but it's not a goddamn war. The decomps are the best thing that happened to this scene, but there is zero logic to how a beginner would feel more comfortable using it. The entire first post was basically "you should struggle and learn the decomps so that you can become a programmer later in life". It's absolutely asinine. The whole point is that beginners are fully capable of realising their goals in 2023 in Binary. Period. Because it's not 2012 anymore. WHY would anyone wanting to make a Gaia-style hack need to set up a decomp project and learn even the baseline of C, when they could just download HMA and at worst learn event scripting? For version control?? Surely you realise that no beginner would make that choice, perhaps because you guys suck at persuasion

    Your opinion is not an objective fact.
    STFU. This entire topic is a baseless opinion presented as fact. "Holding back the entire community"??? Go screw yourself hypocrite

    Version control says hi.

    The witty one-liner approach doesn't work after your first post here was a bible-length tantrum.


    ---
    There is one constant here and it's that beginners actively choose Binary without anyone telling them to. Maybe instead of considering them wrong for doing that and trying to "educate" them, consider why it's happening and change your scene to accommodate it? If decomp truly "hopelessly outclasses binary in every way" then you really shouldn't need to persuade people about it, it should just take over. In fact, it should have done that a year ago. It hasn't. Why? Because as much as you insist it is not harder, the people actually deciding on their entry have made their choice. If that choice is objectively wrong, then that's on you for presenting yourself poorly, not them or Binary hackers like OP insists
     
    Last edited:
    11
    Posts
    3
    Years
    • Seen Jan 27, 2024
    You should not pretend that HMA is a godmod and can do everything automatically without user having any chance of breaking anything
    But decomps certainly are close to that
    And you would be surprised to know how much stuff people want to add to their hacks I guess you aren't that active in this community to know that
    And no HMA is not even close to Porymap in mapping just because it hasn't existed for that long and a million other reasons and amap is still the best binary got
    Binary being easy is also the objective lie spread by people like you it wouldn't be a lie if everyone just wanted to do smallest of change and love corrupting the rom
     

    Li Yun

    "Does the truth exist or is it all a lie and the w
    204
    Posts
    3
    Years
  • I've been working with binary Rom Hacking for a few years and I understand how superior Decomp is compared to binary. Decomp allows working directly with the game's source code, significantly reducing the occurrence of bugs and other issues commonly found in editions made without access to the source code. However, many people prefer binary Rom Hacking because of its ease of access and code modification without the need to compile after each change.

    In my case, even though I know the benefits of Decomp, I still prefer binary because it's my comfort zone. I tried using Decomp, but I couldn't adapt. I believe many users feel the same way.

    I introduced Decomp to some people and most of them found the process of compiling a ROM to be too long and complex. There's a saying in Brazil that goes, 'Each person wears the boot that best pleases/suits them'. It's important to keep both binary Rom Hacking and Decomp available so users can choose which approach they prefer. Trying to force only one content for the entire community isn't an intelligent approach.
     

    Blah

    Free supporter
    1,924
    Posts
    11
    Years
  • Wait really? I thought it was a decomp mod since the creator was looking at the pokefirered documentation. Who knew 🤷

    When was I doing that :D?

    The only way something like Crown is produced is through looking at the source code. They used pokefirered's documentation and then binary hacked. Crown would not be without the decomps.

    No, I could've built Crown nearly a decade ago. This hack's build systems, structure, symbols and general foundation was created before the first line of ruby was ever decompiled. Most game systems are from scratch and not based off of existing code (the battle engine, the net code, too many to list). There are exceptions of course, such as the map engine (so that we don't need to build a new map editor).

    What you incorrectly attributed to the decomp is rather experience and grit. I've been messing with new battle engines and custom code injection for years.
    Here's something from 6 years ago for example:
    https://streamable.com/uer3

    These are usually done in new systems that I develop. For example, here's a script for a system I made to playing animations:
    https://github.com/EternalCode/Dark-Wish/blob/master/src/animations/complete_moves/nightshade.s
    confuseray.gif
    poisonsting.gif
    shadowpunch.gif
    icebeam.gif


    And of course, I was always amazed by the work of other excellent binary hackers of pre-decomp times as well. Bugmania's prototype strikes me as one that most people may not have seen before.


    The source code hacking really didn't become accessible to most people until Emerald was shiftable and public resources were starting to be made. However, people were compiling source code and building systems from scratch long before that. We've had pretty comprehensive libraries for years now.
     

    manadhon

    RTX-008L
    119
    Posts
    11
    Years
  • Hey there, folks. I see that this thread is getting some more activity again, so I'll throw in my own bit. Been over six years since last I posted here, and things have changed. So have I, and so has the Gen III ROM hacking scene in many ways. I won't wax any poetics, though, or prop up my own several years of experience as some badge of credibility. So let's get a- potentially- more broad rundown of my thoughts on things, from the perspective of a lurker.

    As to this thread itself, I think that on the aforementioned broad level, it's brought a lot of good discussion. Needed discussion, even, for the future of the scene and internal relations. We've heard the perspectives of hackers old and new, proponents of both binary and the decomps. People from within and outside the scene as well, which is fantastic. Even if there's definite bias floating around here- a grand understatement- I think that we've highlighted some very important issues.

    Chiefly, in the case of Gen III binary hacking, that it's been in a fairly poor state. It has been for years, and there is no denying it. Many longtime staples of binary hacking are abandonware, some of which haven't seen updates in over a decade, let alone bugfixes. That's not exactly ideal for anyone wanting to make a hack, especially if you're not used to the workflow and tiptoeing around its many pitfalls and limitations. Yet, we cannot say that many over the years have not tried to improve this. They have, but more often than not, the projects are also abandoned- sometimes before even hitting a workable state- and nobody steps in to continue development. If it's even open source, at that, another longstanding issue that has plagued the scene. Over and over, this cycle has repeated, and, frankly, we've deserved better as a community.

    This does not mean that I will begin to point fingers, though. This is a hobby, and we cannot expect people to pour all of their effort into it. Furthermore, we're finally starting to see real improvements in both the ease of creating a binary hack through HMA, and the, well, everything offered by the CFRU. Neither are perfect, yes, and there are yet more hurdles to overcome- the overwhelming lack of cross platform support, for one- but things are looking up. Binary hacking is receiving that which it's always needed.

    Better tooling, and the momentum to get it off the ground.

    The fact that we've had to put up with this situation for so long is the issue. It's inexcusable, honestly. Binary hacking as a concept is not the problem, and never will be. Rather, it is the existing workflow that has been built around outdated, buggy tools that is the actual problem at hand. Do away with that, and much of the argument against binary hacking here evaporates. That the decomps do not suffer from this is less evidence of their superiority, and more a testament to active developers creating software- cross platform, at that- that gets regular updates, and leaves open the option for others to participate. I reiterate the part about momentum. The binary scene can and will improve from this very phenomenon, and a good start is getting rid of this hostility towards it and needlessly aggressive thread titles.

    On that lovely note, let's get on to the decomps.

    I'll be honest, I like them. I like them a lot. I've been a great advocate of their progression for years, and would say that they're long overdue, even. To decompile an entire game into human readable source code is nothing short of incredible. The ultimate form, if you will, the end goal of ROM hacking. For both sake of digital preservation, and the advance of hacks themselves. Compared to binary hacking, the potential is, arguably, exponentially greater, as you're no longer bound to editing and deciphering binary data, nor working within the relative limitations of the original game engine (unless you ASM or C that stuff up). All with the safety of a version control system (VCS), learning curve aside. The game, in its entirety, is understood and readily available, and can be rebuilt from the ground up. I'm truly excited to see where the Gen III scene goes in the future, to say nothing of other ROM hacking communities that have also reached this point.

    Let's be realistic here, though. The decomps aren't perfect, not by a long shot. The matter of accessibility, especially, has been discussed greatly here, so I'll try not to linger too long. For the average computer user, binary hacking is far easier to break into, in that you only need a totally legal ROM™ and some tools. A far cry from setting up an entire toolchain, learning how to use the command line (cli), and potentially a programming language. Further still, familiarizing oneself with the esoteric nature of more text-based workflows. Though an argument is sure to be made as to the benefits of the skills gained from the process, we must consider that tech literacy isn't exactly at an all-time high these days, nor do some desire such things. For someone that has only the most basic understanding of how a computer works- let alone file management- this might seem a monumental task. Impossible, even, for fear of causing global thermonuclear war at the drop of a typo.

    This is a very real issue that many people face, and with the increase of approachable software that doesn't require you to learn the underlying systems or how to troubleshoot them, the loss of computer literacy classes in schools, and simply not growing up with home computers like millenials did, means that less and less people known how they work, or desire to.

    If you want to attract more users, then the barrier to entry must be lowered. The inherent fears that many will face must be assuaged. Far easier tasks said than done- some of them well beyond the reach of hobbyists- but it has to happen if people are to benefit from everything the decomps offer. Educating potential users, good, up to date documentation, obscuring using the cli with a GUI, and so on, as examples. Regardless of the paths taken, I'm sure that things will improve, as these are still the early days of adoption. You're also competing with the years of recognition, resources, and userbase of binary hacking, which isn't just going to vanish. It's not going anywhere- despite how some might wish it so- and telling people that they're holding back the community by engaging in it is only to going to make enemies, reinforce stubbornness, cast doubt on the decomps and those using them.

    Frankly, this could have been handled way better.

    Yet, it only confirms that, just as much as our methods of creating Pokémon hacks need to improve on all fronts, so does this community.



    With all of that out of the way, let's do a few replies to some of the posts here.

    Spoiler:

    I seriously can't believe that only a few people have replied to you. Your post deserves way more attention than it's currently receiving at the moment, and I can't begin to thank you enough for writing it. Hit the nail right on the head on all accounts, and gave a view from another ROM hacking community, to boot. I think we could use a lot more of those here, not only to see how others have navigated such a messy situation, but also to compare internal relations. You're very right in saying that there's hostility towards one another here, elitism, and it's, sadly, nothing new. We've a long trek ahead of us, and some perspective is more than welcome on the journey.

    So, once again, thank you.

    Also, as an aside on patching formats, IPS and UPS have been our historical go-to's, though there were some short-lived community attempts at alternative patching systems in the past. I was an early BPS adopter for my own use, personally, using the original beat patcher from the dearly departed Near. Easily my favorite of the three named, and, though I see that a few hacks are using it on the forum, it doesn't appear to have become the accepted standard by now. It should. Entirely obsoletes IPS and UPS, and the software support's been there for years. Might be another good step to take.

    Version control says hi.

    I'm not really sure where we're getting this idea that you can't use a VCS with a binary hack, but it's not true. You're not getting quite the same utility, perhaps, but it's entirely possible. I've been doing it for about three years now, in fact, and also with git. Allow me to share my take on it.

    First of all, no ROMs. Easily a given, especially if you're gonna host the repo somewhere. Rather, I host everything else that goes into a hack in the repo. Scripts, images, tile data, music, palettes, ASM, patches for each commit, an extensive changelog in addition to detailed commit messages and a separate notes file, and binary diffs in plaintext. I know every byte changed whenever I commit something to the repo, and have more than enough means to diagnose what might have gone wrong or roll back to a previous version. Can't build the whole game with a single command- should probably work on that- but it more than suffices. Hell, going a step further and using armips, I don't even have to touch a hex editor to insert ASM anymore, or jump to various offsets for byte changes. It can all be encapsulated in text files that I run through the program, and it spits out an edited ROM for me automatically.

    It can be done, though my setup isn't too user friendly or particularly optimized. The safety nets I employ are better suited for an experienced hacker- the binary diffs in particular- not a beginner. The fact remains, however, that using a VCS isn't a unique aspect to using the decomps. Once again, this is a matter of improving the dated workflow of binary hacking, and that could take many forms. I'm not going to expect everyone to learn git, either. Might be the most popular version control system these days, but there are easier ones to learn.

    The only way something like Crown is produced is through looking at the source code. They used pokefirered's documentation and then binary hacked. Crown would not be without the decomps.

    What point are you trying to make here? This sounds more accusatory than anything, as if binary hacking couldn't have produced something as advanced as Crown without the decomps. Per the word of the hack's creator, that's not only false, but it could have been released years prior. Perhaps by others, no less, as we've seen a lot of talented people come and go through the GBA scene in general, when many games had not been decompiled. Even if you had been correct, what does it matter? Binary hacking and the decomps are not mutually exclusive, and can directly benefit each other. We've heard as much with the SMW hacking scene, where one might use their disassembly as a reference for binary work, still the norm there. Using the Gen III decomps as a resource is per their very existence, and we should encourage it.

    Binary hacking and the decomps can peacefully coexist. There's no "enlightened centrism" involved in my saying that, nor from anyone else.
     
    Back
    Top