17
\$\begingroup\$

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.

\$\endgroup\$

4 Answers 4

21
\$\begingroup\$

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.

\$\endgroup\$
0
17
\$\begingroup\$

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.

\$\endgroup\$
6
\$\begingroup\$

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).

\$\endgroup\$
1
\$\begingroup\$

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.

\$\endgroup\$
1
  • 1
    \$\begingroup\$ In my experience, a 'tools developer' is mostly hired for AAA studios, which you did not address at all in your 'scenarios'. \$\endgroup\$ May 18, 2013 at 2:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .