1. PF Contest - Win "Conquering the Physics GRE" book! Click Here to Enter
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Dream Job?

  1. Nov 10, 2013 #1
    I go to UC Davis and was thinking about switching to the computer science/engineering major(currently in bioengineering right now) with the idea that I could get into the video game programming/development world. I have had limited experience with coding (just some minor things to control little systems in my high school engineering class) so I'd be starting from a little more than scratch.. Is that just a dream job or is this really possible? I am in my first quarter of my freshman year so switching majors would be not a big deal.
  2. jcsd
  3. Nov 10, 2013 #2
    It is very possible to become a video game programmer. However, you will need to learn linear algebra, C++, Calculus1-3, and ideally take a course on computer graphics that uses either OpenGL or DirectX, courses in physics related to optics, and mechanics is useful.

    After this it is just a matter of gaining enough programming experience to become one, you could start by writing small games in college. Do not think too big, think pong, breakout, tetris, asteroids, and simple things.
  4. Nov 10, 2013 #3
    So it is not too late to get into programming?
  5. Nov 10, 2013 #4
    And thanks so much for the advice!
  6. Nov 10, 2013 #5
    No it shouldn't be to late; why would it? Just learn those topics, especially linear algebra, C++, and direct x and/or open gl.
  7. Nov 10, 2013 #6
    I'm just a little worried because it seems like others majoring in comp sci/engineering have been coding for a while already.
  8. Nov 11, 2013 #7


    User Avatar
    Science Advisor

    Hey westee222.

    Having been a game programmer in the past I can tell you that you must live and breathe games and programming in order to get hired. It pretty much takes up every moment of your time and it's all you pretty much do.

    You will need to be a very good programmer, know a lot about mathematics, data structures, algorithms, be able to learn a new API within a week or two, be able to deal with hundreds and hundreds of thousands of lines of code when it comes to navigation, debugging, and writing new code, and be extremely dedicated.

    You should be an expert on computational geometry if you are doing 3D stuff, and you should understand how large projects are created, managed, and coded.

    Although a lot of game engine design is out-sourced, you still need to be ready to debug anything that happens for any kind of code whoever writes it. You will be dealing with scripting and native code environments where everything is interoperable with everything else.

    You also need very good communication skills since you will be documenting code inside and outside of the IDE and you will at some point have to write reports, code guides, and other forms of documentation.

    You will probably need to be a guru in C++, and you will also need to understand optimization in a variety of ways since games need to run fast and there is so much stuff that happens in one frame that any optimization will be necessary to having the game being playable.

    If you write cross-platform games, you will need to be use the tools and debuggers for that console.

    I'd recommend you write a small game by modifying an existing engine, or write some set of demoes that do a particular thing (nice graphics, physics, good camera demoes, etc). Get yourself a portfolio and constantly add to it every single chance you get.

    I along with about two dozen other people, made a game demo and it took a year to make on a full time basis. I imagine you will be competing with other people just as if not more dedicated than I was at that time.

    Also I recommend you learn from the best: get source code of a very good game engine: study it, understand it, and add to it. Use it in your own demoes and portfolio work.

    You really have to want to do this and you have any hesitation, then I recommend you don't pursue this path. Also don't expect to be paid that much.
  9. Nov 13, 2013 #8


    User Avatar
    Science Advisor

    Are you currently taking ECS 30? If you are you aren't behind at all. You won't fall behind until the ECS majors start taking ECS110, so you have time.

    I would listen to what chiro is saying. Game design is notorious for exploiting engineers (not in all cases of course).

    There are lots of really exciting things a computer science major can do that are somewhat similar to games but might give a better lifestyle. For example research in medical image analysis is heavily software based and would be a lot of fun. That type of thing could be really rewarding.
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook