Working on Stealth

My current project is to get stealth working in GearHead Caramel. For now, it will use the same rules as in Dungeon Monkey Eternal- if your stealth action is successful, your character will be effectively invisible until revealed. Unfortunately there are still a whole lot of details to work out- for instance, if your entire lance goes stealth, this currently crashes the enemy AI.

The next two steps are implementing the Search action to reveal hidden units, and upgrading the enemy AI so it will use both Search and Stealth as appropriate.

GearHead Caramel v0.120: Getting Skillful

I’m happy to announce a new release of GearHead Caramel: Winter Mocha. The enemies are now smarter. The repair skills work. Module attacks have been added, so if you run out of ammo you can at least go down kicking. Configuration can be edited in-game, and there’s an option to disable the music (which was causing problems on certain computers). The Thorshammer has its flame cannon, and there are a number of new mecha.

There are precompiled binaries for Linux and Windows, while the source distribution should run on any computer that supports Python 2.7 and PyGame. See below for the full list of changes.

Continue reading

No New Release Yet, Have Some Cybertronic Spree

I’ve made some progress on GearHead Caramel this past week. The generic invocation targeting interface is complete, the attack interface is a subclass of the generic one, and everything seems to work both in and out of combat. But I’m not making a release tonight because I’m sick and hopped up on cold meds. Instead, enjoy some music from the Cybertronic Spree and be amazed at how well they play instruments while covered head to toe in PVC foam.

How to be Human is Back

I took a brief hiatus from updating my comics site while working on GearHead Caramel. Now that it’s out there, I’ve started posting a page every Wednesday again.

Also, I’m hoping to make yet another GearHead Caramel release later this week. Wish me luck.

Winter Mocha Random Story Generator: Propp’s Ratchet

Vikki's Thorshammer fires its flame cannon on a hapless Claymore.

The flame cannon is working. Yay!

The GearHead Caramel mission generator uses basically the same random story generation process as the GearHead2 core story, but since you can play through Winter Mocha in about ten minutes it makes a much better demonstration model.

This story generator uses what I call Propp’s Ratchet. Vladimir Propp was a Russian folklorist who broke folk tales down into a set of 31 narrative functions. According to his research, not every tale would invoke every function, but the functions that were present would always appear in the same order. That is to say, Function 2 (Interdiction) would always take place before Function 6 (Trickery) if both appeared in the same tale.

In a Propp’s Ratchet story generator, the state of the plot is described by at least three variables. In the Winter Mocha mission generator these variables are Enemy, Stakes, and Complication. For each story beat, a new event is selected based on the current state of two of these variables, and the event’s consequences will change one of them.

For instance, let’s look at the encounter “Instant Karma”. You are on the trail of bandits who stole a shipment of toys, and find that they’ve wandered into a nest of hunter-synths. This encounter may be generated if the Stakes are Stolen Toys and the Complication is No Complication Yet. It changes the Complication to Feral Synths.

Each set of plot states has an order, and a plot can only change a plot state to one later in the list. This way we can guarantee that the plot will never repeat itself, which was a big problem in GearHead1.

The fact that there are three (or more) state variables but each plot event focuses on just two of them means that the story space increases in size cubically (or more), while the number of plot events I have to write increases just quadratically (at worst). If there are three states with ten possible values each, that means there are 1000 possible plots requiring at most 300 plot events to cover every possible situation. In practice, though, not every situation needs to be covered because not every plot state will be reachable.

One problem that may arise, especially if more than three state variables are used, is that the generated plot may end up sidestepping certain important features of the plot state because it’s only focusing on two of the state variables at a time. GearHead Caramel’s modularity can help to counteract this. An in-game event is typically constructed from multiple subplots. Details can be added to an encounter to remind the player of other parts of the story state.

SDH-22 Corsair

For many years, the Corsair was the main battle mecha used by the Terran Defense Force. The Corsair was designed to fulfill every possible combat role. It exemplifies the “multi-purpose battroid” model that was popular in the 120s: a handheld ranged weapon, a collar mounted support weapon, a shield, and a secondary movement mode. The standard model does not include a close combat weapon because at the time it was believed this would be a waste of mass.

As time went on and the threats faced by the Defense Force became more varied, the shortcomings of the Corsair design became apparent. Rather than having one mecha that tries to do everything, the current strategy is to employ a variety of models with differing specialties. Although many Corsairs are still used by the Defense Force they are slowly being phased out in favor of newer models such as the Kojedo, Fenris, and Daum.

A large number of Corsairs have fallen into the second hand mecha market, where they are popular with both truckers and bandits.

Future Plans for GearHead Caramel

Hopefully, by now at least a few of you have tried the latest version of GearHead Caramel: Winter Mocha. How do you find it- too easy? Too hard?

My plan for Winter Mocha is to use it as the introductory scenario and tutorial level for GearHead Caramel. As the planned features get added to the game, they also get added to the scenario as demonstrations. Currently there are two possible lancemates; each of the lancemates other than Vikki (who just fights, and is pretty good at it) is going to have one specialist skill. By trying out different lancemates, you can learn how each of the specialist skills work (Carter is slated to be the Mecha Repair character, but I haven’t added the skill use interface yet). The other planned lancemates are:

  • Omega 1004: Computers
  • Either Jiro or Onawa: Stealth
  • Skippy: Scouting

Currently, the enemy AI is pretty bad. Today on the KTX train I decided to write a better AI, but it worked a little too well. Whereas before I could almost always complete the mission with a random pilot and the garbage meks, now I have trouble getting through it with a character that finished GearHead1.

I have two scenarios planned for the near future. Summer Caramel will be a story-heavy scenario set at the Mauna Arena in the summer of NT159. A group of famous cavaliers from all over the solar system is taking part, but not everyone is there for the tournament. One of the pilots is actually a thief planning to steal a sample of Typhon’s corpse as it is transported from Last Hope’s Mesa Research Station to Hogye’s Calmegie Lab. The player will be able to uncover the thief, join the thief, ignore the intrigue and just try to win the tournament, get a hot date for the big party, or some combination of the above.

The second scenario, tentatively titled The DeadZone Tour, is more action focused. The player sets off on a journey across the Central Eurasian deadzone. Each stop along the way is a Dungeon Monkey Eternal-esque randomly generated scenario. Maybe you pass through a village that needs your help, get accosted by ravagers, or discover a PreZero ruin that contains fantastic treasure. This one was inspired by the Judge Dredd Cursed Earth saga and is meant to provide more freeform, thrill-powered play.

GearHead Caramel: Next Day Ruckus

I’ve just uploaded a new release of GearHead Caramel to GitHub. The Winter Mocha mission scenario has been expanded with a full random plot generator; play time should now be 15 to 20 minutes, moving this into the category of genuine coffeebreaklikes. You can import characters from GearHead1, and there’s another possible lancemate in Mauna. Best of all, this release can be downloaded in one file executable versions for Windows and Linux, so you don’t have to mess around with Python and PyGame (though you really should if you’re into that kind of thing).

Try it out and let me know what you think.

Fantasy Portrait Set at itch.io

I’ve uploaded a series of 26 fantasy portraits that I did in traditional media (mostly acrylic, some watercolor and gouache) to itch.io. The pictures are licensed under CC-BY 4.0, but any donations I get for the set will go towards hiring artists to help with GearHead Caramel.

In related news items, you can soon expect a review of AssetForge and an article about the great new world idea I have for Dungeon Monkey.

Reworked Conversation System

Last week, I reworked the way conversations work in GearHead Caramel. Originally, the conversation generator gathered conversation bits from every plot in which the NPC may be involved and arranged them into a conversation tree. Unfortunately, this means that certain dialogue paths might get hidden in the maze. For instance, if you wanted to ask Vikki to join your lance, sometimes it would take two or three conversations before the option would present itself.

Instead, now the conversation gets rebuilt at each dialogue exchange. Because of the dialogue construction rules not every offer can lead to every possible topic, but you should be able to get to any other conversation topic via “Could I ask you about something else?”. This seems to be working very well so far.

I’m hoping to make a new release soon. There’s a lot more stuff now than there was in the Tip’s Eve release, but I want to have a bit more randomization in the combat mission.

In related news, I’ve started commissioning artists to make portraits for GearHead Caramel. If you want to help me out with that you can support the game through itch.io or using the tip jar in the sidebar.  GearHead is and will remain free, but it’ll get done much faster if I can afford some help.