Every year, countless games are cancelled and forever go into the dark abyss known as vaporware. But every once in awhile, one claws its way back out of development hell, and into the world of the living.

That's exactly what’s happened with Infinity, an RPG for the Game Boy Color that was cancelled back in 2002 and has now resurfaced as a freely available ROM along with source code thanks to its developers. I've played an hour of it, and it's not hard to see that Infinity could've been one of the greatest RPGs on the Game Boy—making the fact that it was never published sting just a little bit more.

Fifteen years is a long time, but I'm happy that Justin Karneges and Mathew Valente, two of the developers, decided to not let sleeping dogs lie. Earlier this week, they posted to several subreddits sharing the ROM and source code , inviting anyone to play their RPG that never escaped publishing hell. Even if you're not interested in the game itself, their comments are worth a read for the rare insight of what it's like being a young indie developer trying to catch the eye of big publishers.

"In 2001 we tried to get [Infinity] published but there were no takers (neither third-parties nor Nintendo themselves). Main feedback was that the Game Boy Advance was coming out soon and RPGs don't sell very well anyway," writes Karneges in a Reddit thread . In the years that followed, the team tried to attract others without much luck. With the Game Boy Color entering its twilight years, too much attention was on the Game Boy Advance. At one point, Karneges even went to meet with Square Electronic Arts (back when the two worked together) and found only an "abandoned and empty office, save for a phone sitting on the floor." Thinking he must be in the wrong place, he tried calling them and the phone on the floor rang. "It just didn't make any sense," Karneges told me later over Skype, explaining that he must've walked in the day after Square EA had folded its offices in Costa Mesa, California.

In the years after, Infinity was all but abandoned, with the developers moving on with their lives until, after some recent conversations, they decided to release what they had online and go from there. "Our thought was we sat on this forever, let's not sit on it for another 15 years," Karneges said.

If you play it right now, the ROM ends prematurely about one quarter through the game, though the developers have estimated that Infinity is "around 90% complete." Valente said that the game was developed somewhat haphazardly, so only the first quarter is playable without encountering serious bugs or broken sections. The source code is being made available for any enterprising programmers curious at what the internal clockwork of a Game Boy game might look like. Doing anything with that source code might be a challenge, however, as Karneges admits it's not in the best of shape .

From the what I've played of Infinity, I really hope that the full game ends up being completed because it's easy to see how great it would've been for its time. Unlike the few RPGs that were released on the Game Boy Color, Infinity’s characters are surprisingly fleshed out, and its tone is pretty mature—what with the lead character losing his wife in the intro and all. The overarching story seems fittingly cliche for the era, but the writing is actually pretty good. That's not surprising when you realize that the story writer , Mark Yohalem, is now working on Torment: Tides of Numenera . But what has me more convinced Infinity stood a good chance of at least being a cult classic is the combat system. Instead of typical turn-based combat, your party takes turns moving around a grid and attacking, adding a surprising layer of depth and positioning in an era when RPGs were pretty simple.

If you're keen on trying it yourself, you can download the ROM from their official website . You'll need a Game Boy Color emulator, and the devs suggest using either RetroArch or OpenEmu with the Gambatte core . I tried playing it using Visual Boy Advanced and had graphical issues, but it's a simpler process getting it running.