Custom Pokemon Game
Custom Pokémon game featuring new abilities, mega Pokémon sprites, and community-driven enhancements.
This project is a custom Pokémon game based on the RHH Expansion Team’s fork of the Pokeemerald Decomp Project by the PRET team. I extended the base game by adding new features and mechanics, contributing custom code, and working with community-driven branches to improve the game’s functionality. My goal was to learn and understand the C language more whilst also trying to get comfortable working with large code bases.
My work includes implementing new abilities inspired by the Elite Redux project and importing five mega Pokémon sprites, which we integrated into the game. Additionally, I also wrote custom scripts to support unique events and mechanics.
A significant part of the learning process involved navigating the complexities of C language development, working within a large codebase (50k+ files), and utilizing community resources like feature branches and pull requests to troubleshoot and enhance the contributions.



Working with a 50k+ file game required a steep learning curve, especially when it came to understanding how the various systems interacted. I had to understand concepts like memory management, pointer manipulation, and modular design. I feel I’ve adapted reasonabley well.
One of the most complex aspects was managing merge conflicts, which was…. stressfull to say the least, and integrating community-driven feature branches without breaking existing functionality. I spent significant time debugging issues related to event triggers, sprite handling, and ability mechanics (displayed bellow). Overall I think the debugging was key helping me improve my skills.


Working with such a large codebase gave me a deeper understanding of both development and the intricacies of open-source collaboration. The project forced me to adopt a disciplined approach to version control, code reviews, documentation and learning to use git in general. Overall I believe I got what I wanted out of the project. A game I could play and a better understanding of programming.