Slashdot videos: Now with more Slashdot!

View

Discuss

Share

We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).

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?

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.

Please note, from what I've seen port folios count for a lot more than degrees in games development, which are usually either soft courses or badly written and usually using technology 5+ years out of date. There are some good ones out there but they are few and far between.

Have a look at the big guys' recruitment pages and click through to all the game specific roles. There's EA [ea.com] and Activision [activisionblizzard.com] 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.

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.

Good advice, as long as looking is all that you do. 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.

In any case, the degree is largely irrelevant. They really care about experience. Write a mod for a popular game, or writ

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.

Have a look at the big guys' recruitment pages and click through to all the game specific roles. There's EA [ea.com] and Activision [activisionblizzard.com] 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 [ea.com] 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.

So, in other words, just like any other field - you need a diverse background, and experience is a big plus.

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

One of my old co-workers was tasked with hiring artists. All he wanted was 4 - 6 amazing images. That was enough for him to tell the person's style, and their level of artistic sophistication. Any more, and he just clicked away... or he found things to complain about, which never helped anyone's chances.

By all means, produce as much as possible. Working quickly on smaller projects (1 person, 1 week) are great ways to get better at your craft. But for your portfolio, take a critical look and only put in

By all means, produce as much as possible. Working quickly on smaller projects (1 person, 1 week) are great ways to get better at your craft. But for your portfolio, take a critical look and only put in 5 of your very best pieces.

Well said. I do have a tip about this, though. It is really hard to pick a piece and then stay with it. Your interests wander, especially when you hit a 'not-fun' bit. I spent a year doing that with nothing to show for it. I hate this. This sort of 'laziness' really roughed up my morale.

To combat this I took on 'free-work', i.e. work that doesn't pay in order to fill in my portfolio. There are people that scoff at the idea of working for free, claiming it devalues the work of other artists. I person

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.

Game programming, save only for a select, privileged few, is considered the bottom rung of the programming field. Part of the problem is that so many are ignorantly waiting in line to be walked on by the rest of the the programming field. This means they are absolutely free to be used and abused as any company sees fit. This also means being one of the most poorly paid in the industry. And most will tell you, its not fun work. You wind up implementing and/or tweaking the same stuff over and

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.

just make games in your spare time (or at work during downtime) for fun.

Some genres are best suited for platforms with gatekeepers that happen to make no allowance for spare-time development. Fighting games are a big one, as offline multiplayer on a PC would need an HTPC, and HTPCs apparently haven't taken off yet.

Average lifespan of a game developer before they go into something else: 5 years.Pay?: about half of what you could make coding for a bank.

While I love being a developer and wouldn't give it up, it really has to be a calling. And there are very few jobs in game development in general anyway, compared to, say, coding for banks. I forget the exact statistic, but I once calculated out that the number of students graduating with game design degrees outstripped the number of game design job openings in a given

I have (surprisingly) a lot of software dev friends. The ones that got into the games industry worked obscene hours under huge amounts of stress and for less money compared to the others. Only one person I know stuck with it and now, a decade later, she's got the experience and skills to call the shots a little more. I guess it's like going into 'the city'. They'll work you like a dog for a decade. 90% burn out and go off to do something else. the 10% left get an easier ride a

I should mention that the entire team was very green. 8 of us had never worked on a game. Andy Smith had worked on a few at Rare. I had worked on one at Rare and written countless games back in prehistory as a hobbyist, but those one-person games don't count really do they? But overall the team was very talented and very dedicated. When I selected people I was looking for three things:

Mod parent up. Wikipedia shows development started May 10, 2009 and the initial version was released May 17, 2009. Granted, it also says he's been programming since an early age but nonetheless, one week is impressive.

The game took a while to really break out I think but now they're starting a company and there is another patch being released at the end of this month. The game is very addicting and the multiplayer aspect shows a lot of promise with shared worlds on private servers.

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.

The number one lesson I drum into fresh coders, when I work with them, is "email early and often". When things are running a day behind, email your manager. When you're not clear on the specs, email your manager. When you've completely and totally screwed up and affected production client data, email your manager. NOW. Your manager is there for two things (that are relevant for this):

1. Work out issues, keep the team on target, and make sure the (internal or external) clients are happy and don't even realis

Hello gamers. How are you doing? Fantastic. Do you program games? No. Can you program games? Yes. Do you want to? I don't know...

Do you want share a cubicle with someone that smells like stale cheetos and pork farts? Do you want your game to to have the same quality as that produced by 14 nights of sleep deprivation in a caffeine induced haze while having delusions of being the next John Carmack? Of course you do.

Swan dive...into the unemployment line when you show up for work and the doo

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.

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.

Well, I do have mod points but you're already at +5 so I'll just add in to the cheer.

There's no reason not to be making videogames other than now wanting to enough. What would you tell someone who asks you what to study to be a writer and who's never written a story?

A CS degree is much more valuable in the long run. There is no particular advantage to a course like FS or digipen , even if you only ever want to work in games (in fact, understanding algorithms, data structures in depth is probably more useful)

Just make sure you can show some solid demo projects at interview. This is how I started out, and how most of my colleagues started too.

I have to disagree; a specific course like Full Sail or Digipen will give you access to non-academic resources, like game companies recruiting, alum connections, and developer connections that you may not normally have in a regular CS or CSE course.

Yes, CS degrees appear more flexible, but there are huge advantages to a serious, top-tier game-program like DigiPen:

In addition to the courses you'd encounter in a standard CS program, the curriculum includes specific classes geared towards video game development. So, in terms of formation, a DigiPen RTIS B.S. does have a CS-level understanding of "alogrithms" and "data structures in depth"; but can also do the fun stuff.

The yearly project system ensures that each grad will come out with a portfolio (aka

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.

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 p

It's been my experience that a CS degree is mostly a waste of time. The kids who are going to be great programmers started in high school, or even earlier. Pretty much every time I've had to deal with some kid fresh out of college with a CS degree, it's been a nightmare. He's been taught a bunch of useless theory by clueless academics who can't begin to imagine what it's like to write software in the real world. He's convinced that he knows everything, and tha

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.

But really, let them focus on the tools. Go for the CS degree. The art will follow. Or rather, develop the art in concert with the tools. But you need the tools!

Learn the programming, then hack in something using the tools and a good existing game engine, such as the Valve Source engine (relatively easy to script for with Garry's Mod) and maybe something more complex with the Unreal Engine. They don't have to be total nerds to grok the code, but you do need to empower them with the ability to make gameplay changes to an existing engine.

Why a CS degree? If they're after doing computer game programming, they should do a computer game programming degree. Seems to have worked for me.

Experience with the Unreal engine (or UDK) or other game engine would be a massive help too, but if someone wants to be a programmer they should focus on programming the engine, not using the editor. i.e. make mods, not levels.

Most universities now offer CS degrees with a focus in game development. You still get a decent background in CS principals like software engineering, but get to take classes in game development and 3D engines your junior and senior years.

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.

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 t

I just want to add to my reply focusing on the actual questions by the submitter:

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?

In no particular order- Learn to program C and C++ (no not C/C++, learn their differences)- Learn some scripting language (Lua is used in game programming a lot, Python is also OK)- As other have said, learn to use tools like Blender, mainly so that they *understand* what does it mean to make a game.- Work in an Open Source game. Just browse around SourceForge and look for a game... (start with simple games like http://www.wor [wormux.org]

This is actually something I am currently pursuing, and I believe that the best way is to get a full CS degree first. I got a normal CS degree at Carnegie Mellon. After graduation I felt that while I knew lots about coding and had a strong base in C and systems, I was still lacking in many areas I would need in the industry, like more advanced graphics, AI, and general game engine programming. I thus applied to the masters program at DigiPen, and am now about a month in. So far this is exactly what I was lo

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.

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.

Yes, it CAN be self-taught in a few months of free time. If you want to hire someone who has learned ALL of the core skills, you can either hope that they've picked out ALL of the core skills and learned them a few months at the time over the course of a decade, or trust that one of the good schools gave him each of those few months, in an appropriate order, over the course of a couple of years. That is why the CS degree is sought after by many, many jobs. They don't want to wait a few months when they t

You're going to spend a few months getting pretty much any new hire up to speed. I'd rather deal with someone who knows he doesn't know everything (since we all have our weak spots) and has already taught himself how to use google to teach himself than some idiot with a fresh degree who's convinced he knows everything.

The best way to learn any computer programming is to just do it. Get your students interested in developing their own games in their spare time, and help them along if they run into trouble. If you can't help them with programming problems, try to find someone who can. Teach them how to use books and how to get the most out of computer programming. A good starter would be a book on how to avoid creating bugs in the code in the first place. Learning this will keep them out of trouble much later in their care

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.

Companies will hire depending on who they are looking for. There is some stigma about the trade schools sometimes, and a CS degree will get you to other jobs aswell. While it is a flame-war-able debate, I'd argue on the side of a CS degree over the tradeschools. Trade schools are good, as I work with several people who came from those degrees. But there is a divide on knowelege. Trade school degrees like FullSail give a good overview of the game aspects of programming and design, but they lack some of the

Study C.S. and do indie games development in your spare time. XNA is pretty easy to get going. You might even be able to make a game for your final year project.

One day the games industry will spit you out, and you'll be looking for another job. At that point you might think "Hey, maybe there's more money outside of games" and start looking for other programming jobs.

If you've got a "Video Games" degree, employers will take one look at your CV and think "plays games all day. No use to us, we need seriou

Games programming is very hard, but most employers (or agencies / HR people) don't seem to grasp that.

That's because it isn't. A small subset of games programming is very hard (i.e. the very small proportion of a typical game's code that is close-to-the-metal performance-critical code). The rest is no harder than typical enterprise software.

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.

I'm a former game programmer (only got out a few months ago) as well and I agree with you 100%. The short of it for me is if you like playing and creating video games, don't join the industry. Things you enjoy doing are better kept as hobbies. The industry likes to take your excitement and crush it with late nights and by making you feel like crap about every product you make, though I'm sure there are exceptions to that. You might think that the long hours aren't a big deal, but when you're SO/Wife sta

I'm leery of educational programs that focus on a specific set of tools and methodologies and don't include a solid grounding in the theory behind computer science and the philosophy (for lack of a better word) of software engineering. Languages, frameworks, and programming paradigms come and go, and many have the shelf-life of cheese. The theory and basic problem-solving skills are eternal.

For example: the local equivalent of CS1 used Pascal, but only as a notation for expressing ideas. I never used

If a person loves making games, it's in them, and they can keep at it in a CompSci Framework. And have a degree that makes them marginally employable should the job market be full. A theory based CompSci program can really change the way you understand solving problems. Writing an in depth compiler makes a huge difference in your ability to understand how programming works or fails to work. Now I dont have a game degree, and there are some solid concepts that could make for a very rigorous course of study. But I suspect that the field is too new to have any respect outside of a small group of people who know the system.

I graduated from a university of Abertay two years ago with an honours in Computer Games Development. I have since stayed in academia to complete my PhD and have the fulfilling job of teaching a few modules on the first, second and third year courses.
From my experience in taking the modules and teaching the modules, a degree in CS would have done me just as well, probably better, than my current degree.
I have found myself in situations having to explain basic programming concepts to 3rd year students, t

If you can build a compiler (and I'm talking lexical, syntactic, semantic analyzers, no cheating using LEX or YACC), understand how grammars work, how to remove recursion and other grammar issues, then by God you're a programmer through and through.

There were a significant number of people in my MS CS program that completed every class EXCEPT Compilers and it prevented them from getting the graduate degree in CS...even years later. Suck to be them...

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.

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.

I think you meant "last remaining sweat shop", but that's not true. Every industry that has "cool" attached to it, has more people wanting in that there are positions, and doesn't have strong unions will contain almost nothing but overworked and underpaid people working in them. Look at almost any "content production" industry - writing, game development, music... it's repeated over and over. It only goes away when the "cool" factor dries up

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.

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

A true game designer doesn't care whether you slap on the elve texture or the space marine texture. The game itself doesn't have to change just because you changed the setting. If you want to have some insight into this, read about the MDA model [northwestern.edu]. This paper is great in explaining the whole concept of game design without requiring reading a 400+ pages book.

I took a game development course for an elective while completing my 2 year degree. We worked with a *free* program called Game Maker that teaches the fundamentals of game design without being too specific. Sure, you'll make cookie-cutter games, but its all about the ideas behind them.

Point any of your interested students to http://www.yoyogames.com/gamemaker/ [yoyogames.com] Its a nice little package with plenty of tutorials and (what used to be) a good following. If they learn the basics and still wanna pursue games s

While what people are saying here is likely valid (game development is not "fun and games", etc etc), I'd like to suggest an alternative to lying to them or pawning them off to a school that will only postpone their decision-making process wrt game development: suggest that they work on an open source game. Working with an open source game is

I had the same idea as you...when I was like 8 years old.Now I do games, but as my hobby. Going for the industry means you are making games for the money (shows a lot of love for your creations), and...do you really expect to be able to do anything? Do you think you'll get a name? Hah.This is what will happen: You will enter a team, your soul full of dreams, and start your wonderful project...and then some dude in a suit will tell you what's right and what's not, completely ruining your vision of the produc

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.

Ok, it seems that you hire game programmers.Now, explain me why there is no game programmer in his forties ?

I mean, all the people I know quit working on games at some stage, and I know no team with very experienced developers.I don't speak about management, since a few developers are able to become managers, but this is very rare too.

Disclaimer: I've been a game programmer during 20 years, and I'm now an happy engineer, outside of game programming.

I don't know about his answer, but my guess would probably be compensation and corporate environment. Most game companies design work environments to appeal to younger professionals. Once you get to a certain point, realize most of your peers are younger, you have no upward mobility at the company, and your programmer friends working outside of videogameland are making substantially more money, your love for the industry wains...not to mention the fact that the deadlines are unrealistic and you're likely

However, I have to add that the transition post-games is very tough.It's difficult to start a new type of job, because your competences are game-related.

Personally, I had the chance of working for an Internet company for games, and I used this opportunity to work on Web related projects after this experience, but it's more difficult for people specialized into 3D engines.

Another opportunity is to advance in the hierarchy, so that you learn management, and this can be used anywhere, but this

In my case, I started at 19 (in 1984), and I experienced how the games went from two guys team (one coder, one graphist) to large teams (which I still believe is an error, because I never met anybody able to manage a large mixed team).

In the last years of my career in game programming (10 years ago), I realized that I was one of the oldest guys in this sector, I was still single and was always badly paid.Also, most game companies in France died at this time, and I didn't want to go in England or somewhere e

tell them they're stupid for wanting to do it, tell them they're dumb for even thinking about it and hope and pray they listen to you because 1% of the ones who don't might even get close to a fulfilling career with something to do with computer games. i'm doing regular programming and i wish i'd been a plumber, at least there'd be less shit to deal with.

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.

As someone who lives less than a mile away from Full Sail and knows many present students and current professors, my gut instinct (except in very select cases) is to steer away from the Full Sail pyramid scheme...a viscous cycle of students graduating, not finding work, and becoming full sail professors as the school continues to grow and take over the corner of Semoran and University.

The only people I know who have graduated from Full Sail and actually use their degree are two of my friends who do freelanc

First, get some work in a salt mine. But not in America. You should hunt down a third world salt mine, preferably one with an oppressive regime and bosses whose lives are tied to production.
Once you get used to the hours, the whips, the festering wounds, and the ubiquitous taste of pain, then you will have proven yourself capable of dealing with the game development atmosphere, and it's time to go get some technical skill.

Of course, that's assuming that you want to go into "the industry" and get a paycheck. If you just want to make games, then go be an indie developer, learn by doing, and STARVE (unless you strike gold).

A generic CS degree is good enough to land you a game job if you can prove you can write games. A games degree may NOT be good enough to land you any other kind of CS job you might want in the future. Furthermore, the games-only programs are generally laughed at in the high end of the industry.

And, like me, you may find yourself wanting to work at the high end of the industry one decade, and wanting out of the industry the next. The games industry is very much a frat environment. Which is great fun when you are up to about 30 years old, and suddenly starts looking like a complete waste of time when your first kid arrives, and you start wishing you didn't need to spend 70+ hours in the office every week. In all seriousness, it is a fantastically fun environment... with an extraordinarily high burnout rate. Make sure your long term choices include that likelihood of burnout.

I agree with the "Don't" people. I used to do physics engines, back int the 1990s when nobody else had one that worked right, and had some exposure to the game industry and Hollywood. (I did OK because I had a patent, and thus a strong bargaining position. I'm sure I'll hear whining about this from people who've never cracked a hard problem.) Both the game industry and Hollywood have more people wanting to get in than actually do get in. However, Hollywood has unions. This keeps the working hours down,

In addition to an education path, you'll want to help potential students consider whether game programming fits with the general life that they want. "In general" (and there are of course exceptions) in the gaming industry, hours tend to be long and pressure considerable, particularly during "crunch" periods when games need get out the door to align with the Christmas season. The compensation both in terms of salary and at-work perks also tends to be good, but you need to decide if that's fits with your life. Of course generally young people say "SURE!" to these sorts of questions, so it may be moot...

(These questions are similar to the questions people are asked to consider by career counselors before they go to law school - Working as a lawyer tends to mean long hours and reduced life / work balance. It also usually means a good salary, nice house and a BMW, so most (but not all) of my lawyer friends consider that a fair trade-off.
)

"Go into the Modding Community. Get into open source games. Do a map. Do a mod. Create a small game. Create a team or join a team and try to contribute."

Look at those and you'll see a common misconception. Creating games has little to nothing to do with most of the above save for the last two. Getting into the modding community is nice and all, but that kind of experience can lead to nothing more than an ego boost. Getting into open source game projects or small game development kits will teach them the basics, but nothing more. Doing maps is only viable if the person is into wanting to create maps and do level design only. Doing a mod in retrospect depends on the scale of the mod, but if it is just a normal mod and not something that truly creates a new game from the ground up, then it is just a dive into the internal workings of a particular game and not the elements that made the game come to be.

I always saw working on a mod, etc. as an aspiring game programmer to be sort of the equivalent of getting a good summer internship for most other jobs; it doesn't replace your education, and it doesn't exactly show that you can do the job you ultimately want, but it does teach you some things (if not everything or maybe even a lot) relevant to the job you want, it does differentiate you from twenty other people applying for the same job, and it does give you something relevant to talk about in an interview