Can I use a computational maths/physics degree to work in the video game industry?
Although I've no direct experience in the matter, it may be worth noting that there are plenty of physics drivers that are in active development by companies like Nvidia and Havok that probably hire identically from that sort of degree.
Video games companies have a reputation for being hell to work for. The problem is that the deadline is fixed (i.e. games have to ship by Christmas) but the requirements are also fixed (i.e. in most software you can drop a feature to meet a deadline, but you can't with video games). Having fixed deadlines, and fixed requirements, and fixed budgets means hellish work environments.
go into digital design if you are looking for that kind of field. At least you give yoruself multiple career opportunities if the game thing doesn't pan out. and it will be related.
how about working for someone like nVIDIA or ATi or Microsoft DirectX or something to that effect?
What's digital design? What kinds of stuff are they involved with?
Yes, you can go into movies as well. Lots of people in my department do this and it's about the most competitive field one can get into. If you really really love video games and C++ then go for it. You do get to make cool videos:
Joseph Teran spoke to us in one of our Math Circle meetings, which kinda made me interested in that.
Hey cool, my roommate Mike teaches math circle often.
I think I know the Mike you're talking about.
Yeah, you probably do. He wasn't there last week as he was visiting Susan (have you met her also). I guess you're around UCLA a lot. If you're into graphics you should stop by the math dept. and meet some grad students who have worked in the industry.
I did six months at a game company and I can tell you there is a tonne of maths you should know especially with games that are graphically and physically demanding.
Everything from barycentric coordinates to convex hull, raytracing, collision detection, you name it can be used. Its not just your standard linear algebra, vector calculus that is used.
That said you're probably in a good position to learn more and get some sort of work experience where you are now.
Also you will be expected to be a fairly competent (sp?). Typically the repository for the source code used in this kind of work is extremely large and very complex and the activity of writing code and adding it to the repository requires a lot of careful thought, planning, and processes that have to be followed.
If you want to work for this sort of company you need a portfolio. Your portfolio should show a demo or perhaps a simple game with good features. Typically you won't know everything (no one is expected to), but depending on your expertise and portfolio you will either work in either core gameplay, engine development, or perhaps on a particular subsystem.
It is a good idea to understand all the mathematics you learn so that you actually know and realize whats going on when you apply it.
Take for example bezier surfaces and NURBS. If you study a course in numerical analysis and real analysis as well as vector calculus you will understand how everything works from how the lighting is done to how interpolation works and so forth.
Typically you find that the latest techniques like say sub division surfaces are in front of current hardware support but it does catch up in the future as hardware becomes more accessible and powerful enough to do these things in a real-time manner.
If you limit yourself to graphics, you will still have quite an open spectrum of possibilities to work with. If you do gameplay you will need to know even more especially when dealing with physics, AI, optimization, etc.
Some books I can recommend include any of the Graphics Gems books and Real-time rendering. Some of these are old but they are still worthwhile.
I would recommend however going to university (which is what you are probably doing) to learn the intrinsic math and understanding it. Once you learn the myriad of math that is used at a university level it will make a hell of a lot more sense than if you just got the algorithm and applied it none the wiser.
Hope some of that helps
I've been in the industry for a year now, and I work on the physics side. I write the vehicle physics engine for our racing game series. I also work on force feedback and sound and a wide variety of sub systems.
From my experience, I can tell you that math and physics are great disciplines for getting into the game industry. They are even better than dedicated game development degrees. ME is also very good. Make sure you can program in C++ by taking courses or doing projects (I learned while doing masters in HEP). Having something to show at an interview is nice (I presented a crude FEM tyre model), but it's only to help you get in and not much else because most of the work you do can only be learned on the job. Knowing math and physics proves you can learn.
To echo chiro, if you know the math and create algorithms, you're better than 80% of the game programmers. What most people do everyday is just copying code around without understanding it.
Deadlines get pushed back very often. (Which isn't a good thing)
Whether you need to work long hours depends both on the company and your ability.
Iterative and agile development means features can come and go very quickly.
Pay isn't that good.
Separate names with a comma.