irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is the new irony is

Between my six months working at Romney for President, my vacation to San Francisco, and my new job at AppNeta I’ve had a hell of a time working on Hellmouth. I have a great development roadmap that should land me at a beta before the end of the year, and I’ve made some really exciting backend changes, but as a game it doesn’t play any different than it did a year ago. In some sense, it’s actually buggier – there have been a lot of regressions that I haven’t yet addressed since I’m regularly gutting entire portions of the codebase.

About a month ago, I decided to dedicate as many Saturdays as possible to Hellmouth development. This decision was partially prompted by the announcement of 7DRL 2013, which will be using Hellmouth’s (currently unnamed) framework. I’m arbitrarily defining success as spending at least 12 hours exclusively coding to the extent possible (I already plan too much, and eating is optional).

I wasn’t so successful the first few attempts, but it’s starting to pay off, and yesterday I managed to program for about 20 hours with minimal breaks. And apparently, it’s paying off! There’s a noticeable LOC uptick even though my recent commits have involved a ton of churn. Here’s what the line count looks like file-by-file:

In the latest batch of changes I’ve written a base Agent class shared by everything from Actors to Terrain, switched over to an entity-component system for Agents, refactored almost all Agent methods as mixins, rewritten key handling and added more generic event handling, added a variety of nifty decorators, and rewritten some important parts of action logic as Python generators.

Unfortunately, most of those changes haven’t actually make the game play any differently, so it looks basically the same as it did a year ago. However, the most recent round of changes has at least made the framework much more flexible, which should help me during the 7DRL. (Fingers crossed!)

I’m now a sales engineer at AppNeta, and I’ve written about the experience of my first few weeks on the company blog. Probably my favorite thing about the job is not mentioned in that post. Originally I was told that I might see more like a 90-10 or 80-20 breakdown of time doing sales to time engineering. I’ve actually been able to do much better than that! I’ve already worked on instrumentation for Drupal, Solr, and Varnish and I’ll be working on Twisted instrumentation next week at the Boston Python meetup. A lot of that work is far off from production, but some has already been merged into master! :D

I’m still a little mystified, though, by the way they play music (incl. dubstep!) on the sales floor. Oh well, maybe that will change when we move to a new building…

I’ve been planning this one for a few years (using an image sourced from here) and finally decided to stop putting it off. The artist is Dia Moeller, of The Painted Bird in Boston, MA and I’m thrilled with the work so far. Unfortunately, after about 4 hours of tattooing time we had to stop for the day. I’ll be in to get the rest some time in December.

One of my design goals in Hellmouth is to emphasize knowledge and perception as alternative playstyles by making them as game-changing as combat attributes are in most games. Consequently, there will typically be a lot of information about a situation available to the player at any one time. Games that provide a lot of information can be very intimidating, and unfortunately one of my favorite games is well-known for failing to usefully communicate its rich complexity.

One of the ways that I’ll get a handle on information overload is by providing reasonable defaults but allowing the player a lot of control over the ultimate level of detail dislayed. There will be many LOD-based implementations throughout the game (such as item descriptions or combat text), but one of the most important to have is also one of the simplest to implement: a zoom control for the tactical map.Read more »

Lately I’ve been working on Hellmouth‘s combat interface. While I’ll be giving weapon choice a dedicated submenu, I’d like it to appear on the main screen as well. Unfortunately, I didn’t properly account for this in the initial interface design document. While I can change that design, I’m almost completely out of room so any change needs to be done carefully. Since it’s irritating to have to restart the game and seek out appropriate test cases after editing code, I started looking for a way to take an HTML screenshot of a console application.

I think I may have stumbled on a really good black bean burger recipe! I tried making this one, since it’s vegan, but I used beans straight out of the oven instead of canned ones. Even though I didn’t add the crumbled bread, and added some extra oil, the patties held together better than ground beef ones and produced a nice crispy crust when cooked. Admittedly, the flavor is a bit lacking with only beans and onions, but I’m going to try and replicate/extend my results next time I make a batch.

I served them with these, by the way. Best recipe for fries that I’ve seen!

Donations

Like my projects? I work on them in my spare time, and when I'm worrying about income, I have a lot less of that. Even a small donation means I have that much more time to make cool things for you to enjoy.