How and why Cave Story got a homebrew port on PSP
Written on January 2nd , 2022 by Pierre LLots of games were ported to PSP by homebrew developers back in the mid-2000s: Doom, Duke Nukem, Wolfenstein 3D, Quake.
But they had one thing in common: they were open source. The original developers, at one point or another, decided to publish their work for everyone to play with.
Cave Story was (and remains) closed source though. So how did it get a PSP port back in 2007?
UMD edition?
According to contemporary industry press reports, Cave Story was originally going to have a commercial PSP release.
The people at Variant Interactive were said to have got in touch with Pixel (the creator of Cave Story) already in early 2005. But it wasn’t until mid-2006 that news of this upcoming port emerged on video gaming websites.
Pixel himself, of course, would be given a fair monetary compensation for allowing the port to happen.
Release was planned for 2007. They even had the box art ready.
Release derailed
Obviously, none of this ever happened. So what went wrong? Whispers about conspiracies, skulduggery and overall improper behavior by Variant can still be read on open forums today.
None of the claims are remotely verifiable, but the recurring theme is that Variant had not actually secured Pixel’s permission for the announced port.
That doesn’t really add up for me - even if they had gotten away with releasing the game without permission and had a successful release, what would have stopped Pixel from suing them back for every penny?
My guess after reading contemporary sources is that there was no ill intent on either side.
Variant Interactive were really little more than indie publishers themselves, and likely had no experience with the legal or practical steps of securing a porting licence from a third party.
Whichever the truth, 2007 arrived and no release was in sight.
The homebrew port
At the same time, one coder going by the name of ufo_z was really determined to get his fix of mobile Cave Story, and share it with the world. Variant or not.
So, back to the original point. The guy had no source code. How was he going to port the game?
Apparently, he was determined and headstrong enough about the project that he started reverse engineering the game engine.
He didn’t go far with it - he only made a demo version (still available today) which ends at the first boss fight.
But he had enough to showcase it to Pixel, who was impressed enough with ufo_z’s work to give him his blessing. And access to the game’s source code.
Ultimately, Cave Story had a homebrew release and became one of the most played free games on PSP.
Release Candidate 1 for the PSP version was published by ufo_z on the 8th of July, 2007.
This PSP port has been translated into Spanish, Russian and German (regrettably, the latter is lost).
The full game engine of Cave Story was ultimately reverse engineered years later by Caitlin Shaw.
This NXEngine has been turned into a RetroArch core which is available on countless devices - including the PSP.
The original release page by ufo_z is still up at http://cavestorypsp.googlepages.com