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?

46 of 240 comments (clear)

  1. The first thing you need... by sgbett · · Score: 5, Insightful

    ...is a degree in living on bread and water from what I hear!

    --
    Invaders must die
    1. Re:The first thing you need... by rainmouse · · Score: 5, Informative

      Depends what area they want to work as. If its the code monkeys then its a strict diet of c++, trigonometry, matrices and physics.
      For a modeller they need to be making an awful lot of organic models, both low and high poly counts if they want to impress any companies. Blender is a great free tool to get them started on this and the alternatives such as Autodesk 3d max are generally only reachable by pirates, the rich and the corporates. Remind them that for a port folio to put their very most impressive work on the first frame or page because that's often all that is looked at.
      For audio engineers get them coding in synths in c++ and editing / recording wavefiles and encourage them to learn a good lump of sound engineering as well, there are many books on the subject. Remind audio engineers that vacancies in this field are few and far between and sadly the jobs often go to some managements totally unqualified mate because he was once in a band and they smoked hash together in college.

      Most importantly get them learning these skills by making mods or their own games which is essential if they want to have any decent work to wave under the nose of an employer or have a basic idea how to start up a company for themselves.

    2. Re:The first thing you need... by rainmouse · · Score: 2, Interesting

      Please note, from what I've seen port folios count for a lot more than degrees in games development, which are usually either soft courses or badly written and usually using technology 5+ years out of date. There are some good ones out there but they are few and far between.

    3. Re:The first thing you need... by MobileTatsu-NJG · · Score: 5, Informative

      Blender is a great free tool to get them started on this and the alternatives such as Autodesk 3d max are generally only reachable by pirates, the rich and the corporates.

      Uh, no, guide them into using the software they'll be expected to use at the studio they wish to work at. Virtually all of them offer student pricing. Some places will let you in if you model in a different app (I've had it happen myself), but it's a much steeper uphill battle. You pretty much have to have made a name for yourself before anybody'll extend you the credit you'd need make up for the lack of experience with the package. The money you'll lose by having to accept lower pay or by going through un-paid training will easily exceed the ~$400 you'd spend.

      I don't disagree with your whole post, just this one comment. :)

      Remind them that for a port folio to put their very most impressive work on the first frame or page because that's often all that is looked at.

      This is so spot on I wanted to make sure it was mentioned a second time. I also wanted to add one little bit: Don't show crap work to make your reel seem longer. Nobody's looking at the length of your reel to get a feel for how long you've been working. They are, however, looking for potential ... areas of improvement... you might have, and that will affect your value. You're being graded not just on what you show, but what you choose to show. The reason for that is you have the same interaction with your clients. I've worked with guys who have set directors into orbit because they showed something far too early to be seen. (Actually I'm guilty of it myself, it's sooooo tempting to prove you've started on something but they often don't understand the concept of 'filling in the canvas'...)

      --

      "I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)

    4. Re:The first thing you need... by cappp · · Score: 3, Informative
      Have a look at the big guys' recruitment pages and click through to all the game specific roles. There's EA and Activision to start with, and a bunch of smaller places around - check the listings on the most recent metacritic game reviews to find company names if you're drawing a blank. The job-ads are going to give you a far better idea than most of what we can come up with.

      I clicked through to a random Bioware position and they were asking for

      Master’s degree in Computer Science, Computer Engineering, Mathematics, Physics, or related field. In the alternative, we will accept a Bachelor’s Degree in Computer Science, Computer Engineering, Mathematics, Physics, or related field, plus five years of progressive post-baccalaureate experience in the job offered, or as Software Develope

      as well as a variety of random experience and specific programming knowledge.

      So it's a little of column A and a little of column B really - portfolio and degree combined.

    5. Re:The first thing you need... by dcollins · · Score: 4, Informative

      Disagree. Worked several game jobs and have many friends in the industry. Pay for programmers is fairly high. But you'll be working ~100 hour weeks for it. So on an hourly basis (and more generally, life-commitment), it's fairly low compensation.

      --
      We know where leadership by an anti-intellectual "strongman" who scapegoats minorities and likes boisterous rallies goes
    6. Re:The first thing you need... by TheRaven64 · · Score: 2, Insightful

      Have a look at the big guys' recruitment pages

      Good advice, as long as looking is all that you do. From what I've heard from the people in the industry that I know (not many, admittedly), working for one of the big game development companies is the opposite of fun. Low salaries, boring projects, long hours, and abusive management are considered normal. The smaller companies generally provide a much better working environment.

      In any case, the degree is largely irrelevant. They really care about experience. Write a mod for a popular game, or write an open source game. Even write some technology demos or simple web games. Concrete evidence that you are motivated to write games and have the skills to do so are a lot more important than the degree. A degree in computer science will give you the theoretical background that you need, but it won't do anything to set you apart from the other hundred applicants who also have a degree in computer science. A degree in game programming shows them that you want to take shortcuts.

      --
      I am TheRaven on Soylent News
    7. Re:The first thing you need... by lowrydr310 · · Score: 3, Interesting

      From what I've heard from the people in the industry that I know (not many, admittedly), working for one of the big game development companies is the opposite of fun. Low salaries, boring projects, long hours, and abusive management are considered normal. The smaller companies generally provide a much better working environment.

      I have a handful of friends who work at one of the big name developers. This is exactly the case. This is only a guess, but it's probably because of supply and demand. There are so many people who want to work in the industry that many are willing to accept long hours, low salaries, and abusive management. If you don't accept these terms, someone else gladly will.

      Now I also have a bunch of friends who work for a flash game developer (think facebook games); it's a much different there than it is that console/PC game studios. They work long hours, but they all have fun doing it and they get paid very well.

  2. Oh boy by DurendalMac · · Score: 5, Informative

    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.

    1. Re:Oh boy by zwei2stein · · Score: 5, Insightful

      In fact, if you really like developing games, you ought to take 8/5 corporate soul-crushing job (that will crush your soul much, much less) and just make games in your spare time (or at work during downtime) for fun.

      Being full-time game devs is not any more glorious than producing yet another client address screen. It is easy to get excited by stuff like playing throught HL2 episodes with commentary on or by reading blog of some lead dev/indie dev/wanabee-dev-smartass, but kids should realize that they are not going to be the ones making interesting decidions and artfully crafting game but peons building someone elses vision under incredible time constraint. Each company only needs few people who say "At this point, we will add x to enforce dramatic tension.". Becoming one of them is unlikely.

      --
      -- Technology for the sake of technology is as pathetic as eschewing technology because it's technology.
    2. Re:Oh boy by UnknownSoldier · · Score: 4, Informative

      > One person can't design an original game, it just isn't humanly possible.

      Uh, did you miss the WHOLE gaming scene in the '70s and '80s? i.e. http://en.wikipedia.org/wiki/Jordan_Mechner of Karateka fame.

      Having shipped multiple professional game titles on various consoles/PC, worked with some very talented designers, and met Jenova Chen, I *strongly* disagree.

      Rare, yes, impossible, no. (Granted it is becoming harder, but indies keep showing the "the biz" just what is "possible", aka "World of Goo.")

      --
        Educate comes from Latin 'educere' -- meaning to draw out, not "fill up with useless facts"
          - Michaelangel007, 2005

    3. 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.

  3. Lie to them by IICV · · Score: 5, Insightful

    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.

    1. Re:Lie to them by Pharmboy · · Score: 4, Insightful

      I've had TWO teen boys at different times ask me the very question "What do I need to do to get into game programming?" and my answer was simple:

      You don't. If that is what you *really* wanted to do, you would already be skinning and modding, but instead you are playing games 24/7.

      The problem is that they think it would "be fun", kinda of like playing games, but with more control. I did point the older (17) boy to the Steam SDK, which was free since he had a source game, and told him to dig in using the free tools. That lasted less than the time to download the tools. Two years prior, he had decided he wanted to get a job as a "video game tester".... Yea, I know.

      --
      Tequila: It's not just for breakfast anymore!
    2. Re:Lie to them by rgbatduke · · Score: 3, Insightful

      Indeed. To my fairly extensive experience, remarkably few uberhacker-level coders became coders by means of getting a degree in CS of any sort. Almost none of them, actually. I am a physicist, but I teach periodic independent study students how to program in C because nowadays CS departments only teach (crap like) java or C++ -- great to prepare a student to be a corporate clone, not so good for learning how to work close to the metal. I sometimes teach 3rd year CS students who still don't know what a pointer is or how to use malloc or manipulate structs. But with only one, maybe two exceptions, my best students over years have not been CS majors (and the ones that were were smart as hell and did CS not to learn to "program" but to learn about algorithms, assembler, microcode, and systems programming, and maybe to increase their marketability a bit in the process).

      Real coders, on the other hand, tend to be born, not made. They learn on their own, usually in apprenticeship with either a specific guru/mentor or (nowadays) with the support of internet-based social networking with distributed guru-level mentoring. In most of the cases I know of personally the potentially "brilliant" programmers taught themselves how to program after taking a single course, maybe two, where they learned just how cool it is to build machines out of words. Sometimes they did this in a terrible language with terrible habits, but by staying up and working on their own projects until 3 am at the expense of sleep and personal hygiene for several years they become immersed in the coder "culture". When I teach one of these guys, it is mostly to beat good habits into them, teach them how to toplevel organize large bodies of code (not perfectly, but better than they have been doing:-), how to use make and unix toolsets if they've been doing all of their hacking in a gui-driven ide that hides all of the guts of the OS and low level interface from them, convince them that not to comment their code is to die either at my hands or at their own when they try to figure out their own code a year from now, how to use svn. Oh and sure, how to code in C, but they ALREADY know how to code, usually in two or three languages (sometimes including C++) -- it's more like "topics in C", making them (finally) learn about pointers and so on.

      Some of them are indeed interested in gaming, but all of them are interested in being entrepreneurs. They like hacking on their own shit. All they want is (eventually) a clear pathway towards making a living at it (or getting rich) without having to work for a soul-sucker. It isn't the 80 hours a week that daunts them -- they would LOVE to spend this kind of time on something really cool. Its doing what they are told, working on boring stuff, doing something they think is stupid, not being able to be creative in their work.

      So yeah, its a rough pathway to success, but the ones that succeed (and some of them do, at least according to legend:-) still do make four or five million by the time they are 25, usually by getting together with three or four like minded friends and as you say, build a game just because they can and then have enough marketing savvy to actually publish it and make money (until they get bought out or come up with a best-seller and make the big time). That's how at least some companies originally got onto the scene, isn't it?

      The open source software process that has been so good at producing toplevel systems such as linux (driven almost entirely by these independent types) has alas not been kind to the would-be game programmer because it is so very hard to SELL games there, and games are way too difficult to produce and maintain without any derived income in the long run. That could still change. One day blizzard might realize that they could GIVE away a linux-native version of WoW (and dump the emulator or VM layers that currently add hassle and cost speed when using it on a primary linux platform, which I did for years until I finally kicked the e-co

      --
      Even when the experts all agree, they may well be mistaken. --- Bertrand Russell.
  4. 1st of all: Join the modding community. by Qbertino · · Score: 4, Insightful

    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
  5. IANAGD by rwa2 · · Score: 2, Interesting

    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.

  6. Why? by Aceticon · · Score: 4, Insightful

    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!?

    1. Re:Why? by xtracto · · Score: 3, Interesting

      THIS.

      Back in the day (around 1992, the time of MK, Wolf3d, UltimaVII, etc.) when I was 10 years old I wanted to be a game developer with all my heart.

      I knew also wanted to be into computer programming, and knew how to program in GWBASIC. I made my own very simple games while learning C/C++.

      Fast forward to Univesrity, I gladly chose Comp. Sci. course but, after reading a lot (I used to buy the GameDev magazine which was overpriced in Mexico) about the state of the videogame development industry (it is like the American dream... you can be reaaaally successful [like John Carmack, etc] but the 99% of people will get miserable jobs) I chose to do something else.

      Nowadays I do computer models and simulations (similar in some ways to the part of games I liked) for research (I've got my PhD in Comp. Sci) AND I develop homebrew games in my spare time (I'm right now into DS Homebrew).

      This path has ensured me that I still have fun developing games and I earn money doing something that pays pretty well, allows me to travel (right now living in Germany!, last week visited Czech Republic!) and I am quite free with my working time :)

      --
      Ubuntu is an African word meaning 'I can't configure Debian'
    2. Re:Why? by xtracto · · Score: 2, Interesting

      I just want to add to my reply focusing on the actual questions by the submitter:

      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?

      In no particular order
      - Learn to program C and C++ (no not C/C++, learn their differences)
      - Learn some scripting language (Lua is used in game programming a lot, Python is also OK)
      - As other have said, learn to use tools like Blender, mainly so that they *understand* what does it mean to make a game.
      - Work in an Open Source game. Just browse around SourceForge and look for a game... (start with simple games like http://www.wormux.org/ before going all the way to 3D).
      - Redo old games... everytime I want to learn a new programming language (or platform like Wii or DS) I do a Tetris clone. Doing a game which is "predesigned" will allow you to focus on the actual *programming* so that you ensure you learn the needed skills. Additionally, you can keep improving the game by adding new stuff as you learn about the platform.. 3D tetris, etc).
      - Read books. There are lots of books about programming (e.g. game programming all in one) for very low prices. In the beginning it does not matter if the book is a bit old.

      - Finally, after you have tested all that, choose in what part of the game development process you want to specialize. Do you *really* like coding?... or you prefer doing the 3D models? do you like designing the scenarios? or do you prefer the sound? Do you like to create the NPCs AI?. You must have in mind that in commercial games each of these aspects is foreseen by a different person (or group of persons) so it is very likely you will have to specialize.

      --
      Ubuntu is an African word meaning 'I can't configure Debian'
  7. DigiPen by pythonax · · Score: 2, Informative

    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.

  8. 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.
  9. 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.

  10. Bad idea by Undead+Waffle · · Score: 3, Informative

    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.

  11. One thing you learn... by Haedrian · · Score: 2, Interesting

    ...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.

  12. Welp by MobileTatsu-NJG · · Score: 3, Insightful

    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)

  13. Get a CS Degree by KulSeran · · Score: 2, Interesting

    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.

  14. 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.

    1. Re:Tell them three things by forsey · · Score: 2, Insightful

      I'm a former game programmer (only got out a few months ago) as well and I agree with you 100%. The short of it for me is if you like playing and creating video games, don't join the industry. Things you enjoy doing are better kept as hobbies. The industry likes to take your excitement and crush it with late nights and by making you feel like crap about every product you make, though I'm sure there are exceptions to that. You might think that the long hours aren't a big deal, but when you're SO/Wife starts telling you that you need to find a new job because she's tired of not seeing and you start considering sleeping at the office you'll start changing your mind.

      One last thing, the pay often sucks. There is a high demand for these jobs because people think they want them, so they end up offering you crap money compared to working in other areas of programming. I was offered more money to work in VB6 than I was offered to work on games in C++.

      I haven't complete given up on game programming that said, I still work on little projects on my own time, but I won't ever do it for anyone else again.

  15. Comment removed by account_deleted · · Score: 3, Funny

    Comment removed based on user account deletion

  16. Roman warships by PietjeJantje · · Score: 3, Funny

    The best way to prepare for the video game industry is to work as a slave rower on a Roman warship.

  17. Go for the CS degree by tempest69 · · Score: 2, Interesting

    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.

  18. Join the Omega Theta Pi frat by Rogerborg · · Score: 2, Insightful

    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.
  19. Teaching a Computer Games Module by Rough3dg3 · · Score: 2, Interesting

    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?
  20. Always Look at Job Lifestyle by dcollins · · Score: 3, Insightful

    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
  21. Step 1: Forget about friends and family by Tridus · · Score: 4, Insightful

    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
  22. Not really by Moraelin · · Score: 3, Insightful

    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.
  23. Probably a misconception by LBeee · · Score: 5, Informative

    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.

    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 .. even if in reality it would make it "just another boring FPS".

    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.

  24. I hire games programmers. by Fingerbob · · Score: 3, Informative

    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.

    1. Re:I hire games programmers. by eulernet · · Score: 2, Insightful

      Ok, it seems that you hire game programmers.
      Now, explain me why there is no game programmer in his forties ?

      I mean, all the people I know quit working on games at some stage, and I know no team with very experienced developers.
      I don't speak about management, since a few developers are able to become managers, but this is very rare too.

      Disclaimer: I've been a game programmer during 20 years, and I'm now an happy engineer, outside of game programming.

    2. Re:I hire games programmers. by ProppaT · · Score: 2, Insightful

      I don't know about his answer, but my guess would probably be compensation and corporate environment. Most game companies design work environments to appeal to younger professionals. Once you get to a certain point, realize most of your peers are younger, you have no upward mobility at the company, and your programmer friends working outside of videogameland are making substantially more money, your love for the industry wains...not to mention the fact that the deadlines are unrealistic and you're likely to be the mature person on the team who actually gets stuff done.

      The margins are rough enough in the game industry these days that I can hardly blame companies, though. It's a lot easier to hire younger folk who will work for less to be in a cool industry than it is to hire more experienced people who need to feed their family.

      --
      Wise men say, "Forgiveness is divine, but never pay full price for late pizza."
  25. Passion or fad? by Rophuine · · Score: 3, Interesting

    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.

  26. First, get some work in... by HeckRuler · · Score: 2, Funny

    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).

  27. think about opening up your options by Surt · · Score: 2, Interesting

    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
  28. Ask about lifestyle... by CohibaVancouver · · Score: 2, Insightful

    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. )

  29. Re:Just do it by Xyrus · · Score: 2, Funny

    OLD GAME PROGRAMMER

    Hello gamers. How are you doing? Fantastic. Do you program games? No. Can you program games? Yes. Do you want to? I don't know...

    Do you want share a cubicle with someone that smells like stale cheetos and pork farts? Do you want your game to to have the same quality as that produced by 14 nights of sleep deprivation in a caffeine induced haze while having delusions of being the next John Carmack? Of course you do.

    Swan dive...into the unemployment line when you show up for work and the doors are locked.

    So do you want to program like an old game programmer? You tell me.

    --
    ~X~