Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I have been looking at different jobs in the games industry and a lot of the jobs that I have seen advertised are for a "Tool Developer" position. I do not know what this actually is.

Could someone explain what this is to me please? And if anyone has any links to material that would help me understand it more then that would be very much appreciated.

share|improve this question

4 Answers 4

up vote 13 down vote accepted

A tools programming position is generally about being a force-multiplier for the rest of the development team. The exact nature of the work will of course vary widely from studio-to-studio, depending on the individualized needs of that company.

Primarily, however, you would be tasked with creating software that was going to be consumed by other developers within the studio, and the role of that software might be to:

  • author assets or content (levels, models, items, spells, whatever) for the game directly
  • act as a bridge between your studio's game or build pipeline and another content creation tools (for example, exporters for Maya).
  • be part of automated build processes that transform the source game assets into their final compiled forms for distribution with the retail game
  • assist developers in day-to-day boilerplate tasks, such as syncing to particular builds of the game or transitioning between branches

It's also important to note that in some studios this is considered an extremely entry-level position, because it ends up involving mostly thoughtless grunt work (moving buttons around on a UI for a designer, perhaps). In others, it's exactly the opposite, because it involves the care and feeding of mission-critical build and deployment pipelines for live shipping MMOs.

The range of responsibility and expectation is large (although really, this is true of almost any position in the industry), but the overall goal is usually the same: keep on the lookout for any bottlenecks in the organization, and then buy, build or retrain until you have optimized that bottleneck.

share|improve this answer
    
Excellent answer. –  Dennis May 20 '13 at 11:13

In short: Develop programs used by others to create something (i.e. tools).

A popular and easy example would be a level editor for a game.

But this could be a lot more behind the scenes, like some version tracking program, a bug tracker, forums, some checker to verify content is without mistakes, etc.

share|improve this answer

Scenario 1: Flash and AS3

Sometimes you need to create certain functionalities which will help yourself more in your game production pipeline . By 'tool' it means something that can help speed your development process.

For example Flash basically does not provide with perfect pixel collision detection. So you could either write one yourself or try googling whether some guy has done it earlier and put it up as opensource code. A collection of source codes in properly arranged folders will folders will benefit you in the long run. Something like your own library.

Scenario 2 Unity

Likewise you can use unityscript(unity version of javascript) or c# to write components, small small tools for example B Splines, Bezier curves. Things that does not come as default in unity. Either write one yourself or get one from out there in the internet. They come in free/paid versions.

share|improve this answer
1  
In my experience, a 'tools developer' is mostly hired for AAA studios, which you did not address at all in your 'scenarios'. –  Stephan van den Heuvel May 18 '13 at 2:25

A tools programmer is a specialized role, one that is becoming essential to production. You are essentially someone who looks at the pipeline used to create a game and find ways to optimise the process.

As a tools programmer for several triple-A games, I have done:

  • Create new editors, e.g. level, graph, and sound, for designers to use.
  • Extend, fix bugs, or add features to existing editors, e.g. in Unreal 3 and 4.
  • Writing scripts and plug-ins for Digital Content Creation (DCC) packages like Maya and Photoshop, e.g. animation import/export, content management, etc.
  • Source control (Perforce) integration into tools.
  • Modifying open source tools to fit into a pipeline.
  • Content verification.
  • Mastering the final game for consoles.
  • Build system and continuous integration.
  • Localization import and export tools.
  • Occasionally write new engine features and supporting tools.
  • Managed databases with billions of records, e.g. performance data.
  • Cloud computing/applications for back-end servers (AWS)
  • ... etc

In some studios, e.g. independent, it is expected that every programmer can write tools to help the production of the game.

There are a few links below to the IGDA Tools SIG and the Toolsmiths blog (International Game Developers - Tools Special Interest Group).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.