Slashdot Mirror


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?

4 of 240 comments (clear)

  1. Tell them to research what it entails by Cidolfas · · Score: 4, Interesting

    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 /dev/null, destroyer of data.
  2. ObAbstruseGoose by tommituura · · Score: 4, Interesting

    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.

  3. Tell them three things by Sycraft-fu · · Score: 5, Interesting

    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.

  4. Re:Oh boy by Steauengeglase · · Score: 4, Interesting

    I think the guy who did Minecraft would like to speak with both of you. You don't need a cast of thousands, just a product that sells. See Xanga for more info.