My son, a senior in high school, wants to design video games as a career. What do you programmers out there recommend for college courses and degrees? Are games written in C++ or some other language? Are some parts of the country hotter than others for this sort of career? We appreciate any advice.
RPI (Rensselaer Polytechnic Institute) in upstate new York offers a degree in Game Studies, and according to a CNN article published today, many other schools are following suit.
Well, I don’t know that much about it… when I was getting my undergrad degree in computer science, there were certain courses that were marked as good for games design… mostly graphics programming, a fair bit of 3-d geometry and so on.
I’m not sure what languages games are generally written in, but probably most are in something fairly low-level - C++ and C are good places to start. Java and assembly might also come in handy.
No idea about what parts of the country, unless there’s still much activity down in silicon valley. Hope that this at least gets the ball rolling slightly.
I think it’s worth noting, that most people in the game industry don’t design, the code. And code, and code, and code. It takes several years as a coder, or maybe a graphic artist, before you get to actually design a game. The hours are long, the pay ain’t so hot, and there aren’t a ton of openings right now.
An interest in playing video games does not always mean it’s a good idea to make them. Just a warning.
True. I spent 11 years as a game designer, and I never wrote a single line of code. My major was in Technical Journalism, with a minor in computer science.
Thanks for the information. We were wondering if a BS in Computer Science would be a good place to start. We searched the internet for the types of courses my son should take, but we couldn’t find any local colleges that offered them. But there is a local college that offers a BS in Computer Science.
And if you think you can get to do your own game design, well…Usually, the marketing/manager people decide what game is hot and what to do, and you are nothing but grunts to them.
The hours are also long. Not sure if you can still dig it up on Google (you can try www.gamedev.net), but employees were unhappy with the way EA Games was grinding them – long hours with no OT pay, weekends burnt, holidays crashed and so on.
The traditional route which I am doing now is going through a typical computer science course, concentrating on the graphic aspects. Why? You got a back-up plan if you somehow realise that you don’t want to go into the industry. Second, you may get to learn more things and third, computer science degrees are more recongised in the IT industry than a computer game degree (at least in the sad, sad country that I am in).
If you want to be a programmer, then learn maths. Tonnes of maths. When you open the math textbook, don’t say, “I don’t see why I need to learn all that”. Yes, you need to, especially if you are doing 3d games. Vectors, matrices, calculus - the whole lot of them.
After the maths, programming is not the next killer topic. So it’s good to get prior exposure.
The language used is always C++ - or C. Those are hard to learn, but can be done, with a good book (which is hard to find). You may want to get a couple of books from http://www.courseptr.com/ptr_catalog.cfm?group=Game%20Development
Hope this helps
I believe most games are written in C++ or C. My advice (I’m not a games programmer) would be to forget specialist games programming degrees and get a straight CS / CSE / AI degree. That way you have skills applicable to other careers should games design not come through.
I’ve been in the game industry for ten years. I’m currently a senior designer at Sony.
The first thing to realize is that “designer” and “programmer” are very different positions in the game industry. Programmers write the software for the games but it’s the designers who are responsible for shaping the player’s gameplay experience. It’s the designers who lay out the levels, create the characters and weapons, design the missions and so on.
It’s a bit like the difference between directors and cinematographers in the movies. The director is responsible for establishing the creative vision, while the cinematographer is responsible for capturing that vision on film.
(Note that this should not be taken to imply that programmers are somehow inferior to designers. It’s just a different specialization. Programmers are often better paid than designers both at the senior and junior levels, and a good programmer can have a profound effect on the creative direction of a title. But they do usually work under the direction of a senior designer.)
Back in the day there was much more overlap between the two. Fifteen years ago the person coding a game was usually the person who designed it. But with team sizes for major projects topping 50 people these days there’s much more specialization.
Most people currently working as designers in the industry started out doing something else – programming or art or production management or quality assurance. Designer is typically not an entry level position. That’s because the skills you need to work as a designer are hard to pick up anywhere other than actually working on a game project. You can learn how to be a good programmer in college and a lot of non-game-industry programming skills are trasferrable to within the industry. The same is true for artists. But designers have to learn by doing.
(This will probably change. A number of schools around the country are trying to create the equivalent of film school for game designers. Unfortunately video games are so new that we don’t yet have a language of critical discourse for analyzing game design. That makes it very difficult to teach academically. For this reason I would discourage a student from seeking out a specialized “game design” academic program. Degrees from those programs are not the automatic ticket into the industry that they are sometimes billed as.)
ExtraKun’s advice is sound. If your son is interested in programming, have him pursue a straight BS degree in Computer Science. You should try to find a program that offers higher level classes in computer graphics, networking, and physical simulation since those specializations are most directly transferrable to the game industry. The advantage of getting a normal CS degree is that it gives you more options when you graduate. Your son may be very interested in games now, but four years from now he might want to work in computer animation, or scientific computing, or some other cool field. Going for a general CS degree lets him keep his options open.
(For example, I worked as a graphics programmer for eight years outside the game industry before I got my first game job. And I didn’t switch to design until several years after that.)
You should be aware that the game industry is very competative. Merely having a CS degree will not be enough to get your son hired. Many young programmers who are trying to get an entry-level job spend long hours working on indie projects to show off their skills – graphics demos, or small non-commercial games. Partially they do it to make themselves more marketable, but they also do it because they love games. If your son isn’t willing to make that level of commitment, the game industry may not be a good choice for him.
(My wife laughs at me because after a long day at the studio working on my current commercial title I like to come home at night and unwind by … working on a little indie game of my own. My assistant designer spends his weekends running D & D games. The game industry isn’t a normal 9-to-5 job.)
As for what parts of the country are hottest: The West Coast. Los Angeles, or San Francisco, or Seattle. There are isolated game companies scattered all over, but those three cities are really the only places you’ll find a large concentration of different companies. And that’s important if you’re planning on having a long-term career in the industry.
I can’t think of any major game companies in South Carolina. There are a few in North Carolina in the Raleigh/Durham area: Red Storm Entertainment, Epic Games, and NDL (who make game tools).
A great resource for anyone interested in getting into the industry is Tom Sloper’s website. Tom is a great guy. He’s been in the industry for many years and he’s a wealth of good information.
First of all, your son is just a HS student, is he really, really, really sure he wants to get into games? Wanting to do Computer games is a lot like wanting to be a rock star or a football player. It’s the dream of a lot of kids when they’re young because it seems like a glamourous profession. In reality, much of it is tedious, with low pay and long hours and not much respect or recognition and a feeling of being an interchangable cog in the system since there are so many people clamouring to get in. Unless you truly love the art, then it can be very demoraising.
Having said that, if he really wants to commit to it, I’m not too convinced that a BS is neccesarily the best way to go about it. There are a lot of things which are taught in a BS which are pretty useless for gaming and there is a lot that you don’t learn which are essential.
Advantages to a BS
- You have a fallback career if games doesn’t work out
- It’s a lot easier to stay disciplined when your forced to do the work
- You are forced to take a wider range of courses than you normally would
- You are surrounded by other smart, motivated people
- You have a piece of paper at the end
- You never really learn how to code big stuff
- You never learn to code “in the real world” with constant deadlines and requirements and responsibility for your code
- You take a wider range of courses so your understanding in each area is shallower
- You never really learn how to work properly with a group of people
- You never learn how to maintain code
- It costs a lot of money
What I think would be a better route is:
- If you don’t know how to program already, then start seriously learning, pick up a few of the classic textbooks and read the cover to cover (this page seems like a fairly decent compilation).
- Start doing personal projects, just stuff that interests you. Get a feel for how the actual craft of programming goes, get familiar with IDEs, APIs, algorithms and best practise.
- Start contributing to open source projects, get a feel for how to program within a group and on serious projects. It doesn’t have to be game related but getting your name out there is important, learn how to read other peoples code and the social aspects of programming.
- Start making games, any sort of games. Try and be creative and quirky, everybody tries to write a driving game or a fps as their first game. Show that you have an understanding of good gameplay and what makes games fun. Quick flash games are an excellent way of doing this because you get immediate feedback about the quality of your games.
- Once you have a serious portfolio, approach a games company and see if you have any luck. Because you have something unique and distinctive, your in a much better position than a typical BS student.
A game designer being like a football player or a rock star is an apt analogy. I used to want to be a game designer/programmer, until I saw the crappy lifestyles these people lead. He’ll be dirt poor, he’ll be working 80 hours a week, and he will have the job security of a MS-DOS programmer because video game companies come & go.
Nonetheless, let him dream and put him down for a computer science degree. The skills that he will acquire by designing and running a Windows game in C++ .NET will make him very wanted in the job industry. Don’t listen to the naysayers that say that programmer jobs will/are be outsourced–basic tasks are outsourced–good programmers are a premium. I got slammed with interviews and offers after starting a job search, mostly because entry-level C++/C .NET programmers are extremely rare–most colleges do spoonfed Java or a silly learning language like Eiffel these days. If he can learn C/C++ on his own, and be able to design a fully functional Windows game in pure C++, he’s set. (Of course, it could be different in 2010 or whenever he’d graduate…).
Agreeded, I am currently in a Comp Science programmee, and the amount of hoops I have to jump through to get to what I want is annoying. On the bright side, I could reason and rationlise why I am doing all this for, but when datelines are crushing in, I can’t honestly say I can.
For me, the best part about the BS is the motivation to work. On my own, I could never have picked up calculus or push myself to do the necessary reading and experimenting. If your son is really very self-motivated, then maybe he needs not to take the BS route.
Depends on the nature of the course, and how big you are into programming. I used to freelance a while before joining the course, so that’s an advantage.
And start small.
Another alternative is to start scripting/modding existing games. There are a couple of small games design toolset which, while being drag and drop, teach some basis of programming.
If your son just want to be a game designer (I am not going to do programming!) then I am not sure – AFAIK, most designers get their job now because they 1) have the money or 2) were programmers in the old days of garage games production or 3) was really reputable.
I have a friend who’s majoring in game design (Interactive Design and Game Development) at Savannah College of Art and Design.
You’re wrong. Candidates with a formal education in software engineering have a significant edge over self-taught programmers. This is true now more than ever.
It’s true that a BS isn’t sufficient to get you a job as a game programming job. You have to have some sort of portfolio as well. But it’s not as though going to college and working on indie projects is an either/or proposition. It’s quite possible to do both.
I want to second what people have said in terms of game designer vs. game programmer. It’s a very important distinction.
Two of my friends from college work in the computer gaming industry:
One is a designer at Electronic Arts works on their Battlefield series, makes a reasonable amount of money (anticipates a 6-figure salary by his 31st birthday - four promotions in the last three years) and has never had a bit of programming experience in his life. His college major? Molecular Biology. Life takes you strange places, and if you’re good at designing, programming ability is irrelevant, which even major corporations can recognize.
The other is a designer at Cryptic Studios working on their City of Heroes series. I don’t know his financial situation, but I’m guessing it’s not fabulous, but he’s not a starving artist either. He does have a bit of programming experience and has always been good with computers, but his college major? English.
The only person I keep in touch with from college who actually was in Computer Science as a major is now an administrator with Vivendi Entertainment, and apparently doesn’t do any coding any more.
As far as areas for the industry go, here in the San Francisco Bay Area there are a lot of companies in the gaming industry. I can’t speak for other parts of the country.
That largely depends on how many game companies would even consider hiring programmers without an undegraduate degree. If that number’s small, the disadvantages pale in comparison, don’t you think?
As competitive as the game industry is, this sounds like a compelling reason to go the university route.
I’ll defer to your experience but the one place I applied to make it pretty clear to me that all of my “formal” education was worth precisely shit and they were much more interested in the work I did in my spare time. It may be because in Australia, we have many Asian students who can achieve very good marks by dint of rote learning but can’t actually code worth a damn.
I agree that it’s not enough to just get a degree. You have to do something beyond that to demonstrate your skill.
In general however, self-trained hackers are harder to integrate into a team programming environment than people with formal training. They tend to have gaps in their knowledge and write code that’s harder for other people to maintain. Most of the senior programmers I know in the industry have at least a BS and many have masters degrees.
Here’s what Tom Sloper says on his website about college vs. the demo scene:
Moved to IMHO.
General Questions Moderator
Good advice abounds here; I’ll just add my own 2 cents:
I was a game designer at Electronic Arts before I got out of videogames just recently, and my degree was a Bachelor of Arts in Computer Science. (From a non-technical school.)
I’d advise against specialized videogame-centric programs, only because the industry is still evolving, and the position of “game designer” can mean anything. In my case, I was a programmer for 10 years before I got a gig as a designer; I’ve seen others come into it from art, programming, technical art, and production backgrounds.
What was actually most valuable to me as a designer wasn’t my CS background, but everything else I took in college and did along the way. Play lots of games, be as well-rounded as possible. The industry still tries to pigeon-hole people and generate specialists, for example graphics programmers who go from project to project making rendering loops as efficient as possible.
Game designers just have to appreciate what it is that makes a game work, and how to apply different settings, events, constraints, and project requirements onto a game. I’d recommend that anyone looking to be a game designer, first ask the basic question: what do you like doing? If it’s art, major in art and get as familiar as possible with the process of art as it applies to videogames. Same with programming, production, audio, and whatever else.
One of the best producers I ever worked with was a political science major. One of the best designers was an English major and a professional writer before he went into games. The only commonality is they’ve played a lot of games, they can recognize what makes games work, and they are well-rounded enough that they can take any genre of game that comes along and figure out how to make it cool.