dev life // dad life


Archive for the 'Game Dev' Category

Help me make my cool new video game, Scavengers!

Thursday, February 6th, 2014

Right now, Double Fine is asking everyone (including you) to vote on what games they make next. We call it “Amnesia Fortnight.” My game, Scavengers, is one of the contenders! I’ve made a video to let you know why it’s awesome:

There are TWENTY NINE great pitches. Double Fine has put SO much effort into these, and the big challenge now is getting the word out. If you could tweet, email, post to Facebook, or tell a friend about Scavengers and Amnesia Fortnight , it would help out a lot! Here’s a link to the Scavengers video (, and here’s one to the page with voting, all the pitches, and a funny video explaining the whole thing (

Voting costs a buck, and you’ll get whatever prototypes we make a few weeks from now. Last time we did this, the prototypes were so good we turned most of them into full games! But even if you’re not interested in voting or playing, getting the word out would do us a big favor.


P.S. If you’re a fan of Adventure Time, its creator Pendleton Ward is making a game with us, too. He’s very funny, and has made a few pitches of his own. Adventure Time looks a bit like this:


Free Game Design: Deck Chair Titanic

Sunday, October 2nd, 2011

Deck Chair Titanic is the exciting mobile puzzle game about rearranging deck chairs on the Titanic!

As the Titanic sinks, frantic passengers suddenly realize the folly of storing all those extra deck chairs in the life rafts. As they hurl the chairs out of the rafts, they slide across the deck of the ship, into the rafts on the other side!

It’s your job to match the chairs (only same-color chairs stack), then tilt your mobile phone to violently pitch the deck of the Titanic with an explosion. As they slide into lines, same-color matches disappear, while unmatched chairs fall into the rafts and take the place of poor, unfortunate children who are certain to die.


Wednesday, October 27th, 2010

So: I’m back at Double Fine!

This isn’t news to most of you, since I took the position a couple months ago. However, I hit the ground running, forgot to update my blog, and there’s been a bit of confusion.

I’m incredibly excited about what DF is doing right now. You’ve probably heard about their shift towards smaller games such as Costume Quest. It’s an amazing place to be right now– we get to be super creative, try on a lot of different roles, and see folks play our games a lot more often. I hope the model takes off, because I absolutely love what I’m working on right now.

Speaking of which, DF is hiring for a couple positions! :) They include a Senior Gameplay Programmer position on my team, and I honestly believe it’s a fantastic opportunity (that’s why I took the same position). Check ‘em out here:


Monday, March 8th, 2010

GDC 2010 has begun. Let’s meet!

Drop me a line if you want to hook up. I may hit the expo floor for a bit, but mostly I’ll be working during the days and meeting folks at night. I’ll be at the iPhone dev union party on Wednesday night, and it sounds like there’s another iPhone dev get-together on Thursday night, maybe at Thirsty Bear? I’m at a private gig on Friday, and probably other places as serendipity dictates.

(Does serendipity really “dictate”?)

MS Office: the Video Game

Saturday, January 23rd, 2010

I’ve made no secret that the thoughts I expressed on the SXSW Game Interface Lessons panel were strongly influenced by Dan Cook’s work on the subject.  Well, a lot of folks have done a lot of talking.  Websites like LinkedIn and Facebook have borrowed a lot of the easy incentives from video games, from progress bars to “completing the set” to leveling up.  But the tougher question for a while has been: how do you teach a deep, complicated application using these techniques?  Forget random endorphin bursts– how do you get some real work done using games?

Dan Cook writes that he and the folks at Office Labs have taken a big step: Ribbon Hero!  If you have Office 2007 or later, you can download it right now, and learn how to use the controversial new “ribbon” interface element.  I don’t own a copy, so I’m stuck reading CNet’s coverage– but if you do give it a shot, please let me know what you learn (and maybe invite me over).

Without having seen the add-on, I think that an experimental, Office Labs add-on is the right place for this work.  There’s a long way from “we think we could use progressive learning techniques in video games” to “we’ve discovered what really works”.  I’m very excited to see this work kick off, and hope to see further developments before long.

EDIT: OMG, it has Facebook integration.  If you are my FB friend, PLEASE spam me with your Ribbon Hero updates.  I promise I won’t ignore you like I do Mafia players.

The Greatest Gift of All: Calculords

Thursday, December 17th, 2009

The best gift this holiday season isn’t something material.  It isn’t something you can buy.  No, it’s a humble arrangement of ones and zeroes that collectively form the Calculords First Test.

Yes, together, I and a very special group of iPhone/iPod Touch owning Star Nerds can work together to create a very special Christmas miracle.  (Actually, more like a January miracle.  Or a February miracle, depending on AppStore approval time.)  What’s the miracle?  Why, the best math-based video game of all time.

If you’re interested in helping us test Calculords, and maybe giving us some feedback to make the game better, send me your email address, device type (Touch, 3G, 3GS, 1st Gen, etc.), and UDID.  We’d love to have your help, but there are a limited number of slots, so please don’t take it personally if we’re full up.

Happy holidays!  If you’re simply interested in hearing more about Calculords, just hang on until January.  We’ll be asking for your help spamming your friends before you know it.

What? GDC Happened?

Saturday, March 28th, 2009

I didn’t actually attend GDC this year.  My (indie-focused) highlights from the outside:

  • Cactus, an indie developer who sometimes cranks out several games in a week, talked about the four hour game design.
  • World of Goo co-creator Ron Carmel talked about going indie.  Slides available in this post, item #2.
  • Dan Cook bitches about the quality of a few of this year’s GDC talks.  (The selection process is quite strict, by the way– but of course, you can’t really know a talk’s quality before it’s written and delivered.)
  • Raph Koster notices that it’s all going digital distribution, casual, mobile, in-browser, everywhere away from the traditional pub->store model.
  • Zombies attack.
  • Sexpigeon happens across GDC:

    Sexpigeon notices GDC

    Who has come to town? It is game developers. They are shaped exactly like comedy writers: soft, pret-a-porter, aware of “how people dress” but amiss in the details. Girls in lycra, of all things, have been recruited to hand out energy drinks.

    (More on the development process, and a poetic note on video RAM.)

Word of the Day: Hysteresis

Thursday, March 5th, 2009

A system with hysteresis is a system whose output can’t be predicted simply by looking at its current inputs.  It has “path-dependence.”  If you want to know what its outputs are, you have to look at the history of its inputs.

Consider a non-hysteresis example first: your stereo’s volume.  If you turn the volume to 50%, it doesn’t matter if you’re turning it down from a higher volume, or up from a lower volume.  It’s going to set the volume to 50%, regardless.

A typical hysteresis example is a thermostat.  If you set your thermostat to 20 degrees, it doesn’t turn on the furnace at 19.9 and turn it off at 20.1.  Rather, it’ll turn on at 18, and then stay on up until 22.  So, if the temperature is 20 degrees, you can’t tell solely from that bit of information whether or not the furnace is on.  Rather, it depends on the history of the input– in this case, the temperature.

In games, we frequently use hysteresis when mapping analog input to digital output, in order to prevent small deviations in analog input from fluctuating rapidly between discrete states.  Like the thermostat, we do this with a “keep doing what you were doing” state.  It often boils down to a bit of code like this, from a blog entry by Shawn Hargreaves:

const float hysteresisAmount = 0.1;

if (inputValue > threshold + hysteresisAmount)
else if (inputValue < threshold - hysteresisAmount)

If you read the above-linked blog entry from Shawn, you’ll get a few good examples of hysteresis in games.  You’ve probably played games which have failed to exhibit hysteresis.  One I’ve seen far too many times: AI enemies keep running towards you, then running away, then towards you, then away.  Hey, AI, keep doing whatever you were doing!

For now, I’m interested in hysteresis associated with player input.  Shawn gave one example: if you push the analog stick just a little, you get the walk anim.  If you push it a lot, you get the run anim.  If the stick is in the middle, you don’t know if your character is walking or running, because we’ve built in a little “keep doing whatever you were doing” threshold in there.

That example is no longer applicable to modern games, which blend between the anims.  Are there other examples of hysteresis relating to player controls?  Where do we map analog player input to digital output?

One example is target selection in a third-person brawler.  Which guy do I attack, when I hold the stick towards a couple of close-together dudes?  The input here is the stick angle, and the output is the target.  Most games will “stick”  you to the same target once you’ve started beating him up, unless you press substantially far off from his angle.  The game cares about the history of the input: “did you start out pointing towards this guy, or that guy?  If your input is in that threshold zone, I’ll keep you pointed at the same guy.”  If games don’t do this, targeting will feel jittery, and your character will look stupid as he alters his facing rapidly between two competing targets.

One tricky part of discussing hysteresis is limiting the definition. Of course games exhibit path-dependent memory– if the order of your button-presses didn’t matter, it wouldn’t be a very interesting game!  So you need to define “system” very narrowly: “If I press this button, do I jump?”

Also, hysteresis describes path-dependence, not rate-dependence.  A good rule of thumb– without trying to get too far into the definition of hysteresis– is to ignore any phenomena that are dependent on time.  For example, if I press the jump button twice quickly, I’ll only jump once (because I’ll still be in midair).  That’s not hysteresis.  We want output that’s dependent on path.

Yikes!  I suppose that’s more than you ever wanted to know about hysteresis.  I’ve been trying to come up with more examples of hysteresis, especially related to player input.  Aside from targeting, I haven’t come up with much.  Let me know if anything springs to mind.

A Nitpick With AIAS Voting “Craft” Categories

Thursday, January 29th, 2009


Dear IGDA Member,

As part of the IGDA’s new partnership with the AIAS, you are eligible to vote in the Interactive Achievement Awards.

Do you have an opinion on the best story of the year?  Excellent.  Now, how about the best character performance of the year?  Not sure?  Let’s move on.   How about best sound editing?  Outstanding achievement in game direction?  (What?)

Don’t worry if you don’t have an opinion on all of them.  I mean, sure– you’re required to make a selection in each category, but there’s no reason you can’t just give Mortal Kombat the nod for outstanding achievement in story, adapted material.  Then again, I don’t know what the “Craft” category of the AIAS awards is, either, so I’m really just picking nits.

One Day iPhone app

Monday, January 12th, 2009

Noel Llopis is working in an iPhone game, and had the great idea of taking a bit off time off of it to create an iPhone app in one day– and then make it available in the App Store.  He’s written a concise start-to-finish account of the process.  Check it out if you’re considering iPhone dev (and if you don’t already subscribe to his feed).