Not long ago a received a letter from a high school student — not email, an actual letter. I was impressed that he had gone to the effort to track me down. He asked two simple questions: “How did you become a game developer?” and “How can I become a game developer?” This was my response:
I’m pleased to hear you’re interested in a career in game development. It’s a very rewarding experience to create entertainment enjoyed by people all over the world. The game industry is a larger business than the movie industry, both in terms of people and revenue. The industry continues to grow at an amazing rate. Games are now available on just about any electronic device, from cell phones to PCs to handhelds to game consoles, and the opportunities in the industry are very broad. I know people who work on games that range from hardware engineers to audio composers to artists, programmers, testers and game designers.
I fell into the game business by accident. After I graduated from college with a computer engineering degree, I worked at a small software company in Seattle writing database applications. A few years later my manager found a job at a local game development company and invited me the join her. I’ve been involved with the game industry ever since – over fifteen years. I’ve had the opportunity to do a wide variety of things:
- Port existing games from one platform to another
- Write game engines, the low level components for doing graphics and audio
- Design architectures for a variety of game genres
- Manage programmers working on commercial games that you could buy in a store
- Develop web-based gaming technologies for games playable online
- Work on back-end gaming services to support online multiplayer games
- Write games designed to be played by thousands of players simultaneously online
- Work on two different game consoles, Xbox and Xbox 360
- Help other game developers understand Xbox technology
- Ensure that Microsoft game technology meets the needs of game developers creating titles for Xbox and Windows
- Speak at game developer conferences and events all over the world
- Help develop Kinect, a revolutionary new way to play games
These days I work with a team of folks at Microsoft that produce software development kits and development programs for entertainment products such as Xbox. That’s a big responsibility, because our technology is used by tens of thousands of titles, but it’s pretty exciting to have that kind of broad impact.
So how do you become a game developer? I have three recommendations:
- Make games. The best way to understand how games are made is to make your own. They don’t have to be video games. Even today, the most complicated games are often made with pen and paper first. It’s useful to mimic existing games that you like, and then add some new twists. Try them out on your friends. If your friends are interested, then you’ll know you’re on to something.
- Take lots and lots of math and science. Game developers use math and science every day, whether they’re creating 3D graphics effects, writing audio compression routines, interpreting Kinect data streams, or optimizing how network packets are transmitted. Most complex things in games rely heavily on math. Science comes into play for a variety of things: physics for collisions and particle effects, biology for artificial intelligence routines (flocking, pathfinding), sociology and psychology for player behaviors.
- Learn to be a great programmer. I started programming in BASIC when I was in 7th grade. I took Pascal in high school and learned C in college. These days, most professional games are written in C++, but I wouldn’t recommend you start there. Start with a simple programming language. Learn the standard programming constructs: loops, variables, logic statements.
I hope you find this information helpful as you consider a career as a computer game developer, and I look forward to hearing from you in the future. Best of luck to you!