Young Joe was an arse.

One of these guys is a bit more of an arse than the other.

Young Joe vs Old Joe

Through playing GearHead-1 I’ve come to realize something many of you probably already know: my twentysomething self was a bit of an arse.

I mean, in many ways he was also quite brilliant, but when my lancemates die of poisoning on the bus to downtown Snake Lake, despite the fact that they had plenty of quick fix pills and first aid packs, I want to pull Young Joe aside and punch him. Same deal when my lance, which includes an expert repairman, discovers Omega-1004 stuck in a cave and is unable to revive him because the character with the repair skills is not the leader of the group.


I seem to recall that I had reasons for these design decisions. I can’t remember what they were. So, I’ve decided to fix them.

Starting from the latest git commit, status effects will have no effect while the PC is jumping forward in time and cannot react to them. The skills menu will allow use of skills known by all lancemates. I’m sure there are still lots of arbitrary unfairness and interface shenanigans- so far I’ve lost two mecha from entering combat overburdened after forgetting about autopillaged loot- but hopefully this is a step towards making sure that all your future deaths are the result of human error rather than machine contrariness.

Martian Princess

Xiap’s job was, literally, to look for trouble. However, as a recon pilot stationed in Hogye, he never expected to actually find it. Nothing ever happens in Hogye. That changed a few days ago when he learned that the accident that killed his parents may not have been accidental, and was nearly done in by an assassination attempt himself.

Now he was on the road looking for answers. Technically, this was also part of his job description, but it didn’t seem to help much. After crossing the Sunrise Bridge on the way to Namok his sensors picked up combat ahead; a distress call came through.

“”My name is Yjin of the Free Mars Republic. I was sent to Earth for safety, but the enemies of my people have followed me here. Help me to defeat them and you will be greatly rewarded.”

“Uh, okay?”, replied Xiap, not quite knowing what else to say. This section of road was frequented by bandits, and he assumed they’d be facing nothing more dangerous than a BuruBuru. Xiap activated the jets on his own BuruBuru and raced towards the coordinates.

The next few moments came as a blur. A queztal gunship crested the mountain, its gatling laser effortlessly severing Xiap’s mecha’s left arm in a single shot. Artillery fire from beyond the ridge reduced the forest to a smoking wasteland in an instant. Yjin’s neko burst forth from the pond she had been hiding in, blasting the queztal out of the sky, then just as quickly diving again.

Xiap raced for one of the few remaining patches of cover. He briefly considered running away; there was no doubt that these attackers were far beyond his fighting ability. But then, fighting had never been his strong point. He contacted Yjin

“If I locate their artillery units, do you think you can take them out?”, he asked.

“Just show me the way”, she replied. “You know this planet better than I do.”

Celebrity portrait by Ladene Kosaka.

Celebrity portrait by Ladene Kosaka.

So this is what happened to my current GearHead character shortly after starting out. The plan worked- Xiap’s stealth and awareness skills were good enough to locate and hide from these severely overpowered opponents, and once they became visible Yjin flew in and picked them off one by one.

I think this illustrates a number of things that GearHead1 does really well. The procedurally generated plotlines result in all kinds of emergent goodness, making the world seem dynamic and alive. A short time after the above events Yjin betrayed Xiap in Mauna. I should have listened when people told me she was villainous, but she was also a damn good lancemate. These days she shows up every once in a while on the enemy team when Xiap is doing a mission.


My history so far

Another thing that I like is that the game does not in any way try to keep the player safe. It’s very easy to wander into a situation that you’re not ready for. Fortunately, there are often ways to deal with problems other than trying to fight your way out… for instance, having someone else fight for you. And when in doubt, you can always run away. Usually.

GearHead 2 on GitHub


Just a quick note to let you know that I’ve started a repository for GearHead2 on GitHub. Much like the GH1 repository, there are a few changes which never got uploaded to SourceForge but nothing too major.

Dungeon Monkey Eternal


Dungeon Monkey Eternal is the latest game in the Dungeon Monkey series, and the first written in Python. I started this project as a warm-up for GearHead3, under the apparently correct assumption that diving straight into a big project using a language I didn’t really know would have been a bad idea.


You can create a party of up to four characters, then take them on a series of short, randomly generated adventures. Between quests the party will return to town for healing, shopping, and changing the party roster. There’s enough content to keep going until around level 12, after which things start to get a bit sparse. I should really add a capstone adventure so that characters reaching that level are able to retire.

Later on I’ll post more about the bits of DME that are going to be used in GearHead 3. For now, you can download the game from GitHub. To play it you need Python 2.7 and PyGame installed.

Hello Terra!

It’s been a long time, hasn’t it?


Just so you know, I’m not dead yet and neither is GearHead, though neither one of us are quite as active as we used to be. This past while I’ve been busy with graduate studies and, to be honest, I feel a bit guilty that I’m not working on my thesis right now.

A few days ago I sat down to finally get GearHead: Arena working on my current laptop. I also set up a new repository for it on GitHub. Please note that this doesn’t mean that the game is back in development, per se, though I couldn’t resist diving back into the code to update some things and fix some problems. I just want to make sure it remains available and working on modern computers.

My current plan is to play through GearHead1 and GearHead2 in preparation for working on GearHead3. But don’t get yer hopes up about that game until I have something playable to show.

I’ll be posting observations about my GH1 playthrough as they occur to me. Wish me luck.