Take the 2-minute tour ×

I am an aspiring tools developer currently in university. Normally I use both C++ and C# to and from but as my time at university is coming to an end, what language and technologies are worth focusing on? With tools I'm not only thinking simple data-file editors, but level editors and such as well.

I have tried searching in numerous places but generally I only find questions regarding what language or tools to use for game development. As I want to create the tools rather than use them, the answers don't necessarily apply.

Seeing as C++ still seems to be the language of choice in the gaming industry, is it also still the primary language for tools? If so, what UI and core libraries are most prominent? wxWidgets and stl/boost? Plain Win32?

Or - if C++ is being phased out in favor of "easier" languages like C# - is WinForms the right pick, or is the industry moving towards WPF? Maybe scaleform internally as well?

In short, is there anything I absolutely need to know to not be just an expensive chair heater?

share|improve this question
For what it's worth, all of the best tools I've seen are integrated into the game engine itself. This in turn necessitates using the language of the engine. Things like Chromium Embedded also allow using HTML/CSS/JavaScript for doing game tool UI in native tools. –  Sean Middleditch Mar 24 '12 at 19:45
add comment

1 Answer

up vote 6 down vote accepted


Yes, that you are asking the wrong kinds of questions. Technology and requirements will change and you will be required to adapt. Don't worry too much about learning the "proper" language or technology. Learn to think and to solve problems. At best you will be minimally competent when you graduate anyhow.

That said, there are no industry standards for this sort of thing. In my experience, C# is gaining quite a lot of ground within the industry for tools work. But there are still tools written in C++, in pure Win32, in WxWidgets or some other GUI framework. Just as with C# you'll have teams writing tools in Windows Forms, WPF, GUI toolkits built on those (such as DevExpress). Many times you will be interfacing with the extensive existing game-side APIs as well. You may be using Python or Dephi.

Working in tools provides a wealth of options, even more than working in the game-side code itself (which, as you note, is almost exclusively C or C++ these days). Certainly exposing yourself to a broad array of languages and technologies while you are in school is a good idea, but I would strongly urge you to do so because you are interested in that language or technology for its own sake rather than because you're guessing that it will be the "right" thing to know come job application time. It's actually surprisingly easy to tell in an interview if a candidate was exploring a technology because he or she had a passion for it, or if he or she was just doing it to stick it on a resume.

share|improve this answer
Thanks for the clear answer. I have a tendency to jump between languages and technologies quite often just out of curiosity and thought it was about time I stuck to one. I guess I'll stop worrying about that and just go with it. :) –  Johan Sköld Jan 22 '12 at 1:31
add comment

Your Answer


