The Pros and Cons of ROM Hacking vs. Game Development
Want to create your own Pokémon game? In this article we’ll be learning about the two primary frameworks for making fangames, and which is best for your purposes.
There are tons of ways of making Pokémon fangames but historically two options have always been the most popular. ROM Hacking means editing an existing Pokémon game, traditionally Fire Red, Ruby, or Emerald, and building on top of that. As such, we’ll focus exclusively on Third Generation hacking in this article. Game Development is a very general term but in this case it refers to using the Pokémon Essentials starter kit for RPG Maker XP.
Both of these approaches have their advantages and disadvantages, so the goal of this article is not to point to a definitive winner, but to talk about the reasons for choosing one over the other. If you’re currently thinking about starting a project but aren’t sure which type to go for, this guide is for you.
Note that though this article only describes the current state of ROM Hacking and Game Development, both have projects pushing the current boundaries. The ROM Hacking disassembles aim to decompile the third generation games so that they can be freely reprogrammed in C and then recompiled into ROMs for exporting.
On the Game Development side, various projects to create a Pokémon engine in Unity have been underway for years. New projects like Pokémon MK have added support for Ruby Game Scripting System 3.0, a faster, cross-platform, and modernized version of the language used by RPG Maker XP. However, none of these teams have yet produced a complete engine.
With that through, let’s look at the respective advantages and disadvantages of each.
The main advantages I see to Rom Hacking over Essentials come down to accuracy in terms of the way the game feels when you play, and the amount of devices that your game can be played on. While it’s advanced a lot over the years, something still always feels “off” about the engine when you’re playing an Essentials game. It looks like Pokemon, but something feels off. And of course, by using Essentials, you’re limited to people only playing your game on a Windows PC. In today’s world, Windows isn’t nearly the monopoly it used to be, plus most users prefer to play Pokemon games on mobile devices or injected into actual handheld systems. It seems like you reach a larger audience if your game runs in an emulator instead of if requiring a Windows PC — even if I am a Windows user myself.
- More resources and support. ROM Hacking has a significantly larger community, and because of that it’s a lot easier to get help with projects or technical issues. Individual well-made ROM Hacks are also more likely to gain popularity than comparably well-made fangames.
- Higher framerate. Gen 3 games run at sixty frames per second, which today is considered a good standard for PC gaming. Because ROM Hacks are built on top of these existing games, they run at 60 FPS too.
- Playable on mobile. You’ll have to do the actual patching on a computer, but transfer the patched ROM to your phone and you can play it on one of many increasingly popular emulator apps.
- Easier to make a polished game because you’re building on top of an official source. The Gen 3 games are already relatively well made and polished. It’s much easier to make something that looks and feels like the authentic Gen 3 experience when Gen 3 is your starting point for game development.
While working within the confines of a ROM has more limitations than game dev, a ROM hack has most of the work already done for you — it’s a complete engine at every step of your hack’s production. I grant that a person who is deeply interested in creating their own game, not necessarily just a Pokemon game, will get more out of a game dev project. To be successful in game dev, you will have to learn all the basics of creating a game from scratch. For a person who has a quick idea or wants to create something but has limited programming knowledge, working on a ROM hack has greater appeal. Someone who has a hobby-level interest in creating a game will find working in a ROM hacking environment much more comfortable.
- Generally inferior tools. For mapping and several other miscellaneous tasks, ROM hackers are stuck with AdvanceMap, a closed source and feature-lacking mapping tool that hasn’t been updated in years. Many desirable additions, such as a working Undo, are absent from A-Map. Better tools, such as Jigglemap, are in development, but for now ROM Hackers are stuck with what they’ve got.
- Programming is difficult and must be done with low-level languages. This may not be a downside for those experienced programmers who prefer working at low levels, but it creates a considerable barrier to entry compared to RPG Maker XP. Most current hack programming is done in ASM, though C is also usable and will become much more accessible upon the completion of the disassemblies.
- Restricted palettes. Graphics, such as tilesets used for mapping, are restricted to 16 colors per palette, including one transparent color. Though thirteen palettes per tileset can be used (numbered as zero to twelve), this can turn inserting graphics into a slow and arduous process.