by Ian Parberry
So, you're interested in becoming a computer game programmer? Congratulations! Game programming is one of the most difficult, challenging, exciting, and lucrative forms of programming. If you have a genuine talent for it, you have excellent career prospects. Imagine getting paid an entry-level salary of $35,000-$45,000 for something you actually enjoy doing. When you were a kid did your parents tell you that you'll never amount to anything if you waste your time on computer games? Well, here's your chance to show them that you were right and they were wrong.
There is currently only one way of getting a job as a games programmer, and that is to write a game - or more properly, write what is known in the industry as a game demo. These days, a typical commercial game might take 100,000 lines of C++ code written by a team of 3 programmers over a period of 18 months with a budget of a million dollars. As a novice game programmer, you are obviously not going to be able to compete in that arena. But you can and should write a fully functional game of about 10,000 lines of C++ code that has at least one and preferably several features not found in commercial games. Game companies are less interested in your resume than in what you have done. So write a game, put it on a floppy, and send it to the game companies that you would like to work for. If they like it, you may strike it lucky.
So where are you going to get the knowledge to write your game demo? One way is to get a college degree in Computer Science. Do you have to have a college degree to get a job programming games? Not necessarily, but things are changing as the industry matures. You can get a job by programming a drop-dead game demo, but many companies are looking for employees who have produced great games and have college degrees. This makes sense because college is a place where you can get the background knowledge that you need to be a competitive game programmer. If you are fortunate, it can also be a place to meet design people who can join and support you in your quest.
Choosing a College
A degree in Computer Science will help you on your way to becoming a game programmer, but you must choose your college very carefully. Go visit the Computer Science Department. You want one that is vigorous, active, exciting, and provides a comprehensive education. Look for a department with at least 15 full-time tenure-track faculty, and preferably one with 20-25 faculty. It takes a certain critical mass for a faculty to have experts in all areas of Computer Science, and to have a balance between basic research, applied research, graduate education, and undergraduate education. Read the course catalogs, and look for the courses that you're going to need. Above all, talk to the faculty and students. You can find dud faculty members at the best institutions and excellent faculty members at the most obscure places. Remember, a university is mostly about people. Check them out before you make a commitment to go there.
Research and Education
One of the decisions that you have to make is whether to choose a research-oriented or a non-research-oriented school. A research school typically has a smarter group of faculty, but their focus is on research at least part of the time, and they may not have as much time for undergraduate education as you would like. You may not get to see a tenured professor until your junior or senior year, and you probably won't get to see any of the "big name" professors at all. On the other hand, if you can get their attention then you will have a learning experience that cannot be matched at a non-research school. Faculty at a non-research school will have more time for you, but you have to wonder whether you will truly learn anything or be challenged by the experience. The question that you must ask yourself is whether you want to be taught by a non-research professor who learned everything he or she knows from a textbook, or do you want to be taught by the research professor who wrote the textbook, or perhaps even invented the stuff that is in the textbook? There are exceptions to this rule, that is, excellent professors at non-research schools, but they are rare.
What Courses to Take
When you get to college, you're not going to find many courses on computer games. But you're going to need the following courses:
Paying For College
There's no doubt about it - college is expensive, and likely to become more expensive as government reduces its subsidies for higher education. As a result, the full-time student who finishes in four years is becoming less common. The only way to make it through may be to work part time. Most universities have co-operative education programs in which students take time off from study to work for local industry to get job experience and money before graduation. Fortunately for Computer Science students there is usually no lack of co-op positions for people with their skills.
The Bottom Line
The quality of your undergraduate education depends primarily on you. It is easy to get lost in the crowd, particularly at large state institutions. If you want to succeed, you must take control of your education, seek out the best professors, and go beyond the material presented in class. If you expect to be spoon-fed the way you were in high school, forget it. College for you will just be a waste of money.
A Computer Science degree is not job training. It is career training. Don't expect to come out of it an automatic expert on everything to do with computers. What you have a right to expect from an undergraduate Computer Science degree is a grasp of the fundamental concepts of Computer Science, and enough of the practical skills to be able to grow, learn, and thrive in any computational environment, be it computer games or otherwise. You can get all of the information you need out of books, but a Computer Science degree will help you develop the skills needed to keep up with new trends in computing. Remember, the computing industry changes rapidly. You will have to keep up with it for the rest of your life. A Computer Science degree is a good place to start.
The University of North Texas, located in Denton, Texas, has an accredited program in Computer Science and one feature that makes it unique in the United States. It is home to the Laboratory for Recreational Computing, which provides an environment in which undergraduate students can learn and explore the realm of game programming. Students can earn college credit for writing games, and can participate in an introductory class in game programming currently offered in the Fall of each year. For more information, contact the author of this article.
Created by Ian Parberry, November 10, 1997.