1. Not finding help here? Sign up for a free 30min tutor trial with Chegg Tutors
    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!

Is a possible computer science w/phys minor a waste on video games?

  1. Oct 15, 2011 #1
    I am very interested in video game development but also other things like, computer programming, network security and robotics. I mean you hear all the time, that the United States needs more engineers to compete with other countries. I'd like to try to be a part of the country's bright future. Even If I barely help along progress, I'd still like to be a part of it.

    I want to work on at least one video game during school, and then work on one after I graduate. After that, I'd like to move on to other things. Is this possible or am I being naive?
     
  2. jcsd
  3. Oct 15, 2011 #2
    Sorry, I mean't to put this thread on career guidance.
     
  4. Oct 15, 2011 #3

    Vanadium 50

    User Avatar
    Staff Emeritus
    Science Advisor
    Education Advisor

    Understand that the field of video game development is highly competitive, and because so many people want to work in this field, wages tend to be depressed.
     
  5. Oct 15, 2011 #4
    True. It's a pity because in game development people solve so many interesting problems, and *sometimes* cutting edge ones. But, since the variety of games is so huge, there are also very low-tech coding jobs.

    People do get employed for games directly after BS in CS. If you know both graphics and physics you'll be very competitive. You just need to be a good programmer. Then since you want to get out of it after one game (which is quite normal, actually), I would say going back to get a master's degree will allow you to jump to other places easily.
     
  6. Oct 15, 2011 #5

    chiro

    User Avatar
    Science Advisor

    Hello RecoN64bit.

    I used to do this (video game development), so I'll give my advice based on my own experiences.

    First thing as people have mentioned it is competitive.

    Second thing, many places are outsourcing their work where they have access to cheap labor and a labor force that has the required skills. For example in Australia, since our currency has gone up, we have lost some companies which have shut down and development has moved elsewhere. You should be aware that many creative industries operate this way like movies, cartoons, video games and so on.

    Third thing is that you will be worked hard for little money. You do not get into this industry for money.

    In terms of skill sets, for modern video game development, you need a lot of skills. You have to realize that modern video games are really complex platforms and you need to be able to get a code base of more than half a million lines of code (for the engine alone), and you have to digest that quickly and be able to do what you need to do.

    In modern game engines you have a lot of math (numerical calculus, spatial classification, every application of euclidean geometry that you can think of), computer science (every algorithm class that you can think of), software engineering (games engines are based on designs that have an enormous amount of metadata that is used to interface an abundance of features like incorporating a complex scripting system with the compiled source code just as an example), and incorporate every kind of coding paradigm that is required.

    On top of that, you need to be a very good communicator. You won't get away with poor written skills.

    In my opinion, the best way to prepare for a job in this industry as a developer is to make a small demo with other kinds of people like artists and a designer. What you should do is get access to a decent engine of good complexity, and then create a game.

    I can not think of a better way to prepare for the industry than that. In the process you will have to handle everything from user interface routines, to collision detection, to lighting, to making sure the geometry exporter for 3DS MAX works properly, and so on. It's the best way to really understand what game development is all about.

    Doing the above will eliminate all forms of naivety, because it will show you what you have to do.

    If you do the above, I recommend you do a degree in something like mathematics, computer science, engineering, or something along those lines in conjunction with learning. It might be better that you do a double major in mathematics and computer science, and then apply your knowledge in a demo game project.

    That is the best advice I can give you for preparing for this industry.
     
  7. Oct 17, 2011 #6
    Videos are a massive industry and a typical video games takes a staff of hundreds of people. If you live in a high tech center it's not hard to find an internship. One thing that's a good thing is that a lot of the more attractive jobs in the video game industry have nothing to do with programming, and have more to do with graphic design, technical writing, and project management.

    Video games companies have a bad reputation for grinding developers into dirt, because of project management issue. In most companies, if you find yourself behind schedule, you can either let the schedule slip or cut scope. You can't do that with video games.
     
  8. Oct 17, 2011 #7
    But in the year and a half where I worked in the industry, we had both let schedule slip and cut scope, and we shipped. Looking more closely, I would say people had to argue a lot for/against delays. Also, the scope wasn't really cut. The scope just changed very frequently, which is quite normal with creative projects. One thing you learn working in the game industry is to be agile, because you will be throwing away code and assets constantly.
     
  9. Oct 17, 2011 #8
    A physics minor is probably a waste. Courses on quantum mechanics, lagrangian mechanics and maxwell's equations are going to do almost nothing for you when you sit down in front of a computer and write a graphics engine or design a cryptography system or machine learning algorithm.

    That said, if you're very smart and the courses aren't too soul-sucking then go for it. You could remember some key analogy from some physics course you took long ago that will help you solve some problem. It can't really hurt you.
     
  10. Oct 17, 2011 #9

    Vanadium 50

    User Avatar
    Staff Emeritus
    Science Advisor
    Education Advisor

    That's only a waste if you think that the only reason one goes to college is for what is immediately and directly useful in getting one's first job after college.
     
  11. Oct 17, 2011 #10
    Absolutely false. All of those things are in fact used in computer graphics. Machine learning involves heavy use of matrices which you'll find in a good course on quantum.
     
  12. Oct 17, 2011 #11

    chiro

    User Avatar
    Science Advisor

    In modern video games, you need every level of math you can cope with.

    I remember a while ago, the basic unit of rendering is the triangle (it still is to a large degree, but parametric objects are slowly creeping in).

    Basically back then if you wanted to render something like a parametric surface (Bezier surface, NURB, etc), you had to approximate it with triangles.

    Now there is a lot of math involved with parametric surfaces, but if you learned the bare minimum for 3D, you probably would not really understand these kinds of objects.

    But nowadays platforms (like the PSP) include rendering functions of NURB like surfaces where they are rendered based on the NURB data and not the triangle data.

    If you want to really innovate in this kind of area, you have to know and understand the math and what is really going on, and if you apply that to all areas of video game design, you'll find that you need nearly ever piece of math and understanding thereof to do this.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook