Y Nouveau

Challenge Quality of Life

Quickview


Pokemon Y Logo

Made for Pokemon Y


Role

Sole Developer


Languages Implemented

C++ Logo

C++

C# Logo

C#

PHP Logo

PHP

SCSS Logo

SCSS/CSS

TypeScript Logo

TypeScript


Tools Used

Custom Tool Logo

Many Custom Tools


Development Time

Dec 2024 - Current


Y Nouveau is my most recent exploration into Pokemon ROM Hacking, building off the success of Ancestral X and expanding far further than it ever could. With never before seen features like built in level caps, a truly fully custom AI (Both Battle and Switch), and brand new abilities, moves, and battle mechanics, Y Nouveau advances the Gen 6 modding scene far beyond what Ancestral X could deliver.

My previous game, Ancestral X, was in many ways, a patchwork effort. From the beginning, I had a very loose vision, "Make a better Pokemon X", but the majority of changes and improvements I made were discovered bit by bit, as I got deeper into the weeds of how to mod Pokemon. While I attempted as I went along to try and make systems fit into each other, with some success, there were still many that would've required massive retrofits, or were outside of technical purview.

Comparatively, my development of Y Nouveau has been entirely different. From its inception, it has been a carefully crafted project, designed over the course of 1.5 years, and explicitly kept secret from the community. I knew I could create something that was far beyond Ancestral X, and I wanted the community to give the community a gratifying surprise, especially considering the time since my last update to Ancestral X.

I knew from the beginning exactly how I wanted to craft the game, and that vision allowed me to correct the mistakes of Ancestral X, ensuring that all of the various features tied together and no system was designed in a vacuum.

Y Nouveau was developed solely by myself. While there are no official tools for this kind of modding work, the Pokemon modding community has created a variety of tools for creators to use, many of which I happily took advantage of. The majority of the community tools generally wrap byte manipulation into a pretty interface, but ultimately, the core of the mod work I've done is hex editing and byte manipulation, excepting for the Battle AI, which is written in a C-like scripting language called Pawn.

The game features an even wider array of changes than Ancestral X, including, but not limited to: Full Pokemon Rebalancing (Stats, Abilities, Typings), Encounter Design, Trainer Design, Item Adjustments, Move Rebalancing, the ORAS Megas, and direct changes to Battle Mechanics. Additionally, throughout the project, I maintained incredibly meticulous documentation. Not only is every active change documented on both the website and its corresponding backup spreadsheet, but the changelog that encompasses every single change throughout the entire project's lifetime is available on the Patch Notes page of the website.

Additionally, the work I had begun on the Ancestral X website laid the foundation for the vastly improved Y Nouveau website, which helped me centralize the game to one location, offering the direct download, the damage calc, and every page of documentation. I also reworked the backend of the website, swapping over to TypeScript for more explicitly defined code and better pipelining, and improved the bundling process for files to upload to the web server.

As with any project, I had to begin somewhere, so I started with the systems that were both fascinating and new to work on, and were building blocks that later systems would use. As I went on, I continued to add system-wide content, without actually changing the surface-level of the game. Underlying bits, like Abilities, Moves, and Pokemon changes came first.

As I went on, and being that the game was designed with a clear vision in mind, I needed a concrete method of tracking what I had gotten done and what I needed to still get done. Version control helped, definitely, but naturally I was led to creating my own internal tasking system, which is a fancy way of saying I kept my todo list as a series of notes on my main spreadsheet. Of course, I kept everything up to date, shifting things from progress to done columns as I went through, and this is a case where my overaggressive documentation came in handy, as between version control and my documentation, I always knew where my metaphorical bookmark was.

Additionally, I also kept a slightly more robust list of larger, end of project wrap up goals, which mainly included release-focused objectives. Included were goals like contracting and working with my video editor to get the fun trailer at the top of this page, or contacting various streamers who regularly frequent the Pokemon ROM Hack gaming space.


Visit the Y Nouveau Site