Sponsored By

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.

Borut Pfeifer, Blogger

May 27, 2009

3 Min Read

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!

 

Read more about:

2009Blogs

About the Author(s)

Borut Pfeifer

Blogger

Borut is a designer-programmer-writer-entrepreneur. After that he stopped adding hyphens. He cofounded and worked at White Knuckle Games until 2003, and since then has worked on Scarface at Radical Entertainment. He currently teaches in the game design program at the Vancouver Film School, and has a variety of articles published in industry publications such as the Game Programming Gems series and Secrets of the Games Business. He can be reached at [email protected].

Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like