Contents
Game Tools Tune-Up: Optimize Your Pipeline Through Usability
 
 
Printer-Friendly VersionPrinter-Friendly Version
 
Latest News
spacer View All spacer
 
March 17, 2010
 
Stardock's Wardell Details Impulse Reactor Specifics
 
Microsoft, Nintendo Successfully Defend Controller Patent Allegations
 
IGN Lays Off Staff In 'Every Part Of The Company' [1]
spacer
Latest Jobs
spacer View All     Post a Job     RSS spacer
 
March 17, 2010
 
Nihilistic Software
Senior Console Graphics Programmer
 
Visceral Games
Animator - Dead Space 2
 
Nihilistic Software
Experienced Console Gameplay Programmer
 
Red 5 Studios
Technical Artist
 
Red 5 Studios
Senior Network/Server Programmer
 
Meteor Games, LLC
Lead QA
 
Meteor Games, LLC
Game Designer
 
Telltale Games
Web Producer
spacer
Latest Features
spacer View All spacer
 
March 17, 2010
 
arrow Free To Play Games, Meet The Virtual IOU [12]
 
arrow NPD: Behind the Numbers, February 2010 [4]
 
arrow Your (Brief) Guide To GDC 2010 [4]
 
arrow Battlefield Logistics: A Bad Company 2 Interview [6]
 
arrow The State of Agile in the Game Industry [21]
 
arrow Persuasive Games: Shell Games [21]
 
arrow The State of the Nordic Development Scene [8]
 
arrow Careful, Capcom: Christian Svensson Speaks [10]
spacer
Latest Blogs
spacer View All     Post     RSS spacer
 
March 17, 2010
 
Fun Over Features
 
Three Rules to Balance By
 
[KOCCA] Korea Gaming Market 2009: Market Research
spacer
About
spacer News Director:
Leigh Alexander
Features Director:
Christian Nutt
Editor At Large:
Chris Remo
Advertising:
John 'Malik' Watson
Recruitment/Education:
Gina Gross
 
Feature Submissions
Features
  Game Tools Tune-Up: Optimize Your Pipeline Through Usability
by Dan Goodman
4 comments
Share RSS
 
 
May 6, 2009 Article Start Page 1 of 4 Next
 

[How do you perfect your custom-created game tools? Sega and LucasArts veteran and Robotic Arm Software founder Goodman discusses tips and tactics for methodology when you roll your own tools.]

In game development, it is often some of the most technical (programmers) making tools for the some of the least technical (everyone else). It's no wonder that many of those "least technical" struggle with the tools that are handed to them.

Advertisement

The tools themselves are designed by the people who understand the underlying systems, but not necessarily those who will be using them.

Usability determines how easy software is to use, how quickly the desired results can be achieved by its users and how error-free those results are. Techniques to test and improve usability have been successfully used in other types of software development, and are slowly making their way into ours.

There are probably tools in your pipeline that could benefit from usability techniques, but as a developer, you'll want to know which tools would benefit the most before investing in them.

In this article, I'll discuss how to find the bottlenecks holding up your production, measure the usability of your tools using proven techniques and streamline your entire development process.

Mapping the Pipeline

The first step to solve any problem is understanding what the problem is and why it's occurring. We need to know where in the development pipeline our process is being stalled. To do this, we must map the problem-space.

There are many ways to view the development pipeline. Some may view it as a checklist of assets and responsibilities, but this doesn't represent the dependencies between the developers.

Those dependencies create an environment where developers are wasting time waiting for someone else to finish a task, which requires managerial effort.

To understand these dependencies, it is more convenient to look at the pipeline as a graph showing workflow between various resources and what each produces. Consider the example workflow for character creation in the below figure.

In this illustration, the arrows point to the dependent task -- the task that depends on the one the arrow is coming from. So, modeling depends on character design, texturing and rigging depend on modeling, and so on.

This represents a very small, incomplete piece of a typical game development pipeline. Your actual pipeline will be much more complex, including more areas of development (level design, UI, gameplay programming, and so on), resources performing multiple processes, and multiple dependencies for a single task. The stages that hold up the development pipeline should be looked at for optimization through tool improvement, as well as other means.

Assuming that each phase of character development needs to be complete before continuing to the next, the first character could be fully implemented in 24 days. We get this by adding up the number of days in the longest pathway (the primary development pipeline), from character design to completion.

Texturing and effects are left out of the calculation, since their pathways diverge from the main, and the time for completing those pathways are less than or equivalent to the primary one.

Character Design + Modeling + Rigging + Animation + Behavior = 24 Days

That doesn't mean that it takes 24 calendar days to complete every character. This is an assembly line; four other characters are being worked on while the current one is being finished -- one at each stage in the pipeline. So how many calendar days does it take to complete a new character after the first? Exactly the time it takes for the longest stage -- 10 days.

Ten characters completed in just under six calendar months may sound great. Of course, if just the animation time were cut in half, we could double the character output by creating a new character every five days.

In any assembly line, efficiency is achieved by breaking down tasks into component parts so that every stage of manufacturing takes an equal amount of time. That's also the most efficient model for developing game assets.

Unfortunately, each stage in the pipeline requires unique skills, and it is often difficult to predict the exact timing for each stage. So, work backs up behind one developer, while another sits idly by waiting for the first one to finish.

There are many tactics for getting around this issue, all of which are employed by game companies in one extent or another. Managerial overhead and individual efficiency is often traded for development pipeline bandwidth.

Still, if efficiency can be increased in the areas of the pipeline that cause slowdown, pipeline bandwidth will also increase, with little overhead. One method for achieving this efficiency is through tool improvements.

 
Article Start Page 1 of 4 Next
 
Comments

James Hofmann
profile image
I think there are two sides to this. Not just in "can you make the pipeline more usable," but also, "what is the cost of adding more interface for this?"

The tools I have used at work often suffer greatly from missing features that I would have in a text editor - cut and paste, search+replace, etc. On the other hand, when I need a graphical representation, they are welcomed. So I work optimally when I can edit the parts that need the graphical representation in a tool, and then export it to a human-readable format to make large-scale changes. On the occasions where I can't do the latter, I waste hours of effort.

Luis Guimarães
profile image
I related this article with my game design objetives so much. I always think o games as entertainment tools, so game design shall take the same care as software design does. I have made a post on it some days ago...

http://www.gamasutra.com/blogs/LuisGuimares/20090503/1302/The_Game_Design_Labora
tory_Gameplay_Improvement__Providing_Useful_Gaming_Tools.php

ignace saenen
profile image
Great article. One specific advantage is that the model behind the tool will tend to become more coherent and complete, long before "everything needs to fit together". If the model is shared between tools and engine, modifications made to the engine at a later stage can map back directly to all data involved, and the exported data will not "miss" something.

One notorious example is the engine = editor approach used at CryTech, though there are serious considerations to be made when you go this route, especially when the engine in question is 1st generation or insufficiently stable. It will affect the whole tool-chain.

Robert Charney
profile image
I know that I'm a little slow in responding to this article, but since I have published a blog entry on my homepage today that references the article, I thought it appropriate. I recently created and published the website http://IndieGameTools.com that I hope will serve as a ranking tool for commercial game development tools. While I was putting the site together I did some research and used this article in my decision process for choosing criteria to rank game development tools. In particular the references to the System Usability Scale statements caught my attention. In the end I decided NOT to use them to rank tools.

I know that the article wasn't particularly about those questions/statements but they were offered as an example of things that a Usability test might incorporate. I came to realize that what I was creating was so far removed from the usability testing process that I couldn't use the statements. Skimming information from website visitors is so different from in-depth usability testing and the two methods solve different problems and offer different feedback on the value of a tool. Anyway, if you are interested in the approach that I have taken to evaluate game development tools then look at my blog entry here...
http://rcharney.com/?p=1584

Thanks for giving me so much food for thought!
Robc


none
 
Comment:
 


Submit Comment