Archive for category development

Date: May 15th, 2017
Cate: development

On Benchmaking

My dad and I made a bench. Here’s the final result:

We started with a paper plan:

We cut a 2×4 to make the four legs:

The little slot in each leg was sliced out with a radial arm saw:

The legs and supports were joined with biscuits. We’re testing the fit here:

And here, a dry test to see if all pieces fit together:

The fit looked good. We applied wood glue, then attached clamps to keep everything in place as the glue dried. (The frame was slightly leaning to one side, so we also attached a clamp diagonally to push it the other way)

We joined the bottom support beam, again with biscuits and wood glue:

Here is the top of the bench. They’re a couple of 2×8 boards:

We glued the bench top together:

Then cut some biscuit slots into the bench top’s end pieces:

And glued the bench top’s end pieces on:

Finally, the bench top and the leg frame were connected together with a few lag screws:

And with that, it was done:

Et al

There’s a handful of steps I didn’t document, but this gives a rough overview of the bench’s construction.

As a kid, I grew up tinkering with scale models, kitbashing, woodworking, papercraft — anything that let me make a thing. My work is in video games — and I love it — but I can’t help sometimes missing that feeling of creating something physical you can hold in your hands.

Anyway, benches are great.

Date: November 9th, 2016
Cate: development
Enter your password to view comments.

Protected: No Quarter 2016: SpaceChat

This content is password protected. To view it please enter your password below:

Date: October 3rd, 2016
Cate: development, Quadrilateral Cowboy

Work archeology, Part 3

This entry is a continuation of Work Archeology, Part 2

For a quick recap on what source control is, please read Work Archeology, Part 1

Quadrilateral Cowboy

Now that Quadrilateral Cowboy has shipped, I thought it would be interesting to take a look at its source control patterns, from start to finish.


The graph tracks how many source control check-ins were made per month.


There are a lot of peaks and valleys. My best guess for the January peaks is because that’s the time I say “well, this is the year I’ll ship.”

The January 2014 peak is a perfect storm of Aaron Melcher doing Mac porting work at the same time as Tynan Wales and I were prototyping the multi-person heist systems.

Quadrilateral Cowboy’s release date was July 25, 2016.


The graph tracks the total amount of source control check-ins per day.


The weekdays are all consistent, with Wednesday in a marginal lead.

In the latter half of the development I became more adamant about not working on weekends. I’ll get into that later in this writeup.


The graph tracks how many source control check-ins were made per hour.


5:00 pm is apparently the hot-bed of my source control activity. Afternoons are generally when I’m most productive, and I suppose 5:00 pm is the end-point of that period.

My best explanation for the midnight spike is I used to have a tendency to want to wrap up a given task before the end of the day. Nowadays I don’t often do that, as I see a lot of value in hitting the ground running on a partially-completed task in the morning.

2012 vs. 2016: Weekly

Let’s compare how the weekly check-ins changed between the first year of development vs. the final year of development.

(Drag the white slider bar left and right to compare)

There are some noticeable changes. In the final year, I set firmer rules for myself regarding weekend work. Also, at the office I share, we do a Friday show and tell event, hence the Friday spike to jam in something juicy to show everyone.

2012 vs. 2016: Hourly

A comparison of hourly check-ins between the first year and final year of development.

(Drag the white slider bar left and right to compare)

In the first year of development (2012) I was basically burning at full-speed all day long, from roughly 9am to 11pm on a daily basis. I guess you get things done, but you also completely wreck yourself and end up becoming a human mess. Now that I think about it, perhaps this explains the erratic pattern on the green monthly chart above.

As development progressed, I hit a point where I decided to change how I carried myself.

The final year of development (2016) shows a bit of that. I made noon lunch into a rigid drop-everything routine. I began trying harder to maintain reasonable work hours, from about 9am to 6pm.

Though, there’s still that midnight spike. For the life of me I can’t figure that out, as I sure don’t recall doing many all-nighters recently. Shrug!


The great thing about these records is that they cost nothing to make (well — I took some time to write the visualizer program that crunches all this data, but whatever). It’s basically ‘free’ data about your own work habits and the history of your project.

In my case, contrasting where I am now to where I started is definitely a trip.

I hope this gives you some good ideas of ways to automate the tracking of your own habits and hours.

Date: January 2nd, 2015
Cate: development, Quadrilateral Cowboy

Blender Cables

My current project Quadrilateral Cowboy has a fair amount of dangly cables.


Here’s how I make them in Blender (I use version 2.49b):

  1. Create a cylinder.
    1. Vertices and Depth determine how detailed the cable will be.
    2. Deactivate: Cap Ends
  2. Rotate the cylinder to run along the X axis (the red line).
  3. Apply scale and rotation to the cylinder:
    1. Press: ctrl+a
    2. Select: Scale and Rotation to ObData
  4. Create a bezier curve.
    1. The bezier curve and the cylinder should both be at the same origin.
  5. Activate 3D on the bezier curve:
    1. Open the Editing panel (press F9).
    2. In the Curve and Surface area, click the button labeled 3D.
  6. Add a modifer to the cylinder: Array
    1. Change Fixed Count to Fit to Curve Length
    2. In ob, type your bezier curve’s name. (default: Curve)
  7. Add modifer to cylinder: Curve
    1. In ob, type in your bezier curve’s name. (default: Curve)
  8. Go nuts with the bezier curve:
    1. Select the last node on the bezier curve.
    2. Extrude the node. (press: e)
  9. Optional: bake the curve:
    1. Select the cylinder.
    2. Press: alt+c
    3. Select Delete Original
Date: July 29th, 2014
Cate: development, Thirty Flights of Loving

Gravity Bone / Thirty Flights of Loving entities

Here’s the entity definition file for Gravity Bone and Thirty Flights of Loving.

Sixty-four custom entities were made. Search the file for “GRAVITY BONE CUSTOM ENTITIES” to find these custom entities. There’s some sparse documentation but you might need to peek into TFOL’s source code to find details on how things work.

I used GTKRadiant 1.3.13 to make maps for GB & TFOL. For GTKRadiant to recognize the entity definition file, place the file into the Thirty Flights of Loving folder:

Click here to download the entities definition file (80 kb)

Date: January 27th, 2014
Cate: development, Quadrilateral Cowboy

Blendo TGA viewer

Quadrilateral Cowboy uses the TGA image format.

Unfortunately for me, Windows’ default image viewer doesn’t support TGAs. I looked online for a free lightweight image viewer, but it seems TGA isn’t a popular image format and/or my Google search skills aren’t that hot.

So, I made an image viewer for TGA files. If you need an image viewer that views one and only one image format, well, I got you covered.

Written in C# and uses the SFML library.

Blendo TGA viewer
Download: click me (500k)
Source code: click me (500k)

Date: November 11th, 2013
Cate: development, Quadrilateral Cowboy

Quadrilateral Cowboy scribblings

When I create art assets, it’s usually a four-step process:

– gather reference images.

– make a rough pen & paper sketch.

– make the thing.

– bang my head on the wall as I iterate upon the thing.


Here are some sketches from Quadrilateral Cowboy:


Date: October 30th, 2013
Cate: development

Work archeology, Part 2

This entry is a continuation of Work Archeology, Part 1

Atom Zombie Smasher

Here’s how the development of Atom Zombie Smasher fared.



The September spike is me implementing a sprawling metagame component to the game.

The October dip is when I learned my metagame was garbage.

The November spike is me working on the part that did work, the cityscape component.

Release: January 24












Quadrilateral Cowboy

Here’s how the development of Quadrilateral Cowboy is going so far.



The other three monthly graphs consist of one mountain hump. QC has been a rollercoaster of humps.






Unlike the other hourly graphs, QC is one smooth hump (with a dip for noontime lunch). I’ve been trying to do a better job at keeping more regular work hours, so it’s nice to see that reflected here.


Et al

You need momentum to reach a certain speed, and you need time to gain momentum. For me, that time seems to be 2-3pm, with Wednesday being the most productive day.

With that being said: when you have to choose between you and your work, choose yourself. It’s lovely to be productive, but probably not worth it once you’ve become a burnt-out husk of a human being.

In short: eat your lunch.


Continued in Work Archeology, Part 3

Date: October 28th, 2013
Cate: development

Work archeology, Part 1

I was interested in taking a peek into my working habits. One way of doing this is by analyzing source control logs.

What’s source control? Imagine you’re typing a term paper. You neurotically press ctrl+S to save every few seconds, because you never know when your computer might decide to burst into flames.

Source control is basically the equivalent of pressing ctrl+S on your entire game project. Two big benefits are:

  1. it gives me peace of mind knowing a backup exists on some remote server machine, and
  2. if I break the game (this happens a lot), I can do the equivalent of “undo” and revert my game project to a previous revision.


By taking a look into how often you check in (save) files, you get an estimate as to when and how often you’re working. We’ll start by taking a look into the first Blendo game that used source control, Flotilla.



To the right is my monthly check in tally for Flotilla’s development.

Release: February 27, 2010



Here’s the total check ins per day.

I busted my butt every day, with Sunday somehow being the most busy. I don’t recommend doing this.



Here’s the tally for total check ins per hour.

I got sleep. That’s good.

I worked all day long. That’s bad. Seriously, don’t do that.



Air Forte

I next made Air Forte. Here’s what Air Forte’s development ended up looking like.



I used new technology for Air Forte.

New technology is a wonderful thing and a terrifying red flag. New technology introduces a lot of unknowns, so I tried to scope Air Forte to be as manageable as possible. As a result of that scope, Air Forte’s development cycle was shorter than Flotilla’s.

Release: July 17, 2010



Sundays went from most-busy to least-busy (thank goodness).

Wednesday remains the most active weekday.



See that dip at the 12 PM hour? That’s me not working, and instead eating lunch. Always eat lunch.

Et al

I’ll next continue with log data from Atom Zombie Smasher and the in-progress Quadrilateral Cowboy.

To be continued, dear reader.

And for those interested in the visualization program that created these images: it’s a program I wrote using the C# binding of SFML. Here are the files:

Blendo SVN vis (binary)
Blendo SVN vis (source code)

To use it:
1. Go to TortoiseSVN > Show Log > Show All
2. Select everything (ctrl+a)
3. Right-click > Copy to Clipboard
4. Paste into a text file. Save the text file.
5. Run Blendo SVN vis. Select the text file.


Continued in Work Archeology, Part 2

Date: October 1st, 2013
Cate: development, Thirty Flights of Loving

Thirty Flights of Loving prototype

Back in 2008 when Gravity Bone was being made, it went through a number of prototypes. At some point or another the game had grappling hooks, hacking minigames, handgrenade trick throws, granular door opening, and other experimental/goofy stuff during in its development.

One of those prototypes played with the idea of cutting and editing. This prototype would eventually become Thirty Flights of Loving. There’s always a first draft, so here’s video footage of that 2008 prototype:

I have to admit the gun was included mostly because I wanted to see how well I could fake some depth-of-field effects. If I remember correctly, the gun model consists of a couple of quad planes.

The prototype dialogue makes me cringe. Hats off to anyone tackling dialogue systems and dialogue writing.

Et al

When I got around to working on Thirty Flights of Loving proper (2013), almost 5 years had passed since the original prototype’s creation. Stuffing a project into a drawer and returning back to it years later is a luxury. You’ll have taken an all-new perspective, gained months’ worth of brain percolation, and will have let go of some preciousness and preconceptions about the work-in-progress. The common adage is “kill your babies,” but I’d append to that: “and keep ’em in your drawer.”