The Mechanical Tarot

The last big part of GearHead Caramel that I need to work out before making a release is the mechanical tarot system. It’s sort of but not exactly a random story generator, since the idea is for it to create an interactive situation rather than a sequence of events. Sort of like the difference between Fallout and Final Fantasy.

The system is loosely based on Smart Terrain Causality Chains, but instead of physical objects the puzzle pieces in this case describe abstract things about the scenario. Things like the roles and motivations of NPCs, or the environmental factors affecting a city. The player can trigger interactions between cards which change the situation. Cards enter play in a “face down” state and must be uncovered by the PC before they can interact.

To generate a scenario, first a desired outcome is chosen. For instance, a village suffering from drought might need a new moisture farm. The scenario generator then works backwards from the desired end point by finding card combinations that lead to it. A moisture farm might be generated by a broken moisture farm plus a water chip. The water chip might be found by bringing an ancient treasure map to a scholar. But the scholar has been falsely accused of murder, so first you need to clear their name… This scenario would begin with cards for the drought, the falsely accused scholar, the broken moisture farm, and the evidence to clear the scholar’s name.

One interesting thing about this scenario generator is that there is no guarantee things will end as planned. Depending on the cards generated, the player might do something completely different from the desired outcome chosen for the scenario. This is perfectly alright. The more cards in play, the greater the chance of unintended interactions being possible.

Because of this, the mechanical tarot scenarios have to be designed with the assumption that the end state is unknowable. I’ll describe how I’m handling that in a later post.

Progress Report

The western gate of Wujung, highway to the deadzone.

GearHead Caramel is getting closer and closer to a first real release. The character generator is working, the shops are working, the skill training interface is working, and missions are working. I’m adding a bit more content so Wujung doesn’t seem so empty; it should be ready to go soon.

(Of course, if you want to see what I’m doing right away, you could always download the development version from GitHub and run it with Python2/PyGame.)

In other news I’ve started a Patreon page for GearHead development. My immediate goal is to commission more artists to work on portrait bits and terrain tiles. This would speed things up immensely. Check it out if you think this is the kind of thing you could get behind.


The fundraising campaign for GearHead Caramel was successful, and the image recoloring method has been translated to a C extension. The new version is literally 100x faster than the Python one. Changing portrait colors used to cause a noticeable delay, but now it’s instantaneous. Many thanks to A Bunch of Hacks for their good work!

Work on GearHead Caramel has been continuing at a good pace. In addition to the new recoloring extension, missions are now working in the DeadZone Drifter scenario and there are two new eyecatch screens by Thomas Noppers of Mutant Gangland fame.

If you ever arrive at this blog and it hasn’t been updated in a while, check my twitter feed in the right column. I’ve probably just gotten stuck in a loop of “I’ll update the blog when this thing is finished”, but in a roguelike game there is always something else to do…

Power Level Surging

For the past week and a half I’ve been raising money to hire some C++ programmers for GearHead Caramel, and I’m happy to say that we’re almost there! I’d like to thank everyone who has contributed, ordered art, or bought stuff from my shop.

Another $100 or so is needed before the programmers can start work. My regular commissions are still open, and I’m adding another option- for just $20 you can add yourself (or a custom character of your choosing) to the GearHead universe! I will provide files for use in GearHead 1, GearHead 2, and GearHead Caramel, as well as a full color version of the portrait suitable for use as a social media avatar.

If you’re interested in a portrait, just get in touch.

The Adventure System

Today I updated GearHead Caramel’s adventure system. This is the bit that allows temporary content to be added to a campaign and then removed later- the same kind of stuff as GearHead 1 and GearHead 2’s random plots.

GearHead Caramel inherited its plot system from Dungeon Monkey Eternal, and while DME has the ability to add and remove adventures to a campaign the method for doing so is awfully kludgy. I won’t go into the gory details here but suffice it to say you needed a dead pheasant and access to a graveyard at midnight.

In the refurbished adventure system, you can simply define an adventure object, and this will be inherited by all subplots. You can end the adventure or any individual subplot any time you like. Similarly, when you create a new scene you can define it as temporary. When the plot that created it ends, the scene is removed from the adventure (along with all of its children).

One problem right now is that if you end an adventure while the PC is still inside one of its temporary scenes, bad things happen. I’ve stuck a notice in the code that you should only end an adventure when the player character is leaving that area. I’m sure I’ll find all kinds of other problems, limitations, and unintended consequences as development continues.

Commissions Open for GearHead Caramel

In order to fund the hiring of some C++ programmers to write an open source PyGame extension for recoloring sprites, I’m opening social media avatar commissions. Want me to turn you into a zombie? Draw your OCs? Show what you’d look like as a post-apocalyptic hamster? Get in touch. And please, spread the word.

Fine Tuning the Portrait Generator

I’ve spent most of today fine tuning the portrait generator bits, moving the anchors around a pixel or two at a time, and I am now so burnt out on faces that I don’t even want to look in a mirror.

While researching how other artists draw cartoonish or caricatured faces, I found something that I hadn’t noticed before: many Japanese cartoonists draw the cheekbone really low. Instead of placing the sharp point of the cheek just under the eye, they’ll move it to under the nose or even beneath the mouth.

Left: Ataru Moroboshi from Urusei Yatsura by Rumiko Takahashi;
Right: Konata Izumi from Lucky Star by Kagami Yoshimizu.

I realize that this stylistic feature is probably old news to most people, but I am partially faceblind and this is a way to abstract faces that I never could have imagined. Sailor Moon creator Naoko Takeuchi does a lot of creative things with faces, and her use of this style is pretty interesting. For characters who are young or cute, she typically draws the cheekbone beneath the nose.

But for characters who are older, more serious or statuesque, the cheekbone rises to the level of the nose or all the way up to a realistic position right under the eye. I suspect that the lowered cheekbone resembles chubby cheeks, making a face look younger, rounder, and cuter.

I found some nice evidence for this theory in the character designs from Mobile Suit Gundam.

Cartooning is complicated stuff, especially when it looks really simple.

New GearHead Caramel Character Creator

I’ve been working on a new character generator for GearHead Caramel. This one is completely widgetified, and can be accessed using the mouse or the keyboard. Take a look at the video to see everything it can do.

I’m hoping to make the first release of DeadZone Drifter, the GHC endless play campaign, before the end of my February vacation. We’ll see how it goes.

GH1v1.310: Thin Walls for All!

Mauna Cavern

I’ve just uploaded GearHead-1 v1.310. There are some bug fixes, some UI tweaks, and some new graphics. Also, I have updated the release-packing script so that it automatically sets the version number. How fancy is that?

You can get v1.310 from or GitHub. If you enjoy the game and can afford it, a small donation would be greatly appreciated. As mentioned in yesterday’s post I need some development funds for GearHead Caramel. Every little bit helps.

Happy New Year, and Happy New Year

Happy solar new year! Also, happy lunar new year! I’ve been out of it for a while.

Starting from December I’ve had sinusitis followed by pneumonia, which is not good, but the doctors assure me it is not going to kill me. In addition, for Christmas I was given the Kill Team rules and have subsequently fallen off the 40k wagon hard. So I didn’t get as much work done on GearHead as I would like. But, I do have a few things to report.

That’s about it for now.