Aug 16

Troubles with Iconic Life

The Troubles with Iconic Life was an adventure game I started working on during university. The player character is an icon living inside a computer world- sort of like a low-fi Tron. Your mission was to solve some sort of crisis by traveling through this world and playing a bunch of buggy minigames. In each case, the secret to winning each game is to exploit its glitches.

The only minigame I remember clearly was a text adventure called Irrevocable Loss. You start in a gothic mansion and travel through various depressing locales, every step reminding you of the horrible thing that happened but which is never clearly explained to the player. Through solving puzzles, it was possible for the player to reach both heaven and hell, neither one of which provide release. To win the minigame you must enter the command “get over it”, at which point the protagonist stops moping and orders a pizza.


The puzzle above, as I remember it, involved a monster that could kill the PC in three hits, a single life restoration heart, and a switch that toggled the room memory. If memory is “on”, changes to a room are recorded when you move to a different room. If memory is “off”, the changes are lost and so the next time you enter the room it will be exactly the same as it was originally. To defeat the monster you would have to hit it, turn the memory “on”, retreat to the room with the heart, turn the memory off, restore hp, then return to the room with the monster and repeat the process until the monster was dead.

The iconic computer world featured a lot of memory switch and sokoban puzzles, which I apparently liked at the time.

The one bit I remember from the PC’s house in the computer world was the bed- attempting to use it would produce a number of messages telling the player that it isn’t functional, that it’s only there as a decoration.

Some of the content planned for the game. I barely remember most of this stuff; I think “The Forest of AntiHappy Endings” was a previous title for “Irrevocable Loss”, but I’m not sure. The “Ring of Wishes (Shareware)” was a nice idea, though these days it’d have to be a “Ring of Wishes (DLC)”.

Aug 13

Origins of GearHead

Homemade Battletech Counters

Some old Battletech counters I made on computer, then colored with colored pencils. Probably from the late 80s or thereabouts. These resemble the original top-down sprites used in GearHead-1.

I am currently visiting my parents in Canada and trying to sort through all the junk in my closet. I’ve found a bunch of notes which predate GearHead development, but which show many of the influences that went into it.

This page from my 1993 university notebook describes a method for generating random sentences- basically, replacing tags denoted by square brackets with phrases chosen from a list. I think this was being planned for the game “Troubles with Iconic Life”, which I’ll say more about later.

I didn’t start working on GearHead proper until I moved to Korea in 1998, but during university I did work on a different mecha game called Z-Warrior. As far as I remember Z-Warrior never made it to a playable stage. However, several of its mecha designs were brought into GearHead.

The Strongarm was in GH1, and the Hoelvetican (with an “o” added for some reason) was meant to be included in GH2.

Finally, here are my notes for a Mekton campaign I ran sometime around 1995-1997. The influences of Warhammer 40,000, Battletech, and Final Fantasy are pretty clear.

Instead of drawing my own illustrations for the campaign mecha, I copied pictures from various Mekton and Palladium sourcebooks.

Jul 31

Shooting Anim Working

The shooting animation is up and running in GearHead Caramel; just look at how smooth those bullets are. As in Dungeon Monkey Eternal, different weapons will be able to have different projectile sprites.

Jul 29

Death Sword

Death Sword is a haunted 1980s-style adventure RPG. There is a malevolent presence trapped in the program; as the game world breaks down, you will learn more about this entity and the fate of the teenage programmer who created Death Sword. Developer Ranilda Baeddel is currently running a GoFundMe so she can finish this game over the summer. If you could contribute something I’d really appreciate it because I really want to play the final version of this game. I spent an entire morning when I should have been working going through the demo on, advancing through the chapters and discovering all the ways to die.

Is there a name for the genre of horror in which a familiar thing is twisted into something scary? The fear comes from systems and rules that we thought were stable suddenly breaking down, allowing horror to seep through. I’m thinking about works like this, Candle Cove, or Don’t Hug Me I’m Scared.

Jul 26

GearHead: Caramel Combat System

Today I tried to figure out how attacks and other such effects are going to be modeled in GearHead: Caramel. If you’ve ever checked the GH1/GH2 source code, you’ll know that the old GearHead attack routine is a confusing mess of spaghetti that handles everything from beamswords to smoke bombs all in the same place. On the other hand, Dungeon Monkey Eternal has an elegant modular effects system where complex actions can be built up from simple components. Unfortunately, I don’t think the DME system is going to work in GHC without some major modification.

The two big problems that DME doesn’t have to deal with are moving areas of effect and chain reactions. In GearHead, an area of effect attack will sometimes deviate from its intended position. Also, effects often lead to additional effects: a body slam can result in the charging mecha taking damage, a mecha’s engine can explode causing damage to units around it, etc.

Here’s an example of the sort of complexity the GearHead system should be able to deal with: A Harpy launches three blast-radius missiles, each at a different spot, to take out a cluster of enemies. One of the missiles misses and deviates by a few tiles. Another of the missiles is shot down by an enemy’s anti-missile system, exploding several tiles short of its intended destination. One enemy is trapped in the blast radius of two missiles, taking damage from each. It suffers an engine explosion, further damaging its nearby allies.

Jul 25

Party on Mecha Beach

A progress video for the new map renderer that I’ve been working on in Python. Layering and transparency work with the mecha traveling through the water. Also, the water now has a nice beach border around it. All of this took way too long to get right. As I’ve said before, if you’re thinking about getting into game development yourself, seriously consider using an established engine instead of trying to roll your own.

These changes have been uploaded to the GearHead Caramel repository on GitHub.

Jul 21

Going to Cake Square

Tomorrow I’m heading to Incheon for the Cake Square comics festival. I’m hoping to get some work done on GearHead after the festival closes since it’s way too hot to go explore the city. Here’s a shot of some trees I made this morning; I’m not happy with them, but every little bit of pixel art practice helps.

Jul 17

Proposed GearHead: Caramel Skill System

Woman with braided hair standing in front of a city at night.

Another advantage of the new coloring routine is that it can handle subtle gradations. No more cel shading! That has nothing to do with the rest of this post, but I wanted to mention it.

I spent much of last weekend thinking about how the GearHead: Caramel skill system is going to work. This is likely to get a bit long-winded, so please bear with me.


These define the untrained abilities of your character. They will not change by much over the course of the game.

Health, Stamina, and Mental

Health measures the distance your character is from death. When health drops to zero, or a character is otherwise incapacitated, they are removed from combat. The party gets to make a Medicine roll to see if the character survives. Permanent injuries (which can be fixed by cybernetics) may result. It is based on Body and the Vitality skill.

Stamina is a measure of physical exhaustion; in game terms it is used to power passive abilities. Passive abilities include secondary defense rolls such as parry, block, and use of anti-missile and ECM systems. So, once your stamina runs out, you become far more vulnerable to attack. It is based on Body, Ego, and the Athletics skill.

Mental is a measure of mental exhaustion. Maybe it needs a better name. It is used to power active abilities, such as repair attempts and certain talents. It is based on Ego, Knowledge, and the Concentration skill.


Skills are trained abilities. These will change quite a bit as you spend experience on them. A skill should be something that your character does. Skills have a rank; if something doesn’t really need a rank, it should be a talent instead of a skill.

A character can have a limited number of key skills. These are skills which the character is particularly good at, and may be improved relatively cheaply. You can learn skills beyond your key skills, but will have to find a skill trainer to teach you at first. Improving non-key skills is more expensive than improving key skills.

There are nine basic skills in the Cavalier Package; every player character starts out with all of these as key skills, and may take a few other key skills in addition. I’ve been referring to the skills outside of the Cavalier Package as Specialist Skills.

Skill usage should be communicated to the player. In previous games, the exact function of many skills was a mystery. This communication can be accomplished in a number of ways: 1) Show when an option is made available because of a skill (maybe even showing options that would be available if the PC had the correct skill), 2) change passive skills to active skills, 3) clearly tell the player when a passive skill accomplishes something.

In general, specialist skills may provide the player with different ways of dealing with a problem. They might get used to short circuit a puzzle or obstacle that can be solved another way. They should not, however, be used to block the player from significant content/rewards.

Also in general, not everyone should need every skill. If your party has one member with a given specialist skill, that should be enough.

The Cavalier Package

These are key skills for all player characters. No matter what other skills you acquire, these can always be improved at the low rate.

Mecha Gunnery, Mecha Fighting, Mecha Piloting

Ranged Combat, Close Combat, Dodge

Vitality, Athletics, Concentration

Specialist Skills

The player will get some of these as key skills- two or three, maybe- and the rest can be acquired as non-key skills (if you can find a trainer). The non-key skills are more expensive to advance than the key skills are.

Repair: The ability to fix mecha and equipment. May allow destroyed mecha to be recovered after battle.

Medicine: The ability to heal people and animals. May allow downed fighters to be recovered after battle.

Biotech: The ability to repair biotechnological constructs and revive downed synths/biomecha. It can be used on dead synths to collect repair parts and other useful items.

Stealth: The ability to hide. This skill will now have to be actively invoked, and will function similar to its use in Dungeon Monkey Eternal.

Science: Used for crafting. You can make robots, improve gear, and so on. It can be used on dead robots to collect repair parts and other useful items.

Computers: This skill takes over Code Breaking and Electronic Warfare. At personal scale it allows doors to be unlocked and computers to be hacked. At mecha scale, it allows the use of active electronic warfare systems. With the right equipment, it may be used to hack certain hostile robots, turning them to the player’s side.

Performance: The ability to play music and get paid for it. This skill may allow Taunt as a talent.

Negotiation: Combines Conversation, Intimidation, and Shopping. Used to activate certain dialogue options. May cause enemy pilots to eject earlier. Improves NPC reaction score. Affects shop prices.

Scouting: Combines Survival and Awareness. This skill passively counteracts Stealth and makes encounters visible on the world map. It helps reveal hidden doors and other concealed things. It may be used on dead animals to collect meat and other useful items.

Dominate Animal: Use it to tame wild animals.

Deleted Skills

Mecha Engineering: Is spending points on Mecha Engineering fun? No, it is not. This skill is nothing but tears and frustration. Instead, I propose that from GHC onward all player characters can modify mecha to their heart’s content without having to learn a new skill.

Cybertech: There were a lot of problems with this skill as well. If a late game character suddenly needed to fix a permanent injury, they were often forced to decide between the injury’s stat penalty and one more skill’s xp penalty.

Weight Lifting, Initiative, Resistance, Spot Weakness: All boost abilities without offering a new play style. This means they are boring.

Investigation: It had no use except in Investigation missions; the thing is, we can still have investigation missions without a dedicated skill, and they’ll be more fun if the player isn’t forced to waste a skill slot.

Pick Pockets: Not nearly as useful as it is in Fallout. I don’t want to write the full burglary simulation that this skill deserves.

Taunt: Was less amusing than I had hoped.

Possible Skills

Meditation: Replaces Mysticism. Using Meditation allows a character to instantly regenerate stamina at the cost of mental. Unlocks martial arts/shaolin monk type talents.

Leadership: In GearHead2, lancemates automatically level up their skills after battle to match the PC’s renown. In future GearHead games, lancemates could automatically level up to match the rank of this skill.

Sniper: I got rid of most of the combat-related skills since they are boring choices. Unfortunately, that means there are few skills for a combat-focused character like a soldier or arena pilot. If I could figure out a way to make an interesting combat skill that is not an automatic must-have, I’d add it.

Areas of Expertise: Many pen and paper RPGs have a ton of knowledge skills. That wouldn’t really work in GearHead, but I thought it might be fun to allow the player to choose several areas of expertise for the PC. In some situations these AOEs would provide additional background information or dialogue options; this wouldn’t normally be useful, but it might be fun. The list of AOEs might include pop music, history, mecha designs, mathematics, recipes, arena champions, architecture, fashion, etc.

Jul 15

Third Edition?

I’m trying out a new sprite recoloring method for GearHead Caramel. In the original version (left), colors are defined by a midtone which gets scaled up or down to a particular value. In the new version (right), the brightest and darkest colors are defined and the color gets scaled within that range. This means that color warmth and saturation can change with value, which should make everything look better. The new method seems to make the colors brighter, but also less flat.
The next thing I have to decide is how characters are going to work in GearHead Caramel. The system in GH1/GH2 is an unholy amalgamation of the Mekton Zeta and Earthdawn rules. Many players have complained about the skill specialization limit, wishing it were possible to take all skills. At the same time, the sheer size of the skill list left many players confused. Never mind the fact that it also left me confused- adding enough content so that every skill would be worth taking was a neverending job. Balancing them was pretty much impossible.

Here are some thoughts about GH3e:

How can I allow each character build to be unique without the players feeling boxed in? If the player could count on finding lancemates with any required skills, that would take off the pressure to make the PC good at everything. I think the Harebrained Schemes Shadowrun games did a good job with this.

What’s the difference between skills and stats? How many skills do I need to have? Initially, I was planning to use a stripped down skill list, with each skill representing a career path. This skill would combine with different stats for different uses. For example, a Thief skill might combine with Speed to allow stealth, and combine with Craft to allow code breaking. After playing through GearHead2, though, I’m not sure this is the way to go. The GH2 skill list is smaller than the GH1 list, and you get fewer specialties. This means that from the midgame onward you spend most of your time hoarding XP and have fewer chances to spend it. This is No Fun.

The Shadowrun games largely avoid this problem by having multiple skill tiers. You need to improve Reflexes so you can improve Ranged Combat so you can improve Shotguns. The progression for a single ability is split across three skills, meaning that at any time you will probably have something that doesn’t require an obscene amount of experience to improve.

Before I move on, another thing I should mention about the Shadowrun CRPGs is that they dropped all non-combat skills. This largely solves the skill-specific content problem because whatever skills the player chooses, they should be applicable to just about every mission.

One way to keep different characters different might be to use key skills, as in Fallout. At character creation you choose the PC’s specialties. These skills may be improved cheaply. Other skills can be learned, but those will be more expensive.

It may be possible to move many of the noncombat skills to binary proficiencies- something the PC either knows or doesn’t. Most of these proficiencies would have a negligible effect upon the game, but allow different dialogue options or provide additional background information.

After reading the Rogue Trader rulebooks, I would be interested in expanding the character creation lifepath. The player chooses the PC’s life story, each step altering the character’s abilities. This seems like a good way to set the PC’s initial key skills, if I choose to use key skills.

In GHC, Stamina will be used to power passive abilities (mostly the extra defense rolls like shield block and antimissile) while Mental will be used to power active abilities. I am planning to add talents that act like the spirit commands in Super Robot Wars, allowing the player to boost abilities at the cost of MP.

What do you think?

Jul 12

Buru Buru Loading

GearHead Caramel can now load a complete SAN-X9 BuruBuru mecha from a text file. I can’t necessarily say everything is functioning yet, but it’s all there. The GHC version is 52.5 tons and is worth $117,280, which fits between the GH1 values (45.0 tons, $106,287) and GH2 values (53.0 tons, $194,368).

Here is the complete text of the mecha description file:

    name = "Buru Buru"
    desig = "SAN-X9"
    imagename = "btr_buruburu.png"
            size = 5
                    size = 4
                    size = 2
                    name = "Intercept Laser"
                    reach = 2
                    damage = 1
                    accuracy = 2
                    penetration = 0
            size = 5
                    size = 4
                    size = 605
                            size = 2
                    name = "Collar Mount"
                            size = 4
                                    name = "Swarm Missiles"
                                    reach = 6
                                    damage = 1
                                    accuracy = 1
                                    penetration = 1
                                    quantity = 20
            name = "Right Arm"
            size = 5
                    size = 4
                    name = "Right Hand"
                            name = "Shaka Cannon"
                            reach = 5
                            damage = 3
                            accuracy = 0
                            penetration = 3
                            ammo_type = Shells_150mm
            name = "Left Arm"
            size = 5
                    size = 4
                    name = "Left Hand"
            name = "Right Leg"
            size = 5
                    size = 4
                    size = 4
            name = "Left Leg"
            size = 5
                    size = 4
                    size = 4

It’s a bit more verbose than the GH1/GH2 mecha description language, but it gets the job done.