Best Education Path To Learn Video Game Programming?
Proudrooster writes "Fellow Slashdotters, I have transitioned to teaching and my students have asked me what is the best path to take to work in the video game programming industry. Which would be of more benefit: pursing a Computer Science degree or taking an accelerated program like those at FullSail? I have a CS degree, and suspect that the CS degree would be of more benefit in the long run, but I would like anyone in the industry to share their wisdom and experience with my students trying to follow in your footsteps. If you could recommend some programs in your replies it would be appreciated."
A couple other questions that might help those students: what non-academic methods would you recommend to students looking for a career in the games industry? What projects and tools are good starting points for learning the ropes?
...is a degree in living on bread and water from what I hear!
Invaders must die
Teach them that unless you're working for a good indie studio, game development is a great way to have your soul crushed into little pebbles of shit.
Just do it.
Just start designing and developing a game.
It's as simple as that.
You'll fall down many times but eventually you WILL learn how to develop games.
This pretty much goes for any other kind of programming or in fact any profession in general; if you want to go somewhere, you'll have to start moving first.
Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
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.
First of all: Join the modding community. Find a mod that is in active develpoment and that you like and join the team. See what you like most on the project and if you tend more to the programming or the designing side.
Depending on that you have various options: Joining a special course in Game Developement, Animation, etc. like Full Sail or the likes if you're a Designer type. Or regular CS with a focus on Application Development if you are the programmer type.
Anyway you do it, joining the modding community is a must before anything else.
We suffer more in our imagination than in reality. - Seneca
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.
I was under the impression that the consensus here is that video games programming was, at least in the mainstream industry, an extreme sweatshop, slave-like, gaming-enjoyment destroying kind of IT job...
Sure, do it for fun (who doesn't) but joining the industry is a bad idea.
Maybe u should first do your due diligence and warn them about it!?
Seriously. Studies just get in the way.
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 looking for, and I am rapidly building a strong foundation in making games. However, I am very glad that I got a normal CS education before coming here. I do not know how it works in RTIS (real time interactive simulation, the main undergrad degree for programming games at DigiPen), but I know that if I ever need to code anything, I have the ability to. I also know that if for some reason I decide I want to leave the games industry, I have the skills I need to pursue many other jobs. DigiPen is wonderful for undergrad if you know you will want to work in the industry, but as I said, I do not know how broad the CS material you are introduced to is, so if you decide to go somewhere else it might not be too helpful. As for the other game programs, you really need to do your research. In researching for myself I found that most of the programs are worthless, even inside of the game industry. I seem to recall finding a few others that seemed to be worth something in undergrad, but DigiPen was the only masters program I found that seems to actually have value once you graduate. Seeing as I go there, I should probably just say that I am biased towards DigiPen, but I felt this way before I got in as well.
From what I understand of the games/gaming industry, programmers have a short lifespan and are easily replaced without pay at a major studio. If they really want to make games, tell them to start making games ASAP, and ask them if they think they can do that 80 hours a week! If they do, then it's a tossup: the DigiPen and FullSail programs give them focused experience (note: hiring managers are reported to not care that they went to gaming schools), while a CS degree gives them career flexibilty.
Personally, I'd sit them down and ask why they want to make games, and if it doesn't sound like they want to because of a desire to be clever with object inheretence or design complex AIs, encourage them to take storywriting or point them to a program like my Alma Matter (UT Dallas)'s Arts and Technologies (ATEC) program, where they can help a kid develop art and storytelling skills and give him experience making projects of all kinds in fields. From there he can work his way into industry the old fashioned way: tons of unpaid hard work for the love of it, perhaps with eventual success by getting hired. Being a CS gaming guru is great if you're interested in writing a network stack for a multiplayer game or increasing the engine's efficiency with DirectX, but most kids who want to get into games aren't thinking about those jobs.
Being unemployed (B.S. in Chemistry, likely going back to Grad School in one of a few fields next year if anybody in Texas is hiring and reads this. Also capable in IT and PHP development.) I've got some time to think about this myself, and I think I might try to make an indie game working with an artist friend of mine. If that works out, then I might try and make it work as a career, but from what I've read working ANY job in the gaming industry requires loving the medium and loving making things more than any love of money or sleep (unless you're a publisher, accountant, or HR, then I hear it's a better work environment with similar pay to other positions). In fact, that goes for doing anything creative in today's society. Encourage your kids to take a serious look at what they want in life and if the reality of the gaming industry fits it.
And, when they don't do that, point them to CS. If they hate it, they'll have the math for almost anything else in college so they don't lose a year.
I am become
Show them this: Rite of passage, and you'll save them some pain, at least.
On the more serious side, tell them to simply get cracking with maps, mods, skins, simple game programming (like asteroids/minesweeper/etc), scripting, etc.
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.
...from working in ANY ICT related industry - especially development ones - is that there is no such thing as "Knowing enough" or "Too much knowledge"
Going on that, make them choose the full course - it'll show them the hard work, dedication and speed of learning which will be expected from them for the rest of their career.
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 career. Try to encourage them starting seemingly impossible projects, like creating a full-on 3D game. Experienced folk in the business have told me that any good game takes up to 1-2 time years (no matter how many people are on the project), so the earlier you start, the better. Make the result open-source for the benefit of all or sell it. BTW, studying existing code is good, but it's always more rewarding to write your own.
To be a game programmer, they'll need strong maths and ideally physics skills. There are Games Programming courses out there, but most of them are too diverse (teaching design & art as well) to give the students the full depth of programming skills they'll actually need.
Yes, it's a hard life, with long hours and not the best pay ... but if it's their passion, then there's nothing better than working on something they really love. It makes coming to work a lot easier, even if you know you're going to be in for 12+ hours, if you're totally invested in what you're doing.
Which would be of more benefit: pursing a Computer Science degree or taking an accelerated program like those at FullSail?
I have worked with several artists (and one programmer) from Full Sail on several movies. They are all gifted, talented, and easily employable peeps. I think these people speak very highly for that school. However, I do feel that these are the crem-de-la-crem. I never, for example, met the wash-outs. Whatever students you send that way will need to step up and kick ass. They get hired because we call the school and say "send us your best!"
The reason I mention this is that I think it's more important that the right expectations are set than it is to pick which direction to go. You might get some info that suggests a fairly noticeable change in pay going in one direction vs. another, but it's all for naught if they don't treat it like an extended job interview. I have heard some terrible stories about students paying >$25,000 only to storm off on one of their projects because another student was acting like a tool. None of those stories ended with "he's in Hollywood now!"
I imagine the path down a CS degree is similar, but I haven't heard of cases where impressing the instructor was more important than getting that piece of paper. This is, of course, something I wouldn't want to speak authoritatively about.
I realize that you're looking at the long-term return on the education, but I think that depends too much on the student. If they're insatiably curious, I'd nudge them down the Full Sail route. If they're not, well I'm not saying they should go the CS route, but I would say that they'll have to get the requisite knowledge spoon-fed to them and they'd need to go down a path that'd make that happen.
"I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)
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 more fundemental courses of Computer Science and Mathmatics (like compilers, languages and automata, operating systems, parallel programming, etc.) The CS degrees on the other hand lack a lot of the hands on programming courses focused on game specific technology like Graphics, AI, and Design. Really, the best bet would be trying to get the best of both worlds.
Also, let them know that the pay is lower for the hours worked when compared to other computer programming positions out there in the world. They have to be motivated to make games or they are going to burn out fast. And, yes, the ones who actually want to make games should already be making them. If you start making games/programming when you get into the industry you are 10-15 years behind the people of the same age who were actually motivated to work in their free time.
Point them at good side resources. What are they interested in? Send them to Wii/PSP/PS2/PS3 homebrew sites to learn to hack away on real hardware. Send them to modding communities to make HalfLife 2 mods, or Quake maps, or Starcraft 2 maps. Send them to places like http://www.gamedev.net/ http://aigamedev.com/ http://www.gamasutra.com/ or other high profile programming forums.
Encourage them to do ACM programming contests or topcoder.com programming contests. Get them to learn to solve problems, debug programs, and use source control. Get them to explore stuff other than programming; having a good understanding of art, music, or some other set of game related tallents helps out the team flow.
Even after doing a tonne of programming on the side since forever ago, I still don't feel like I learned enough before becoming a dev. And after two shipped titles, I can say you still have to learn on the way. Technology changes too quickly to ever stop learning. Getting to the goal of being a game developer isn't the end of the road.
http://www.bloomberg.com/news/2010-08-05/stripper-s-college-degree-profitable-for-goldman-finds-70-000-was-wasted.html Seriously, tell them to get a real degree so when they are tired of making games, they can get another job (not as a dancer.)
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 serious engineers".
Games programming is very hard, but most employers (or agencies / HR people) don't seem to grasp that.
Also there's a fair number of Video Games courses that are pretty useless too - as someone who's been involved in interviewing people for games industry programming jobs, I can say the ones with CS experience often have a far better grounding. Having some solid demos that show your coding ability is far more valuable.
Help me! I'm turning into a grapefruit!
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.
make games constantly
Comment removed based on user account deletion
Really it depends. Most of it is just pure luck. Sure. You can tell them the same old story I've heard from just about everyone on the internet.
"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.
Creating a game though is where it really begins. Even more so, to do so in a team. Doing either of these takes commitment. Telling kids, even college students, that they have to start a game project from initial idea to an actual finished product is something like Mt Everest for most people. In most programming classes (even game design and graphics programming classes) I've done, students who create a game do so with that deadline in mind and then finish the game. After the deadline for the project is up, they toss the game aside and move on, not completing their work.
Now I've got an interesting take on game development so far. I started off as a kid wanting to create games, figured that the one thing I really needed is a degree in CS. The thing is I started off already knowing what I wanted to do. I wanted to program. Kids and adults who want to create games start off by saying they want to create games, but never realize that there are many elements that go into what creates a game. Concept artists, 3D modelers, animators, level designers, game designers, game programmers, UI artists, quest design, AI programming, graphic programming, physics programming, sound design, and countless other roles are what make up a game in the industry. Indie development means you will find that people will have multiple roles, but ultimately a person has to choose their path and stick with it.
At my university I got immensely lucky and found that my school actually had a dedicated game development degree. I didn't go for it and decided to stuck with my CS degree, but I soon caught wind of a game project funded by the NSF that was in first steps of development at my uni. Several chance encounters later and now I'm in the forefront of what it really means to create a game from beginning to end. I've dabbled heavily in game concept to programming. I've got hands on experience talking to people who are truly motivated into creating the game we have envisioned. What really amazes me is how many times I have interviewed people who are interested in joining our project as a programmer only to find that they immediately come to the realization that it just isn't for them. Over the course of the summer we started with a strong team of almost 20 people. Most came by every now and then, worked a little and then dropped off the face of our known universe. By the end we only had 8 people. The ones who kept through are the ones who are now veterans in our field. We got people who worked with us go on to Activision and Dreamworks. In the previous years we produced a game and several of the guys moved on to create their own game development company (though now it seems they have moved on to teaching game development instead around the world). The guys who still work on it are dedicated to it and will likely land jobs with the work we have done.
So in essence what you really need to do is ask them a series of very serious questions:
1) Do you REALLY want to work on games
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 Pascal again (and I don't think you could pay me enough to...), but I use the concepts of functional decomposition and top-down design every day.
Learn the basics and learn them well, and your skills will translate to new areas easily and you'll find it easy to keep up-to-date. Focus too deeply on the current technology, and new technology will be your constant foe.
Am I part of the core demographic for Swedish Fish?
Mysticism --> Meditation --> Priesthood. Once you have Priesthood, build Oracle.
I never suggest anyone actually go to school to learn how to program video games. From people who I've interviewed in the passed, those who have gone through the courses never learned a single practical thing. It is a funny question. I would never recommend going into the video game business. It is like the music industry, long hours under appreciated, under paid. But, if you do make a game, release it, you probably can handle any other programming job out there. Everything else seems like a walk in the park after working 100 hour weeks with a publisher breathing down your neck. I've worked with programmers from all areas. Comedians, Physicist, Child actors. I was the one of the only ones with a CS degree and that I got after completing several games. The one thing in common seems to be a creative edge and ability to just make stuff happen. (of course this was 10 - 15 years ago, the game has changed at least 5 times since then!) Also note, this is not a life long vocation. You will leave the game industry at some point, if you can get into it in the first place.
It is a decent paying job and i got into my first job after i graduated in software engineering at a decent university. ONe of the classes that we had was called Computer Graphics which teaches you 3d programming concepts. The most important part about video game industry is that you n eed to be smart, stuff is not easy... And if you are good enouhg and willing to make your sample programs, you can get a job easily...
Our chief weapon is programming... programming and math... math and programming... Our two weapons are programming and math... and knowledge of hardware.
Our *three* weapons are math and programming and knowledge of hardware and almost fanatical devotion to efficiency...
Our *four*... no... *Amongst* our weapons... Amongst our weaponry are such elements as math, programming... I'll come again.
Amongst our weaponry are such diverse elements as:
- programming (low level enough, asm including)
- math (algebra)
- knowledge of hardware
- knowledge of data structures
- almost fanatical devotion to efficiency (horsepower, storage)
- and no real life... Oh damn!
The best way to prepare for the video game industry is to work as a slave rower on a Roman warship.
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.
Being thrashed by sadists while you pucker up and gasp "Thank you sir, may I have another" is the best training for an entry level position in commercial games development.
If you were blocking sigs, you wouldn't have to read this.
First post :). Not sure if other game veterans have replied to this. Therefore i'll just chip in my pov. I apologize in advance if I'm repeating some points.
Over the past few years, I have read hundreds of resumes and interviewed a lot of candidate game programmers. These are my humble opinion on how to score an interview and a job.
- Be VERY, VERY good at C++. C++ is still King in the AAA console world. So you need to impress us with it.
- Be a very good software engineer. Talk patterns, design, architecture, trade offs. Being able to design software (not just code it) is something we all love.
- Do something on the side. Showcase your mad skills and what you have done with just your free time. If you tell us that you wanted this job since the day you were born but you don't know what Ogre is, you must be lying to us.
- Diversify. If all you know is how to render using the latest and greatest tricks, you are just like every other wannabes. Games are so large nowadays, we REALLY need people with other skills. Some areas you may want to explore: Distributed computing for mass online servers, content distribution system, massively scalable database architecture, multi-user collaborative dev tools, multi-terrabyte data crunching, distributed server profiling, tracing, debugging. Multi-core programming, optimization, crash reporting, profiling, data collection.
I've also dealt with Digipen before. What they output is usually more 'focused' than the rest of the candidates comes with more relevant skills. Their resumes also look nicer.
Having said that, none of the stuff that attracts my eyes are exclusive to a Digipen degree.
My $0.02
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, the same students who were fast tracked into Playstation 3 and XBOX 360 development. I don't mind that they don't understand a particular algorithm, I get frustrated that they don't understand the concept of an algorithm. I don't mind that they don't have a natural talent for mathematics, I get exasperated when I am continually asked "Why do we need to know so much triangle stuff". The best module I had was a module named "Languages and Compilers". Sadly, the module never came up until four year but increased my understanding of programming languages more than 3 years of programming modules. My wish, with hindsight, would be doing my degree in CS and learning the graphical aspect of programming in my own time, creating a library of small, simple yet well programmed games for any future employer to see.
Is this thing on?
This goes for any one in an advising capacity: get the person to at least think about (ideally investigate) lifestyle of the job, like compensation, work hours, length of career, level of autonomy and self-direction, etc. Ideally go on premises for at least a single day.
One of the best things I ever did is work on a feature movie set handling animals for a few weeks. Wiped the idea of film school out of my head right quick.
We know where leadership by an anti-intellectual "strongman" who scapegoats minorities and likes boisterous rallies goes
Probable the best thing about Free software projects are as a learning tool.
Join a project, learn the code base, submit patches, get experience.
Don't try learning to code from the code you write yourself.
-paul
The game industry is the western world's remaining sweat shop. One of my best friends works in the industry. During the last few months of development he tends to work 14 hours a day, 7 days a week. This goes on for months, and applies to the entire company. Why?
Because schedules in the game industry don't even pretend to be realistic. Marketing decides when the game will be out, and everybody works insane hours to make it so. It's not an exceptional thing, it's routine in the industry and based on game release dates I pretty much know when I'll stop hearing from him for a while. People get forced to do it because most of them are easily replaced due to a lot of other people who think "wouldn't it be cool to make games?"
It's not. He can't even enjoy the games he makes because working on them is so soul-crushing that it's impossible to have fun playing them. Hell, he doesn't even get paid overtime!
So if you really want to be in the game industry, make sure you're a loaner without a family who doesn't like to sleep very much.
A better bet is to get a CS degree, get a job working for some boring company or the government, and mod games as a hobby. Modders get to do it because they love it, on their own schedule.
-- "So they told me that using the download page to download something was not something they anticipated." - Bill Gates
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 "solid demo projects), which demonstrate not only the grad's abilities, but also her or his competencies to work as part of a team.
Finally, I don't know about FS, but the last figure I saw for DigiPen was a 99% placement rate in the first year after degree. In other words: if you want to work in the videogames industry, and you are able to stick through four years of school, you will get a job.
Some hiring managers may not care where you went to school, but when on paper one person has what amounts to a CS degree and a mod project, and the other has a CS degree plus specialized training in the field, and a fat portfolio of games, the choice is easy.
Of course, the unasked question is: Do you really want to write games? Before anyone enrolls in a games program, she or he should try something: modding, building 3D models, little games, whatever. Because making games is a hell of a lot different than playing them.
After working for one of the leading game publishers for two years as a programmer, I was offered a production job as localization manager. I declined it for the simple reason that I would not, could not drive 25 year-olds on death march bullshit dev schedules. The person who ended up filling the job filed suit with the human rights commission 3 years later, after what amounted to a nervous breakdown.
Tell your students to avoid the whole gaming industry like the plague. It's sleazy and morally repugnant. Why the f**k would you advise any young person to work in these sweatshops?
Not really. Having tried both, I actually found making corporate Java programs to be a _lot_ less stress.
It's not just the deadlines, it's also, well, let's just say that unless you work for some incredibly shitty boss (and you should probably quit then), in corporate jobs you're a lot less likely to have a constant stream of change requests right until the deadline and in fact even past the deadline. We tend to make a fuss when the client wants another field on a mask or such, but few people have a clue what it's like to have Mr Designer come up with great ideas that turn the whole engine on its head.
Also in a corporate database and Java job you may (or may not) have to deal with code that is properly structured and has automated testcases. If you're lucky, comments too. In fact, in some places it may even be enforced. And the need for ugly hacks is also a bit less present. In the games industry you have code written by people straight off college, who never had to write anything over 1000 lines and half of them still think that structure, refactoring or the rest of the theory is something that lazy old has-beens invented to make themselves look busy. If you're unlucky, it'll be code from someone who even thinks he has something to prove. If you're _really_ unlucky it will be script code from some hapless designer who got shanghaied into writing scripts because "everyone knows" scripts are teh easy stuff and game design stuff and no need to waste a real programmer on. Also, not only you'll have to deal with some obscure hack that might be there just to deal with the idiosyncrasies of some obscure driver version from 2005, but it's undocumented and everyone who even knew about it or the condition has long ago burned out and left, so you're left guessing if it's horrible code or necessary. Also, it's been written under terrible time pressure, so not only it's funky code the kind that gets produced on a Sunday evening after a 100 hour week and lots of skipped sleep, but nobody had the time to "waste" with comments, refactoring, test cases, etc.
And so on, and so forth.
Plus, I guess there's the sheer frustration about the creative part. In business a usecase may be dumb but ultimately you have to fit what the client wants done. You can argue about usability or fonts (and lose badly,) but that's about it. In games you may well have played a hundred games in that genre and actually understand better than Mr Designer why that idea is dumb and has failed before. He's not omniscient, and especially for games which get developed more out of "well, let's try genre Y because it sells better" he may actually be designing something he doesn't understand, or even hates. Just look at all the featured copied badly between games, because someone didn't even understand why they're there. Now imagine that you actually do know, and have read the interviews from the designer of the game you're trying to copy, and know full well that what you're asked to implement is a horrible caricature of it. But nobody's listening to you.
A polar bear is a cartesian bear after a coordinate transform.
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.
.. even if in reality it would make it "just another boring FPS".
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
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.
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/ 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 simulation as a career they will find answers.
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
- a tremendous learning experience
- a resume booster
- free
- easily accessible
Personal example: I never wanted to be a game developer, but I was interested in how games work and how to make them better feature-wise. After looking around I found the Xonotic project, for which I now provide feedback and test for. It's a win/win for me and the project team; I've learned a lot in the process and the project team gets free map reviews and gameplay videos.
df -h
I will answer the question. There are now several schools that over game development curriculum. Look into these first. I graduated from RIT taking the Game Development concentration and overall, my degree has been good.
Here is what I can say about that program: It's probably one of the best cs i programs at RIT. You take all the standard math, science, and cs courses. When you get to the actual games courses, you'll find the professors and students very dedicated. You are guided with strategies along the way, but you need to do a lot of learning on your own. When I was a student, it was pretty open - we pretty much took a year, broke up into teams, and made games. There are lots of skills we learned doing these projects that we might not have learned doing smaller, more concentrated projects.
Did I end up making games? Sort of. I've done a few budget, educational titles in my free time. I don't really have any interest in working on big-budget games, but if an idea comes along for a cool game I would consider executing it. The skills in 3d graphics and audio processing have been pretty useful to have because not many programmers in my field are experienced in these areas.
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 product. Just because marketing studies show you must make it *like this*.
The videogames industry is a piece of crap because it's run by dudes with suits and greedy developers that want to hit it big and become the new Kojima/insert name here.
As a serious game developer I tell you this. You suck.
I earn more than enough from my regular job, and I get to make the games I want, like I want. And I enjoy every moment of it. You won't.
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.
by not using it! :(
/ sulking cos Batman Arkham city will use Games for windows live. Another one I want, yet can't/wont buy.
Get them some contact in the industry. Half the time is who you know.
If you want to become a games programmer, I'd recommend Maths or Physics, in addition to a course that covers software engineering.
Those without decent 3D math skills, and an understanding of good software engineering practices are of absolutely no use for game development.
A firm understanding of the underlying operation of computers is essential to writing code that performs well, so a good grasp of what high level language actually compiles down to, and an excellent grasp of formal software engineering practices are completely essential.
XNA Creator's Club: http://creators.xna.com/ Supported Platforms for Game Development: * Windows * XBox * Windows Phone 7 * Zune * Silverlight (via SilverSprite) * iPhone and iPad (via XNA Touch)
I'd want to build a simple muliplayer platform that lets people build and script their own game worlds. They could use stock resources or add their own, kinda like how NWN1 was done. The only thing people would have to download is the custom content packages to render the world properly. The game world itself would stream down to the client like in NWN1 so they didn't have to download that entirely as well.
Yeah there would be a lot of crap content out there, but it would start getting the creative juices flowing for people. Over time it could turn in to a nice easy starter package for game development and it would be open so people could just grab it and run it without paying mountains of money. I'd also have it running completely on all three platforms (Linux, Mac, Win).
It would have to be kept simple and easy to use so anyone could walk up to it and start using it. It'd also have to have the flexibility to do some pretty advanced things.
Oh well that's my wishful thinking post for the day and that is about as far in to game development as I'd want to get because I miss that kind of game platform with all the crap MMOs these days.
~~ Behold the flying cow with a rail gun! ~~
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.
This is a joke. I am joking. Joke joke joke.
Just a quick blurb if they have never used an engine before you can get a free indie version of the unity engine at unity3d.com.
Not the best engine in the world but good for first timers to get their feet wet.
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 freelance video production. Sure, it's an accelerated program (which can be nice), but most industries don't take the degree very seriously. You're often taking courses with students that just recently graduated and have no real world experience and fighting over lab time. The same could be said of a university; however, grad students generally only teach 1000 and 2000 level courses at a university and, at a university, you're not paying nearly as much.
I would definitely go online and read students opinion of the school before dedicating that much money and time to a program. I have a feeling that once you start reading students and employers opinion of the program, it'll seem a lot more shady than those ads make it out to be.
Go to a 4 year university, make friends in the computer science program, and program in your free time. You'll have a lot more free time going to a university, the information won't be crammed down your throat at an accelerated speed, and if the video game job doesn't pan out....at least you have a computer science degree and you can get good jobs elsewhere!
Wise men say, "Forgiveness is divine, but never pay full price for late pizza."
First of all: Join the modding community.
I thought video game consoles had lockout chips specifically to defeat mods. If you meant find a PC game to mod, a lot of genres are grossly underrepresented on PCs.
there is no such thing as [...] "Too much knowledge"
Wikipedia disagrees.
That's what we do. Please get a real CS degree.
Just been talking about getting into this industry and considering taking up a programming degree for it of some sort (more the mobile phone app side of it)
Your comments have ben an eye opener. figured it would be a tough industry. Didn't realise it would be that bad though. Some food for thought though... Working in a sales background the marketing side of it might be a better fit for me.
Learn C. That is only a start and one tiny part, but it is a start.
http://www.youtube.com/watch?v=gwlE1aASc4g
I recently downloaded Visual C# Express 2010 and found that MSDN has a wonderful beginners page for programmers, video tutorials and a great community that's responsive to questions. And did I mention that it's all completely free? love it
I'm in the game industry, and although I chuckled at all the jokes about "roman slave rowers" and the like, the truth is it *is* a good industry to be in if you have the chops and find the right studio.
I have a traditional 4-year CS degree from a US state university, so I'm partial to that route. I consider myself "well rounded" as a result of that education, and I would recommend it to anyone interested in game programming for similar reasons. If all else fails, it will help to land "regular" programming work should the game industry thing not work out.
However, some game development programs are actually quite good, such as Dallas's SMU Guildhall. If you already have a strong CS foundation and can spare the cash (it's not cheap!) programs like these will certainly prepare you for what lies ahead in the game industry. But I wouldn't recommend them to someone starting cold with no programming experience.
I work as a dev for one of the biggest game companies. Around me, in the studio, are close to 100 programmers. Over the last 4 years I have only met 1 (one) programmer without a university degree. He got fired at some point when cuts were made, but not for lack of coding skills. So your chances of finding a job without a university degree here are 1/100. I would do a CS degree! Of course, very little of what you learn in school will be used, so it may be that you can use those 3 years of your life to get a kick ass game out on your own, and even make money instead of spending on tuition. tThe experience gained this way will make yo employable right away. But realistically speaking, very very few people have the discipline to do it.
keyboard not found! press any key to continue...
I have a friend who spent about a year and a half living at home and had good parents that understood his passion for games, develop his skill in level design.
He made mods for UT2k3 and UT2k4. Around 2006 he got a real paying job at an indie studio that is mildly successful. He's now making around 50k a year. Grant it, he works like a dog, but he loves it from what I can tell. Sometimes I envy him, because I took a different career path - a Civil Engineering degree due to job security and normal hours, but oh well.
My point is that as long as you have the passion, motivation, and dedication, you can get into the game industry or any career you want. Sure, sometimes you have to do things to survive in the world or take the formal route (ie college), but stick to your dreams and eventually you'll get a chance to live it.
Previewing comments are for sissies!
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).
NB: I worked for blizzard on Diablo, Diablo II, Starcraft, WOW.
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.
"Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
really getting old
So I interviewed a good number of developers at one game company to try and answer this sort of question.
In terms of Full Sail/Digipen, those programs generally garnered a lot of respect from the developers I talked to. But they also regularly hired from regular run-of-the-mill CS programs as well. One person said that each provided different talents: the game development programs folks definitely could get down and dirty right away, but the CS folks tended to have a better grasp of the theory, data structures, etc which could be useful for thinking up new approaches. So both could work. Talking with some teachers at Digipen, their program is quite intense but also very focued on game stuff...so if you think your students might be turned off by slogging through the usual CS cirriculum and having to make all the connections to game development on their own that might be good. On the only hand, students with slightly more far-ranging perspectives might wish they could take some non-game electives now and then (or, god forbid, even non-programming courses).
Be sure to guide them carefully though...there seem to be many places disreputable schools with 'game design' degrees that aren't worth the paper they are printed on.
In terms of qualifications game companies are looking for, you might check out my paper (I reference some other folks trying to answer similar questions too):
http://home.cc.gatech.edu/hewner/11
What about the "casual" games in Flash, or iPhone and Android games? Are the conditions or payoffs any different there?
Self-education is ultimately the way to really get into any tech job. You can sit in college and have a prof try to stuff your head full of what they find interesting, but unless you are engaged and trying to learn on your own, or at least for yourself, it is just useless knowledge with a pointless piece of paper at the end.
James Bach wrote a book called "Secrets of a Buccaneer-Scholar". He dropped out of high school, taught himself assembly (this was a few years ago...) then worked as a game developer for 2 years before getting hired at Apple as the Testing Manager. Now, 20+ years later he is one of the authoritative voices in the software testing industry because he is constantly self-educating.
Teach your students how to learn and how to be engaged in real authentic problems, then let them take it away from there. Experience and desire count for way more than a fancy piece of paper with their name on it.
Back when I did game design and programming for a living I told people they should study:
1) Visual arts. Doesn't matter what, but you've got to have some knowledge of turning an idea into something that looks cool. That's true whether you are storyboarding to pitch ideas, an artist, directing artists, or writing the code that presents the art. Anything from painting to cinema.
2) Math. Anyone who can handle math can pick up programming. Not everyone who thinks they can program can handle math.
3) Music. This was at a time when game music was perhaps more important (nobody fired up their MP3 player in the background while they played) but understanding at least the basics of music theory was a major help both in directing composers and understanding when and how to do things like transition songs, design sound effects, and so on.
That was back when small games were the norm and a game could be brought to market by a handful of people. It would still be the ideal skill set for an indie game developer.
Nowadays I write financial software. Yawn, but reliable dollar signs.
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, the wages up, and, most importantly, the schedules sane. Because the unionized film industry pays overtime, including time and a half after 40 hours and double time after 6 days, management tries very hard to avoid "crunches", and film scheduling and budgeting are well understood. The game industry doesn't bother. Also, the film industry has better parties, better meals, and hotter women.
Even if you're at the high levels, but just an employee, game development tends to suck. SCEA had a panic after the Playstation 3 came out and they realized, far too late, that the Cell machine was nearly unprogrammable. So they basically yanked their R&D people off whatever they were doing and put them on Cell programming tools. There's also the fact that game development isn't about R&D that much any more. Most of the essential problems have been solved. How to do a big, seamless world, or a physics engine, or echo-free voice multiplayer voice chat, is well understood now. So a bigger fraction of the programming is grunt-level stuff.
I can't speak for the art side, but since game worlds got bigger, that's a huge, partially outsourced grind. Somebody has to draw all those buildings and storefronts. Doing artwork at full speed, full time, is wearing. It's much worse than typing.
I will say that the people who do well in the industry seem to have enough programming skills to write good code, enough artistic skills to make good artwork (although not necessarily at the speed of a working artist), and good insight into game playability, player dynamics, and social interaction.
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. )
Everyone who's 12 thinks it would be cool to program video games. It's not. There are a million shiny eyed programmer who get taken advantage of by the industry, just like hollywood takes advantage of stary-eyed starlets.
Learning programming is good. Learning only for video gaming is like learning to be a mechanic but only learning to work on a single model of car.
Two of my friends went through vastly different paths. One earned a master in computer science. The other did an interdisciplinary undergrad followed up by CG design for his master's degree. The comp sci guy works for EA Games in Japan, developing PS3 stuff, pretty much living his dream life. The CG design guy currently works for Best Buy's Geek Squad. His CG art degree (from a high end institution) also cost him three times as much as the CIS degree, so he's facing $60K in student loan debt to boot. There is no shortage of CG artists, it seems. What the industry needs is more folks that can handle line coding.
Occasionally living proof of the Ballmer peak.
n.b.: Like a few others here, I am a real live game developer.
A real 4-year CS degree will get real attention in the hiring stack, no matter what school it came from. Lots of schools also offer a certificate, secondary major, master's degree, or something along those lines for students specifically interested in game development. That's where your students should go.
Honestly, whenever a resume comes across my desk from Full Sail, it looks really impressive. In fact, they all look equally impressive, and read like the resume of someone with 10 years of industry experience, as opposed to just a 2-year associates degree. They claim that the applicant knows every popular programming language and API. They go on to say that the applicant "knows" really broad and impossibly intricate and difficult topics such as AI, game engines, and optimization.
Occasionally, I would bite on one of these Full Sail resumes that happened to have some additional prior education or something else that the others didn't, and I would let one of these applicants move on to the next step of the interview process. Part of that step was a self assessment (rate yourself 1-5 in these ~40 areas), and another part was an open book written exam (write a simple game in pseudocode, solve this game scoring problem in any language, design an API for this common subsystem). Comparing the fluffed up resume and the self assessment to the actual written answers showed such a disconnect that it was laughably bad. Every time. Out of 5 or 6 Full Sail graduates who took that written test, the best one was just plain bad, without the laughing part.
Now compare those results to the other applicants who had CS degrees from a wide range of schools. We got the occasional laughably bad applicant there too, but on the whole they were much better than the Full Sail kids.
Every other developer I've talked to about Full Sail has told me similar tales. I can't say much about DigiPen though; I didn't get many of their resumes.
Here's what happens when your first game is ready: You'll find some publishers, and they will tell you to sign a contract, which makes the game useless for anyone else than that one publisher. Then they give you $1000 of money for 2 years of work for a completely finished product.. Getting a game ready is in reality a big disappointment and most people cannot handle it and will stop creating games or switch to something else. But this will happen quite early in your life, since only very young people will dream about game programming.
So it's not really worth the effort. The people who created the game learned large amount of programming, and that eventually provided a good job, so the effort did get rewarded eventually; but not immediately and definitely not in the way people originally thought it would happen. Large amount of effort is going to be rewarded one way or another -- it's just too obvious who have done the effort and who have not -- you need to talk to a person for 2 minutes and you can easily regognize if he ever spent years writing code. This effort will get rewarded later in your life.
But you shouldn't think that game programming alone will give you steady income. It's just not going to happen. The reward comes from learning things that noone else knows, and then when applying to a real job, they will regognize what you have learned while writing your first game. So game programming is a good way to get young people to get interested in programming, but it's not a substitute for a real job.
Depends what area they want to work as. If its the code monkeys then its a strict diet of c++, trigonometry, matrices and physics.
No. That only partially qualifies you for the graphics or game engine. Two things that tend to be done by a third party library. These may be customized internally but this will be a relatively small part of overall programming and its the least likely part that an inexperienced new hire will work on.
For someone without a proven track record in the industry the easiest way in is through tools. Behind the scenes low-profile stuff that glues everything together. Or perhaps complementary programs like level or map editors.
A degree is not a strict requirement but you are disadvantaged without it. At a minimum you should read and master the material in a *university* textbook on data structures and read and understand an analysis of algorithms textbook. This will be far more valuable than anything else. If you cannot demonstrate that you have mastered these basics then no one will care how familiar you are with a graphics or physics engine. You should also read and mostly understand textbooks on the topics of computer architecture, networking, artificial intelligence, databases and computer graphics. Even if these are not your desired fields you should be able to participate in conversations touching these areas. Concepts from these fields sometimes solve problems in completely unrelated areas. In addition to the high level conceptual stuff just mentioned you should have a working knowledge of TCP and UDP, and DirectX or OpenGL depending on what platform the company targets. If you don't have a degree be sure to mention in your resume that you have independently studied these areas. If you apply to a company that targets the Windows market then only knowing OpenGL disadvantages you. You should be able to read and debug the assembly language of the target environments.
You can make all the mods you want. However there is no shortage of other candidates who have also made mods and who also have the degree or equivalent knowledge. There is no shortcut. There is a lot of "book learning" to do, either in school or independently on your own.
As someone else has mentioned you should have a working knowledge of the exact tools being used by a development team, not their open source equivalents. One of the hardest jobs to fill is the tools programmer who is writing the glue code that connects the artist's tools and data to the programmer's code. For example 3D Studio Max and Maya have their own APIs for writing such glue code.
All of the above is geared towards applying to established teams with a track record. Your chances may be a little better at smaller and less well known teams.
Far too many companies seem to require college degrees for this type of work, even if it is obvious that the person knows what they are doing (at least, that is one of the requirements on many of their websites). Why must you waste your time on a worthless college degree if you already know what you're doing? Insane.
Filthy, filthy copyrapists!
I played hack a lot. I got the hack source, I read it. I started hacking on roguelikes. I learned C from roguelikes, and it's done okay by me.
But honestly... If you aren't ALREADY programming video games, there is no point at all in going to school for it. I was trying to write games (admittedly they sucked) by the time I was six or seven. I wrote games for Unix, I wrote games for the Amiga, I wrote games in BASIC, I wrote games in C, I wrote games in Perl, I wrote games using curses, I wrote games using plain old stdio, I wrote games using the Z-machine...
And I'm not into games programming enough to even bother to try for a job doing it.
If your answer to the question "what games have you written" doesn't include running off at the mouth for half an hour, and you're old enough to own your own computer, you are not a games programmer. Find a job you'll enjoy.
My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
http://bux.to/?r=RRRRR_132 http://www.awsurveys.com/HomeMain.cfm?RefID=RRRRR_13 register and earn money
Premed and CS double major -> MD -> residency -> practice -> profit
Then you have all the time and money to game and make games.
Notice there's no ??? in the path to profit. :)
Seriously - we have a huge shortage of qualified engineers and scientists, and you want to encourage your students to pursue a career in video game programming? As a graduate of a computer engineering program myself, I've seen scores of students enter into CS and CE programs thinking "I like video games so I'm going to love CS/CE!". This is the same as thinking "I like airplanes, so I'm going to love AerE". It gives them unreasonable expectations. If they really want to be video game programmers, tell them to get a certification from one of the many avenues which provide them. Don't waste their time or the time of professors telling them to go into programs they won't apply themselves to or succeed at.
On the other hand, as country we desperately need more qualified IT, R&D, and academic personnel in the fields of CS and CE. If your students have the potential to succeed at these things, don't waste their time by encouraging the thought that they're going to be the next Blizzard. Show them all of the things they can do if they achieve a degree in CS or CE.
I work in videogames, some of the best programmers I know are self-taught. Cuts down on student loan costs ^.^
I have done 3D computer graphics at the CS Masters level, and I think it's worth pointing out that this stuff is *hard*. You need to have excellent skills in mathematics and physics (lots of matrices and vectors) and a strong foundation in computing. I applaud anyone who studies this stuff properly through the motivation of gaming, but as many other posters have said, don't make game development your only option.
Meanwhile, I'm getting the boy into computing by introducing the important concepts without a computer via http://csunplugged.org/
The main reason PCs don't often plug into TVs is that TVs aren't all that good for text.
I have a 32" 720p LCD TV with a native panel res of 1366x768 pixels. I set my PC to 1024x768, and text looks as good as it does on a PC monitor. Even Windows XP ClearType works as intended.
If you're far enough away to see the screen comfortably, the text is illegible.
Then perhaps 720p and 1080p need different seating arrangements.
If you get close enough to read the text, you lose half of the screen outside of your visual field.
On a 1080p monitor, try a tiling window manager. Windows XP's "Tile Vertically" and Windows 7's "Snap" work nicely to split the screen into two 960x1080 areas.
Luckily firefox has some nice easy hotkeys for increasing the text size on webpages, but most other programs are difficult.
Windows itself has a DPI control.
Which is basically, keyboard+mouse makes for a very different gaming experience than a controller
The entire second half of your comment ignores that a PC can take at least four USB gamepads through a hub. Xbox 360 wired controllers work as expected on every PC I've tried, under both Windows XP and Ubuntu 10.04.
real motion tracking from the Wiimote would have made for AWESOME sword battles. But no, they opted to simply have you swing it back and forth to accomplish the exact equivalent of a single button push.
Exact motion tracking would have had to wait for the MotionPlus accessory.
I see Kodu and even Little Big Planet as a very good starting point. You could as well start modding using the various game engine that are out there, be it Source, Doom, or UE3.
Get yourself Unity, Shiva, or Torque and create a small game. Put it on the iPhone app store and see how it does. Stay indie. Working for game publishers is tough. You don't need a college degree to make good games or even to get a job with a major studio. You need a college degree to round out your education and set you up to have more career options throughout your working life. Personally, I'd stay away from CS programs unless you plan to do post grad work in computer science. Game development is a different discipline than computer science. A CS degree qualifies you to be an entry-level programmer ($40k-$80k annually). But, a business or communications degree will qualify you for a management position ($80-$150 or more annually). You can teach yourself CS, programming, game dev anyway. Food for thought.
start with text adventures... go to the bookstore and glean information... do hackathons :)
1) So-so wages compared to other professions that will decline relative to the cost-of-living over you career
2) long working hours with no social life
3) working for people who don't have a clue about programming, what you do, or what it takes to do what you do
4) dealing with internal company politics that have nothing to do with your core competencies or the actual product (just interpersonal likes/dislikes/favorites/biases...many of which won't be admitted but will come into play behind the scenes).
5) having your skill-set be outdated every 3-4 years; you have to self-educate
yourself in new technologies and must keep up on the new tech, or you will become
less valuable and become outdated. That's a quick way to maintenance, but more than likely the door.
6) company insecurity (no game companies seem stable)....
With skills requiring you to be an artist, you will have no benefits or protections accorded to artists in other professions (visual or audio). With skills in mathematics and physics, or understanding of game theory, you'll still be accorded the respect of a monkey (a 'code monkey')...
Sounds like an attractive field, if you live in Japan and expect to live with your parents for the rest of your life. No wonder they have such a thriving game/manga/anime market.
Yes, I'm looking at the downsides, but even if you love the job, eventually, reality will hit, and you will have to find something to do other than what you love (or you will be forced to change what you love doing).
Don't think that you will succeed by excellence. Can anyone name a game designer who has made a career on that and made it to a comfortable retirement age (whether they've retired or not). The same can be said for programming in general -- the number of those who have made it on excellence? I can't think of any -- the ones who are the names in programming, seem to be those who publish books -- and among the heaviest weight names usually seem to be professors.
But I'm temporarily in a mental funk and am more than willing to have statistical counter examples (not 1-of) posted to the contrary...please!
I've been in the game industry for four years now. I graduated from Imperial College London with a Masters in Computing (which is what their Computer Science course is called). I would strongly recommend that any student considering a career in the industry go for a good CS course rather than a game-oriented one. I've looked at the game-specific courses before when considering job candidates and was seriously unimpressed. Also, as other commenters have said, it limits you to working in the game industry forever, whereas you'd be much better off keeping your options open.
I also wanted to say that both companies I've worked for so far have had excellent policies on industry issues, such as project planning and overtime. The company I currently work at just released a triple A console title this week, and the scheduling on that project was excellent. For most of the 2.5 years of the project, we were working 9-5. We were putting in an hour or two extra a day, and a Saturday here and there, for about six weeks at the end of the project. That's pretty amazing for a project of that length, even in the business world, and the company compensated us for the overtime (1 day of overtime = 1 extra day of vacation).
Everyone I work with gets a very competitive salary with great benefits, annual bonus, pension scheme, etc. I'm still pretty low down in the company, but even I get 28 days of paid vacation a year (we're based in the UK, so we generally get more paid vacation than workers in the US anyway). We have people with children, people in their 30s and 40s (although not 50s, admittedly), which goes to show that you can make a career out of gaming if you want to, and it's not just about slumming it for a couple of years and then burning out.
A lot of posters here are slagging off the game industry as a good place to work, but just be aware that there are good companies out there and it is very possible to make a rewarding career out of game programming.
Buy Cheap Tiffany Cheap Silver Tiffany Cheap Tiffany Jewelry Cheap Tiffany Necklace Cheap Tiffany Pendants Floral Tiffany Pendants tiffany&CO jewelry tiffany antique jewelry Tiffany Chain Necklace Tiffany Clearance Jewelry Tiffany Diamond Necklace Tiffany Gold Necklace Tiffany Heart Necklace tiffany jewelry tiffany jewelry sale tiffany jewelry stores Tiffany Pendants For Sale Tiffany Silver Necklace wholesale tiffany jewelry Shopping Tiffany Tiffany For Sale Cheap Tiffany Jewelry On Sale Tiffany Sterling Silver
http://www.mbt-shoes.com
I'm currently teaching game development. I have taught it in the classroom and on line since 2004. I run a mailing list for wanna be game developers, I have run it for more than 10 years. I helped a college develop their game programming curriculum, for some reason they won't let me teach game dev there any more :-) I used to be game developer. I only did that for 2 full time years, but I was in the computer graphics industry for 10 years after I got my MSCS and before I went into game development. After being part owner of a game company, programmer, and technical director, I moved on. I went to work for a fortune 50 company doing technical and business analysis for games. Now I'm a teacher. And, I am damn near 60 years old. Oh, yeah, I also did 5 major start ups not counting my times as an independent software developer. I had founders shares in 2 of the start ups.
I designed my first game (not a video game :-) when I was 12 and my first paid programming job was porting games from a minicomputer to a mainframe back in the early '70s.
I have a large number of students from my classroom classes who are working in the computer game business. Most of them are developers. I have an even larger number of people who started on my mailing list who are now working in the game development business. I think I have something to say about this subject.
First off, the best way to get a job at one of the Majors is to create a successful independent studio and then sell you studio to one of the majors. Sure, you can get hired at one of the Majors, but then you will be just like the rest of the toilet paper. Cheap, disposable, and only really good for one use because after you use it it is covered in ... well you get the picture.
OTOH, if they have to *buy* your company they will respect you at least a little bit and you will at least have a nice office and a real salary. But, get the money in cash, not in stock. Stock is like toilet paper... Cash is something you can spend.
Secondly, the best way to get any job in game development is to develop games and sell them or find some other way to make money off of them. Yes, by fart the best, easiest, and most lucrative way to get a game development job is to start your own company. If you do not know how you can learn how quickly. Most states, the federal government, many cities, and every community college I know of in the US has courses on small business management and entrepreneurship. Take them, and make sure you get at least on class on contract law while you are at it. Those classes along with a couple of semesters of probabilaity and statistics will be worth more to you over the next 40 years than anything you learn about programming or graphics. All the tech stuff will be obsolete in 5 years, the business, statistics, and law stuff will still be accurate.
As for education. A degree in CS used to be a good place to start. I'm not so sure about that anymore. If you go to a school that only uses one language all the way through (especially if that language is Java or C#) you should find a real school. But, it is still probably better to get a CS degree than a physics degree. Math is kind of a wash. A math degree with a CSMS is not a bad combo. If you can find a school that offers CS degree with a strong emphasis on software engineering you are in pretty good shape. You need to take trigonometry, college algebra with computational geometry, linear algebra with lots of matrices, calculus, numerical analysis, and probably differential equations. I didn't get linear algebra and DiffEQ as an under grad so I had to teach my self linear algebra and I'm married to an ME so I go to her when I need help with DiffEQ. But, you really need at least DiffEQ to understand physics. Yes, you also need to take physics at least a good introduction. A couple of years of physics in high school is good enough. You need need to take a few art classes. I would suggest an art history course, and courses in something l