Latest News
spacer View All spacer
 
November 22, 2009
 
Video Game Watchdog National Institute On Media And The Family Shutting Down [11]
 
Modern Warfare 2 Infinity Ward's 'Most Successful PC Version' Yet [14]
 
New Tech, Design Details Of Project Natal To Emerge At Gamefest In February
spacer
Latest Features
spacer View All spacer
 
November 22, 2009
 
arrow Upping The Craft: Susan O'Connor On Games Writing [6]
 
arrow Small Developers: Minimizing Risks in Large Productions - Part II [7]
 
arrow iPhone Piracy: The Inside Story [50]
spacer
Latest Jobs
spacer View All     Post a Job     RSS spacer
 
November 22, 2009
 
Trion Redwood City
Sr. Environment Artist
 
Trion Redwood City
Sr. Evnironment Modeler
 
Sucker Punch Productions
Network Programmer
 
Sucker Punch Productions
Texture Artist
 
Sucker Punch Productions
Character Artist
 
Sucker Punch Productions
3D Environment Artist
 
Crystal Dynamics
Sr. Level Designer
 
Sony Online Entertainment
Brand Manager
spacer
Blogs

  Design Tool Programmers Have No Excuses Any More
by Borut Pfeifer on 05/27/09 05:50:00 pm   Expert Blogs
2 comments
Share RSS
 
 
  Posted 05/27/09 05:50:00 pm
 

Design tuning tools have long suffered in their usability & workflow. We've finally reached a point where art tools & pipelines have common best practices, but design tools often languish for lack of attention.

Well, we live in 2009 folks. It just doesn't have to be that way anymore. The kind of tools I'm talking about are those that designers use to manipulate values related to game objects.

Even with only 10-20 variables per object, with many types of objects, you quickly have to tune thousands of variables. It can be quite time consuming to manage that kind of complexity. Making improvements to this kind of workflow can make a designer many, many times more productive.

For starters, C# provides anyone with a decent background in C++ a much easier, faster method of creating windows interfaces. I'm a big fan of using C++ whenever possible, because of my own expertise & speed in it, but I also remember the days of coding windows GUIs using the straight up Win32 API. We've come a long way, baby.

What takes the cake though is the ease with which you can add two major features to a design tool - Perforce integration and Excel import/export. Using open source and freely available modules, it's a snap. Best of all, if your design tools aren't going to be released, you don't even need to worry about any potential open source license issues.

P4.Net API - an API accesible through C# that allows you to create changelists, add files, submit them, etc. Your design data can get checked out of source control as soon as a designer starts making changes in the tool, then saved to disk automatically, and checked in at the push of a single button.

It may only save designers 30 seconds every time they change some data, but it's very quick to add (on the order of 25-50 lines of code), and it's 30 seconds *every time* they do that. Those seconds add up.

You can read more about the P4.Net here: http://p4dotnet.sourceforge.net/index.php/P4.Net_Overview

You can download source & binaries for it here: http://sourceforge.net/project/showfiles.php?group_id=201498

ExcelPackage API - Even if you have a sweet user interface for tuning a single object, sliders and knobs galore, it's very useful to see the data for all objects all together in a different format. Instead of tuning one object to perfection, you can balance multiple objects against each other.

Designers often ask for this type of functionality - if they're not ignored, the data is often just spit out in a text file that can then be loaded into Excel with no formatting. But with ExcelPackage, it takes practically no more time to save out a nicely formmated .xlsx complete with cell styles and multiple worksheets (which you couldn't have done just exporting to text).

Excel Package allows you to create worksheets, add cell data and formulas, format cell styles, and save them. Then a designer can compare values in Excel, tweak them as they see fit to balance together, and then you can import the data back in. For large sets of data, this can be a huge workflow boost.

You can read more about ExcelPackage here: http://www.codeplex.com/ExcelPackage/

You can download the binaries and source for it here: http://excelpackage.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=1456

It's worth mentioning that using worksheet styles does take a small trick (detailed here: http://excelpackage.codeplex.com/Thread/View.aspx?ThreadId=27432). Take a worksheet that uses all the styles you need, save out the .xlsx, and add a .zip extention (eg. Styles.xlsx.zip).

Open up the zip file and find the styles.xml file under the xl folder. Save that somewhere and then after you create the ExcelPackage object in code, call excelPackageVariable.Workbook.StylesXml.Load(filename). Now you can refer to styles in code by the names you used when creating them in Excel.

Within a matter of hours, using your design tools can be that much easier. No excuses!

 

 
 
Comments

Dave Mark
profile image
Amen to Excel. That comes in especially handy when it isn't just values that you are tuning, but response curves. You can use Excel's graphing to visualize your tweaks and tests on the range of values. Additionally, if you are layering multiple response curves, it is simple to put together formulas and graphs that show the possible combinatorial effects of the entire system. To then be able to import these numbers as data rather than re-entering them somewhere else is a significant savings.

Luis Guimarães
profile image
after gamedesign, workflow improvement is my most anjoyed talk :D


none
 
Comment:
 


Submit Comment