views:

1486

answers:

12

I recently enrolled in a community college for games developement. But I am skeptical about the curriculum. I have no experience in the gaming industry so I wouldn't be able to tell whether it's a good investment or not. So I am asking you.

I don't want to get too much into the details of all the classes I am taking so I will try to be brief. By the time I graduate, I should have a understanding of how a game engine works. I will be working with the Unreal Engine to develop a Multiplayer game from scratch. So in the process of my final project, I will learn how to work within the Unreal Engine, learn Python and learn how to use its API to connect to a remote server and build game mechanics. Overall I will also recieve an associates degree in game development. I learn C++ but not C. The director said he was trying to implement C in the program as well.

What I notice is I will not learn how to build a 3D game engine from scratch. They do not teach any artificial intelligence (AI). I will not learn how to work with the graphics card using a graphics API such as DirectX or OpenGL. I know building a game engine from scratch is a little complex, but at the same time the track is requiring me to take some advanced mathematics courses such as calculus and geometry 1 and 2. I also got to take a physics class. I just think that's a little much for just learning how to use the Unreal Engine but not actually build one or try to learn the anatomy of a games engine.

Is this good enough to possibly land my a job in the industry? If I left anything out or was not detail, please feel free to ask more questions.

Edit:

I do learn data structures and algorithms.

+17  A: 

Companies such as Blizzard typically require a 4-year degree in computer science or equivalent for their entry level game programming positions. It is likely your best bet (and widest range of career options down the road) will be to transfer to a 4-year school and get a Bachelor's in Computer Science.

Typically if you have built a demo on your own time, that helps get you a job over the other 4-year candidates. Are you familiar with Gamasutra or Gamedev? They will be a good help for you.

edit: also, there's a lot out there besides programming in the game industry. Game designing, art, public relations, etc.

edit2: Building a game from scratch means building all the code yourself from DirectX on up and not using (ie) the Unreal engine or other engines - you design the engine.

edit3:

To sample some of the top game company hiring practices, what they are looking for today, April 2, 2010, I went and grabbed some jobs from EA, Bungee, Lucasarts, and Blizzard for some current game dev positions, finding what appeared to be the least-qualified programming position, because you would be starting there right out of college (presumably).

Summarized, the commonalities of what these companies look for is experience, passion for games, strong math and algorithm skills, and strong C++ or Java.

  • For experience, your game-dev AS will provide some of that. University coursework almost as a rule isn't like a real product.

  • Passion for games, no one can teach you.

  • Strong theoretical skills, you will probably need from a formal education. In my opinion, that's the best technical benefit from formal education; the theoretical knowledge that is centered there.

  • Strong C++/Java - some of that comes from formal education, most of that comes from your personal projects and study.

Most other nuts-and-bolts knowledge can be absorbed on your own time. The abstract end of software engineering, artificial intelligence - not game AI, but the broader field which game AI comes from -, computer organization/architecture, operating system theories, etc, those typically are impossible to find at Hastings or Barnes and Nobles. You will probably not find that information in an AS degree. You will hopefully find it in a BS degree to some degree. In a good BS program, it will have a MS/PhD program as well, and that will dramatically increase the academic culture to a quality untouchable by other schools (experience speaking here. -.-).

I also want to point out the communication ability these jobs look for. It is worth people's while to take some soft and gooshy humanities courses to work on communication skills, especially communication to those notoriously ambiguous non-programmers. :)


EA

This is the least stringent of the requirements of the jobs I glanced at - the only one that didn't say 4-year degree up front:

 Primary Responsibilities: 

•Development of new games and related features 
•Contribute to the evolvement of our existing games 
•Maintain detailed design documentation throughout the project cycle 
Key Requirements: 

•Strong programming knowledge across several languages and platforms including ActionScript 3, Java and/or C++. 
•Solid understanding of algorithms, physics and math. 
•A natural feeling for and understanding of good gameplay mechanics. 
•A wish to learn and share knowledge and experience with other team members. 
•Someone who is open for input and enjoys working in an iterative and agile process. 
•Specific Flash/AS3 knowledge is a plus. 
•Relevant game development and/or demo-scene experience is a plus. 
•Most important of all, you need to love games! 
Desired: 

•Experience in relevant game development and/or demo-scene 
•Computer Science degree or related discipline

Bungee

Of the two jobs listed at the moment, this one did not require a 4-year degree. The other one did.

GUI Engineer
Bungee Labs, an Orem, Utah based company, is looking for an experienced GUI developer to be part of the design, development and release of a next-generation service platform as a Service (PaaS) offering. The candidate will be working within a highly talented motivated team of fellow software engineers. Bungee employees are well rewarded for their expertise, drive, initiative, accomplishments and teamwork. 

Requirements
Experience building GUI tools
Experience writing GUI software
Experience building custom controls
Proficient in C++ and / or Java
Experience building Web programs
Minimum 5 years of experience

Blizzard ##

Blizzard typically requires 4-year degree or equivalent (I've watched their jobs page for a few years now off and on).

This is the 'associate sw engineer' position, which is the entry-level developer.

Associate Software Engineer
Team: Next-Gen MMO

Blizzard Entertainment is looking for a talented and enthusiastic software engineer to work on its next-generation massively multiplayer game. This position is for a software engineer who will focus on network communication and database design and implementation.
Requirements
Strong C/C++ programming Skills
Familiarity with implementing client/server architecture
Excellent spoken and written communication skills
A passion for games
Pluses
Networking experience in TCP/IP and UDP protocols
Fluency in procedural SQL programming (MySQL, PL/SQL)
Familiarity with relational database architectures
Experience with code optimization
MMORPG Gaming Experience
BS or MS in computer science, mathematics or equivalent experience
Code samples are required. Please include samples of your work along with your resume and cover letter.
Job Status: Full-time Permanent

LucasArts

There didn't seem to be a low-end position open.

The Network Engineer focuses on multiplayer game programming for Xbox360 & PS3. 
Provide technical expertise in network game development and technologies in support of our game development cycle.
Reliably create good quality, performance-minded code.
Provide a complete task list and schedule for responsible work. These should be complete and accurate. Assist less experienced engineers with the creation of their task lists and schedules. Inform others when the schedule is at risk.
Assist in the sharing of ideas and exploration of new practices to continually improve the quality of game development within the Company.
Provide leadership and insight to help the team avoid and overcome obstacles as they arise during development.
Provide coaching skills to help develop less experienced engineers.
Maintain a professional attitude during all stages of development.
Excel as a team member and strive to maximize team and departmental performance.
Requirements    

B.Sc. Degree in Computer Science preferred, or equivalent game experience.
3+ years experience in the area of Network Engineering & Multiplayer engineering specifically for console games. 
Prior programming experience on xbox360 or PS3 is a must.
Broad understanding of computer and game networking systems, including DNS, NAT, firewall, security methods, peer-to-peer and client server models.
strong C++ programming skills/experience required.
Shipped at least one title on the target consoles.
Ability to work independently and to be self-directing required.
Excellent team and communication skills required.
Passion for making and playing innovative games.
Paul Nathan
+1 Yes 90% of game development is knowing basic computer science data structures and algorithms.
Byron Whitlock
What you say makes sense. But I have seen blizzard use a associates degree as a requirement. I do not think the project pertained to any games though. At the same time what you said was also true. Having work to show for is the trump card. What this degree offers that a computer science degree doesnt is a actually 2 projects I can put on my resume. a 2d game and a 3d multiplayer game built with the unreal engine. Shouldnt that be my trump card ?
numerical25
numerical: that's a good start, but can you *design* an engine? will you know how to implement A*? Can you do analysis of the average depth of a tree(ie, in a BSP rendering situation)? Will you be able to implement LUA either with plugin or from more or less scratch? Those are all game development things that a BS will teach you, or give you the foundations to apply against.
Paul Nathan
Make sure you bone up on the basics of CS. For example: If you have a 3d game, but can't explain tail recursion I wouldn't hire you in a dev position (maybe a senior tester?)
Byron Whitlock
@Byron Whitlock thats funny that you say that cause I do have to takea class called actually data "structures and algorithms"
numerical25
@Paul Nathan - I will not learn A*. Although I am personally formiluar with it. I've done some very small projects with A* using actionscript. I been able have objects manuever around objects. as for the average dept of a tree. not sure. And probably ont learn LUA. But we will learn some scripting the panda 3d uses I think, and Maya.
numerical25
From the sounds of it, you are not learning what a 4-year degree will get you(because it's a 2-year degree). You will not be able to get the jobs or the career a 4year BSCS will get you, without a lot of personal work to bring yourself up to speed. I recommend you transfer to a real program and go for game dev jobs on the side and after graduation (internship in game company will be best).
Paul Nathan
@Paul Nathan thanks for the response. And that does make sense. That is a whole lot of ground to cover and no way you can cover those in 2 years. But at the sametime, wouldnt it be good to just finish the program and just transfer to a 4 year program. that way all my math will be completed, possilby all my algorythm and data structure, as well as my program languages. Just as a side note, do you have any affiliation or association with the game industry ??
numerical25
I spent about 3-4 years planning to go into it and I studied it and what it took to write games and break in. I learned it was a lot of work and the really cutting-edge stuff was elsewhere. Regarding transferring, you should investigate your credits and how they transfer elsewhere, it depends based upon where you live.
Paul Nathan
The difference between an AS and a BS is like 60+ credits of PURE CS. no math, no physics, no English. CS ONLY. For example my end of semester projects (10 years ago!!) included a programming language and compiler, designed a working CPU, wrote a RDBMS from scratch. Its your life, but some of us have been around the block a few times and are offering sage advice.
Byron Whitlock
@Paul Nathan- when I meant by building a game from scratch. I meant building a entirely new game using the unreal engine, not just some some easily modified game from Unreal 3.
numerical25
@numerical, I did an AS degree an the local community college, and most of the CS classes didn't transfer and I had to do them over at the 4 year. (I usually never comment this much btw lol)
Byron Whitlock
@Byron Whitlock - That is some intense stuff. But as of right now I can not afford to go to a 4 year college. They have a CIT Software Development track. but the math requirement's are not as high and it's mainly working with a bunch of languages and learning how to implment those applications to a DB. its no where near in dept as your CS course. Honestly, I feel that the game developer track would atleast kill more classes I would need to take then the CIT class.
numerical25
@numerical: that is by definition not from scratch. A scratch game is based off of *only* DirectX or what-have-you. You write file load routines, you configure Direct3D, you write the pixel shaders, you write the AI, you write the sound stuff, you write the network connections, you build the scene description framework, you build the interface framework; in a AAA game you also implement a scripting language for your users to modify the game with. Do you see the difference?
Paul Nathan
Yes I do see the difference now.
numerical25
@numerical You can afford it if you want too. The grants alone will pay your tuition if you aren't out of state. Plus there are no interest "everyone is approved" loans http://www.fafsa.ed.gov/
Byron Whitlock
The only thing I have been approved for is the pale grant. I got about $5500 from that. as for the loans. I had a previous major at a 4 year college and I used up alot of that. So pretty much I am working with $5500. And I am still looking for a job :/
numerical25
+30  A: 

I do not work in the gaming industry, but i do know quite a few people who had taken a similar degree at Aalborg University in Denmark (This is a 5-year Masters Degree) and they have problems getting jobs in the gaming industry.

I would recommend going for a broader education like software-engineer and do game programming in your spare time. You wont get any education in game engines unless you have the possibility to do it in semester projects (we had). This way you will come out with an education that can be used widely in the industry along with the gaming industry.

but thats just my 2 cents

Flexo
+1 this is GREAT advice. Play ball, but get an solid education. You never know what the future will hold.
Byron Whitlock
We have a senior project that is a semestor long. It is to build a multiplayer game from scratch using the Unreal Engine. I think thats incredible that you have people that took a 5 year master degree in game development and cant get a job. That would be very discouragin for someone who does have a broader degree such as a software engineer. Wouldnt you say ??
numerical25
I think exaggeration promotes understanding (or people just don't know that they are talking about..). Fact: The game programmer specialization on Aalborg University is actually a 2 year (not 5 year) master degree of which only the first year is about games. The semester courses are general for CS (e.g. advanced mathematics, computer graphics concepts, AI techniques, etc.).
Jan
A: 

Short answer: C++ is fine. Also, take the maths courses; they'll be WAY more useful.

Longer answer: Regarding C, if you are handy with C++, C will be no problem. Same thing, pretty much, just a few new annoyances. (I had to "teach" one of my less experienced colleagues C a couple of years ago, so that he could extend a C library we were using. He was already a good C++ programmer... so it took about 5 minutes. Seriously, it's no big deal.)

As for 3D APIs and the like... any place targeting multiple platforms will have some kind of wrapper over the underlying API; any place targeting one platform will be leaving the hardware-specific bits to the people more experienced with that kind of thing. (How did they become more experienced? Probably by having picked it up as they went along, or by learning it in their spare time whilst studying a non-video-games-related course.)

Unless you are actually working on the platform-specific parts -- and, anywhere that doesn't suck, the number of people doing this will be fairly small -- then lack of D3D/OpenGL/blah knowledge won't be a problem, because you'll never see the API that drives the whole thing, just the wrapper that you're using.

Provided you have a good grasp of the usual 3D maths stuff, and you're OK writing state machines, then you should be alright. If you really insist on doing graphics, spending time writing interesting shaders and the like will stand you in better stead than any number of "anatomy of a game engine" type courses. When trying this out on your own, you'll have to get to grips with a lot of API (D3D/OpenGL) muck, but you're unlikely to see any of that when working on the majority of titles for the reasons given above, so it's not worth paying too much attention. When doing the same thing commercially, the underlying API and the performance characteristics will be different.

(I worked in video games for N years. When I first started, I'd never written anything like a game... not once a problem. I know how to program, so I just picked up how people structure them in general as I went along. I rued my youthful avoidance of my maths courses on a weekly basis, though.)

brone
+20  A: 

I work in the game industry and recently had a long discussion with several engineers here about the quality of a "game development" degree.

My opinion and I believe a more prevalent opinion than ten years ago is that a well educated generalist who has a passion for games but no real experience with existing game engines aside from their own hobby work is preferable to someone who has been school in the use of a single engine without consideration for its inner workings.

So, my advice - get a good CS degree from a good school and try and spend as much of your own time on hobby game projects as you can, contribute to open source game development efforts and make some demos. If you can prove you're good at several aspects of making games (and there are many many aspects these days) and if you have a good solid CS education to back up your passion then you'll be in a lot better shape than just knowing how to use Unreal.

Fraser Graham
that makes sense. But your comparing someone who has a solid education in CS who has a passion for games and work to show in comparison to someone who went to school for the use of a single engine. I consider that to be a little inaccurate in my situation because although I am probably getting out of this the use of a single engine. (actually 2 cause we work a little in panda3d as well). I also have a passion for gaming and I also have my own small projects. I currently trying to work my way through a few directx books as of right now. I would like to eventually create my own rendering engine
numerical25
I appreciate the feedbacks, and alot of you are saying that I probably should get a broader degree such as CS. But my instructors tell me likewise. They say that having a degree in Game Development, not only proves I can program, but it also show's I am capable of working in probably the most difficult fields in programming. Which would help me land a job in pretty much any field. Again, I am not disagreeing with you guys, I honestly believe you guys know what your talking about. But i just bring this up just to get your responses.
numerical25
Sounds like you've pretty much made up your mind to stick with the game development degree path. My opinion is that it limits the scope of your education and you would fare better with a CS degree, but I don't know you and any education that you enjoy enough to really work hard at is going to be better for you than one that has components that don't interest you. As an aside, I don't know of any non-gaming software jobs that would look at a game development qualification and think "games are harder than what we do" - generally every discipline thinks theirs is the most difficult :)
Fraser Graham
I decided to do game programming but for my own interest is not the main reason. Even if I decided to do the CS degree, I couldn't afford it. I recently switched my major's so alot of my financial aid isnt like it use to be. So I decided to go to a community college cause it was alot cheaper. I decided to game programming because the track would actually eliminate more classes I would need to take when I decide to get my CS degree. Honestly I think their Information System track was poorly designed. They do have a 4 year college they are affiliate with. who does accept alot of their credits.
numerical25
A: 

Assuming you're creative, the degree you describe should provide you access to many "Game Designer" positions.

Game Designers are the ones who assemble the levels in the game. They work on top of the engines made by programmers and take models, environmental art, etc. and combining them with logic and fine tune it all to produce a finished experience. Sometimes this involves some light scripting.

If you want to be a game programmer, you will likely have to further your education a bit... BUT! Being a game designer (or tester for that matter) is an excellent foot in the door at any game company. It may pay less than programming positions, but it's arguably more fun and social.

Good luck!

dkamins
+10  A: 

I would personally be very cautious about the path that you are taking. IMHO, most "game programming" degrees are a risky proposition.

Most software developers in the gaming industry are first and foremost software developers. They just happen to work on games, and happen to use certain APIs/SDKs which are the engine (e.g., Unreal) or the underlying GFX framework (e.g., DirectX).

It is, in my opinion, far more important to come to such a role with a well-rounded understanding of computer science and development than it is to come with knowledge of a specific engine.

Yes, it's nice to have some of the knowledge of the engine, but you can learn that from a book, and by the time you're graduating there'll be other engines and other paradigms. Hell, for all you know, in four years from now Bungee will be developing a facebook version of Halo where master chief tends to a farm.

Companies like EA hire their share of CS grads. Most of their products were created by CS grads. So clearly, not having a gaming degree is not a problem.

On the other hand, if you have a gaming degree rather than a CS degree, you are going to have a much harder time getting a job outside the gaming industry (and many people don't stay in that industry their entire lives). Many employers will look at this degree as a "lesser degree" or a "less serious degree".

There are some useful courses on game design. For example, the late Randy Pausch at CMU's Entertainment Technology Center established some very useful coursework there, but not all programs teach on that level and you can learn that stuff from other sources.

If you can still switch to a more general CS degree, I would personally do that. Think about yourself at 40. Focusing on a gaming degree at your age is like getting a tramp-stamp... You may come to regret it.

If you're serious about getting into game development, your best avenue might be to create a popular web-based game, a social-media based game, or an iPhone game. These today are the few types of games that can still be created by a single individual. Success can also demonstrate that you've got something beyond programming skills - anyone can program in an engine but not everyone can design a game. These mediums actually carry the benefit of being able to track how many people play them and of some (limited) monetary reward. If you do create a successful game, you might have a better chance at getting hired at one of the social gaming or iPhone studios regardless of your degree.

Uri
+2  A: 

I think most of these third party game courses are not worth it: do you REALLY need someone else to teach you the basics? You will learn more by writing a simple game like pong from start to finish on a platform like python/pygame. Those courses are good I guess if you need really basic 'introduction' stuff. Nothing gets you a job in games faster than having your own stuff completed and out there. As advised here: go for the computing/maths degree and work on small/micro game projects in the meantime. Be aware that corporate gaming jobs have high risk of suckage.

If I was starting out today I'd release a few free iphone games during uni... Good luck and try and work for yourself if possible. There is a WEALTH of good introductory (online/offline) books out there, which will likely teach you more!

A debate topic might be what language/API/platform to build your first projects with ;)

The problem with 'going large' without having done a few smaller projects is that you miss out on the foundational stuff and get caught up in complexity and specialised into oblivion.

CarlS
+1  A: 

A gaming degree is only 2 years, and you will gain 3 years of additional real world experience which is vital for any programmer. You learn important stuff like working with other people (other than programmers) like artists whose demands sometimes are very out-of-this-world, and clients who don't know various concepts like technical limitations and game balance.

There are various APIs, engines and languages you will learn, these include:

  • Graphics APIs: DirectX, OpenGL
  • Engines: Ogre3D, Crystal Space, Unreal
  • Utilities: SDL, SFML, Boost
  • Database: MySQL, SQLite
  • Sound: FMOD, Audiere
  • Physics: PhysX, Bullet
  • Shaders: HLSL, GLSL and Cg
  • Console: PS3 Cell Dev, Chidori PS3 Engine, XNA
  • Mobile: iPhone SDK, J2ME
  • Forms: Win32, COM, .NET, wxWidgets, FLTK
  • Scripting: Lua, XML and Python
  • Other APIs: Flash AS, Silverlight, Unity3D, Haxe, O3D, Ajax, PHP and HTML

The lists of APIs will always change, but that's the fact of the software industry. You will need to consistently update and improve your skills. Besides learning those programming related topics, you will need certain skills like:

  • Game design and balance
  • Creating tools for designers and artists to use
  • Maya, 3DSMax, Blender
  • Photoshop

Designers and artists sometimes fail to follow certain specifications, you may need these skills to be able to edit or convert their models. That's all the stuff you'll learn from a gaming degree. Thus, not only do game programmers need to know system stuff but stuff like Mathematics, Physics, Networking, Database and Information Systems, Data Structures and Algorithms, and especially Communication all come into play.

Furthermore, game programming is hardcore. From experience, about 1/2 months nearing a release, I've worked at least 15 hours a day without weekends. Once a game programmer, you'll find other programming disciplines pretty trivial. What I really like about game programming is that we go on outings (for example, a military base to see how a gun works, or a real world test of vehicular physics), and in my opinion, that's more rewarding, more exciting and more fun than a software engineer.

Lastly, for the video games industry, you need a good portfolio:

  • 3D game. It doesn't need to be fantastic like Final Fantasy. You only need a simple game like an FPS or a simple Puzzle Adventure or a simple Strategy game.

  • 2D game. A shooter game, a Super Mario clone, Bomberman, Pacman would be sufficent to show that you have an understanding of concept.

  • But it really depends on what kind of game programming job you want. For example, an AI programmer should showcase more impressive concepts like Fuzzy Logic and Neural Network. While a Graphics programmer should showcase HDR, Post FXs like motion blur, Depth of Field, Shadow Mapping, Ray Tracing and Parallax mapping.

In the video game industry, degrees don't matter much, it's just to level the playing field (i.e. some recruiters will not hire someone without a degree). In a nutshell, game programming is very rewarding and I have never once regretted choosing this path.

Roy
Yes, it's wonderful knowing those APIs that will be out of date in 3 years. Clearly a valuable investment of your educational dollars.
Paul Nathan
APIs are only a tiny part of game programming, not like it takes 1000 days to learn an API, it only takes 1 hour. And you need to know maths, physics, resource management, hacker prevention, and many other stuffs! You obviously never made a game before. In fact, a good game programmer knows a hundred APIs.
Roy
You mentioned about 18 different APIs and and 3 programs as an example of the the benefits of a game degree (you might be interested to know that its been thought that to really know an API it takes several months). Regular computer science students need to know pretty much all the theoretical things you mentioned, as well as receiving a competent education that is something that can be built on long-term. I've met more than a few PhDs in comp sci, and they *all* were capable programmers - altho' if you understood computer science you wouldn't knock them for not being gurus of coding.
Paul Nathan
@Roy about these parts: "it only takes 1 hour"/"knows a hundred APIs." . No offence, but this is bullshit (FYI, I'm a gamedev). It takes more than 1 hour to *learn* API. Both OpenGL and DirectX has certain tricks associated with them, and understanding logic of everything takes more than a hour. If you write 3d snake, hour may be enough (although I doubt it). If you want to be able to write another doom 3, you'll need years of experience with API (2..7 years). Besides, you don't need to know "hundreds of API". Just a few essential ones.
SigTerm
I don't like the sloppy way some points are made in this answer, and the condescending tone towards non-game programmers, plus I would recommend the "traditional" way outlined by Flexo and others, but some of the fields and skills Roy mentions clearly *do* go beyond CS - art, 3D compositing, bits of image processing, interaction with designers - and *are* important for game development, so it's not entirely out of the question to develop those skills in a specialized course. So in that, it's a useful answer IMO, +1.
Pekka
A: 

Is this good enough to possibly land my a job in the industry?

With this knowledge, you may be able to find the job. Unreal Engine is popular. But there are no warranties.

If you want to be able to build an engine yourself, this is another story. Try to take apart the Sauerbraten engine, or Quake 3 engine (Sauerbraten will be easier to comprehend). Try to make your own first-person shooter game. This should give you enough practical experience.

SigTerm
A: 

There's no reason that you can't do DirectX in your spare time. I'm taking a CS degree, but I do more challenging things in my spare time than in my formal education.

DeadMG
+3  A: 

I work in the games industry. Commercial game programming is hard, and not much matters except whether you can do it. If you can, build something to prove it. The demand is so high that not much else will matter. If you can't, nothing else will help.

The two year degree will kick-start your career, but it won't be enough on its own to make you competitive. Most programmers I have worked with began programming very young and still teach themselves regularly. But the game industry is big and with some experience you may find a job at a smaller company, or as a junior designer, technical artist, or assistant producer. Any of these would be a great place to continue learning and practicing game programming. When you are ready, you will find there is always room for another capable game programmer.

Edit: Also, I went the 4-year CS degree route, and I can confirm that employers prefer that. If you have the patience, it is probably better for you. It will mean self-learning rather than college learning for specific technologies, but you will need to be a self-learner eventually anyways. The tech will be completely different every five years. A strong foundation in CS and math will help.

Evan Rogers
+1  A: 

I think that many hope their "game degrees" will make them shoe-ins for game jobs, but that's not really the case. While I've seen a few fantastic Full Sail and Digipen grads, most are not fantastic. Like anything, you'll get out of your program what you put into it. If you do the minimum required to get an A, you probably won't get a game job. You've got to push the boundaries somehow, and you've got to be able to show the game companies that you really went above and beyond.

What exact course you plot for yourself depends on what you want to do. The most glamorous work is often the graphics, rendering, full-screen effects, yadda yadda. I find that all so tedious, but it's definitely the case that the graphics programmers get all of the members-of-their-preferred-gender. Linear algebra is key. You'll want to understand at least basic calculus and as much geometry and trigonometry as you can get your hands on. You're going to need to go outside of the curriculum, more than likely, as the interview questions you'll face on these topics are going to be important to get right.

Working in games is a lot of work, as the other responses mention, but you're your own commander. You're going to need to brace for a lot of demands, but more importantly you'll need to prepare to take care of yourself in the face of these demands. School may make you think that you're prepared (OMFG we did 3 hours of classes a day and then like 10 hours on our game!), but there's really no comparison.

To be honest, also, a large part of your introduction is going to be based on how cool your final project is, how well it shows, and if you can speak intelligently about what is complicated under the pretty.

I don't entirely agree with the "more hours less money," btw. I make a good bit of kit, and while I haven't exactly shopped around for the best paycheck other industries aren't offering what I'm pulling in. Then again, I've been doing it for nigh-on 14 years now so maybe that speaks to it. I've worked a lot of hours in the past, and probably will again, but I also stand up for my own needs and I'm not afraid to go home when I'm tired. I just dig closing, and it takes a lot of work, and when the team comes together there's nothing like it. (I've worked on big sellers and not-big sellers, good games and bad games.)

Recap: do what you love. If you want to make games, do that. Make games outside of school. Most companies will probably prefer a BS degree, but if you show something that indicates you know more than your classmates then you have a shot. Plus, you've got to persevere; in this economy there are more game developers than there are jobs, so you're competing with people who've actually made games for a living. You're going to need something special to shine through the piles of resumes on the HR desk.

dash-tom-bang