I originally got into Android development by making a game in my spare time, Pixel Blacksmith. This game ended up becoming way more popular than I could have imagined, and persuaded me to follow app development as a career! Now, I’m open sourcing this and other game codebases.

These codebases are mostly 5-6 years old, so actually compiling them may be tricky. However, they’ll have a lot of functionality that will still be useful today, so feel free to lift out any useful sections!

The only excluded game is BocaBase from 6-7 months ago, since I might come back to it.

The games

Game Screenshot Notes
Pixel Blacksmith

Play Store

GitHub Repo
My first app, and by far my most successful! With 250k downloads, 1400 commits, and 56 releases, the app still has players despite the awful codebase!
Blacksmith Slots

Play Store

GitHub Repo

A spin-off to Pixel Blacksmith, trying to merge 2 of my favourite categories: slots & RPGs.

Unfortunately not very successful, but it’s still the only game I’ve made with an actual storyline and opening cutscene!
Connect Quest

Play Store

GitHub Repo
Inspired by various “zen loop” games, this expanded the concept to include many “flow” types, a complex puzzle generator, and the ability to share levels by QR code.
Pixel Bookshop

GitHub Repo
An unfinished project that would have been the true sequel to Pixel Blacksmith.

Basic functionality was implemented, but I never got round to finishing it!


All of the repositories use the MIT License, essentially giving complete freedom for anyone to use any part of them for any reason.

The only exception is some of the graphics for the games, which have been removed (see next section) to avoid accidentally violating copyright!

Redacting images

To redact the images whilst keeping their dimensions and adding the filename on top for identification, I originally asked SuperUser StackExchange but ultimately ended up figuring out my own solution:

Using IrfanView’s File -> Batch Conversion/Rename on all images that needed removing, and selecting Advanced options:

  • Set the image’s brightness to -255 (all black).
  • Add the image’s filename on top:
    • Position the text in the Center.
    • Set the text to $F to use the filename.
  • Overwrite the original image.
  • Modifying the Custom processing order to make sure the text is added last.

This very confusing screen is also available as a settings.ini file!

Before After