Work continues on the GearHead Python conversion. You can see the forum and the design doc for recent developments.
This site has been updated with the latest WordPress, which should hopefully put an end to the troubles we’ve been having.
Mischa’s Story will continue in the new year with a visit to the Rishiri Dominion’s high tech asteroid prison. Also, the first chapters of are being prepared for release as free ebooks, so you’ll be able to catch up with what’s happened so far and learn some new things about the L5 region.
As a special treat to GearHead fans (or at least the more gearhead-oriented of them) this Christmas, I’m pleased to announce the first release of GH: Arena-R.
What is it?
Arena-R is a remake of GearHead:Arena using the GearHead-2 engine and Lua scripting. It’s a learning exercise for myself and for others who want to make their own content. Together we can fill up this empty world. Who knows, maybe this time the rusty scepter quest can even be finished.
What can it do?
At the moment, not much. The only town in the game is Hogye Village. There’s a mecha arena and a couple of dungeons. Of course you’re free to add new content and modify the existing stuff- in fact, that’s the whole point!
Creating content with Lua is much easier than it was with ArenaScript. Conversations may be laid out in a natural fashion. There are a couple of (hopefully) well-documented tutorials to help get you started.
The GH2 world map navigator has been completely rewritten. I hope that you’ll enjoy this version much more than the previous.
How can I help?
Download the game and see what you can make with it. Share your results here or on the forum. Make suggestions, report bugs, and have fun trying to break things.
The new chapter of Mischa’s Story has begun at Ataraxia Theatre. This one should last up until the end of April or so; I’ve been working hard on a buffer so I won’t have any drawing to do during our vacation to Canada.
In other news, GearHead2 now runs with the Lua scripting installed. There isn’t much functionality yet and some features have been temporarily disabled but it seems to be working as planned.
Obviously, when you have a large number of people walking around in colossal death machines, you’re going to need a few ground rules.
The Cavalier’s Code is an honor system followed by cavaliers. It regulates many aspects of the job such as combat and employment. There are several local variants, such as the Crihna Rede and Neo Duello, but they all have the same basic structure. A copy of the rules can be found at most cavalier clubs and arenas.
Most of the rules deal with the use of deadly force. To minimize damage, there are several restrictions placed on where and when cavaliers are allowed to fight. Attacking civilians is forbidden. Attacking a cavalier who is not prepared for combat is also forbidden. Battles must begin with a formal challenge. Note that the definitions of “prepared for combat” and “formal challenge” are pretty loose- if a cavalier is awake and inside of a mecha, they’re fair game. Also note that local laws may place further limits on mecha combat; in general, it’s illegal to challenge someone within city limits.
Next are the rules regarding contracts and employment. It’s important that employers can trust cavaliers, otherwise there’ll be fewer jobs for everyone. Once you agree to a contract or a duel you must honor your word. If you enter a long term contract, you may not refuse missions from your employer. Renegotiation may be possible if the situation changes.
Cavaliers have a duty to protect those in need. Cities allow cavaliers to operate within their borders knowing that in case of attack, those cavaliers can be rallied to defense. You are expected to aid those who provide you with food, lodging, and repair. Failure to do so is not strictly forbidden, but will result in great loss of face within the cavalier community.
Finally there are some philosophical ruminations on the nature of being a cavalier. By entering the battlefield you are assenting to your own death. Your enemy today may be your ally tomorrow. Your goal is to complete the mission, not to kill your opponent. Leave grudges on the battlefield. An honorable death demands no reparations. This is the section people quote when they want to look all wise and mysterious.
It should be noted that even pirate and outlaw pilots follow these rules. To follow the code is to be a cavalier. A pilot who intentionally breaks the rules is no longer a true cavalier, and as such is no longer entitled to the protections and benefits that cavaliers depend on.
Cavaliers are the wandering adventurers of the GearHead universe. The only things you need to join their ranks are a mecha and a blatant disregard for your own personal safety. Being a cavalier is more than simply being a pilot; it is a way of life, a statement of personal freedom, and quite often a cause of long term unemployment. Those who excel at the job can look forward to riches and glory. The most successful cavaliers are as famous as pop stars. In fact, some of them are pop stars.
Most cavaliers are fairly young. 16 is the youngest age for getting a mecha operating license in most jurisdictions. By age 30 or so, most cavaliers have either earned enough to retire or have gotten into a safer line of work. A small but growing number of cavaliers do things the opposite way, and take up adventuring after they retire.
Cavaliers come from all walks of life. Among their ranks you can find soldiers, truckers, doctors, and monks. For the downtrodden this job offers a chance to change the world, or at least their own personal situation. For the wealthy and privileged it can be a chance to prove themselves. For the solidly middle class, becoming a cavalier might be their one shot at an interesting life… or in the worst case scenario an interesting death.
The first modern cavaliers appeared right after the Night of Fire. As civilization broke down, so too did what was left of the military. Many units refused to acknowledge that the war was over and just kept on fighting. Some built strongholds which would become the first fortress-cities, while others abandoned their post altogether and became wandering marauders. The common people were left to the mercy of whatever mecha-equipped thugs happened to be passing through their refugee camp on any given day. Not all mecha pilots took advantage of the chaos to enrich themselves. The first cavaliers were those who wandered the wastes, helping people and righting wrongs. They defended villages from marauders, rebuilt homes and power plants, and helped establish communication between the settlements. When a problem was solved they moved on to the next town.
Note that according to modern historians, there probably wasn’t as much difference between the cavaliers and the marauders as people would like to believe.
On Earth, cavalier culture is strongly associated with the Pro Duelist Association. In the 50s Cavalier Style was introduced to the L5 region by the pop band Love Magnet. Even on Luna a small number of cavaliers are allowed to operate, so long as they pass a test of ideological purity first.
This is part one in a series. Since I’ve asked people to help make content, I’m going to organize and post all of my writings and notes on the GearHead universe. Come back next week for the cavalier honor code and how cavaliers make their money.
So I’ve started learning Lua with the intention of replacing ASL with a language other people might be able to use. Now that Lua is a standard package with Free Pascal it’s a natural choice for a scripting language, and it’s been no problem to set up and use… by itself, at least. My big problem is trying to figure out how to incorporate it into GearHead.
I can see two obvious ways to do this. First, I could do things the way I already do them and attach individual Lua scripts to every gear that needs them. When the time comes to trigger a script then the scripts for that gear will be sent to the stack and the proper function invoked. One problem I can see with this is that function declarations from previous gears might be hanging around in the Lua environment; suppose I want to process a “START” trigger, and the current gear doesn’t have a “START” script but the gear which came before it did. Wouldn’t this execute the previous gear’s START function a second time, since it hasn’t been overwritten?
An alternate way to do things would be to make each script-holding gear a Lua object and access their scripts as methods. In this case, how do I deal with having parallel representations of each gear? When a gear is created/disposed of I’d have to create/dispose the parallel Lua object, which seems like a pain in the arse… though, I guess, no more a pain in the arse than creating/disposing of attached attributes.
Whichever way the scripting is done, there’s one more very big problem which I need to address: How to merge scripts together. GH’s plot creator takes multiple component scripts and combines them into a single script. The general rule is that for any given trigger the newly added effect happens first, then the previous effects are called. ASL was designed with this in mind but I have no idea how to do it with a language such as Lua.
As you know, every couple of years I like to take a bit of time off and work on a side project. World, I give you Dungeon Monkey Unlimited: a combat-oriented tactics-style fantasy RPG. Lead a party of up to four adventurers through a randomly generated world.
- Over at The Sexist, Amanda Hess and Courtney Stoker (of the blog From Austin to A&M) discuss a question I posed earlier about making dude-dominated subcultures more accessible to women.
Above all, be willing to listen, even if what women have to say makes you feel uncomfortable or challenges your privilege. (Actually, especially if that happens.) The best way to make a community feel welcome is to show that you care what they think and have to say.
Many thanks to both of them for talking about this. You can read the first half of the interview here, and then stick around for the phallic sword infomercial.
- It’s Zombie Day at ScienceBlogs.com! I provided the zombiefied portraits of their bloggers… Collect all 36 pictures! They’re just like Pokemon, but highly educated and undead!
- The GH2v0.628 archives for Linux and Mac OS X have been uploaded to SourceForge. Thanks to Michalis for putting them together.
I’ve just uploaded GH2 v0.627 to SourceForge. This is mostly a bugfix release, intended to provide a stable version while I work on the big balance issues being talked over on the forum. This version also marks the 666th update of the game’s SVN repository, which may be of interest if you are either a biblical literalist or a fan of Iron Maiden. In either case rock on.
Here’s the complete list of changes:
Convoy defense mission should be fairer now
Updated Defense Patrol and Bounty Hunt plots
Sets generated as random loot will be unpacked (gearparser.pp)
Window and icon names now set in graphical versions (glgfx.pp,cutegfx.pp)
Lancemates can learn talents from event-based training (arenascript.pp)