informa
/
Blogs

Design Tool Programmers Have No Excuses Any More

It's so quick to add Perforce integration and Excel import/export to design tools that are used to tune large sets of data, there's really no excuse not to.

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!

 

Latest Jobs

Sucker Punch Productions

Bellevue, Washington
08.27.21
Combat Designer

Xbox Graphics

Redmond, Washington
08.27.21
Senior Software Engineer: GPU Compilers

Insomniac Games

Burbank, California
08.27.21
Systems Designer

Deep Silver Volition

Champaign, Illinois
08.27.21
Senior Environment Artist
More Jobs   

CONNECT WITH US

Register for a
Subscribe to
Follow us

Game Developer Account

Game Developer Newsletter

@gamedevdotcom

Register for a

Game Developer Account

Gain full access to resources (events, white paper, webinars, reports, etc)
Single sign-on to all Informa products

Register
Subscribe to

Game Developer Newsletter

Get daily Game Developer top stories every morning straight into your inbox

Subscribe
Follow us

@gamedevdotcom

Follow us @gamedevdotcom to stay up-to-date with the latest news & insider information about events & more