Project “Blood Mirror”

Blood Mirror (BM), a GCW-Zero exclusive, has become my current passion project. I really like working with the GCW and I think it is because it’s purposed solely for games, where as the desktop serves a variety of purposes. When hardware has less services to perform there are less headaches when writing software, at least that has been my experience so far. There are definitely cons though, for instance the GCW user base is only a few ten thousand people or so but the community is growing.

BM is a story-driven collection and exploration game without a combat or leveling system. It took a while to actually decide BM shouldn’t have a combat or leveling system. I feel that the DnD/RPG systems have really been worked to death, especially within the indie community. So for this project I want to spice things up a bit and see what happens. The collection and exploration bit was mostly inspired by Metroidvania like games and the Dark Souls series (including Demon’s Souls and King’s Quest). If you haven’t tried King’s Quest you should definitely pick it up and see how you like it. It’s an older game, so the graphics are a big dated, but the cult classic community surrounding the game is well warranted!

The items, NPCs, and documents a player will encounter throughout the course of a playthrough will depend on the decisions previously made by the player, as well as which items are present within the player’s inventory at any given point in time. Here I’m trying to achieve the stroboscopic storytelling mechanic used by a lot of small games which makes the world seem vast.

Artistically, BM maintains a “less-is-more” philosophy with basic Ascii art, similar to classic roguelike games. There are a couple reasons for this, the first being nostalgia and the second being that I suck at making art. Although I have to give myself some credit as I’ve been getting slightly better over the last few months. Perhaps before I finish this project I’ll gain the confidence to spend more time on developing my own art style.

Player progression is made through detective work and conflict resolution, similar to point-and-click adventure games and I hope to develop what exactly this means during the prototyping stage. Till then I’m thinking of starting a series on programming with SDL2 and working through some code from my previous prototypes. Let me know what you think of that!


The GCW is open to SDL2, which has been my “low-level” library of choice for quite some time, so I decided to use these tools while tinkering with the GCW. To get my feet wet, I knocked out a retro Sudoku game with about 1k lines of code. It gives me an idea of what developing for the GCW is like, which unsurprisingly isn’t that different from using SDL2 on a personal computer. I’ve always been a PC developer with the occasional  homebrew NES rom but developing for the GCW, so for, has been very positive. One big difference, I’m still getting use to of course, is the way games are developed for a handheld consoles in general. This isn’t unique to handhelds, it’s mostly a statement that I’ve never developed for controller inputs :D .

The SDL2 support for the GCW is still very experimental. As such, my original prototyping attempts failed due to a bug in the SDL2 implementation discussed here. Basically, the fix requires a firmware update which should be released in the near future. Luckily a community member provided me with early access to a firmware version with the patch in place. It works like a charm and I was able to complete my Sudoku game. Whenever the new firmware is ready I’ll post it to the Dingoonity forums, and if I remember I’ll update this post!