Competing Goods: Cavalier Virtues

A giant robot in classic computer game Ultima IV. It's going to stomp Lord British's castle! Oh no!

Ultima IV plus Robot by Creative Stall from the Noun Project

GearHead Caramel will not feature the Heroic/Villainous morality scale used in previous GearHead games. Typically, games that feature a good/evil scale use it to divide up the content: play a hero and you get one story, play a villain and you get a slightly different story. The moral choices you get to make tend to be boring and come down to which route you’re trying to play. Never mind the fact that the game designer and player might not agree which choice is the moral one and which is the immoral one.

I never intended for GearHead to have separate heroic and villainous paths. Instead, heroic points were supposed to be an optional reward for going above and beyond the call of duty, while villainous points were meant as an easy way for me to kill off player characters who act stupidly. So, moving forward, the heroic/villainous scale is out.

Instead, for GearHead Caramel I intend to use a virtue system as in Ultima IV… though for now the virtues will just be a design principle rather than formal game rules. There are several advantages to using a system of virtues rather than a good/evil scale. First, there’s no need to tailor game content for Stupid Evil alignment. Second, different virtues can contradict one another, leading to much more interesting moral choices than yet another variation on the trolley problem.

Here are the five virtues of the cavalier code:

  • Duty: A cavalier must honor their mission contracts and other obligations. Your word is your life.
  • Fellowship: We’re all in this together. A cavalier should treat civilians and other cavaliers with magnanimity. This virtue covers loyalty and empathy.
  • Justice: It is necessary to act in a just manner. Cavaliers are expected to protect those in need and bring punishment to the guilty.
  • Peace: A cavalier should act to minimize harm, which is not easy when you’re piloting a fifty ton death machine.
  • Glory: Finally, a cavalier must keep striving for greatness. This virtue covers courage and honor.

There are numerous ways these virtues could conflict. Do you pursue a criminal through a crowded city (justice) or let them get away to avoid civilian casualties (peace)? Stand guard at the bridge (duty) or take down the enemy leader who has been separated from their group (glory)? Ideally, each of these choices should take the story in different directions.

GearHead Caramel One Week Update

BuruBuru mecha standing in snow up to its knees.

Snow Day; acrylic on Canson acrylic paper.

Thanks to everyone who has provided feedback on GearHead Caramel so far. If you haven’t tried it yet, you can download the release or the latest commit from GitHub.

I’ve heard one report of fullscreen mode not working properly on a laptop computer. I haven’t managed to replicate that problem, but I did find that fullscreen mode runs slowly on my office Windows computer (which is not the greatest computer in the world, to be fair). If you encounter problems with fullscreen, you can switch to windowed mode by editing the configuration file which should be in your home directory’s “ghcaramel” folder. The window is resizeable so you can stretch it back to nearly fullscreen.

My next step is to expand the Winter Mocha scenario into a proper tutorial level and introduction to the GearHead universe. Here are some things I’m hoping to include in the next release:

  • Some more NPCs to talk to, including alternate lancemates.
  • More content for the mission scene, with the goal of replayability.
  • Get the rest of the main rules working; add shields and intercept weapons.
  • The ability to set screen mode and other options from within the game.
  • Personality traits which alter dialogue (this is already working in the dev version).
  • The ability to import characters from GearHead1 (this is mostly working now).

New Style Portraits: Step by Step

As you can see from the above picture, GearHead Caramel uses much bigger portraits than previous GearHead games, and the color switcher can handle subtler shading. Plus, there are now five recoloring channels to work with instead of just three. Here’s a quick tutorial on how I’ve been making portraits for the new system.

I start by doing a number of rough sketches for the character, before settling on the one I like the best. GearHead Caramel portraits should show the character from head to mid-thigh. They should be looking to the right, since that’s where the dialogue box is. I use a blue color for my pencils so it’ll be easier to draw black over them.

The second stage is what we cartoonists would call “inks”, though since I’m working digitally no actual ink was involved.

Next, I do the flat colors. For this method I complete the drawing in black and white, then add colors as the final step. You want to get a pretty wide value range- the shades should go from dark grey #404040 to pure white #ffffff. My professor Allen Passalaqua suggested using the darkest color of each area as the flat color, so that’s what I did here.

Shading is added using the lasso-and-gradient method. Using the lasso and other selection tools, I apply white-to-transparent gradients to a layer above the flats. You can find lots of tutorials on this method if you search. I probably should have pushed the darks a bit darker on this portrait, but it’s all a learning experience.

Finally, it’s time to color the portrait. I add another layer on top of the picture and set its mode to Multiply.  Red areas get colored with pure red (#ff0000), yellow areas with pure yellow (#ffff00), green with green (#00ff00), magenta with magenta (#ff00ff), and cyan with cyan (#00ffff). Because the layer mode is set to Multiply, the shading from the lower layers will show. Any areas left grey will be grey in the final portrait.

For characters: red = clothing 1, yellow = skin color, green = hair color, cyan = detail color, magenta = clothing 2

For mecha: red = main color, yellow = secondary color, green = sensor/detail color, cyan = metal color, magenta = tertiary color

The final portrait size is 400×600. Most characters should be around 500px tall; that way, there’s room to go bigger or smaller to show that a character is particularly large or tiny.

Enjoy some Winter Mocha!

Happy Tip’s Eve, everyone! I just uploaded the first release of GearHead Caramel, a short scenario called Winter Mocha. Try it out and let me know what you think.

GearHead Caramel Exploration and Combat Working

Both exploration and combat are now working in GearHead Caramel… if you can forgive the fact that the enemy pilots fight like they’re drunk. Right now they just pick a random weapon, try to attack a random target, and if that doesn’t work out they walk randomly.

I am hoping to release a playable demo by next week. There won’t be much content (my goal right now is a short introductory scene in town followed by one or two mecha fights), but it should show some of the new stuff that Caramel has. Keeping with the coffee-that-doesn’t-taste-like-coffee theme, my code name for the demo scenario is Winter Mocha.

All The Missiles

It’s a bit hard to see the shot animations on the video (especially since I only fired one missile), so here’s a gif of a BuruBuru launching (and hitting with!) all 20 of its missiles at once. In GearHead Caramel the missiles anim shows how many missiles were fired, letting you know at once just how toasted you are.

Another Caramel Update: Attack UI working

The attack interface is now working for GearHead Caramel. It doesn’t have a lot of bells and whistles yet- it’d be nice to have hotkeys, and if the interface would remember your preferred attack modes- but it seems to be fully functional. Also, notice that the different attacks use different shot animations.
With attacks and movement both working, I have just about everything I need for a playable demo. The next stop will be the NPCs fighting back.

GearHead Caramel Tactics Movement

Today I got the tactics movement system running for GearHead Caramel. I think it works pretty well. Next steps: get vision working properly, and after that attacks. With any luck there’ll be a playable demo before December 25th.

GearHead2 at

Frostgrave wizard and apprentice sorted.

I just wanted to let you know that GearHead2 has been uploaded to, as has GearHead 1. I’m hoping to get a few tips so that I can pick up AssetForge, which looks like it would make a lot of the stuff I’m currently doing much easier. I promise that any donations to GearHead will be funneled back into the project and not blown frivolously on a big order from Hasslefree Miniatures. I also have print comics and ebooks for sale if that’s the sort of thing you’re into.

In other news, today I got the widget system working for GearHead: Caramel. So far there are buttons and radio buttons, and that’s about it. Fortunately that’s about all I expect to need. I want to make sure the entire game can be played with a mouse so it’ll be easier if I want to port it to Android.

Emergency Bugfix: GearHead2 v0.701

Turns out there were some problems with GearHead2 version 0.700, uploaded yesterday. It crashes on Windows, contains a spelling error, and I even forgot to update the version number on the title screen again. A new release that fixes all of these problems has been uploaded to GitHub. Sorry for the inconvenience.