After long months of perilous refactoring, GearHead Caramel has finally reached the 21st century. Things have been quiet around here recently as I’ve been working on some big changes. Previously, GHC was controlled by a …
Pyrrho of Ellis probably had more broken bones than any other Greek philosopher. At the beginning of June I had a tragic yet Clouseauesque walking accident which led to a double compound fracture of the …
It’s been a while but the next release is here! Thank you for your patience. You can download v0.976 from all the usual places- Steam, itch.io, and GitHub. The biggest change this time around is …
It’s new GHC release day! You can download v0.975 from all the usual places- Steam, itch.io, and GitHub. I should mention that it’s currently 23% off at both Steam and itch, so if you want …
I have just released GearHead Caramel v0.974. There’s a new quest in DeadZone Drifter- the Road of No Return. You can get it from all the usual places- Steam, itch.io, and GitHub. Recently somebody asked …
After long months of perilous refactoring, GearHead Caramel has finally reached the 21st century.
Things have been quiet around here recently as I’ve been working on some big changes. Previously, GHC was controlled by a multitude of blocking event loops, as was the style in the 1990s when I started work on Z-Warrior. Now, timing and events are handled by a single game loop. This is simpler, should be easier to maintain, and has improved the game’s performance (at least on slower computers).
It should be obvious that ripping every event loop out of the game and scratch building an expanded widget system is the kind of change that will potentially break a whole lot of stuff. And believe me, I broke a whole lot of stuff. That’s why I am releasing version 1.000a as a public alpha. If you would like, please try it out and let me know any problems you find. I’d advise backing up your current GHC save files and configuration before trying v1.000a. Characters loaded into this version may not be able to go back to the previous release.
Pyrrho of Ellis probably had more broken bones than any other Greek philosopher.
At the beginning of June I had a tragic yet Clouseauesque walking accident which led to a double compound fracture of the right arm. Thanks to this, I got to spend summer in an air conditioned hospital room and everybody brought me snacks. I watched a lot of cartoons. I got some cool new scars. Technically I’m now a cyborg; next year I’ll have surgery again to remove the metal plates holding my forearm together.
Anyhow, I’ve also been refactoring GearHead Caramel to replace all the blocking loops in various parts of the program to a single unblocking loop plus a stack-based widgets UI. As you might expect ripping every loop out of the game and replacing it with a subtly different loop is a time consuming endeavor. However, I think it will be worth it. The new system is simpler, runs smoother, and opens up new possibilities. The next couple of releases are probably going to be marked as debug releases because I’m certain that there are going to be subtle bugs that I missed while testing stuff by myself. Until I’m fairly certain that things are stable, these will be released as a public beta branch on Steam and a separate download on Itch.
Side note: on the same day I broke my ulna and radius, the Samsung service center discovered that the motherboard on my laptop was cracked. It really wasn’t a good day. I am typing this blog post on a Raspberry Pi 5, which is a surprisingly capable desktop computer. It’s also a good machine to test whether or not my changes improve GHC’s performance. So far the results look promising.
One area where I expect subtle bugs is in cutscenes. If you’ve played the game you might be asking “what cutscenes?!”, but bear with me. With the previous blocking game loop, a text alert or an NPC monologue would start instantly and block execution until it was finished. This enabled a sequence of text/monologues/animation with code doing stuff in between. With the new unblocking game loop, text alerts and NPC monologues are instead scheduled in an alert queue and will happen when they happen. Code that previously would have run after the text/monologue/whatever will now appear to run before the text/monologue/whatever.
For instance, if a lancemate announces “I’m quitting the team!” (a monologue alert) and then disappears from the map (an instantaneous action), if I don’t rearrange the code then the NPC will disappear from the map milliseconds before they announce their intention to leave. Which might not be a big deal in this case but could cause big problems in other cases. Maybe. The new alerts have callback functions so I can attach code to exact moments in the sequence of events. The trouble will be making sure I’ve located all the places I need to do that.
TLDR for players: I’m making changes that should improve the speed and reliability of GHC. Once they’re completed.
TLDR for fellow gamedevs and Python enthusiasts: If you want to see the changes, they are in the “unblocking” branch on GitHub. Campaign save files from previous versions, once loaded into the unblocking version, can’t be read by previous versions anymore. Proceed with caution.
It’s been a while but the next release is here! Thank you for your patience. You can download v0.976 from all the usual places- Steam, itch.io, and GitHub.
The biggest change this time around is the fact that the Raid on Pirate’s Point scenario is finally complete. The districts of the city have been detailed and many now feature unique quests. There are five different endings, each of which can vary slightly depending on your actions during the campaign. The ending you get has consequences that will carry forward to future scenarios.
Speaking of future scenarios, I’m calling Raid on Pirate’s Point the last scenario of GHC Season One. What does that mean? When I start releasing the next bunch of scenarios- Plastic Island Panic, Shopper’s Paradise, Summer Dolce- I will probably raise the price of the game from $10 to $15. It was either that or release them as DLC. If you have already bought the game, then great! You will get all the new adventures for free! If you have not yet bought the game, you have until I finish Plastic Island Panic to buy it at its current low price! If you don’t want to buy the game and just play the non-commercial version, you will still get most of the new content except for the scenarios that use proprietary music!
Other changes include better random names, revamped screen scaling code, mutually exclusive merit badges, new mecha and content, bug fixes and quality of life improvements. Here’s the complete list:
Fixed a bug in the containers unit
Merit badges may have contra badges which get removed if badge earned
Removed unusued and not working android import from pbge; if android support added later, will need to rewrite anyhow
Added config troubleshooting option to disable scaling altogether
Reworked screen scaling; can now manually set fullscreen resolution
Fixed error causing jobless NPCs
Faction based reaction modifier has been adjusted
Fixed bug with conversation visualizer when NPC has reaction score of -100
Rewrote name generator for hopefully more readable results
Configured nuitka build, in case I ever need to change packager again
Added ending to Raid on Pirate’s Point
Added relay plots
Lancemate hire cost is at least $10,000
Loading a dynamic plot now correctly sends an UPDATE trigger
If changing team in world map war, player may become enemy of previous faction
Fixed problems with factionless shops
Fixed bug with text editor widget
Added more quests to Raid on Pirate’s Point
Columns decor should not overwrite waypoint terrain
Fixed bug with non-singleton city tags in bugs
PC should now automatically reject most missions against favorable factions
Automatic area invocations can be invoked with “accept” key or clicking icon
Automatic area targeters no longer need to be targeted
Fixed prev_invo invoker UI bug
Added cruise movemode
Fixed SimpleMonologueDisplay grammar error
Destroyed sound fx now based on material
Added slash anim for melee attacks
Fixed bug with mecha being excluded from missions due to movement modes
It’s new GHC release day! You can download v0.975 from all the usual places- Steam, itch.io, and GitHub. I should mention that it’s currently 23% off at both Steam and itch, so if you want to support development now is an excellent time to buy it.
Probably the most exciting change this time around is the addition of bonus actions. I’ve had a lot of players ask when they’ll be able to use more than two actions per turn. I guess giving the action clock four quarters was a bit of a giveaway? Anyhow, I have added the bonus action system: you can spend stamina to get extra actions. The more bonus actions you take in one turn, the higher the price gets. Stamina is also needed for defense; once you run out you are extremely vulnerable. I think this is an interesting trade-off and I hope you enjoy it.
To go along with bonus actions, there are new mecha systems to make them easier to get. Dynamic Mecha Control and Reflex Control cockpits both reduce the cost of bonus actions. High output engines and high performance engines from GearHead 2 have been added. Finally, you can give your mecha an advanced gyroscope, which provides multiple bonuses but is a more fragile system than the default gyro.
Missions which do not receive a proper description will now randomly generate their own description based on the enemy faction, allied faction, and mission objectives. This should cut down on the number of rivals who say things like “I am here to defeat you, and in order to defeat you I will defeat you!”, though I will admit that I do love bad procedurally generated text.
There are also some new missions, factions, and bugfixes. As usual try it out and let me know what you think.
Here’s the complete list of changes:
Updated the Allied Armor bookshelf
Enchantments do not continue to update on dead/destroyed combatants
Biotech mecha get a +2 action bonus
Characters and mecha can spend stamina to get extra actions
Added different cockpit control types
Added High Output Engine, High Performance Engine
Added Advanced Gyroscope; Gyroscopes are no longer Integral by default
Fixed sound effect repeat bug
Fixed dungeon branch naming bug
A biotech torso can only install a biotech engine; non-biotech mecha may not use biotech engines
Added Ravagers faction
Biotech mecha can only mount biotech modules; non-biotech mecha may not mount biotech modules
Reduced Stamina loss from cyberware
Rebalanced monster dodge skill
Corporate factions now have allies and enemies
FieldHQ name buttons now use labels and can resize text if name is too long
New MissionText generated if no MissionGrammar provided to BuildAMissionSeed
I have just released GearHead Caramel v0.974. There’s a new quest in DeadZone Drifter- the Road of No Return. You can get it from all the usual places- Steam, itch.io, and GitHub.
Recently somebody asked me when GHC will reach version 1.0. I’m gonna be honest with you- the game has been complete for a while now and I don’t even know what the 1.0 milestone is going to mean. Obviously I still need to finish the Raid on Pirate’s Point scenario, but I plan to keep adding new scenarios and content for as long as I’m able. We haven’t even been to space yet. The episodic nature of GearHead Caramel means we can visit all the locations in the universe- the L5 spinners, Luna, Mars, Venus, and beyond. There are also plenty of locations on Earth that I want to visit.
You’ll need to start a new campaign of DZD for the Road of no Return quest to appear. Version 0.974 also includes some bugfixes and the FieldHQ has been sorted. Try it out and let me know what you think.
Added “Road of No Return” quest to DeadZone Drifter
Fixed unloadable save file if PC killed during combat bug
Incapacitated PCs may need lifesaving cybersurgery
FieldHQ contents are sorted now
Scenes without a defined parent scene should get added as root scenes
Most missions names now include faction being fought
Three releases so far this week… Feeling a bit like Captain Haddock tonight.
Version 0.973 fixes the crash on Windows computers, and also restores the cyberware interface to full operation. While fixing these issues I discovered that JetBrains’s PyCharm IDE has been messing with my code. At least twice it inserted the line “from main import draw_border” into a random file, causing the game to crash at startup. I suspect that PyCharm’s code assistant may be responsible for the cyberware unit’s problems since I hadn’t touched that code in months. I don’t know how many other time bombs it may have planted in the source. Anyhow, I have abandoned PyCharm as malware and switched to Eric IDE (for now; gonna try several IDEs and see which one sticks).
I never activated the PyCharm AI Assistant, but there’s also a PyCharm AI Intention which defaults to “on”. If your AI powered code tool writes worse code than I do when I’m going through an episode of brain fog, that’s not a feature it’s a bug.
Anyhow, you can get 0.973 from the regular places- Steam, itch.io, and GitHub. Thanks to everyone who reported the problems. Here’s the complete list of changes:
Used cyberware is resold at a lower price
Refactored cyberdoc unit to use current widget system
Fixed crashing bug in cyberdoc unit
AlertMenu will appear in front of widgets, like all other menus
Fixed hover selection bug in WidgetMenu, ScrollColumnWidget
Fixed crashing bug on Windows
Sales menu will be properly reactivated after selling something
It’s time for a new GearHead Caramel update! This time, the shopping interface has been completely overhauled. You can switch to different lancemates and access your inventory without leaving the shop. Also, there are a bunch of new personal scale items for sale and you can load up on spare ammo clips before heading to the dungeon. In addition several bugs have been fixed and the dialogue generator has been improved. As usual, try it out and let me know what you think.
You can get 0.971 from all the usual places- Steam, itch.io, and GitHub.
After several months, I bring to you a new release of GearHead Caramel. I’ve just uploaded version 0.970 to all the usual places- Steam, itch.io, and GitHub. Combat balance has been subtly altered. Several bugs have been vanquished. I’ve added furniture to most of the indoor scenes that needed furniture but didn’t previously have it. Plus, most shops now have counters so it should be easier to tell who the shopkeeper is if there are multiple NPCs in the room.
Moopsy dealing with the summer heat. I have also been drained of all my energy but I am nowhere near as cute.
I have moved my web hosting, and am planning to freshen up the GearHead website a bit, but have not gotten around to it yet. It’s summer in Korea. It’s hot. I’ll let you know when it’s done.
From now until May 24th, all Polar Bear Comix are available in print form from the Toronto Comic Arts Festival Digital Marketplace. If you’re in North America or Europe this is your best chance to get my books without taking a trip to South Korea.