ROM hacks, also known as hack games or ROM patches, are video games that have been edited or altered by enthusiasts. The hackers achieve this by changing the code of the Read-Only Memory of a published video game to create something new. The core series Pokemon game system is considered very versatile and lends itself well to modification, giving hackers a lot of creative freedom together with a solid, well-tested game engine.
These factors, as well as Pokemon’s notable popularity throughout the world, has lead to the creation of thousands of different games spanning multiple generations, ranging from minor adjustments to additional new features and, more and more frequently, entirely new fan-made Pokemon games.
Though the core-series is by far the most popular series to hack, there are also many fan-created Pokemon games that do not use these as basis, and instead are, for example, modified versions of the Pokemon Mystery Dungeon series and Pokemon Conquest. There is a distinction between ROM hacks and "bootleg games". These are unauthorised copies of published games which are sold to consumers, often flashed onto after-market game paks or game cards and lacking the official Nintendo Seal. However, since ROM hacks are often distributed over the Internet for free, they are regularly sold as bootleg games, usually against the hacker’s wishes. The reliability of these bootlegs are often poor, and has become such a problem that hackers have started to introduce warning screens into their games, cautioning users that if they paid for it, they may have been scammed.
I don't claim to be an expert however there have been quite a few
questions about starting a ROM hack so I thought I'd share what I know.
How much do I know?
ROM hacking isn't an easy process -- unless you have a very specific
goal, such as removing a Pokémon or adding a specific item, it's an
eclectic process - there are lot of little bits you need to know.
The best way to learn all those bits is to grab a copy of a ROM and dive in
to a mapping or scripting tutorial until you think you're ready to move
on to the big game. I recommend the XSE scripting tutorials in the
sidebar as a starting point.
Do I have time to invest in this hack?
The truth is very few hacks make it to completion. I'd say 10-20% of
hacks release a BETA or ALPHA version and maybe 5% make it into a stage
where a game is playable. Even less games actually ever end up
You can expect your hack to take you anywhere from a Summer (for minor
trainer teams, sprite changes, or dialogue changes) to three years.
Expect longer if you are doing it solo or you lack the necessary
knowledge and are learning as you go along.
Big stumbling blocks and time consuming features are using custom tiles,
inserting new Pokémon, adding new regions, and creating games with
If you don't feel like you have a lot of time to invest in making your
own hack, consider joining a team and contributing to a group project.
Choosing a generation and ROM base
So you've decided you want to make a hack? You need to decide which
generation and specifically which game version you want to use.
Generation I (R/B/Y) and II (G/S/C) hacking is 'old skool' at this point
in time, and a little more complex than generation III due to the lack
of tools. That said there's great resources over at the Skeetendo
forums and we generally know the most about this
Generation III (R/S/E + FR/LG) is by far the most popular generation to
hack due to the large tool pool and the ease of entry. The three main
ROM bases for generation III are Fire Red, Ruby, and Emerald in order of
popularity -- LG and Sapphire are rarely used for hacks.
The most notable distinction between the three is the resources
available. Fire Red has a larger amount of documentation and
consequently hacking it is easier. It also improves, in areas, on the
implementation of certain features in Ruby. Emerald can be considered
the most advanced of the three versions however it also contains the
least documentation of the three and its architecture differs from both
Ruby and Fire Red making working with it slightly harder. Both Ruby and
Fire Red have ongoing 649 patches and Fire Red has a hacked game engine
Ruby and Emerald have a greater variety of sound effects, differing
bikes, Pokémon contests, and Secret Bases. Emerald exclusively has the
Battle Frontier and also contains battle animations. Also worth noting
are the interface differences between the versions -- the bag system
(e.g. the use of a TM case in FR), the Pokédex, the inclusion of a
Pokénav in Ruby and Emerald, the Teachy TV in FR, and the
'Previously...' screen in FR.
The final difference I'd note is the Real-Time Clock (RTC). Ruby and
Emerald cartridges have an inbuilt chip which records the passing of
time for events such as berry growth and tides. Certain emulators mimic
this but some do not -- using Ruby or Emerald as your ROM base will
restrict your user base. There is also a RTC patch for Fire Red but it
is not a feature native to the ROM.
Do you run Windows?
The vast majority of tools are designed to run on a Windows machine. If
you are running on a Mac then look into using Bootcamp or VirtualBox to
run a copy of Windows to hack with.