• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Our friends from the Johto Times are hosting a favorite Pokémon poll - and we'd love for you to participate! Click here for information on how to vote for your favorites!
  • Serena, Kris, Dawn, Red - which Pokémon protagonist is your favorite? Let us know by voting in our grand final favorite protagonist poll!
  • PokéCommunity supports the Stop Killing Games movement. If you're a resident of the UK or EU, consider signing one of the petitions to stop publishers from destroying games. Click here for more information!
  • 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.

The Future of Pokémon Romhacks

rubyravenss

RubyRaven
  • 10
    Posts
    1
    Years
    DISCLAIMER: The post you're about to read below was originally going to be a video, but due to stuff IRL I just couldn't carve out time to really make it. I've edited it as best I can for a post format, but if there's any awkwardness, at least you'll know why!

    A few months ago, I was going about my day when I saw some messages in a romhacking Discord I'm part of. Someone had sent a post talking about Radical Red and the trends that it started within the romhacking community.

    While this discussion is interesting to note, it's only part of the romhack community's current zeitgeist: that within the past few years, we've seen a sharp increase of Difficulty and Quality of Life hacks, and a sharp decrease of original region and story hacks. I often see this point bemoaned as people miss the days of Romhacking old, when hacks with original stories and regions flourished. But I asked myself: what does the scene actually look like now?
    Hi, my name is Ruby, and that's the question we'll be answering today.

    So, what is this post about? Well, I want to talk about a few things: but the most important bit is that I wanted to show some data I gathered recently about romhacks throughout the years. How I gathered the data, what I think it represents. and after that, I wanted to talk about where the scene is, and what you can look forward to as a member of the community, whether as a player or developer or both.

    So, when I first started working on the data collection, I had a simple enough theory: due to the nature of difficulty hacks, it's inevitable that there would be way more of them than original region hacks. Let me tell you a bit how I got the data that I did. If you think that sounds boring, you can skip to this timestamp.

    So, my starting point was the Compendium of Pokémon Fan Games and Romhacks, which was a huge database that acted as the precursor to the PokéROM Codex. For this video, I elected to focus on hacks using either Pokémon Fire Red or Pokémon Emerald as a base. In it, I was able to extract 185 hacks. However, since the Compendium has since been deprecated, I needed to add more. Lastly, the Compendium was more of a curated list, which would be biased to more original concepts. So, I need to find a way to make up for that.

    As such, I went to the Pokécommunity Pages for Romhacks: the Hack Showcase AND the Progressing Romhacks showcase. Because of how big the latter was, I decided to limit it to hacks until 2015. I decided on 2015 as 10 years of Romhacking seemed wide enough for me to track trends. After doing that for both Fire Red and Emerald, I ended up with not two, not three, but four hundred hacks! In total, I got 468 hacks logged.

    For this discussion, I made three categories: Original Region/Story, Difficulty Quality of Life, and Miscellaneous / Original Idea. To explain, I direct your attention to this chart I made.

    [PokeCommunity.com] The Future of Pokémon Romhacks

    Basically, if a hack is closer to Radical Red, then it's a Difficulty Quality of Life Hack. If It's closer to Unbound, then it's an Original Region/Story hack. If it's not close to either of them, then I tagged it as a Miscellaneous / Original Idea hack. This encompasses a big range of hacks, from demakes, to remakes, to escape rooms and so on. I know this isn't robust, and in the future I want to dive deeper in data encoding and making it better with more detail. But for now, this is what we're working with.

    As a last note for this dataset of these hacks, especially the work-in-progress ones: whether or not they posted a link to download their patch, or even completed it, they were included in this list. And I made this decision because this video's scope was about what people were making, whether or not it came to fruition. What were people interested in putting out in general?

    So with that out of the way, what did Romhacking look like in the past 'til now? Well, it looked like this:

    [PokeCommunity.com] The Future of Pokémon Romhacks

    Now, I'll admit, I was pretty surprised. It definitely wasn't what I was expecting when I first had the idea for this video. As you can see, 2015 was the peak of original story hacks, and it's been on a decline since. Its lowest point, 2022, only saw the announcement of one Original Region/Story romhack: Pokémon Yuval. Granted though, the fewer hacks before 2015 can definitely be attributed to me putting my limit for WIP hacks at 2015, as the Pokécommunity threads go all the way back to fuckin' 2004, which is like another 36 pages of romhacks.

    So, I shared these initial findings and discussed with the romhacking server I'm part of, Team Aqua's Hideout, and after some conversation I have a good idea on how we came to see this happen.

    For me to show this, let's create a timeline using the same chart.

    First off, let's talk about two important hacks: Pokémon Glazed and Pokémon Gaia. They were released in 2012 and 2014 respectively. In addition, you even have hacks like Flora Sky, Dark Rising, Sovereign of the Skies and Victory Fire. Significant hacks all with original stories and regions. The train for original hacks continued strong until 2021. To understand this, we need to plot down a few more events in the timeline. From 2019 to 2021, Pokémon romhacking for Gen III would see the biggest developments in the scene to date. Namely, this was the release of the Complete Fire Red Upgrade, the pokeemerald-expansion, and the full documentation of the pokeemerald decompilation project.

    Let's break these down.
    The Complete Fire Red Upgrade, or CFRU, is a code injection project spearheaded by Skeli and Ghoulslash, which seeks to, well, upgrade Fire Red. If you're curious, Code injection, or just c-injection for short, is exactly what it sounds like: injecting your own code into existing code, in this case, Fire Red's. According to Ghoul's post in Pokécommunity:

    "This project is a massive engine upgrade for Pokémon FireRed. It includes an
    updated battle engine on par with the current generation's, including every single attack, ability, item, AI, and more. In fact, this is the only game engine in gen3 with every single move animation! In addition, it includes several game improvement features such as Expanded PC Boxes, a DexNav, dynamic overworld palettes, character customization, TM/HM expansion, a Battle Frontier, and many others."

    This project was a way for binary hackers to up the ante in their hacks, until they were ready to make the jump to decompilation hacking. However, despite Ghoul's advice for new hacks to start fresh on the decompilations, many projects continue to start using the CFRU.
    But what are these decompilations? Well, put simply, the decompilation projects sought to reverse-engineer the GBA games back into source code, which could then be recompiled with edited code and made into a brand new game. To help understand the significance this has to romhacking, here's a little analogy:

    Let's say a ROM of Fire Red or Emerald is like a complete Lego Set. It's fully complete with all its details in place. When it comes to hacking, there's three ways of changing this set: binary hacking, binary hacking with code injection, and lastly, decomp hacking.

    Binary hacking was the method we've been doing up until the games were decompiled. When you're doing binary hacking, you would take the completely built lego set and switch some of the pieces out. Because it's finished too, you'll likely need some specialized tools to do it. Historically, you'd need a wide range of tools that can access the specific parts of the ROM that you need to edit. Much like having one of those lego removers. Some veteran ROM hackers would already be familiar with the usual suspects, such as AdvanceMap, Sappy, and a bunch more. Recently, we even saw the release of the editor-to-replace-most-editors with HexManiacAdvance, which allows you to edit pretty much every part of the ROM.

    However, binary hacking is generally unreliable. This is because once you edit a ROM, and you break it, there's no way to fix it. So it's always recommended you make tons of backups of a ROM, which can be hard to keep track of. Imagine having 16 copies of slightly different lego builds. Eugh.

    Another variant of binary hacking are the C-injections I mentioned. While still binary hacking—since it still edits an existing rom—it operates in a different way. Binary with C injection is like getting a finished Lego set and adding your own pieces on top of the finished model. This is what the CFRU does, alongside editing the existing ROM on top of it in order to accommodate the bundle of changes it brings. Another thing that makes C-injection better than regular binary hacking is the fact that you're working with code instead of a ROM, and version control.

    Since you're working with code, you can freely change and edit the part you're going to add onto the ROM before you actually apply it. And if the change breaks it, all you need to do is toss the corrupted ROM away and grab a new one. This way, you don't have to make backups on backups of a single ROM while you're hacking. "But Ruby!" I hear you say, "What about backups of the thing I make?" Well, that's where version control comes in. I'll need to step out of the lego metaphor for this one.

    According to Wikipedia: "Version control is the software engineering practice of controlling, organizing, and tracking different versions in history of computer files; primarily source code text files, but generally any type of file." The de-facto version control software (which is also used in ROMHacking) is called git. For the rest of this video, I'll only be referring to git when it comes to talking about version control.

    Let's take that collection of code we had earlier. git allows you to capture the state of your code, and store it for future reference down the line. If you've ever used the Google Suite host of apps like Google Docs or Sheets, this is similar to the Version History feature, which lets you view the document's status at different logged points in time. Of course, as the developer, you'll be the one that makes the snapshots, deciding when to make them and what files are part of it. You can even make different branches with different changes between them.

    When working with git, you have what's called a repository, which is all the files of your project controlled with git. You can then upload all this code to a cloud service like Github, which even allows others to collaborate with you more easily. So, that's binary hacking, and binary with c-injection, now what about decomps?

    Well, with our analogy, decomps work like this: you take your finished lego build, and turn it back into individual pieces and pour 'em into a big bucket. With that, you can now completely rebuild the piece in however way you want, according to your vision. You can even add or remove pieces as you wish. If you begin a decomp hack, the work of having turned the build from finished back to base pieces is already done, as the complete decompilation is hosted on the Github of Pokémon Reverse Engineering Tools, or pret for short. So, starting a decomp hack is basically being given a bag of legos, and being able to build what you want.

    Now, let's discuss the impact of the two other moments in romhacking history I mentioned: the creation of pokeemerald-expansion, and the full documentation of pokeemerald. Let's start with the latter.

    So, what even is documentation? Well, to really answer that, we have to start with understanding how a game is decompiled in the first place.

    The first part of this process is the disassembly of the game, and perhaps the part I'm least qualified to explain. But basically: a game, like any compiled code, is at its core made up of a bunch of binary values. To start disassembling it, you would use tools that can take those values and translate them back to the instructions that result in them.

    Alongside this, you also need to set up tools (referred to collectively as a toolchain) that can produce a ROM that matches one that's dumped from an original cartridge of the game. In order to do this, you need to do a lot of research to be able to create and source these tools. As Rave said, this can be a massive pain in the ass. This is in no small part due to the age of these games, as it's important to use something that would have matched what the original developers were using back then in the early 2000s. For reference, the decompilation efforts for pokeemerald started in 2015, 11 years after the release of Pokémon Emerald, meaning people who were attempting to decompile it had to go find eleven-year-old tools! Failing that, they'd have to recreate it.

    Once you have both the disassembly and the tools, only then can you start decompiling the game. This is the meatiest part, being smack dab in the middle of the process. This requires taking the instructions from assembly, and handwriting the equivalent code in the language you want the codebase to be in, which in pokeemerald's case is C. Not every function of code is the same. Some can be easy to do, especially if you understand both languages and how they translate to each other, but some can be monstrously difficult and take years to make due to how huge and complicated they are, and how they interact with the compiler's quirks. This process takes many years to complete depending on the game's size.

    An important milestone in decompiling is what's called "shiftability". Here's a blurb from Egg, one of the core contributors to pokeemerald and pokeemerald-expansion.

    Hmm, this can get a bit confusing, because it requires a bit of knowledge about memory and pointers.

    But the general idea is that every function, every variable(be it const in ROM, or RAM) has a specified place in memory. So whenever we want to call a function, or read from a variable, we need to know its address. Now, in a normal project(or a decompiled one, think pokeemerald or current expansion) we don't really care where the compiler puts our code, because it doesn't matter that much if gExampleVariable is at 0x0205250 or 0x0203002 (example addresses). So if we have a function like
    C:
    void Example(void)
    
    {
    
      gExampleVar = 1;
    
    }

    it may have a hardcoded address in the disassembled code. Sth like
    Example:
    Code:
    ldr r0, =0x02100000
    
    mov r1, #0
    
    str r1, [r0]

    Code:
    ldr r0, =0x02100000
    should actually be
    Code:
    ldr r0, =gExampleVar!
    But we don't have that symbol defined yet.
    And it's a case for every single variable in the game.

    That was very annoying back in the binary days, where people were repointing things. Since the rom was compiled, every variable was already mapped to a memory address. So if you wanted to expand a base stats table to accomodate for more pokemon for example, you'd need to replace every single pointer to it with a new one.
    Simiarly in decomps, you need to replace every single pointer to it with a reference to a var.

    You can also understand it like this:

    Imagine a ROM is a printed piece of paper with an essay written on it. If you wanted to edit it, like say, change every instance of color with an American spelling to a British spelling, then you'd have to manually find each one and change it. Each word has its own space on the page that you have to track down and change accordingly. Compiled code is much the same. When disassembling a game, you'll have hardcoded addresses of variables. And wherever that variable is called, if you want to change them, you'll have to change each one.

    However, code does function differently than words on page, as you can call functions. Essentially, you can have one function execute another function's code by including the latter. Let's label the function being called as Function C. This is how the words get scattered onto the page. You have a bunch of functions that call Function C for whatever reason. Function C itself has something inside it that all the other functions need to operate. Let's call this EgVariable. In a compiled rom, you'd have to find each instance of EgVariable and change it if all you had were the addresses from decompiling. But, as the decompilation continues, you can eventually find Function C, and then decompile it from the assembly instructions to the target programming language.

    As such, the function being decompiled can go from this:
    Code:
    Special_StartWallClock: @ 809E8C8Add commentMore actions
        push {lr}
        ldr r0, =Cb2_StartWallClock
        bl SetMainCallback2
        ldr r1, =gMain
        ldr r0, =sub_809E8B4
        str r0, [r1, 0x8]
        pop {r0}
        bx r0
        .pool
        thumb_func_end Special_StartWallClock
    
        .align 2, 0 @ Don't pad with nop.
    To this:
    Code:
    void Special_StartWallClock(void)
    {
        SetMainCallback2(Cb2_StartWallClock);
        gMain.savedCallback = sub_809E8B4;
    }
    And as more of the functions that use Function C get decompiled, it becomes shiftable. I mentioned before that shiftability is a big milestone, and this is because we no longer have to edit each instance of EgVariable in all the other functions: they get written to simply call Function C—which contains EgVariable—instead. The code can now be edited much more freely without any big problems.

    Of course, you likely still don't 100% know what the function does. It still has a substitute name, and has a part that is substituted as well. For some developers, it might already be possible to manipulate the game at this state, but it requires a pretty decent skill at programming already. For it to truly be usable by most people, the code has to be documented.

    Documentation is the process of making code readable to the end-user—the developer using the codebase to make their Romhack. So, from the code you see on screen, it turns into something more like this:

    Code:
    void StartWallClock(void)
    {
        SetMainCallback2(CB2_StartWallClock);
        gMain.savedCallback = ReturnFromStartWallClock;
    }

    This function, when called, starts the Wall Clock function in Emerald. This one:
    [footage? gif?]

    As a wrap up to this section, I wanted to share an analogy by Egg.

    One analogy which I came up with (obviously not 100% right, but hopefully close enough to get the basic idea) is that decompiling a function could be compared with translation. For example, we could assume that the original game's rom was a book written in Japanese(because GF) which got translated to English using some kind of a translator tool(Like Google Translator but worse lol). And now we have the translated English version, and our task is to get the original. But we can't just translate back from English -> Japanese, because the translation will not match the original. What we need to do is translate each sentence(function) manually.

    For example, we could have a sentence like I like playing video games, we try to translate it literally word by word, but it doesn't work. We use the same tool as GF, but it could output something like I like to play video games instead. I think this comparison really catches why matching functions is a real pain in the ass. Because functionally speaking, both sentences mean the same, one is just using to play, the other playing, but it doesn't change the meaning. BUT, we want to get the original, so we need to tweak our Japanese translation, so that the English one matches the original. And that takes TONS of time, with lots of trial and error, desperately changing everything and getting outputs like 'I love playing video games' or I really like playing video games or I'm fond of playing video games or I'm a fan of video games. All close enough...but not right. At this point, it's not about knowing the Japanese and English(C and ASM), but about knowing the TOOL. It's about knowing its quirks, how it behaves. That's why you see people like me shitting all over agbcc or metrowerks, because we're tired of their bullshit, and how sometimes even matching a small function can take hours if not days.

    Now you may be thinking, does it really matter? Not everything needs to be 100% the same as it was. And in a way I could agree with that, but on the side imagine you translate 1000 sentences, it may be probable that there'll be a mistake, a real one this time, which you won't notice, for example Katy has 3 cats and 2 dogs becomes Katy has 2 cats and 3 dogs. Close enough, but the numbers are swapped. So the best solution to avoid close, but not right scenarios like these is to just have everything be exactly the same way as the original, no room for errors this way.

    Documentation of decompiled code is one of the most important end-steps to having a codebase be usable by most people. And this is why the complete documentation of pokeemerald was important, as it marked a time when the source code to make your own Pokémon game for the GBA was now possible for the grand majority of people. Of course, many people making a game want more modern mechanics in Pokémon. Be it mega evolution, Z-Moves, Dynamax, Terastallization, or all four of them at once if you're a crazy person.

    And for that, we come to the last moment to discuss: pokeemerald-expansion. pokeemerald-expansion, or just Expansion short, is a project that seeks to, well, expand pokeemerald. It takes the pokeemerald codebase and adds in all of the Pokémon after Gen 3, a modern battle engine, modern mechanics, and a bunch of configurations. These are for common quality of life, aesthetic, and difficulty changes that people make to Pokémon, such as for level caps, EVs, following Pokémon, and more. Expansion is an enormous project, and actually comes a little earlier than pokeemerald's full documentation, having started in 2020. After all, even if it wasn't fully documented then, enough of it was that super talented people could start a project like expansion.

    Perhaps the most significant thing that expansion offered to romhacking is its testing system. Like the name implies, it is a system that tests. What does it test? Well, it handles the more complicated parts of the code to ensure they all work. Here's a few examples for the use cases for tests.

    First, they allow you to create a specific environment to check whether a niche interaction works as intended. Let's take the following as an example:

    There's a bunch more of these kinds of niche interactions, but I was given this example by hedara, a member of the Expanion's Senate: the core team of people maintaining the pokeemerald-expansion code.

    Another one of the tests in expansion checks to make sure every move labeled affected with Sheer Force is, well, actually working with Sheer Force. Imagine having to give yourself a Pokémon that has Sheer Force in game, and then testing each of the moves to guarantee it works with Sheer Force. And you can only do it four moves at a time since Pokémon only learn four moves. Using the testing system, you don't have to do that!

    The last use case I wanted to highlight for the testing system is that it lets YOU test your own custom things, whether it's a new move or ability, to make sure it all works properly.

    Without the testing system, I can't imagine expansion being both as large and as stable of a codebase as it is right now. It's really a testament to people's passion for a hobby that they could make such a thing.

    Of course, credit where credit is due, as we have Martin Griffin—or just Griffin—to thank for the truly groundbreaking work of introducing the testing system.

    So with that, we've set the stage for this era of Romhacking.

    [PokeCommunity.com] The Future of Pokémon Romhacks

    At least to me, the data shows a very clear picture. These two dips and these climbs convey that this "slump" in Romhacking wasn't exactly a lack of inspiration, but instead, it was a recalibration. People were taking stock of advancements in the scene, and changing their projects as necessary. And with the incredible depth that they could now achieve, now we're seeing hacks with higher ceilings and higher ambitions. Additionally, we're also flat out seeing more and more unique hacks be made! You have open world hacks like R.O.W.E., escape room hacks like Natural History Museum, and even something wacky like Too Many Types or Super Mariomon!

    Throughout this post, I've been showing this chart a lot. But this doesn't tell a full story. At least for me, this is the one that I care about the most.

    [PokeCommunity.com] The Future of Pokémon Romhacks
    To be honest, I was surprised when I made this chart from the data. I only had the realization when I saw that these three bars in 2024 were roughly the same height, meaning there were mostly equal amounts of each kind of hack released this year, way more than any other year. Here's a different chart to illustrate that better.

    [PokeCommunity.com] The Future of Pokémon Romhacks


    It might be a bit sappy, but when I saw this, I did genuinely get emotional. We're living in an extraordinary era of romhacking for Gen III, allowing for greater stories and games to be experienced than ever before. Thanks to all the advancements that have been made the past few years, we're seeing more and more hacks come out, period.
    You may be asking yourself still: well, if so many advancements were made, shouldn't it be easier for people to make the hacks they want? Why aren't there more original hacks then? Why do we still have so many difficulty hacks? Well, I answer you with a question of my own. When was the last time you made something? And I'm serious about this question. I want you to think back to the last creative project you did with your own two hands. Think about all the time, care, and effort you had poured into it. I don't mean to ask this to be condescending. Making something original is hard, but that's precisely the point. Anything worth doing is going to be hard, and it's going to take time. In a time when we can literally create whatever we want, people understandably wanna take more time to develop and create games and experiences they'd be proud of.

    It's not like there's a shortage of romhackers in the world. People will still be making the hack of their wishes, whether there was a flood of QOL hacks or not. And to be honest, even if someone just wanted to make a simple hack with simple difficulty changes, I think that's great. I love the idea that whether big or small, people can just as easily create the Pokémon game of their dreams.

    With that, I wanted to use this part of the post to highlight some of the incredible hacks that are in development.* I may be biased with some of these as they are hacks from homies in the Team Aqua Hideout server, but all the hacks I'm mentioning here are ones that I believe are going to be the new standards for what we believe a romhack can be.

    *Author's note: She took so long to do this some of these hacks are now actually fully released lol

    Pokémon Crown by Blah and Criminon
    Pokémon Crown is a Medieval RPG that takes place in the vast, magical Region of Guelder. As a bastion of rich resources, Guelder found itself thrust into a lasting war. After many years, Guelder emerged victorious, but not without cost... As the region spent its time rebuilding, the King's Diviner foretold of a dual prophecy to befall the kingdom: a future of light, and a future of darkness. Guided by these visions, the King realized that without change, the kingdom was doomed to a future of more war.
    At the King's command, the very first Pokémon League is created: The Crown League! As Guelder's borders open to the outside world, many new and powerful trainers have come to test their might. Can you seize greatness and come out on top in the Crown Challenge? In the Guelder region, all Pokémon battles are held in a special style called a Crown Battle. Master this battle mode to become Guelder's Champion!
    Explore the vast Guelder region, learn of its history, and join up with a number of guilds to learn the secrets of their trades in Pokémon Crown!

    Voyager by ghoulslash and klemniops
    You have lived your whole life in Andromeda City, the metropolitan heart of Keplara. Your father works for the Andromeda PD; your mother is the local Antares League gym leader. Someday you'll get a Trainer's License of your own and become a well-regarded Pokémon trainer yourself.
    But today is not that day. Instead, today is an exciting day for Andromeda City: your mother's Antares League gym is moving into the snazziest new digs, all the way up to the top floors of the recently-completed Pokémon community skyscraper! There's still a few things left to move and unpack before the grand opening, but it's nothing that you and your father can't handle. What could possibly go wrong?

    Sovereign of the Skies by Dragonfly
    The balance of a world is about to be shaken. While the mighty Guardians of Amitec can no longer leave their stronghold, the Sacred Shards of Celestis are stolen by the cold hands of Team Tundra. Find out what this is all about, and how a simple coach suddenly carries the fate of a world, in this unique adventure!

    Pokémon Samiya by Archie
    Wind Waker x Pokemon Sapphire 2 But Team Aqua Won and Flooded Hoenn and 1000 Years Have Passed with the plot of Pokemon Ranger and the Temple of the Sea. Also it's The Minish Cap for some reason

    Pokémon Hearth by PurrfectDoodle
    For generations, humans and Pokémon have lived in harmony in the humble Toku region, a land where the spirit of ancient Japan lingers in every village, shrine, and windswept peak. But now, that delicate calm has been disturbed. Wild Pokemon lash out with uncharacteristic fury as an eerie blight spreads across the land.
    Amidst the chaos, the island's great volcano trembles from its slumber -destructive echoes of something ancient awakening beneath.
    Embark on a journey to unravel the mystery, fill your Pokédex, battle Dojo Masters, uncover secret sanctuaries -all the while infuriating the evil masked figures skulking in the shadows of newfound chaos, clad in their absurd Zubat-themed garbs.
    Venture through lush forests, boundless oceans, towering mountains, and into the very heart of the volcano itself. Will you restore balance before it's too late?

    Pokémon Pisces by Chairry, Livra, & sadfish
    Pokémon Pisces is a rom hack of Pokémon Emerald that aims to revamp the entire experience with a new dex of fakemon, new moves, new abilities, a new map to explore, and new trainers to fight.

    Cataclysm Emerald by nico
    Cataclysm Emerald presents a complete reimagining of the gen 3 games, focusing on mystery, exploration and discovery. In a region ravaged by environmental disasters, what starts out as an usual adventure quickly turns into a big conspiracy as Team Magma, Team Aqua and Devon Corporation race to uncover the secrets of an ancient civilization lost to time, whose power could bring about great prosperity, or great destruction.
    In this brand new world, what you remember from the original games will be turned upside down. You can expect a fully rebuilt region with new areas, new dangerous climate, new mechanics and, of course, new Pokemon. Every single aspect of the game is being carefully altered to fit into a new, unique vision of Hoenn that is both nostalgic and modern.

    Pokémon Eventide by Turtleye & hedara
    `*playing Deltarune - THE LEGEND*`
    A lone traveller wakes up in a place they do not recognize, and a past they do not remember. Venturing forth to recover their memories, they end up discovering much, much more about the mysteries of the world, and their role in them.
    Eventide is a romhack with a focus on exploration and mystery, set in the Chrysopha region. The game will have a brand new story, fully custom visuals, an overhauled progression system, quests, crafting and many more smaller features. It also has a handpicked pokedex with a number of custom regional variants and mega evolutions.

    Pokémon Ultra Eclipse by Phantonomy
    Ultra Eclipse is a faithful demake of the Alola region on the Gameboy Advance. While much of the story will be similar to the Generation VII games, it still aims to be a modern game with many mechanics to flesh it out into a complete, novel experience.

    Pokémon Peach and Lime by Oome & Alpha Remaster
    Welcome to the Celto Region, the setting of Pokemon Peach and Lime, which is inspired by Ireland! The goal of our Rom Hack is to capture and emulate a familiar, yet new Gen 3 experience. You will journey throughout Celto completing the gym challenge, meeting various characters and venturing through all four seasons along the way. Some will aid you on your journey, while others may stand in your way to the top!
    However, trouble seems to be brewing in the background. A villainous group is trying to sabotage the gym challenge, but what is their goal?
    Every trainer has hopes and dreams, but in the world of Pokemon, failure and despair are common as well.

    Pokémon Odyssey by Paco
    On an island in the middle of the sea stands a massive maze knows as the "Yggdrasil Labyrinth", which has been attracting adventurers from all over the world for years.
    No one knows how deep it goes, or if there's anything at its end.
    Some say there's a treasure of immeasurable value hidden within, while others claim the remnants of a lost civilization lie there.
    In the game you'll play as Nyx, a young adventurer who joins the guild of Talrega with the goal of unraveling the Labyrinth's mysteries.
    But something goes terribly wrong…

    If you've stuck by all the way to the end, I want to sincerely thank you. This germ of an idea was in my head for so long and I'm glad to finally share what I found with the world. Special thanks to Team Aqua's Hideout for helping me with this, particularly with read throughs of the script and making sure the information I gave was accurate. A huge shout out to RavePossum and Egg especially for helping me understand the process of decompiling a game, as well. That part of the video was entirely thanks to them. Last but not least I wanted to thank Phantonomy for showing me some data science tools to make different charts than ones you can make in Excel. In the future, I'll be revamping my studies for Romhacks and making it more in depth in categorizing than I did here. But that's for another time.
     
    Back
    Top