Sean Barton - Game Developer

Do Not - Sometimes the Better Option

16 July 2010

Hi there! This is an old post that may reference technology or views I now consider outdated - or maybe even a little embarrassing. Enjoy at your own risk.

Andy Hunt, easily my favorite programmer-type author, recently tweeted this bit of hard-earned wisdom:

The Yoda Methodology: “Do, or Do Not. There is no Try.” Note that “Do Not” is a perfectly valid, if underutilized, approach.

I love it. It’s a great methodology to keep in mind while creating software.

Yoda: Do or Do Not - There is no try.

Next month I’ll celebrate the 11th anniversary since I became a game developer. I’ve shipped 3 games in that time, with the fourth one coming this holiday season. That’s actually not too bad for this business - but it’s a good deal less than what I expected when I started all this.

It’s the nature of the beast, I guess, but looking back it has always amazed me that any game (or any piece of software, really) could have been completed in far less time and with much less money if we did a better job knowing what our priorities were early on – and if we had the ability to say “Do Not” more often.

I know of one studio, that, while making a third-person shooter, had put a lot of effort into adding lip-syncing to their game. It wasn’t a common feature for games back then but I think the justification for adding it went along the lines of, “Hey, wouldn’t that be cool?”

So they purchased some library and put a programmer and audio guy on it. First estimates put the task at two weeks. No big deal.

Experienced developers know where I’m going with this: It took months to get the feature in place, there was lingering bugs, and generating the content was a royal PITA for both the audio team and the animators. Plus, the lip-syncing was costing them in performance.

Worst of all, it wasn’t really needed. Remember this was a third-person shooter, so the avatar had his back to the camera nearly all the time, and other characters were too small on screen to make out such facial features. In fact, the only way QA could effective test lip-syncing was to activate the debug camera and zoom in close to a talking game character.

Talk about a nightmare. The feature was eventually cut just weeks before ship – much to the dismay of the people who did the work and were now fighting for just a little more time to finish the job.

And compare this experience to a once unknown developer who knew how to say “Do Not” to some cool ideas while creating what would become the best superhero game of all time.

Seanba

Hi! My name is Sean Barton (aka Seanba).

I’m an American-Canadian software developer working in Austin, Texas where I never have to shovel snow. :fire:

My career focuses exclusively on video game software and tools. You can read more about me here.


Aseprite2Unity

Aseprite2Unity imports sprites and animations for use with your Unity projects. Like all my tools it is available for free or name your price.

Get Aseprite2Unity.


SuperTiled2Unity

SuperTiled2Unity is a collection of Unity scripts that import Tiled Map Editor files to your Unity projects. You can download for free or name your price.

Get SuperTiled2Unity.

(Note that regular Tiled2Unity is now deprecated.) :zzz:


Seanba

Like my tools? Consider making a donation as a way of thanks!