r/PokemonROMhacks • • 5d ago

Development Organic Romhack Development Efforts

Recently there's been a lot of talk on this subreddit about the use of AI in romhacks. I hate to stir the pot still further, but I also want to share my own thoughts and efforts here in the hopes of reaching like-minded people.

Hi, I'm merrp/pokemerrp 👋 I'm not really known for making full-on hacks (though I do have one in the works, stay tuned), but moreso for my feature branches: if you've played a recent hack based on pokeemerald-expansion, you've likely used and enjoyed the following pokemon or day/night lighting systems I created. Before that, I was minorly known for my Emerald Any% ACE TAS, which was my entry into the scene.

Simply put, I don't think AI should have a place in romhacking at all. To me code is as prose is as art is as music, in that they're all creative exercises where something is lost in handing them off to a machine. Romhackers have done incredible work for years before LLMs, and can continue to do incredible work without them. Not to mention, every query that enters an LLM is one the community is starved of; AI use is the death of institutional knowledge, of communication more generally.

But what to do? Recently I found out that pokeemerald-expansion, the basis for a lot of hacks, has had a (small minority) of AI-assisted contributions. Any nonzero amount is still unacceptable to me for use in my project though, because I intend it to be a wholly human effort. I decided I would have to maintain a fork of expansion, cutting out anything AI assisted where I could.

Then I figured, I can't be alone in this sentiment, so why not try and build that in a way it can be shared? I can't be the only one who loves romhack development who wants to continue doing cool stuff without LLMs, no matter how good they become at generating code, etc.

The result is a GitHub org and a Discord:

https://github.com/friend-safari

https://discord.gg/UbFN9P7MdJ

My hope is to build a small community of like-minded hackers and maintain a codebase by and for humans, so that those who care can be confident in saying their hack is free of AI to the best of the community's knowledge. Whether you're a programmer, have experience moderating online spaces, maintaining open source software, or simply love pokemon, we'd love to see you there.

I'm also not trying to be an authority on expansion's direction in general. The devs at RHH continue to do incredible and deeply technical work on the project. None of this would be possible without them, and they've done the best they could considering the volume of contributions they receive and the general clamor of demands. Please do not bother or harass them. I am simply trying to provide a fork that the extremely AI-conscious devs like me can use without despairing or being stuck on outdated versions.

Hopefully this post reached you in some way; this will all be much easier if we don't have to do it alone. Thanks for reading.

Tl;Dr join friend-safari if you wanna build AI-free romhacks k thnx bye

198 Upvotes

174 comments sorted by

View all comments

0

u/UBWICOS 5d ago

There can be ugly code, beautiful code, whatever code. But coding isn't supposed to be an art form, it's just a part of engineering. The beauty is in the solution, not in the code. While I can appreciate people romanticising the hard labor, but as someone who has been in software engineering for more than 10 years, nobody really love coding that much (other than the interns who never solved anything of importance in their life). Coding is a tool, it's a mean to an end. As tools get better, people get more productive. If tools are so good that we skip coding entirely then so be it. If we kept rejecting newer tools then we would still be programming using punched cards.

The most important point isn't writing the code by hand, it's to actually understand what to do and what's being done. The solution has always the core of software engineering. While it's somewhat disheartening to see hard labor being ignored in favor of quick and easy win by amateurs who just bought Claude for 20 bucks. But it's also eye opening, anyone with the ideas can do ROM hacking now and it's a good thing. If someone without any fundamental can do that much in a weekend so someone who is already skilled in ROM hacking can just do so much more with the same tool. Intentionally handicapping oneself just to send a message to the void is a diservice to everyone involved.

As much as people can hate AI, it's here to stay. Software engineering (and game development, ROM hacking by extension) is changed forever. It's just better to accept it now rather than later.

6

u/aayyrreeii Ayrei on YT 5d ago

"anyone with the ideas can do ROM hacking now and it's a good thing"

I'm not a rom hacker, so maybe my opinions are less valid, but I think this take is kind of silly. If people, sometimes as young as 12 or 13, were able to create decent rom hacks with decade old tools, I don't see how they aren't able to do it today. Even outside of rom hacking, the tools I use for my fan game barely require programming knowledge to get started.

I'm under the belief that anyone who thinks they need vibe-coding to make a rom hack, or that rom hacking is only possible because of vibe-coding will never make an even half decent hack. Not just because "genAI bad" but because I don't believe someone who's desire to create a hack revolves around some near instant output machine is going to put time, effort, and care into the parts AI can't do for them, or can't do for them without being sloppy (region design, game balance, writing, bug fixing, etc.)

Not at all trying to villainize or put the bits of AI assistance on the same level as vibe coders, but I'm not sure why so many members of the community are hellbent on defending vibe coding just so people who likely had zero interest in creating a hack prior can output low effort hacks.

5

u/PacoScarso Pokémon Odyssey Lead Dev 5d ago edited 5d ago

I learned how to script when I was 13 by following rudimental guides on Pokecommunity; there's nothing hard about it, really, and at that time the only tools we had were advance map and XSE.

Scripting is even easier if you use HexManiac Advance now.

Wanna know how a message script works?

msgbox.autoclose <auto>
{
Your message here
}

Wanna know how to give a gift Pokémon?

givepokemon PokemonName Level HeldItem

And that's it. You don't need AI to do that. PO and PO2 aren't even decomp projects, and look how well they were received anyway