Announcing RetroPortingToolkit

The work was already shared across repos and consoles. Now it has a name, a GitHub org, and a site.

Announcing RetroPortingToolkit
Image credit to shokunin (@tetrisgm)

https://retroportingtoolkit.com

For the past approximately 8 months, I have been hard at work exploring the possibilities of AI in the recompilation scene. The scope of what I have built has garnered quite a bit of attention, both good and bad. Today, I celebrate the good in it with the announcement of a collective: RetroPortingToolkit.

Background

In my mission to revitalize retro game preservation, I have met many talented and determined individuals along the way. Each of us have our own focus, but we all have the same goal. We've found ourselves collaborating, often sharing tools and resources with one another.

Each of us understood that even with AI as a catalyst, it is not the whole solution. There is a need to collaborate. All of us recognized that traditional decompilation and recompilation spaces, game journalists, and social media platforms have been very hostile to AI assistance and have suppressed the ability to collaborate. In response, we founded a Discord by the name of Retro AI Development, or RAID.

While RAID is a community, RetroPortingToolkit is tighter collective. This collective represents an array of talented individuals all making strides in the recompilation and decompilation space. The team consists of:

Matthew Stanley (mstan, Gamemaster)

  • RetroPortingToolkit collective lead
  • Founding developer and primary maintainer of the NES, SNES, Virtualboy, Sega Genesis, Gameboy Advance, Nintendo DS, and Playstation recompilers

Jack Rickey (Emissary)

  • Founding project developer and team lead of Battleship, a Super Smash Bros 64 decompilation PC port

Alex Vanderveen (TechnicallyComputers, CobaltCryptid)

  • Founding and primary developer of netplay engines used in Playstation and Super Nintendo recompilers
  • Contributor to recompilation UI frameworks, Playstation and Super Nintendo recompilers

Alex Vanderveen (Alexbeav)

  • Primary Quality Assurance for Playstation's recompiler

Shokunin (tetrisgm)

For full team information, please see Meet the Team

Why form a collective?

The reason for a collective is that we've already been collaborating for some time and it's become unwieldly to work across one another's repositories in a disjointed fashion. As we are all already operating as a collective, we sought to formalize it to make everything all-in-one.

What makes a game tick doesn't live in the game repo or just in the console repo. Increasingly, there are many elements to what makes our ecosystems presentable and our work re-usable. Take Gundam Wing Endless Duel, for instance. The game makes use of snesrecomp for its engine, recomp-ui for its interface, recomp-net for its netplay, and rollback engine for netplay, save states, and rewind. Most titles like this are increasingly being distributed through RetcomM. This title was also worked collaboratively both by myself (mstan) and Alex Vanverdeen (TechnicallyComputers)

This isn't limited to SNES. Every other recompiler uses recomp-ui for its interface. For netplay, SNES and Playstation both use the network and rollback engines, with more soon to follow. For example, Battle Arena Toshinden, which was a recompilation I stood up on my own, is still making use of the UI, netcode, and rollback engine to operate.

This continued reused and abstraction is meaningful, but disjointed, which has led us to make this unification.

What does this mean for my various repos and projects?

While the team is forming a collective, everyone keeps their own projects and interests. Nobody is handing anything off, we're just coming together with a unified mission.

I will continue to maintain my work, as will the others maintain theirs. We will continue to collaborate as we have to bring excellence to the game preservation scene.

Except some of my repos to no longer be located at mstan, but instead RetroPortingToolkit's Github org, psxrecomp and recomp-ui amongst them.

If you'd like to join us and learn more, please consider joining us over at Retro AI Development, or RAID, on Discord.

What does this mean for my personal blog?

I still intend to write articles and post here! Likely some cross posting will occur between the two, but I still want to ensure that I'm focusing both on personal and team development and will aim to continue to share my ventures here!