Archive for category development

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.

Monthly

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

monthly

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.

Weekly

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

daily

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.

Hourly

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

hourly

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!

ET AL

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.

danglycable

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.
      bezier
  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)
      blender
  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:
baseq2/scripts

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:

concept_nov11_800x800

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.


azs_monthly

Monthly

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


azs_weekly

Weekly

 


azs_hourly

Hourly

 

 

 

 

 


 

Quadrilateral Cowboy

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


qc_monthly

Monthly

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


qc_weekly

Weekly

 


qc_hourly

Hourly

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.

Flotilla

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.

flotilla_monthly

Monthly

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

Release: February 27, 2010


flotilla_weekly

Weekly

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.


flotilla_hourly

Hourly

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.


airforte_monthly

Monthly

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


airforte_weekly

Weekly

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

Wednesday remains the most active weekday.


airforte_hourly

Hourly

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:

http://www.youtube.com/watch?v=jry0dhYBIZ4

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.”

Date: August 14th, 2013
Cate: development
1 msg

7DFPS: Photog

As mentioned in a previous post, I plunked out another multiplayer 7DFPS project. Here it is!

photog

What’s this?
The game is called Photog. I recorded a short video walkthrough of its main mechanic, where one player plays as a cameraman for a third-person shooter.

Basically, the cameraman needs to follow his/her teammates and provide them with good shooting angles.

Edit: here’s a video of Photog’s first playtest.

How many players are needed?
It’s designed for 4+ players. Each team consists of 1 cameraman and 1+ shooters.

What’s the combat like?
You’re armed with throwing axes. There are ammo pickups and health pickups.

You can’t attack while holding the camera.

How do I aim while in third-person?
There’ll be a giant crosshair dot in the world (blue or red, depending on your team). Move the mouse to aim.

What are the controls?
WASD moves you. Left-click throws an axe, or drops the camera if you’re the cameraman.

F1 switches teams. TAB shows the scoreboard.

I want to play.
Here ya go:

Download Photog v1.0 (5 MB)

Source code (9 MB)

Wait, are there any bugs or issues?
Yes.

Et al

The first commercial game I worked on was a third-person game, and one of the design goals was that the camera should simulate someone holding a camera. So, there was a some camera shake, some idle swaying, and jostling when your squad was running full-bore down a street. It was a great effect, and its third-person camera system in general was very well done.

Some of us designers thought it would be a hilarious gag if the camera was represented by a camera crew, and you’d catch glimpses of them under very rare circumstances. Some guy with a boom mic, a camera operator, a focus puller hanging out on the side. This was one of those ideas you prefaced with “wouldn’t it be amazing if…”, knowing full well that it’s completely unfeasible for a multitude of practical and production reasons.

So, Photog is me finally getting around to making this camera-crew game. Everyone has a ton of “wouldn’t it be amazing if…” ideas, and a game jam is the perfect place to play with them.