Our Properties: Gamasutra GameCareerGuide IndieGames Indie Royale GDC IGF Game Developer Magazine GAO
My Message close
Latest News
spacer View All spacer
 
February 10, 2012
 
Analyst questions validity of unusual January NPD results [3]
 
DICE 2012: Blizzard's Pearce on World Of Warcraft's launch hangover
 
DICE 2012: Insomniac's Price on Quality Of Life, ditching the 'Loser' badge [2]
spacer
Latest Features
spacer View All spacer
 
February 10, 2012
 
arrow Principles of an Indie Game Bottom Feeder [16]
 
arrow Postmortem: CyberConnect 2's Solatorobo: Red the Hunter [1]
 
arrow Jerked Around by the Magic Circle - Clearing the Air Ten Years Later [39]
spacer
Latest Jobs
spacer View All     Post a Job     RSS spacer
 
February 10, 2012
 
Airtight Games
Art Director
 
Telltale Games
Core Technology - Senior Systems Engineer
 
High 5 Games
Technical Artist
 
XEOPlay Inc
Game Developer (Mobile)
 
Kabam
Lead Software Engineer - Flash
 
Kabam
Lead Software Engineer-Ruby
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 on Twitter Share on Facebook 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 Guimaraes
profile image
after gamedesign, workflow improvement is my most anjoyed talk :D


none
 
Comment:
 




 
UBM Techweb
Game Network
Game Developers Conference | GDC Europe | GDC Online | GDC China | Gamasutra | Game Developer Magazine | Game Advertising Online
Game Career Guide | Independent Games Festival | Indie Royale | IndieGames

Other UBM TechWeb Networks
Business Technology | Business Technology Events | Telecommunications & Communications Providers

Privacy Policy | Terms of Service | Contact Us | Copyright © UBM TechWeb, All Rights Reserved.