Slashdot Mirror


Best Education Path To Learn Video Game Programming?

Proudrooster writes "Fellow Slashdotters, I have transitioned to teaching and my students have asked me what is the best path to take to work in the video game programming industry. Which would be of more benefit: pursing a Computer Science degree or taking an accelerated program like those at FullSail? I have a CS degree, and suspect that the CS degree would be of more benefit in the long run, but I would like anyone in the industry to share their wisdom and experience with my students trying to follow in your footsteps. If you could recommend some programs in your replies it would be appreciated." A couple other questions that might help those students: what non-academic methods would you recommend to students looking for a career in the games industry? What projects and tools are good starting points for learning the ropes?

29 of 240 comments (clear)

  1. The first thing you need... by sgbett · · Score: 5, Insightful

    ...is a degree in living on bread and water from what I hear!

    --
    Invaders must die
    1. Re:The first thing you need... by rainmouse · · Score: 5, Informative

      Depends what area they want to work as. If its the code monkeys then its a strict diet of c++, trigonometry, matrices and physics.
      For a modeller they need to be making an awful lot of organic models, both low and high poly counts if they want to impress any companies. Blender is a great free tool to get them started on this and the alternatives such as Autodesk 3d max are generally only reachable by pirates, the rich and the corporates. Remind them that for a port folio to put their very most impressive work on the first frame or page because that's often all that is looked at.
      For audio engineers get them coding in synths in c++ and editing / recording wavefiles and encourage them to learn a good lump of sound engineering as well, there are many books on the subject. Remind audio engineers that vacancies in this field are few and far between and sadly the jobs often go to some managements totally unqualified mate because he was once in a band and they smoked hash together in college.

      Most importantly get them learning these skills by making mods or their own games which is essential if they want to have any decent work to wave under the nose of an employer or have a basic idea how to start up a company for themselves.

    2. Re:The first thing you need... by MobileTatsu-NJG · · Score: 5, Informative

      Blender is a great free tool to get them started on this and the alternatives such as Autodesk 3d max are generally only reachable by pirates, the rich and the corporates.

      Uh, no, guide them into using the software they'll be expected to use at the studio they wish to work at. Virtually all of them offer student pricing. Some places will let you in if you model in a different app (I've had it happen myself), but it's a much steeper uphill battle. You pretty much have to have made a name for yourself before anybody'll extend you the credit you'd need make up for the lack of experience with the package. The money you'll lose by having to accept lower pay or by going through un-paid training will easily exceed the ~$400 you'd spend.

      I don't disagree with your whole post, just this one comment. :)

      Remind them that for a port folio to put their very most impressive work on the first frame or page because that's often all that is looked at.

      This is so spot on I wanted to make sure it was mentioned a second time. I also wanted to add one little bit: Don't show crap work to make your reel seem longer. Nobody's looking at the length of your reel to get a feel for how long you've been working. They are, however, looking for potential ... areas of improvement... you might have, and that will affect your value. You're being graded not just on what you show, but what you choose to show. The reason for that is you have the same interaction with your clients. I've worked with guys who have set directors into orbit because they showed something far too early to be seen. (Actually I'm guilty of it myself, it's sooooo tempting to prove you've started on something but they often don't understand the concept of 'filling in the canvas'...)

      --

      "I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)

    3. Re:The first thing you need... by cappp · · Score: 3, Informative
      Have a look at the big guys' recruitment pages and click through to all the game specific roles. There's EA and Activision to start with, and a bunch of smaller places around - check the listings on the most recent metacritic game reviews to find company names if you're drawing a blank. The job-ads are going to give you a far better idea than most of what we can come up with.

      I clicked through to a random Bioware position and they were asking for

      Master’s degree in Computer Science, Computer Engineering, Mathematics, Physics, or related field. In the alternative, we will accept a Bachelor’s Degree in Computer Science, Computer Engineering, Mathematics, Physics, or related field, plus five years of progressive post-baccalaureate experience in the job offered, or as Software Develope

      as well as a variety of random experience and specific programming knowledge.

      So it's a little of column A and a little of column B really - portfolio and degree combined.

    4. Re:The first thing you need... by dcollins · · Score: 4, Informative

      Disagree. Worked several game jobs and have many friends in the industry. Pay for programmers is fairly high. But you'll be working ~100 hour weeks for it. So on an hourly basis (and more generally, life-commitment), it's fairly low compensation.

      --
      We know where leadership by an anti-intellectual "strongman" who scapegoats minorities and likes boisterous rallies goes
    5. Re:The first thing you need... by lowrydr310 · · Score: 3, Interesting

      From what I've heard from the people in the industry that I know (not many, admittedly), working for one of the big game development companies is the opposite of fun. Low salaries, boring projects, long hours, and abusive management are considered normal. The smaller companies generally provide a much better working environment.

      I have a handful of friends who work at one of the big name developers. This is exactly the case. This is only a guess, but it's probably because of supply and demand. There are so many people who want to work in the industry that many are willing to accept long hours, low salaries, and abusive management. If you don't accept these terms, someone else gladly will.

      Now I also have a bunch of friends who work for a flash game developer (think facebook games); it's a much different there than it is that console/PC game studios. They work long hours, but they all have fun doing it and they get paid very well.

  2. Oh boy by DurendalMac · · Score: 5, Informative

    Teach them that unless you're working for a good indie studio, game development is a great way to have your soul crushed into little pebbles of shit.

    1. Re:Oh boy by zwei2stein · · Score: 5, Insightful

      In fact, if you really like developing games, you ought to take 8/5 corporate soul-crushing job (that will crush your soul much, much less) and just make games in your spare time (or at work during downtime) for fun.

      Being full-time game devs is not any more glorious than producing yet another client address screen. It is easy to get excited by stuff like playing throught HL2 episodes with commentary on or by reading blog of some lead dev/indie dev/wanabee-dev-smartass, but kids should realize that they are not going to be the ones making interesting decidions and artfully crafting game but peons building someone elses vision under incredible time constraint. Each company only needs few people who say "At this point, we will add x to enforce dramatic tension.". Becoming one of them is unlikely.

      --
      -- Technology for the sake of technology is as pathetic as eschewing technology because it's technology.
    2. Re:Oh boy by UnknownSoldier · · Score: 4, Informative

      > One person can't design an original game, it just isn't humanly possible.

      Uh, did you miss the WHOLE gaming scene in the '70s and '80s? i.e. http://en.wikipedia.org/wiki/Jordan_Mechner of Karateka fame.

      Having shipped multiple professional game titles on various consoles/PC, worked with some very talented designers, and met Jenova Chen, I *strongly* disagree.

      Rare, yes, impossible, no. (Granted it is becoming harder, but indies keep showing the "the biz" just what is "possible", aka "World of Goo.")

      --
        Educate comes from Latin 'educere' -- meaning to draw out, not "fill up with useless facts"
          - Michaelangel007, 2005

    3. Re:Oh boy by Steauengeglase · · Score: 4, Interesting

      I think the guy who did Minecraft would like to speak with both of you. You don't need a cast of thousands, just a product that sells. See Xanga for more info.

  3. Lie to them by IICV · · Score: 5, Insightful

    Seriously, lie to the little suckers. If they're asking about what the best way to become a video game programmer is, they probably haven't actually done anything besides play video games. Lie to them and tell them that a full CS degree is the only way to go, because if nothing else it gets their ass in college at which point hopefully the cluebat will strike and they'll figure out what they really want to do.

    The ones who are actually going to become good game devs are already making maps, mods, skins or even full-on games with their pirated version of Creative Suite 5.7.whatever, so you don't need to worry about them.

    1. Re:Lie to them by Pharmboy · · Score: 4, Insightful

      I've had TWO teen boys at different times ask me the very question "What do I need to do to get into game programming?" and my answer was simple:

      You don't. If that is what you *really* wanted to do, you would already be skinning and modding, but instead you are playing games 24/7.

      The problem is that they think it would "be fun", kinda of like playing games, but with more control. I did point the older (17) boy to the Steam SDK, which was free since he had a source game, and told him to dig in using the free tools. That lasted less than the time to download the tools. Two years prior, he had decided he wanted to get a job as a "video game tester".... Yea, I know.

      --
      Tequila: It's not just for breakfast anymore!
    2. Re:Lie to them by rgbatduke · · Score: 3, Insightful

      Indeed. To my fairly extensive experience, remarkably few uberhacker-level coders became coders by means of getting a degree in CS of any sort. Almost none of them, actually. I am a physicist, but I teach periodic independent study students how to program in C because nowadays CS departments only teach (crap like) java or C++ -- great to prepare a student to be a corporate clone, not so good for learning how to work close to the metal. I sometimes teach 3rd year CS students who still don't know what a pointer is or how to use malloc or manipulate structs. But with only one, maybe two exceptions, my best students over years have not been CS majors (and the ones that were were smart as hell and did CS not to learn to "program" but to learn about algorithms, assembler, microcode, and systems programming, and maybe to increase their marketability a bit in the process).

      Real coders, on the other hand, tend to be born, not made. They learn on their own, usually in apprenticeship with either a specific guru/mentor or (nowadays) with the support of internet-based social networking with distributed guru-level mentoring. In most of the cases I know of personally the potentially "brilliant" programmers taught themselves how to program after taking a single course, maybe two, where they learned just how cool it is to build machines out of words. Sometimes they did this in a terrible language with terrible habits, but by staying up and working on their own projects until 3 am at the expense of sleep and personal hygiene for several years they become immersed in the coder "culture". When I teach one of these guys, it is mostly to beat good habits into them, teach them how to toplevel organize large bodies of code (not perfectly, but better than they have been doing:-), how to use make and unix toolsets if they've been doing all of their hacking in a gui-driven ide that hides all of the guts of the OS and low level interface from them, convince them that not to comment their code is to die either at my hands or at their own when they try to figure out their own code a year from now, how to use svn. Oh and sure, how to code in C, but they ALREADY know how to code, usually in two or three languages (sometimes including C++) -- it's more like "topics in C", making them (finally) learn about pointers and so on.

      Some of them are indeed interested in gaming, but all of them are interested in being entrepreneurs. They like hacking on their own shit. All they want is (eventually) a clear pathway towards making a living at it (or getting rich) without having to work for a soul-sucker. It isn't the 80 hours a week that daunts them -- they would LOVE to spend this kind of time on something really cool. Its doing what they are told, working on boring stuff, doing something they think is stupid, not being able to be creative in their work.

      So yeah, its a rough pathway to success, but the ones that succeed (and some of them do, at least according to legend:-) still do make four or five million by the time they are 25, usually by getting together with three or four like minded friends and as you say, build a game just because they can and then have enough marketing savvy to actually publish it and make money (until they get bought out or come up with a best-seller and make the big time). That's how at least some companies originally got onto the scene, isn't it?

      The open source software process that has been so good at producing toplevel systems such as linux (driven almost entirely by these independent types) has alas not been kind to the would-be game programmer because it is so very hard to SELL games there, and games are way too difficult to produce and maintain without any derived income in the long run. That could still change. One day blizzard might realize that they could GIVE away a linux-native version of WoW (and dump the emulator or VM layers that currently add hassle and cost speed when using it on a primary linux platform, which I did for years until I finally kicked the e-co

      --
      Even when the experts all agree, they may well be mistaken. --- Bertrand Russell.
  4. 1st of all: Join the modding community. by Qbertino · · Score: 4, Insightful

    First of all: Join the modding community. Find a mod that is in active develpoment and that you like and join the team. See what you like most on the project and if you tend more to the programming or the designing side.

    Depending on that you have various options: Joining a special course in Game Developement, Animation, etc. like Full Sail or the likes if you're a Designer type. Or regular CS with a focus on Application Development if you are the programmer type.

    Anyway you do it, joining the modding community is a must before anything else.

    --
    We suffer more in our imagination than in reality. - Seneca
  5. Why? by Aceticon · · Score: 4, Insightful

    I was under the impression that the consensus here is that video games programming was, at least in the mainstream industry, an extreme sweatshop, slave-like, gaming-enjoyment destroying kind of IT job...

    Sure, do it for fun (who doesn't) but joining the industry is a bad idea.

    Maybe u should first do your due diligence and warn them about it!?

    1. Re:Why? by xtracto · · Score: 3, Interesting

      THIS.

      Back in the day (around 1992, the time of MK, Wolf3d, UltimaVII, etc.) when I was 10 years old I wanted to be a game developer with all my heart.

      I knew also wanted to be into computer programming, and knew how to program in GWBASIC. I made my own very simple games while learning C/C++.

      Fast forward to Univesrity, I gladly chose Comp. Sci. course but, after reading a lot (I used to buy the GameDev magazine which was overpriced in Mexico) about the state of the videogame development industry (it is like the American dream... you can be reaaaally successful [like John Carmack, etc] but the 99% of people will get miserable jobs) I chose to do something else.

      Nowadays I do computer models and simulations (similar in some ways to the part of games I liked) for research (I've got my PhD in Comp. Sci) AND I develop homebrew games in my spare time (I'm right now into DS Homebrew).

      This path has ensured me that I still have fun developing games and I earn money doing something that pays pretty well, allows me to travel (right now living in Germany!, last week visited Czech Republic!) and I am quite free with my working time :)

      --
      Ubuntu is an African word meaning 'I can't configure Debian'
  6. Tell them to research what it entails by Cidolfas · · Score: 4, Interesting

    From what I understand of the games/gaming industry, programmers have a short lifespan and are easily replaced without pay at a major studio. If they really want to make games, tell them to start making games ASAP, and ask them if they think they can do that 80 hours a week! If they do, then it's a tossup: the DigiPen and FullSail programs give them focused experience (note: hiring managers are reported to not care that they went to gaming schools), while a CS degree gives them career flexibilty.

    Personally, I'd sit them down and ask why they want to make games, and if it doesn't sound like they want to because of a desire to be clever with object inheretence or design complex AIs, encourage them to take storywriting or point them to a program like my Alma Matter (UT Dallas)'s Arts and Technologies (ATEC) program, where they can help a kid develop art and storytelling skills and give him experience making projects of all kinds in fields. From there he can work his way into industry the old fashioned way: tons of unpaid hard work for the love of it, perhaps with eventual success by getting hired. Being a CS gaming guru is great if you're interested in writing a network stack for a multiplayer game or increasing the engine's efficiency with DirectX, but most kids who want to get into games aren't thinking about those jobs.

    Being unemployed (B.S. in Chemistry, likely going back to Grad School in one of a few fields next year if anybody in Texas is hiring and reads this. Also capable in IT and PHP development.) I've got some time to think about this myself, and I think I might try to make an indie game working with an artist friend of mine. If that works out, then I might try and make it work as a career, but from what I've read working ANY job in the gaming industry requires loving the medium and loving making things more than any love of money or sleep (unless you're a publisher, accountant, or HR, then I hear it's a better work environment with similar pay to other positions). In fact, that goes for doing anything creative in today's society. Encourage your kids to take a serious look at what they want in life and if the reality of the gaming industry fits it.

    And, when they don't do that, point them to CS. If they hate it, they'll have the math for almost anything else in college so they don't lose a year.

    --
    I am become /dev/null, destroyer of data.
  7. ObAbstruseGoose by tommituura · · Score: 4, Interesting

    Show them this: Rite of passage, and you'll save them some pain, at least.

    On the more serious side, tell them to simply get cracking with maps, mods, skins, simple game programming (like asteroids/minesweeper/etc), scripting, etc.

  8. Bad idea by Undead+Waffle · · Score: 3, Informative

    A huge amount of kids go into college for a CS degree planning to make games when they graduate. At some point in their education they realize it's a shitty industry to be in and hopefully they're good enough at CS in general to get some other sort of CS job. Sending them into some sort of specialized game programming program is a horrible idea because when reality sets in they won't have somewhere else to go.

    Besides, the only way to stand out is to actually do modding and stuff in your free time. The ones who are dedicated enough will do this regardless of what major or college they end up in.

  9. Welp by MobileTatsu-NJG · · Score: 3, Insightful

    Which would be of more benefit: pursing a Computer Science degree or taking an accelerated program like those at FullSail?

    I have worked with several artists (and one programmer) from Full Sail on several movies. They are all gifted, talented, and easily employable peeps. I think these people speak very highly for that school. However, I do feel that these are the crem-de-la-crem. I never, for example, met the wash-outs. Whatever students you send that way will need to step up and kick ass. They get hired because we call the school and say "send us your best!"

    The reason I mention this is that I think it's more important that the right expectations are set than it is to pick which direction to go. You might get some info that suggests a fairly noticeable change in pay going in one direction vs. another, but it's all for naught if they don't treat it like an extended job interview. I have heard some terrible stories about students paying >$25,000 only to storm off on one of their projects because another student was acting like a tool. None of those stories ended with "he's in Hollywood now!"
        I imagine the path down a CS degree is similar, but I haven't heard of cases where impressing the instructor was more important than getting that piece of paper. This is, of course, something I wouldn't want to speak authoritatively about.

    I realize that you're looking at the long-term return on the education, but I think that depends too much on the student. If they're insatiably curious, I'd nudge them down the Full Sail route. If they're not, well I'm not saying they should go the CS route, but I would say that they'll have to get the requisite knowledge spoon-fed to them and they'd need to go down a path that'd make that happen.

    --

    "I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)

  10. Tell them three things by Sycraft-fu · · Score: 5, Interesting

    1) University is a theoretical institution. It will NOT teach you have to be a game developer. That is a practical skill that you learn as you do it. What Computer Science gets you is theoretical foundations of how computers, and programming, works. It teaches you some deep background that can help you be a much better programmer. You can draw an analogy to electrical engineering in that they don't teach you have to make flying robots or the like, what they teach you is the electronics theory so that you can understand how the parts in a flying robot might work.

    2) Don't decide you want to be a game programmer. Be a programmer, see where that leads. All work is work, it isn't going to be play, that includes game development. Just because you are making a game doesn't mean you'll have any more fun doing it than making a website backend or something. Learn to program, try out different kinds of programming, see what works for you. Don't limit your job options because you want to be a "Game programmer." If you find a game company that you'd like to work for and their project looks like the kind of thing you'd like to write, great take the job. However don't say "No I'm only going to do game development." As a practical matter there's more crossover than you think. Game development isn't all engine, or often even much engine. Look at Civ 5. They bought their engine (Gamebryo) and only had to modify it. However someone sat down and implemented a first rate XML and Lua parser, that interfaces with a SQL backend. Gee, sound a little like web or database development? Guess what? Same kind of thing except here it parses information on game resources.

    3) Understand that game PROGRAMMING is not game DESIGN. Pick up the manual for a game some time. You'll notice that in addition to programmers there are directors, designers, artists, animators, writers, producers and so on. They are all pieces of the process that is game design, they all do their own part. The lead developer? Didn't design the game, unless he is also the lead designer. Even the lead designer didn't do it all, probably didn't have complete creative control. So be real clear on what part of the game process you want to work on. If design is your thing then programming is probably not. I'm not saying don't take some programming classes, you should understand how computers think at a basic level, but I'd say writing courses would be far more important. As a designer you have to put together something that will be fun to play, manage the structure and balance, not implement the code.

    I think too many kids get obsessed with game development as the one and only career they'd want as a programmer. That is not a good thing. It is never good to limit yourself to only one particular kind of career in a wide specialty. No matter what you do, there are parts of work that don't change: Meetings, deadlines, assholes, problems, etc. More important to like what you do and who you work for/with than to be concerned with the final product. You might find that programming a high performance audio application (like say a sampler like Native Instruments Kontakt) just as challenging and interesting as programming a high performance game engine.

    Don't think that because games are fun work with them will be fun. It can be, but not because of the games.

    Also be aware that working in something can ruin it for you. Doesn't happen for everyone, but it can for some. Know yourself, and know if this is the case. I am one of those people. There was a time when I really toyed with my system. I overclocked it, I tinkered with it, it was a "geek computer." No longer. I build it myself, but out of parts designed for stability. I use Intel motherboards, that won't overclock even if asked. I throw money at problems, rather than time. Why? Because my profession is computer support. I spend all day troubleshooting computer problems of various sorts, I've no patience for it at home. It isn't fun anymore. I'm not saying I hate my job, far from it, I do what I want to do and I rather enjoy it. However it removed the fun. It is work now.

  11. Comment removed by account_deleted · · Score: 3, Funny

    Comment removed based on user account deletion

  12. Roman warships by PietjeJantje · · Score: 3, Funny

    The best way to prepare for the video game industry is to work as a slave rower on a Roman warship.

  13. Always Look at Job Lifestyle by dcollins · · Score: 3, Insightful

    This goes for any one in an advising capacity: get the person to at least think about (ideally investigate) lifestyle of the job, like compensation, work hours, length of career, level of autonomy and self-direction, etc. Ideally go on premises for at least a single day.

    One of the best things I ever did is work on a feature movie set handling animals for a few weeks. Wiped the idea of film school out of my head right quick.

    --
    We know where leadership by an anti-intellectual "strongman" who scapegoats minorities and likes boisterous rallies goes
  14. Step 1: Forget about friends and family by Tridus · · Score: 4, Insightful

    The game industry is the western world's remaining sweat shop. One of my best friends works in the industry. During the last few months of development he tends to work 14 hours a day, 7 days a week. This goes on for months, and applies to the entire company. Why?

    Because schedules in the game industry don't even pretend to be realistic. Marketing decides when the game will be out, and everybody works insane hours to make it so. It's not an exceptional thing, it's routine in the industry and based on game release dates I pretty much know when I'll stop hearing from him for a while. People get forced to do it because most of them are easily replaced due to a lot of other people who think "wouldn't it be cool to make games?"

    It's not. He can't even enjoy the games he makes because working on them is so soul-crushing that it's impossible to have fun playing them. Hell, he doesn't even get paid overtime!

    So if you really want to be in the game industry, make sure you're a loaner without a family who doesn't like to sleep very much.

    A better bet is to get a CS degree, get a job working for some boring company or the government, and mod games as a hobby. Modders get to do it because they love it, on their own schedule.

    --
    -- "So they told me that using the download page to download something was not something they anticipated." - Bill Gates
  15. Not really by Moraelin · · Score: 3, Insightful

    Not really. Having tried both, I actually found making corporate Java programs to be a _lot_ less stress.

    It's not just the deadlines, it's also, well, let's just say that unless you work for some incredibly shitty boss (and you should probably quit then), in corporate jobs you're a lot less likely to have a constant stream of change requests right until the deadline and in fact even past the deadline. We tend to make a fuss when the client wants another field on a mask or such, but few people have a clue what it's like to have Mr Designer come up with great ideas that turn the whole engine on its head.

    Also in a corporate database and Java job you may (or may not) have to deal with code that is properly structured and has automated testcases. If you're lucky, comments too. In fact, in some places it may even be enforced. And the need for ugly hacks is also a bit less present. In the games industry you have code written by people straight off college, who never had to write anything over 1000 lines and half of them still think that structure, refactoring or the rest of the theory is something that lazy old has-beens invented to make themselves look busy. If you're unlucky, it'll be code from someone who even thinks he has something to prove. If you're _really_ unlucky it will be script code from some hapless designer who got shanghaied into writing scripts because "everyone knows" scripts are teh easy stuff and game design stuff and no need to waste a real programmer on. Also, not only you'll have to deal with some obscure hack that might be there just to deal with the idiosyncrasies of some obscure driver version from 2005, but it's undocumented and everyone who even knew about it or the condition has long ago burned out and left, so you're left guessing if it's horrible code or necessary. Also, it's been written under terrible time pressure, so not only it's funky code the kind that gets produced on a Sunday evening after a 100 hour week and lots of skipped sleep, but nobody had the time to "waste" with comments, refactoring, test cases, etc.

    And so on, and so forth.

    Plus, I guess there's the sheer frustration about the creative part. In business a usecase may be dumb but ultimately you have to fit what the client wants done. You can argue about usability or fonts (and lose badly,) but that's about it. In games you may well have played a hundred games in that genre and actually understand better than Mr Designer why that idea is dumb and has failed before. He's not omniscient, and especially for games which get developed more out of "well, let's try genre Y because it sells better" he may actually be designing something he doesn't understand, or even hates. Just look at all the featured copied badly between games, because someone didn't even understand why they're there. Now imagine that you actually do know, and have read the interviews from the designer of the game you're trying to copy, and know full well that what you're asked to implement is a horrible caricature of it. But nobody's listening to you.

    --
    A polar bear is a cartesian bear after a coordinate transform.
  16. Probably a misconception by LBeee · · Score: 5, Informative

    During my CS studies, I was considering to start working in the gaming industry too, but finally decided against it. My naive concept of working for a game studio was that I would sit together with creative guys and think about what cool games we could do and what nice features we could put into and how we could maximize fun.

    After talking to people who worked for different german game studios, my picture changed quickly. I found out that what most studios needed were programmers, programmers and programmers. And those kind of programmers who would sit around for 80+ hours per week and hack C code. Not really my understanding of "fun". Sure, there are other guys like the graphic and animation dudes, sound and music, asset management but in non of these would fit my CS background.

    So I learned that what I initially was looking for, was becoming the lead game designer. Nothing you could expect to become with no hisotry in creating games plus at least 7 years of experience in the industry. And even if I magically would become a LGD, even he doesn't have all the creative freedoms I had image he would have. One guy told me, that a game they developed was starting out to be something like a sci-fi RPG, but one day they got a call from the publisher who told them, that "with all the LotR stuff going on, we should do something with hobbits and evles".

    This might be different in the US, but in Germany you seem to be pretty much the slave of the publisher and and are bound to every shitty idea they come up with that would make the game better selling .. even if in reality it would make it "just another boring FPS".

    So my bottom line is: if you love to code and already are a good programmer, go for it. If you want to "design" cool games you might be dissapointed how uncreative the whole process is.

    Clearly this is just my personal subjective view, but I'm pretty sure many of the people who "want to become a game designer" have similar faulty expactations.

  17. I hire games programmers. by Fingerbob · · Score: 3, Informative

    I've been interviewing and hiring programmers for games companies for the last decade. I look for:

    Programming skill, with C++ being the most relevant language (but obvious excellence in other languages is also hugely useful). Demos, contributions to open source, university projects, youtube videos of the results of your work are all good showcases. Having a website with linked examples (executable and source to look at) makes evaluating skill much easier while sifting CVs. We have hired folks recently with no C++ experience, but they had very strong demonstrable C# or Python experience.

    Team fit - must be smart, get things done, friendly. People who are passionate about what they do, willing to work on whatever is most important to the team at the time (rather than "I only want to work on shaders", for example) and desperate to learn. I really, really want to hire people who want to do good work. I'm much less likely to hire people if they are not all three of the aforementioned criteria.

    Education is a really simple bar for us to use these days, as many people do meet the above criteria. We normally expect at least a bachelor's first in a science. I've hired a few postdocs recently, they're all great guys. If you haven't got good math/physics results at A-level, I'm very unlikely to interview.

    We obviously don't expect people to hit every point, but we are lucky enough to be pretty choosy.

  18. Passion or fad? by Rophuine · · Score: 3, Interesting

    I've been the student who desperately thought I wanted to write computer games. I've been the interviewer (for a financial software house) interviewing ex-games-programmers. I've been a team-lead mentoring ex-games-programmers. I've worked with a 1st-level phone support guy who'd spent 6 years as a hardcore C++ game developer but couldn't find any software work and had to take a support job.

    First of all: tell them not to do it. The glory isn't what they think. The fun isn't what they think. The hours will suck, and the rewards will be average. Their shop will go under, and they will be competing with their 30 colleagues who are also out of work for whatever local jobs are going. They will come out as hardcore coding junkies with mad skills, and then end up taking jobs as interns under 'developers' with half their talent.

    But: they will work with a bunch of young people, on crazy deadlines and massive unpaid overtime. They will meet some crazy people. They will eat a lot of pizza, and they will get free time on their competitors' games. They will be part of a tightly-knit, fast-moving industry which teaches them amazing technical skills. They will get no credit for it.

    If they're sans-girlfriend, have few commitments, and want a few years of madness which they'll walk out of at the end with few rewards apart from the experience, they should pursue it. They need to know that it will suck the life out of them, they will feel under-appreciated and over-stressed, and they will probably need to rely on friends and family to get through lean times. It's an option when they're young. It's like traveling. Do it now: you won't be able to when you're older.

    I'm speaking purely from a coding perspective, when it comes to skills. Maths, physics, and good coding skills. They need to know all about pointers, recursion, memory-management, event loops, and algorithm efficiency. They should pick an open-source engine or game, and try to contribute (this will help massively in landing a job).

    Most importantly... they shouldn't do a FullSail course. Or whatever. Game programming is a long-term prospect for ... maybe 1% of gaming coders. I made that statistic up, but it's not high. You will move on. When you do, you do NOT want to be showing up to your interview at the software branch of some financial firm or engineering shop with no credentials other than a games-programming course and game programming experience. CS and some physics and maths courses will go a long way towards landing you a decent 3rd or 4th job. A games-programming-centric accelerated course will dump you in your ass in 4 or 5 years time with no credible education and barely-credible experience (however unfair it is, most people interviewing you will NOT lend your years of low-level C++ development much credit at all).

    There you go. Doing a focused course MIGHT land you a game-software job, at massive cost to your future. Doing a CS course also MIGHT land you a game-software job. There's probably a slightly lower chance (or perhaps even a slightly higher chance!) But, your fall-back and long-term career prospects will be massively better off with CS. When you fall in love, buy a house and a puppy, and have kids, you will have career prospects at companies which leave room for those things.

    I've seen it. Go the focused-games-programming-course route, and you end up with 6 years of good software development experience and having to take a crappy support job at a company which doesn't give REAL developer jobs to people with games programming degrees, making 10k less than the graduate CS guys. It's shit-unfair, but I've seen it.