Emulating old computers or video game systems isn’t always about recreating childhood nostalgia or playing classics on hardware that doesn’t exist anymore. A lot of the time it can be an excellent way to learn about the mechanics of programming a video game. Plenty of older titles have available source code that anyone can pour over and modify, and one of those is Pokémon Emerald. This was the first Pokémon game that [Inkbox] played, and he added a few modern features to it with this custom ROM file.
The first thing to add to this game was the ability to have one’s Pokémon follow their character around in the overworld map. This is common in later games, but wasn’t yet a feature when Emerald and Ruby first came out. [Inkbox] needed to import sprites from later games into the Emerald game file, convert their color palettes to match the game’s palette, and then get to work on the mechanics. After everything was finished, the Pokémon not only follow the player around the map but are animated, enter and exit their Pokéballs, and even jump off ledges in a believable, 32-bit way.
One of the great things about older games like these is that they’ve been around long enough to have source code or decompiled code available, they often have plenty of documentation, and the platforms they operate on are well-known by now as well. Pokémon Emerald is not alone in this regard; in fact, there is a huge Game Boy Advance homebrew scene that is not too difficult to get involved in.
Pokemon Yellow was the first to have a Pokemon follow around. Pikachu only though but it was a start. Ruby and Emerald came out years later.
Didn’t pokemon crystal have that?
Nope. But crystal was the first edition the Pokémon would move when send in a battle, though
Wow! Now thats a real Hack!
Wow! I’m not even a p-mon fan, but that is a nice piece of work!
@Bryan: https://www.vocabulary.com/articles/chooseyourwords/pore-pour/
Code is pored over, not poured over
I noticed there is a lot more “loading screens” than previous pokemon games. There’s hardly any preloaded areas that makes a smooth transition between places. (I won’t be surprised if there’s a lot of gates in ORAS to minimize the need of preloaded areas)
I can get why it’s like that. Not only the game (like https://thefoodiegeek.net/pokemon-crystal-cheats/) has to process the overworld, but also when you go into battle, the game still needs to have (some/all) the overworld in memory in order to have you, npc, and everything else in the exact same place as it was before going into battle.