
Ask HN: I want to be a game developer. What should I do? - javadyan
I'm 22. I have a bachelor's degree in CS and slightly more than three years of professional experience. None of my previous experience involved game development or even computer graphics, but I really want to work as a game developer because I'm carrying a big love for computer games through my entire life. It began with "Bobby is Going Home" on Atari 2600. Then there were the NES games that shaped my childhood: Flying Warriors, Mario, the various versions of Contra, Mighty Final Fight... And finally, there was the PC with Commander Keen, Duke Nukem, Doom, Quake and the Half-Life series, which I consider the best FPS game ever.<p>I have always admired games and the technology that makes them tick, but never had the chance to work on a real game because where I'm from there are simply no game studios.<p>But I have recently moved to the US. There are much more opportunities here, but the problem is that I lack the experience necessary for a game developer. In my understanding, modern games are very complex and it would be extremely difficult for a person with no previous experience in this area to just jump in and start working on them.<p>So, my question is, what should I do to qualify for a software engineering job in game development? What do I need to learn? And another thing - if you are an engineer at Valve reading this, what would I need to show you to get a job at the company?<p>A little bit on my background, if it helps: I'm a C++ guy, I do know C and can write low-level or system-level code if necessary. Understanding of linear algebra is present. I did work on some simple games in my spare time, but a) there was little spare time between my day job and my studies, so the games had to be really simple b) they all look like shit because I'm no artist.
======
replax
I agree with the suggestions already given.

Just to throw another idea out there, a further alternative would be to
work/look at open-source games. Technology wise you are definitely in the
correct direction, most common languages in game dev are C++ and various
scripting languages (from my experience).

I have no idea how much time you have or what sort of stuff you want to do in
games (e.g. graphic/sound engine, networking, ai...) but since you mentioned
FPS games, you could look into Xonotic. It is a fast FPS game, open-source and
based on a heavily improved Quake3 engine.

That might give you a better idea of what components make a game and you will
not have to worry about artworks etc. if you want to contribute/fork.

But I figure, while contributing to open-source will help you understand games
better, it will not get you hired without networking I think. You can also
check out the SIGGRAPH convention presentations, lots of interesting, although
maybe too specialised, stuff there.

------
seagaia
I have no idea how important thorough knowledge of game design is at a bigger
company where you'd likely be working on something small. For smaller
experience with games there's a bunch of frameworks - Flixel, Flashpunk,
Unity, etc...that might be a start?

I'm interested in this question as well I suppose, so upvoted.

------
dustingetz
check out the forums at gamedev.net, this topic gets covered all the time.

------
PythonDeveloper
"Game Developer" is a misnomer. There are _many_ jobs to be done in the "game
development" arena, and most are not development of the game. Just to name a
few, you have:

>> tools devs, who build the tools needed to manage the game environment;

>> server devs, for those games with a multiplayer component'

>> network stack devs, because that piece of code must be bulletproof and
FFFFFAAAASSTTT!; and

>> AI devs, to guide the NPC's to their prey...;

Gone are the days of Epic's Sweeney and ID's Carmack, guys who would sit and
write an engine in a week. Valve-type games are now million-dollar budget epic
sagas. That said, there's nothing wrong with Plants Vs. Zombies... or Angry
Birds... they've both made millions.

You need to decide what parts of the process appeal to you, and focus on
those. Or, you could write a game, from the ground up, and spend a few months
to a year cutting your teeth to learn how it works.

Then, there's always an internship if you feel you can afford a few months
working for nothing to get your foot in the door.

If it were ME, and it has been (I sold my game company back in '94 for a
pittance), I'd spec out a simple game, write it, add a network component,
write it, and get some friends to test it in play to see how it goes. You
don't even need cool graphics to start... those can be added later if you
design it correctly.

Good Luck!

