Erin Hoffman's Inside JobInside Job: Tools of the TradeErin Hoffman's Inside Job - RSS 2.0
A challenge that is arguably sharpest when it comes to game development is the constantly shifting, advancing, growing nature of computer hardware and the software that we use to bend it to our creative will. There is no doubt that the tools of our trade directly influence both the quality of our output and the quality of the path we take toward delivering it. A good tool can mean the difference between consecutive late nights of problem tracking and a dinner at home with the family.
The Big Tools
When asked about tools used in their daily development lives, most developers turn immediately toward the Big Tools - major pieces of convoluted software that occupy the majority of their thought and, often, frustration. Graphics programming protocols, 3-D modeling software, massive middleware engines designed to solve All Our Problems. Maybe the tool is commonly accepted to be the best of its kind; maybe the platform we're developing for demands it; maybe our studio cut a deal with the tool provider and it's what we've got for the next five years, like it or not.
In order to focus the discussion away from these large, labyrinthine tools that have plenty of their own discussion groups, this column will address tools that impact the deepest 'slice' of developers - tools used to organize development on a daily basis, across all disciplines.
Whether for management or simple asset organization, production tools are simultaneously the most widely-impacting of all development tools - everyone uses them at some point in the process - and the most frequently resented. Something in the mindset of a person trained or interested in management loves a new tool, and switching tools mid-project in order to stay ahead of technology or harness some new development power is not uncommon. Precisely because top-level production tools impact across all disciplines, the pain of their implementation is often shared and amplified. Some, like Microsoft Project, seem to have such a high learning curve as to make their implementation a full and cumbersome endeavor all on its own.
It wasn't long ago that the concept of version control itself was a repulsive idea to developers; for some that revulsion persists today. As projects grew larger, version control became increasingly critical, costing hundreds of hours if underutilized or used improperly. Proper use of this simple but powerful tool - whether an open source variant like TortoiseSVN or the much more expensive Perforce - saves amazing amounts of development time and energy. These days, most software developers take its use as a matter of course, but as with most tools, a little extra education in its advanced use can go a long way.