Update: I decided to open up the game for free again for now -- feel free to try it on the play page. The latest blog post brought in a lot of helpful feedback, and one of the big takeaways is that the semi-temporary graphics there now are turning off a lot of people. So I'll likely bring on an artist at some point and reconsider the Early Access thing again when that's in better shape.

The dev process was kinda prototype -> gameplay -> playtesting -> graphics (in progress), so the gameplay's a lot farther along than the rest.



Infinitroid has many inspirations--probably every game I've ever played to some extent. But foremost among them are The Binding of Isaac, Spelunky, and the NES and Super NES Metroid games.

Binding of Isaac

Binding of Isaac: Rebirth I love The Binding of Isaac and BOI:Rebirth--I got way into the original Flash-based version and its Wrath of the Lamb expansion, following Northernlion's classic let's play series over dinner, picking up strategy tips and trying them on my runs. I've been getting into Rebirth too, although there's so much stuff in Rebirth and its expansions that I'm worried I'd have to dedicate my life to see it all.

The demented abundance and unpredictability of these games are great. They throw in so many weird items and combinations that you really do get a unique experience each time you play; they definitely deliver on the roguelike/rogue-lite promise. The core game design, as with Super Meat Boy, is masterful.

Any Isaac fan can probably see some parallels in Infinitroid--hand-crafted screens with randomized loot, shops, item rooms, etc.--despite the core platforming and exploration mechanics being different.

NES Metroid and Super Metroid

NES Metroid: Brinstar and Norfair The early Metroid games, especially Metroid for NES, have a big place in my heart. I was about 7 or 8 when I first played it in the 1980s. At first I would pick it up for a half hour, explore around the blue Brinstar area a bit, get killed, get bored, and rummage through my cartridge pile for something else.

The first time I got past early Brinstar though, into a yellow area with lava and little birds that zipped out of manhole covers, things started to get interesting. This game is big! My 7 year old mind was blown when I found the elevator down to Norfair with rooms made of celluar bubbles, weird alien shapes and creepy music.

Modern gamers who didn't grow up in that era probably laugh, these were primitive times; but growing up in the 80s (and 90s) you really got the visceral awe and wonder of new video game tech. Just having a big scrolling world to explore, coming from single-screen games on the Atari 2600, was pretty amazing.

Me as a kid 4-foot-tall-me taking a break from ColecoVision Playing Super Metroid for the first time was an awesome experience too, one of my all-time favorites. The music is evocative and memorable, and the world is fascinating, full of secret tunnels, unusual lifeforms, and strange symbols to come back to with the right powerup.

I hadn't heard of a procedurally generated metroidvania before, where randomly generated areas were unlocked by items that granted new abilities, and thought I might be the first to try it. At this point it's been done though; Dead Cells was recently released with a similar concept, and I imagine other games have too (it's hard to keep track of everything going on in gaming these days). My only hope is to do it the best!


Spelunky Spelunky HD Spelunky is another of my perennial favorites. It's the canonical and (I think) first roguelike platformer, designed around permadeath and randomly generated levels. Its Dark-Souls-inspired difficulty, tight controls, and well-thought-out design are a big inspiration.

Darius Kazemi did an interesting exploration into how Spelunky's level generation works (Derek Yu, Spelunky's creator, also wrote a book that touched on it) and I used some of those ideas in Infinitroid's level generation. For instance, Spelunky places the best stuff (gems, item crates, etc.) in little "alcoves", 1-tile side gaps, based on whatever terrain the level generation process spits out in the earlier stages. Infinitroid uses similar approaches for secret item pockets, missile walls, certain enemy locations, etc.

Each of Spelunky's game mechanics interacts with the others in interesting ways--enemy attack patterns work together to present emergent challenges, player and item physics are tuned to allow crazy chain reactions, etc.

As with BOI and Spelunky, I hope to make a successful Infinitroid playthru last about an hour. That's enough time for a nice engaging game but not so long as to leave you clinically depressed if your run gets squashed by bad luck at the end. I've found that more classic roguelikes like Dungeons of Dredmor have that problem, at least in hardcore mode; permadeath 3+ hours into a game is pretty disheartening and makes you question starting a new one.

Jonathan Blow

Jonathan Blow I should mention Jonathan Blow here (creator of Braid and The Witness), his games and talks have inspired and taught me a lot. Programming indie games encouraged me to question a lot of programming "best practices" I was taking at face value, and focus on doing things in the most straightforward way. He turned me on to some great articles by John Carmack, particularly one about inlining and another about functional programming in C++.

In terms of game design, he and Marc Ten Bosch did a nice talk called designing to reveal the nature of the universe, about how game design can be practiced like pure science or mathematics, establishing "axiom" game mechanics and exploring their ramifications, then skillfully presenting the most interesting ones to your players.

Casey Muratori

Casey Muratori Wanted to mention Casey Muratori too, for some of his excellent videos and articles on programming. Compression-oriented bottom-up coding has been massively helpful in all my programming projects.

Though I don't have time to follow the show regularly, I've learned a lot from his Handmade Hero series. The overall ethic, that understanding the underlying platform isn't that hard, and writing software without the support of 100 layers of libraries and APIs usually yields faster-performing, simpler and better results, is spot on.

I think it was Casey who turned me on to Mike Acton's great talk at CppCon about data-oriented design; modern C++ people are masters of architecture astronautism (to borrow Joel Spolsky's phrase), making simple programming tasks as multilayered and abstract as possible. It's entertaining to watch Mike pick that apart.

So big thanks to Casey, Jonathan, Mike and others for taking the time to share their knowledge and experience.

Privacy · Other Random Projects