I'm a student at Ohio State, I hope to be a game developer one day, and I'm on track to be enrolled in the BS Computer Information and Science program in the Arts and Sciences department, but there's another major in the engineering department called Computer Science and Engineering. As you can see, they're virtually the same, except that CSE requires several courses in engineering and higher level math, whereas CIS requires more GE classes, like foreign language. CSE is also accredited, whereas CIS is not.

So I'm wondering, if I want to be a game developer, how important is a knowledge of engineering, if at all? Should I try and get into the CSE program or will I be fine in CIS?

I would say that almost none of your classes directly correlate to what an average game programmer does on a day to day basis.
–
Tetrad♦Feb 5 '13 at 20:30

Engineering is not critical, but it is helpful. If your school offers internships then Game Design might be better for you (it will give you a basic understanding of all parts of game dev) but overall don't worry about it. There are many jobs in game design and they can be filled by anyone with or without the proper degree. I'd say the most important thing is to work on your own side projects outside of school (including some basic art creation) so you can show companies that you really understand how development works.
–
Benjamin Danger JohnsonFeb 5 '13 at 22:42

2 Answers
2

Engineering is very important in game development because of many reasons. Specifcally talking about game development, you'll need to have a strong understanding about math (linear algebra, trigonometry, physics) and in your engineering course you'll get that.
Besides, engineering is very important in any software development because you have to design, test, improve, innovate and think clearly.
I'd choose Computer Science and Engineering.

The top two universities in my city ( and among the best in my country ) have two distinct faculties when it comes to computer science. One has the equivalent of your BS Computer Information and Science, and the other one ( the one I will finish next year ) has the Computer Science and Engineering equivalent. I have friends in both universities, and I study Engineering, so I have personal experience with both of them. Here's what I have to say about their distinction:

Computer Information and Science: It's has soft program. It revolves around fundamental programming concepts, more diversified mathematics, some business concepts, etc. It's also shorter in length ( doesn't seem to be the case for your university ). It has a leaner, more theoretical approach. From what I've noticed, most of the people graduating from this faculty end up web developers. That's no joke.

Computer Science and Engineering: This is the real deal. You get to learn everything from mechanics, digital electronics, computer architecture ( we built our own microprocessor based on the MIPS architecture ), low level assembly, all the way up to high level programming concepts such as Object Oriented Programming, functional programming, design patterns, etc. It's tough, it has a more practical approach, and it teaches you so much more.

I read somewhere that professional programmers need to know what they are working with, and that's the underlying hardware. I learned plenty of hardware in Engineering. I got a decent understanding of almost everything that makes a computer tick. From transistors, gates, memories, CPUs, caches how programs are compiled into machine code and how that code is run. Needless to say these are extremely valuable skills. And they help tremendously towards becoming a game developer, and a good programmer overall.

From a mathematics perspective, game development mostly requires linear algebra and to some lesser extend, calculus. At the university you mentioned, you only get the linear algebra course in the engineering program.

Your university's programs differ somewhat from what I'm familiar with, so you might not get the same experience. Even so, engineering will give you a more solid foundation overall and a better understanding of computers as machines rather than black boxes.

Also, always keep in mind that universities are more like guides. They will not make you an expert in any field. They will simply help you discover career options, and provide some foundations. Whatever program you choose, and whatever career you wish to pursue, the best way to learn and improve, is to study on your own. Read the books listed in the course bibliography. Read articles written by experienced programmers. Work on side projects. Put your passion to good use.