Which [programming language/audio software/whatever] should I learn to work in the video-games industry?My relationship with game development is, at best, second hand*, as, although I know people who have made it into the business, I am myself trying to open that door. So I explained which would be the answer for me and which was for those I know who are now developing video-games as a job. Afterwards, I made clear that the actual response, although dependant on many factors, is in the end always a personal choice. But I kept trying to find a better answer for the future.
As of late, I have also given some thought to the knapsack problem. In my mind both met and produced a (mostly irrelevant) revelation:
A career path towards any desired position can be represented as a variation of the knapsack, known in gaming circles as the most common and recognizable of RPG mechanics: "the Diablo inventory system".Only that, instead of weapons, potions, robes and scrolls, you store subjects studied, software mastered and projects finished. Each takes a certain space and time, and has an associated value of "usefulness" towards reaching the goal.
What is the equivalent of a seal? Beating John Romero at Quake? |
So, when trying to become a video-game developer, one must consider carefully what to put into the sack, taking into account which position one ultimately aspires to. All intermediate jobs required to reach the target are also equipment needed. On the other hand, positions not actually needed and people you know can ease your way up. Just like an Iron Scepter +4 can get you through an icy dungeon in a breeze, even if it does not exploit fire weakness.
But, despite the similarities, even RPG gamers used to almost optimally solving knapsack problems of considerable complexity (several stats, shifting circumstances, etc.), fail to put their experience to use when trying to break into the actual development business. Why is that?
First of all, nobody realizes they are facing that problem. In a game you know you need to sort your equipment because it is in front of your eyes. In real life you have to figure out there is a puzzle, to begin with. Most of us fail to see the actual nature of the problem because we usually think the Big Question has the One Answer. But no heavenly voice will ever reply "LEARN MAYA" or "REVIEW YOUR CALCULUS".
Second, in a game it is usually easy to compare two pieces of equipment. An Axe +40 +1D6 is usually preferred over a Dagger +3 +3D6, even if the dagger is twice as fast and takes 2 squares less in your inventory. But how do you decide if a course on Maya is more useful than studying algebra? Their respective values is established by those screening you for each position, and you might not get access to that information until much later in the adventure.
Thus, in the end, my first recommendation to anyone aspiring to work in the game industry (or any other thing, actually), be it as a programmer, artist, designer or whatever is, as I was once adviced:
- Estimate the value of each possible subject you can learn by checking out what is asked for in open positions you'd like to get (take them with a grain of salt, though, for they often describe ideal candidates).
- Draw a (mental?) graph of the positions and knowledge needed to fulfill those requests. This will be the equipment you want to get, and also when you want to own each piece. Basically, the guide to beating the game.
- Finally, start working on getting the stuff required for the first position, while working up your chances to get what is needed for the last and all in-between. Keep your long and short term objectives clear and with a little luck and patience you might make it.
However, you cannot discard the importance of tangential knowledge. Many jobs will require working in areas not linked to your interests, even more if you are not looking for a specialist position. In a small company, a person who can decently cover two or more areas is much more valuable than an ace in just one. Remember: clerics, with their healer/warrior abilities, are invaluable in small parties.
And also keep in mind that the industry is full of great talents and possibilities. As you proceed, always consider your chances of reaching your target, and the desirability of positions you had no idea existed. Dreams may not be that beautiful once you get to live them, and being able to find another interesting job in the same environment might be even more fullfilling. Think of it as sub-classing, and then giving more use to your second class than the first.
To end, I'll give a practical example:
In my case, I'd like to be a level & mechanics designer/programmer in a small or middle sized company. Requirements I've found around, and gross importance estimations, are: experience creating games (10), ability to analyze games (10), programming & patterns (8), maths (6).
Taken those estimations, I decided that I had to write my own games (game creation and programming), write reviews (analysis), review my maths and design lots of prototypes (experience). I am also removing the dust settled over my C++ skills, and learning a couple of scripting languages, because they are very common requirements. But I still remain faithful in the possibilities of C#/Mono as a promising asset for the future, so most of my projects are in XNA and Unity.
This blog is also part of the strategy to become a game programmer and designer, as I'll use it to post the reviews and games I write, and have something to show to recruiters. It is in my inventory, taking time from other tasks, but I consider it could be valuable enough for a future quest.
So, consider this advice, compare it to other options and aim for the best.
* Unless you want to work as a localization engineer, tester, producer, etc. I know a little bit more about that.
P.S.: As I wrote this post I became aware of the similarities of this approach to the cool-concept-of-the-moment of Gamification. Just so you don't start making presentations about it, it's not the same. Mainly because the knapsack is just an analogy, not a game mechanic used to motivate students. A similar concept, Skill trees, more kin to gamification, could be used in universities and such to make career paths clearer to students. I don't think it'd be that fruitful, beyond a mere informational standpoint, but that shouldn't keep anyone from trying.
Why didn't I pick that skateboard proficiency back in grade five?!? |
No comments:
Post a Comment