Sign in to follow this  
askquest1on

Computer science or game programming?

Recommended Posts

Aluthreney    275
There seems to be a lot of opposite opinions on this post that might freak you out. Honestly they´re freaking me out because I too am looking for a college to go to in 3 years. But in my opinion I think game development companies aren't going to ONLY look at your grades and decide how good you are from them. I believe if you create a reasonable game/product on your own or with a small team that demonstrates that you are capable of developing a game and you show it to the company you want to join you will most likely get hired. I don't believe the game dev industry is as stuck up as other software industries might be. In the end it really doesn't matter what college program you choose as long as learn something from it and you demonstrate the to your employers.

Share this post


Link to post
Share on other sites
DracoLacertae    518
I would say only get a game degree if you plan on only doing games, with no fallback. Do you really want to only program games for the rest of your career? Some game-school degrees (or game-dev degrees from 'regular' schools) can get you into non-game programming jobs, but probably only after some good experience as a game programmer. If for some reason you end up not making it in the world of games, you might be stuck at a dead end.


Like so many others who commented before me, I really have to stress the importance of the breadth offered by a good computer science program. Even better, if you can do EECS, that's even more general. Many people go CS-only and have a wonderful career as a software engineer, but having EE background will only open doors for you. My previous job required I spent as much time trolling over malfunctioning circuit boards as much as I spent debugging the software. (It was an unusual hardware & software prototype debugging job, but it sure was interesting. Whenever I found a bug I had to figure out if it was a hardware or a software issue!)


A lot of the programming skills and techniques used in games are applicable to many other CS fields, and vice versa. Embedded systems, robotics and automated control systems is a LOT like a game: constrained resources, real-time requirements, managing state, interacting with the environment, etc. The only difference if you're animating/controlling a real machine, and the sensor values are noisy; you don't get perfectly calculated reading from the virtual environment like you do in a game.

Share this post


Link to post
Share on other sites
Antheus    2409
The important question is:
- What is it that you want to do? With your life, career, etc...

Numbers are harsh. Very harsh. Game programming will give you a job for 3-7 years at sub-average wage. Then number say people quit due to burnout or inability to work excessive hours.

Similar for computer science, where career in programming is 10 years long. With a warning. If you don't progress during first 3-5 years, your career becomes mostly a dead end. Very very few people end up working in CS, which means academia and PhD.

So to make anything out of a CS degree, you need to go business, either corporate or entrepreneurial. And numbers again show that for BSc. level degree, starting while still in school is just barely early enough.


For technical tracks, CS is undesirable, math or physics are considerably better long term options. Alternatively, for a technical career, a true engineering degree still has more long-term potential. In all these cases, programming can be learned on the side and it will, at least in the near future still give enough edge to advance the career.

But going to a 3-5 year school for programming career today simply doesn't make much sense. In most cases, people who choose such career are already active in the field and merely augment it with a degree. For everything else, the bottom of the market has fallen out and it's not coming back.


Exceptions exist. But is it isn't wise to think about the future as "I might be an NBA super star".

[quote] Embedded systems, robotics and automated control systems is a LOT like a game[/quote]

The competition there is physics, EE or math with MSc as minimum. These fields are already mostly off-shored since there is next to no development in this area happening in West anymore. Or better yet, the one that is has no problem commanding PhD-grade applicants, since supply exceeds demand.

And all those fields with any kind of long term future (aka not pure manufacturing) have no use for programming as any kind of meaningful part that could not be provided by a third party. Any and all value will lie higher, either in research or cross-domain work, where again, CS track doesn't help.

Share this post


Link to post
Share on other sites
sjaakiejj    130
As others mentioned, doing a Games only degree gives you very limited job prospects. Almost the only thing you can do with a degree that you paid so much money for is program games, so what will you do if you've programmed games for 2 years and find out that you don't enjoy doing it? Your Game Programming degree won't get you anywhere at that point.

Take straight CS, if you choose a good University/College you will have a lot of choice to customise your degree, and specialise in the things you're interested in.

Share this post


Link to post
Share on other sites
Tangletail    2915
Get the CS Degree, the game degree is what is called a "Specialization" degree and it's typically very limited. It is a slimmed down course of Computer Graphics, and Computer Science which consist of things that the college felt was relevant to the course.

A good college in computer science will typically go through the more boring stuff, but if you think about it. Game Development coding wise is MOSTLY mathematics. These guys tends to be the guys mostly hired compared to the game degree due to the high amount of diversity that is usually followed in suit. Another Reason why these guys would be hired over the specific degrees is that they will normally have the better ability to create tools, add-ons, or modules for the game software. Yes they typically learn Java and that's it, but they can easily transfer to other languages. A Programmer should be able to read a code, and edit it without even learning the language it's self. That said, if you learn C#, or Java then you can transfer to C++ with minor effort.

Computer Engineering is an even better choice to have as it combines Computer Hardware and Computer Science together in one course. This means that you learn the capabilities, and limitations of the hardware you are working on, and what algorithms would actually work better for the equipment you are coding for. Like, you can easily program for the Computer and it's GPU, but that coding will work poorly for SIMD processors and console GPUs. Imagine coding and reviewing other's work like a boss.

As far as computer Graphics goes, there are a LOT of companies who will hire people with no college, or university education of Computer Graphics if the portfolio looks good. Heck, even Pixar out of all companies will hire people who have never touched computer graphics in their lives to do their movies.

Share this post


Link to post
Share on other sites
EJH    315
[quote name='Antheus' timestamp='1312308522' post='4843686']
The important question is:
- What is it that you want to do? With your life, career, etc...

Numbers are harsh. Very harsh. Game programming will give you a job for 3-7 years at sub-average wage. Then number say people quit due to burnout or inability to work excessive hours.

Similar for computer science, where career in programming is 10 years long. With a warning. If you don't progress during first 3-5 years, your career becomes mostly a dead end. Very very few people end up working in CS, which means academia and PhD.

So to make anything out of a CS degree, you need to go business, either corporate or entrepreneurial. And numbers again show that for BSc. level degree, starting while still in school is just barely early enough.


For technical tracks, CS is undesirable, math or physics are considerably better long term options. Alternatively, for a technical career, a true engineering degree still has more long-term potential. In all these cases, programming can be learned on the side and it will, at least in the near future still give enough edge to advance the career.

But going to a 3-5 year school for programming career today simply doesn't make much sense. In most cases, people who choose such career are already active in the field and merely augment it with a degree. For everything else, the bottom of the market has fallen out and it's not coming back.


Exceptions exist. But is it isn't wise to think about the future as "I might be an NBA super star".

[quote] Embedded systems, robotics and automated control systems is a LOT like a game[/quote]

The competition there is physics, EE or math with MSc as minimum. These fields are already mostly off-shored since there is next to no development in this area happening in West anymore. Or better yet, the one that is has no problem commanding PhD-grade applicants, since supply exceeds demand.

And all those fields with any kind of long term future (aka not pure manufacturing) have no use for programming as any kind of meaningful part that could not be provided by a third party. Any and all value will lie higher, either in research or cross-domain work, where again, CS track doesn't help.
[/quote]

In my experience most of this paragraph is false:

- In the game programming side my friends that work at EA, ZeniMax, NCSoft, etc... all have stable jobs, nice salaries, health care, and drive nice cars. They make well above the national US average salary.
- In the non-game programming side I have friends that are developers at Microsoft, Google, and Amazon that were all straight CS degrees. Companies like these are not seeking only Math, Physics, or Engineering. They want developers and that means CS. Their salaries are almost all 100k+ USD.
- I know people at Lockheed Martin and L3 and large percentage of developers there are 40 - 50+ years old.

Like any other job, if you have talent you will keep your job. If you are dead weight you will get laid off and have trouble finding jobs. But now that I think of it, just about everyone I know that has a CS degree is gainfully employed at a job paying well above average salary. Almost none of them complain about long hours at their jobs either - not even those working at EA.

Also, in my experience the US economic slump has had little effect on tech industry hiring. I get multiple unsolicited job offers every month and I'm not even looking for a job. Not just headhunters but corporate recruiters themselves. Anyway, you can't go wrong with a CS degree imho - if you actually enjoy it of course. There are so many opportunities for programmers right now.

Share this post


Link to post
Share on other sites
crancran    504
[quote name='DracoLacertae' timestamp='1312306517' post='4843670']
Even better, if you can do EECS, that's even more general. Many people go CS-only and have a wonderful career as a software engineer, but having EE background will only open doors for you. My previous job required I spent as much time trolling over malfunctioning circuit boards as much as I spent debugging the software. (It was an unusual hardware & software prototype debugging job, but it sure was interesting. Whenever I found a bug I had to figure out if it was a hardware or a software issue!)[/quote]


There is often merit in choosing something somewhat broad and then specializing in what you enjoy later on. It certainly leaves many doors open for you, particularly in later life when you may find that the avenue you're presently traveling isn't enjoyable anymore and you want to make a career jump into something else. This is why I followed Draco's advice above and double majored in both EE and CS. I made sure that one my own criteria when leaving college was to find a job where I could continue to further both of those areas on some scale and have fun doing what it was that I enjoyed the most, which was programming. Luckily I have had that opportunity several times in my career and the experiences from both EE and CS have been invaluable in streamlining software to work well on certain platforms and to be able to squeeze every sheer ounce of power I can from a tiny microchip :P.

You're at that point in your life where exposure to a plethora of things isn't bad and while you will want to consider your specialization for your career at some point, just simply don't limit yourself just yet. One of the hardest things as you get older is if you aren't continuously expanding your mind and constantly learning, you will find it harder to go back to school and explore other options if you want to make a career jump.

Above all else, whatever decision you make, just be sure that what you decide on for a career is something that you are both passionate about and love to do. You owe it to yourself to follow your heart and be strong about what it is you want to pursue. I haven't regretted a single day of work because I followed my heart and chose a profession that means a lot to me personally and I wish you all the same!

Share this post


Link to post
Share on other sites
compscialien    104
Personally, I went the route of a CS major, and am in my freshman year here at Virginia Tech. It's a great opportunity because I have access to undergraduate research facilities, large campus, and many student clubs, including the relevant Virginia Tech Gaming Project. And in CS 2114 - "Software Design and Data Structures", the final capstone project was to, in teams of three, build some sort of Android application that fulfills a need or is a playable game. My group made a vertical shooter, similar to Galaga. It wasn't too difficult of a project for us, but what made it interesting was the fact we now had to work in trios, whereas we were all used to working solo. So you learn quickly that interfaces, documentation, and proper planning are some of the most important things to focus on in group projects.

Share this post


Link to post
Share on other sites
U-Volt    100
I'm almost finished with my second year at Stark State College in Canton, OH. The degree is an Associate's in Computer Science with a "certificate" in Game Design. I have nothing but great things to say about this degree, coming from a prospective programmer. Thus far, I have taken VB, C#, C++, Adv C++, Java, Adv Java, and a "Programming Logic" course too. The rest of the courses have mostly been math. The programming instructors here are very knowledgable and helpful, and extremely skilled programmers in their own rights. In addition to the programming and math, I have taken a "Game Design" and a "2D Game Design" course, the latter of which we used the Allegro Game Engine to create our own 2D games. In that course alone, I have 3 projects that will be in my portfolio. Next semester I take "Advanced Game Design" where we will use XNA to create games, and "3D Game Design" where I'm sure I'll have even more projects in my portfolio. And this is all in a smaller college.

My point behind saying all of this, is that even the smaller colleges can have outstanding programs for people that want to become game designers. I now have a very strong foundation in math, programming, and will have a few projects in my portfolio by the time of my graduation. And for the record, I will be turning this into a bachelor's at Kent State University after next semester :).

Share this post


Link to post
Share on other sites
caer    160
I study at a CS university. The first two years were mostly focused on maths and only now (third year of a 3-years degree) the courses moved their focus to programming.

Still it wont teach me "how to make a game", so I've started (recently) to study a bit how of to make a game both programming wise and graphically by myself..

Cant really say Im tooo happy about my choise, I'd imagine a game design school like a more interesting place to study, tho I cant say yet wich would have been the better way to get into the game industry, but Im glad to see that most ppl here say that a CS uni is the better choise overall..

Share this post


Link to post
Share on other sites
Kobo    128
I don't know if this is a major consideration for you, but it was for me:
4 year universities that have a wider selection of [b]majors[/b] available also have a wider selection of [b]people[/b] to meet, specifically [i]ladies[/i], which were few and far between in my CIS lectures.

Share this post


Link to post
Share on other sites
DarklyDreaming    367
There are very few reasons to choose a game school and unless you have serious argument otherwise -- go for CS or SE. Either of those will be fine for any possible work you might want in the future, as long as it's within programming. Even if you are convinced you'll [i]never [/i]work anywhere else other than in game programming you [i]still [/i]should pick SE or CS as those will earn you skills you will inevitably need to learn one way or the other -- skills that usually are much harder to pick up on your own.

Ultimately, the big reason for CS vs. Game school is that one is standardized and the other is not. If you consider CS to theoretical for your tastes, go for SE. But don't go for a game school thinking that's the "way in" -- it isn't, unless "the way in" is via the round paper "storage unit".

Share this post


Link to post
Share on other sites
OscarYang    96
Interesting topic that "flames" up such huge replies! It seems people are mixing in social phenomena too! I personally would say CS degree is much solid. Even if you were to finish the game programming degree, you would still probably end up learning a lot of things in the CS degree BUT with less understanding. You see, what separates a self taught programmer from a computer scientist is the fact that computer scientists know about lower level things (meaning closer to the machine) than self taught programmers. Having said that does not mean self taught programmers can't teach himself about the lower level things, but rather they TEND to focus more on immediate results. You can expect a self taught programmer to write a game but you cannot expect him to optimize the game give a set of hardware constrains; optimize algorithm run times; use "evil" tweaks such as assembly and/or complier flags to optimize; exploit locality...etc. While self taught programmer may still be able to do all those things that I said NOT to expect them to do, it is most likely that those problems did not even occur to them.

In short, the best to way learn things is to learn them through the basics, meaning the fundamentals. Quickly immediate solutions may not be the best in the long run and can actually hurt your long term learning goals.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this