Computer Games and Traditional CS Courses 173
drroman22 writes "Schools are working to put real-world relevance into computer science education by integrating video game development into traditional CS courses. Quoting: 'Many CS educators recognized and took advantage of younger generations' familiarity and interests for computer video games and integrate related contents into their introductory programming courses. Because these are the first courses students encounter, they build excitement and enthusiasm for our discipline. ... Much of this work reported resounding successes with drastically increased enrollments and student successes. Based on these results, it is well recognized that integrating computer gaming into CS1 and CS2 (CS1/2) courses, the first programming courses students encounter, is a promising strategy for recruiting and retaining potential students."
While a focus on games may help stir interest, it seems as though game development studios are as yet unimpressed by most game-related college courses. To those who have taken such courses or considered hiring those who have: what has your experience been?
I program games. (Score:5, Informative)
I program games. I'm coding right now in fact.
In less than 6 hours, I will be going to the office to program insurance software.
If you want to program games, do it for fun.
If you want to eat, bone up on your Insert/Update/Select/Deletes.
Re: (Score:2)
Re: (Score:3, Insightful)
You can make better money in games than in insurance software, and yes, I've done both professionally. To make better money in games, though, you have to work for one of the big studios, or get really really lucky.
So if you want your family to eat well, and never to have to see them, go work for a big game studio.
Re: (Score:2)
You can make better money in games than in insurance software, and yes, I've done both professionally. To make better money in games, though, you have to work for one of the big studios, or get really really lucky.
You also have to be damn good so you can climb the ladder. As a peon, you'll get worked until you burn out and then spat out the other side, with nothing to show for it in the end.
Thanks, but no thanks. I prefer to avoid the sweatshops...
Re: (Score:2)
Counterpoint: you can make better money in insurance software than in games, and yes, I've done both professionally.
I do agree with your (implicit) point that whether you value $$$ over time is largely dependent on how hot and horny your wife is.
Re: (Score:2)
The average in game development is higher. It's not hard to look that up in a salary survey.
Re: (Score:2)
And it's even easier to just say it's higher without providing a link to your alleged research.
Your assertion, your burden of proof.
Re: (Score:2)
128k average for game developer:
http://www.payscale.com/mypayscale.aspx?pid=206d010d-248c-470c-acc3-eaf4c851e03d [payscale.com]
114k average for general software developer with same years of experience:
http://www.payscale.com/mypayscale.aspx?pid=21227c5a-f934-4e14-8e00-df80d9279d06 [payscale.com]
Re: (Score:3, Interesting)
I think we were talking about computer science, not JavaSchool. Sure, there's lots of IUSD or CRUD work, but that's not a university education.
2D / 3D algorithms, AI, DSLs, parsing, sorting and searching, network protocols, and so on. Those are all useful in games. They are also key concepts in a lot of computer science.
Re: (Score:2)
Yet most colleges don't even go over SQL and database. Which still has pleanty of computer science in the topic. DB call can be just as advanced a any other program. As well teach people to think in agragate. However most of the people I interview cannot do a join
Re: (Score:2, Interesting)
Yet most colleges don't even go over SQL and database. Which still has pleanty of computer science in the topic. DB call can be just as advanced a any other program. As well teach people to think in agragate. However most of the people I interview cannot do a join
SQL + Normalization : Set theory + discrete maths.
Re: (Score:2)
Re: (Score:2)
In a 4 year program, there is only room for a few senior level computer science electives. Almost all programs will offer a Database course but it usually will not be required. As an undergrad, I took OS, Computer Graphics, Programming Languages, and Distributed Computing as my electives. I don't see where a Database course would have necessarily been a better choice than any of these (and I have since taken a grad-level Database class). There are many jobs out there that require very little use of a da
Re: (Score:2)
Re: (Score:2)
SQL or NOSQL (Score:2)
Working with databases at some point in your career is almost certain. I don't think a single course is all the database exposure one should be given.
Hierarchical, network, relational, object-oriented, or object-relational? A database architecture that's the fad now might be passe' later, especially with the recent meme of Not Only Structured Query Language [slashdot.org].
Re: (Score:2)
Functional, logical, OO? A language paradigm that's the fad now might be passe' later.
Hardly a fad, all of those (just like the DB types you mentioned) are still in use, though OO is clearly the king. Not surprisingly, most schools focus imperative, OO programming and offer a course or 2 (
Re: (Score:2)
Functional, logical, OO? A language paradigm that's the fad now might be passe' later.
And just like nonrelational databases are making a comeback with the rise of storage as a service, functional programming is likely to make a comeback as CPUs gain more cores. The bias against mutation in a functional language and the map-filter-reduce paradigm allow things to be parallelized more easily than the strategy of worrying about which thread holds the lock on a given object.
Re: (Score:2)
My university offers an elective database course, but it's not required to graduate if you're a CS major. We're also one of a handful of universities in my state which has its CS course certified by ABET.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Exactly. The Viewpoints Research Institute did some introduction to programming things using Squeak eToys (Smalltalk development with a nice UI). After an afternoon, most of the children (ages 7-14) were better programmers than most of the undergrads that I've come across with a year of Java. They understood the concepts, but not necessarily the names for them. One of the first things the children were taught to do was create an algorithm for navigating a car around a track. They're basically playing,
Re: (Score:2)
Intro to Programming (Score:2)
I used game programming (tetris spin offs) in my 1st C programming class; students were more motivated and while they did not cover as much material as a traditional college programming course using C - they were extremely well prepped for the college courses after left high school. In fact, I think they understood the basics better than many CS grads I see today (who can graduate without having used a 2D array or pointers.) I had them come back and say that it helped them more than AP classes in other top
Re:I program games. (Score:4, Funny)
On the other hand, when I'm at home I code Inserts/Updates/Selects/Deletes, and in an hour I'll be going to the office to program a game.
Seriously.
Ok, ok, the SQL is part of a web-based game I rarely work on in my free time, I normally spend my free time playing games, but it's still funny how opposed it is to what you said.
Re: (Score:3, Insightful)
Re: (Score:3, Insightful)
11 hours? Lazy. When we were in crunch mode for Diablo II, 15 hours was a typical day, and much of the staff slept under their desks. It was not uncommon to see people get in 120 office hours in a week.
Re: (Score:2, Insightful)
Maybe it was time for Blizzard to, you know, actually hire some more people rather than work their staff to exhaustion. Maybe then they could do a sequel to a hit game in 1 or 2 years, like console developers do. Oh wait, Blizzard originally WAS a console developer
Re: (Score:2)
If you want to program games, do it for fun.
Console makers like Nintendo and Sony tend to frown on "doing it for fun". Either you code for fun for a Microsoft platform (DirectX or SDL+OpenGL games for PCs running Windows), or you code for fun for a Microsoft platform (XNA games for Xbox 360).
Re: (Score:2)
Games use databases.
Just sayin'.
Re: (Score:2)
I dunno. I did game testing on Forza Motorsport 2, and they just used a bog-standard MS SQL install. But then again, it has hundreds of car models (over 250, I believe), all the variations of each model, and the detailed simulation data for each variation.
A game like Warcraft 3 might not have a genuine relational database, it may be simple enough to not require one. My wager would be that they're either using a flat-file database of their own design, or a very light database engine like SQLite.
Re: (Score:2)
As for saving info after the game, such as stats, replay, and whatnot...those are just custom file formats.
Re: (Score:2)
Re: (Score:3, Insightful)
Of course few of the senior staff have degrees, they most likely came into the industry 10-20 years ago when there weren't any courses related to game development.
Re: (Score:2)
There's a ton of documentation around Microsofts xbox live arcade dev kit. There's no substantial difference between how those games are made and AAA titles are made beyond manpower.
http://creators.xna.com/en-US/faq [xna.com]
XNA has deficiencies (Score:2)
Re: (Score:2)
On your first point I agree, though that's pretty much in line with the AAA industry: all proprietary, mostly console, high system requirements when on pc.
C++ vs c# is a trivial amount of difference, mostly in the libraries. The syntax is similar enough it will take all of a day or two to make the transition. The real learning is all about how graphics and algorithms get done, and that's identical.
Re: (Score:2)
What difference does that make to the developer? At the level of developing a game, why should you care, other than performance, which is all tied up in the gpu anyway?
Re: (Score:2)
I'll still claim that neither of those things is an issue where XNA development significant departs from AAA title development. Yes, one or two developers on the team are working on maxxing out cpu and memory efficiency, but for most of the team, they don't care, and in terms of learning about cpu/memory efficiency, you can learn the same techniques on XNA, it's just that your ultimate limitations are slightly lower.
Re: (Score:2)
How did you learn to program games? I'm struggling to find non-introductory documentation on how to program them the object-oriented way. I use C++ with SDL.
Step one: Use the right methodology for the job. Avoid Square pegs and/or round holes.
This isn't meant in any way to say that OO isn't for games. I don't program games, so I don't know. (I would personally think they go together rather well, but that's a WAG), but rather, to learn to program games, and they do so in the OO way, as opposed to learn to program them the OO way.
It seems like nitpicking, but in the evil real world of trading coding for food (through various layers of indirection), it can make a
Video Games vs Reality (Score:4, Interesting)
I think the lines between video games and reality are becoming more and more blurred. There are a lot of really interesting UI interactions I've seen a lot of "serious" apps riff from the gaming community with great success. It think it's important, as a lot of the younger folks these days are learning their computer chops from games, and the transfer of knowledge is pretty significant.
During grad school, I worked in an HCI lab with a pal that used the Doom engine to do experiments on people's ability to wayfind in a virtual environment. I know it's not game development, but it made for a really interesting experiment. I'm assuming there were lots of hours spent "testing the environment" as well.
Re: (Score:2)
Kind of merged "Ripped" and "Lifted?" :)
One step at a time (Score:5, Insightful)
While games are obviously the result of lots of code, there is very little that a 1st year college student could learn about how to program Grand Theft Auto in 2 or 3 courses... Pong might be a good start...
Modern day games use loads of very high end CS concepts, that are simply out of reach for novices. While getting people motivated for a discipline is the first step to teaching them, this tactic sounds more like advertising than actual teaching.
Growing a problem solving mind by the use of strict logic, and taking things one step at a time is the way to become a great programmer. Setting out to recreate the Crytek engine on your first day is bound to end in failure, and more important, disappointement.
Re: (Score:3, Interesting)
USC is trying. Here's their GamePipe curriculum. [usc.edu] It's education for entry-level programmers at EA.
It's kind of like film school courses that prepare people to be production assistants, then assistant directors, which USC also offers. That's not a path to becoming a director. It's more like a career in field logistics.
Re: (Score:2, Informative)
Some schools even go as far as doing nothing but teaching a curriculum around making video games. https://www.digipen.edu/ [digipen.edu]
It shares a campus with nintendo, so it may be a bit biased there, but their students tend to get nominated for IGF awards each year.
Comment removed (Score:5, Insightful)
Re: (Score:2)
I work as an academic in Computer Graphics, so I sort of know what I'm talking about here... and frankly, there are too many people in this area already who "are into" game developing. Far too many.
Personally, I'm "into" game developing. I've written a number of games, one of which even won an (admittedly minor) award. How much money have I earned from this? Zip. It's a hobby. In my day job, I do nothing but Perl and Korn shell scripting, validating command line or CGI inputs and gluing together programs that other people wrote. It pays well and it seems immune to being outsourced overseas, so I'm happy. On my home PC, however, I have a few IDEs installed which I use for various personal projec
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Why do games have to be 3D? I've programmed fairly complex 2D games just fine.
Re: (Score:2)
Why do games have to be 2D? I've programmed fairly complex text adventures just fine.
Re: (Score:2)
Why do games have to be 2D? I've programmed fairly complex text adventures just fine.
Unless you squirt out your text in morse code, you'll be using a 2D display, at least.
A morse code text adventure would be a pretty interesting artifact, especially if it was not PC hosted, but plugged into a telegraph key.
Text adventure output is 1D (Score:2)
Why do games have to be 2D? I've programmed fairly complex text adventures just fine.
Unless you squirt out your text in morse code, you'll be using a 2D display, at least.
Unless you count NetHack as a text adventure, a text adventure's output is a 1D stream of code points that gets translated into a 2D character array by the display system. From the point of view of the game, it's 1D.
Re: (Score:2)
Re: (Score:2)
I've found puzzles and word games to be a good way to learn useful data structures and algorithms. There's not a lot of complex UI stuff required for games like boggle or scrabble. Implementing a crossword puzzle generator can also be a fun and challenging.
game programming the means not the end (Score:5, Insightful)
It seems like that's not the point. The goal of having students write games isn't to turn them into game programmers, but to show them that programming can be fun, and then they can use their new skills to solve all sorts of problems.
Re: (Score:2)
It seems like that's not the point. The goal of having students write games isn't to turn them into game programmers, but to show them that programming can be fun, and then they can use their new skills to solve all sorts of problems.
Indeed, the goal should be to get the students to be interested in going beyond the assignment. Many programming skills needed later on are only thought by experience, students need to build up that experience. They need to sit down and program stuff, theory helps, but it's useless without the experience required to apply it.
If you give an assignment where students need to build a tool that keeps track of shop orders, with a frontend, backend and everything that comes with it. Then they will make just the t
Re: (Score:3, Insightful)
What are they doing studying CS if they need to be persuaded that programming can be fun like they were a bunch of kids who need to eat their broccoli?
Re: (Score:2)
I've had occasions where my work on my game translated in large part to a non-game concept (marketplace code for the game became the framework for a classroom reservation system at a university). The marketplace was more fun to code, but it still gave me a HUGE boost when I had the classroom reservation project g
Re: (Score:2)
fun because writing a simplistic game, for most people, is more enjoyable than writing a simplistic "convert change to best currency units" program.
Of course if the students then spend all their effort on moving a pixel here to make the game look nicer you've lost. Then again I remember crazy first year students spending silly amounts of efforts in prettying up their text output on non-game programming work...
Re: (Score:2)
Well, I know I spend my time after having finished the program refactoring it. Unfortunately, it's hard when you're supposed to use "base code" given by the teachers, and that code is something I would be ashamed to show.
And it's also discouraging when I get the same grade as my peers, who deliver a program that does the same, but with a single class of 1000+ lines, and few methods. I would think that code cleanliness would be appreciated in a CS course, but apparently not.
Re: (Score:2)
You wouldn't get the same grade if it was my class (back when I taught one...). Half the marks were machine marking of the output - which you would get the same mark for. But the other half were style (and did he cheat the machine marker somehow checking) and a functions which are too long are going to do poorly in the hand marking.
But the prettying up the output I mean is spending hours creating a header on the output using ascii art, that needs to be changed everytime they change some other part of the o
Re: (Score:3, Insightful)
Re:game programming the means not the end (Score:4, Insightful)
Not This Again... (Score:5, Insightful)
"Schools are working to put real-world relevance into computer science education by integrating video game development into traditional CS courses."
Nowhere in the article do I find a statement that supports the claim that traditional CS courses are lacking real-world relevance. Can we please stop taking shots at the four years CS degree? If you don't like it, then don't get it. It's only been five years since I graduated my with my Bachelor's in CS and I can tell you that the course I took are highly relevant. I use it every day when I'm coding and thinking about my algorithms. I need to know what the run-time complexity of my methods and how I can use various data structures to make my code more efficient and what the trade offs are. In fact I do it so much that it's almost second nature. These are things they teach you in the core CS classes, at least where I studied that's what happened. My school was very prestigious but not well known for its CS department so I imagine that my education isn't that extraordinary.
Our CS program offered a set of courses that would have allowed students to create games. In fact, that's what the computer graphics course did. I worked with a couple of students who took that class. They reused those same skills again later during our AI project when we created a simulation where the AI played against itself. We weren't exactly creating the next WarCraft III or Civilization IV but some of the fundamentals are there. Likewise, those same skills could be put to use in other projects. The school doesn't have to have a course called "Game Programming for the Real World" for people to see that its course are relevant to the various sub fields in software engineering.
Also, software engineering is a more expansive field than just making games. Programming an O/S or network programming are both very relevant skills even today.
Re:Not This Again... (Score:5, Interesting)
I think the point isn't that the courses are teaching useless stuff, but rather they're teaching the things using examples that the students don't find relevant. A lot of CS assignments consist of fairly contrived tasks that test the immediate task and nothing else. They do the job but the student doesn't have a sense of accomplishment since their program hasn't really done anything useful, just completed a contrived task. Games on the other hand have the objective of fun, so the moment the user has written a game they've written a useful application. This gives them a much greater sense of accomplishment.
Say you're teaching them how to use mathematical approximation algorithms to quickly compute line intersections.
You could use a simple graphing package and have them use their algorithm to draw the two vectors and see how close they get.
Or you could turn the vectors into arrows and have them try to shoot down another arrow in mid-flight.
Which would you have more fun writing?
Re: (Score:2)
Say you're teaching them how to use mathematical approximation algorithms to quickly compute line intersections.
You could use a simple graphing package and have them use their algorithm to draw the two vectors and see how close they get.
Or you could turn the vectors into arrows and have them try to shoot down another arrow in mid-flight.
Which would you have more fun writing?
The first. I don't know about you, but I never took one class at a time in college. If the professor had the option of assigning two different assignments, which both taught exactly the same subject matter, but the "fun" option was going to add 3x the time commitment, I would take the quicker and equally educational assignment almost every time. Besides, even if I had the academic time for the longer assignment, it was usually more valuable to socialize than make a computer arrow shoot another computer a
Re: (Score:2)
Say you're teaching them how to use mathematical approximation algorithms to quickly compute line intersections.
You could use a simple graphing package and have them use their algorithm to draw the two vectors and see how close they get.
Or you could turn the vectors into arrows and have them try to shoot down another arrow in mid-flight.
Which would you have more fun writing?
The first. I don't know about you, but I never took one class at a time in college. If the professor had the option of assigning two different assignments, which both taught exactly the same subject matter, but the "fun" option was going to add 3x the time commitment, I would take the quicker and equally educational assignment almost every time. Besides, even if I had the academic time for the longer assignment, it was usually more valuable to socialize than make a computer arrow shoot another computer arrow just because.
That said, the correct assignment in such cases is usually to assign the first, and tack on some trivial bonus credit for the second. That's usually just enough motivation that the people who think the additional task looks fun, that they'll do it and thoroughly enjoy themselves, while those with different priorities don't have much reason to waste their time with it.
Well my concept wasn't that you have to write the code to draw a line or an arrow, just that you're calling libraries with a different function.
A better example is I'm TAing a 1st year perl course, one of the recent assignments was a battleship game. It was probably one of the tougher assignments, not because it was a game, just because it was tougher. But the students actually did better than average on it. I suspect that one of the big reasons is that they found it a lot more fun to work on, partially bec
Re: (Score:2)
They also generally don't teach:
1) Development methodologies
2) Source control
3) Working in teams
4) Interfacing with non-programmers
There are lots of skills required for software development that 4-year programs don't even start covering.
Games and augmented reality... (Score:3, Insightful)
... I'm kind of wondering why nobody in the game industry has thought of taking User interfaces in games and fully develop them for other software apps as spinoffs for alternate sources of revenue?
I was pretty impressed by Deadspace's in-game UI, now if they could take some great UI concepts and apply them to other applications outside of games the expertise gained in the industry could probably take userinterfaces to the next level.
I've seen things like:
http://www.taggalaxy.com/ [taggalaxy.com] ... and always wondered what some guys in the game industry couldn't do if given the time to develop some kick ass UI.
http://cooliris.com/ [cooliris.com]
An example or two.. (Score:5, Insightful)
I have a bachelors degree in Game design, and using games was a big part of how programming was taught at my school.
A lot of people are going to say "but how are they going to learn, games are complex, etc etc"
They don't have to be. A few examples from how I learned...
In my networking fundamentals, we covered opening sockets, threading to take care of the sockets, passing information back and forth, etc. At the point in a normal course, you'd probably do something like...make a lame chat client, or an FTP program or something. Instead the professor said, ok, I want you to make a game that uses these concepts to pass information between computers. I wrote a pong game that used a client / server type setup. One computer ran the server and both ran the clients. The server computed all the stuff and returned data to the clients on where to place the ball, paddles, and the score. I also had a lot of fun doing it.
Another good one. For my programming fundamentals class (eg, first class the freshman took to learn programming) they used python. After we covered the basics, such as arrays, if statements, loops, and so on, we got into user input. Then the instructor turned us loose on a simple header he'd made that let you move ASCII characters around the screen and asked us to make a simple game, such as a maze the user had to move through via the directional keys. It was amazing, because the next class students came in with some really awesome games using pretty complex stuff they'd looked up and taught themselves. By the end of the year long series of classes, freshman were making sprite based games on par with Super Mario Brothers 3 and other scrolling type games using PyGame.
I also learned Direct3D and OpenGL and wrote a few simple games with them to learn how to work with a rather complex API. Then we picked up Ogre and a physics engine (I can't remember the name off the top of my head). My final project was a bowling game that head realistic physics, and you controlled the spin and movement of the ball via the mouse. I showed it to my current employeer (I started out as a co-op) during my interview, and it really set me apart. Granted my job requires very little programming, but it still really made me stand out when I was able to show them something flashy, rather than a program that did a lot in the background but not much in the userland end of things. Not that theres anything wrong with that, but people tend to like flashy cool looking things.
Re: (Score:3, Insightful)
I do think I should folow this up with a bit more of an explanation of my beliefs as far as where this is heading for universities.
I cringe every time I see Devry's school of video game design add come on the TV. Its two college age guys sitting on a couch, playing a game. something is said like "oh, we need to tweak this a bit more here" and he does something with the controller, then they go back to playing the game.
I was in a game design degree, and it was hilarious seeing the incoming freshman and their
Re: (Score:2)
In my experience no institution can teach you the most important things you need to know. If you explore what interests you
Re:An example or two.. (Score:4, Insightful)
There is no greater truth when it comes to applying for a job. When I graduated from my Object Oriented Software Development courses, it was tough to stand out. Specifically, we had graduated just before the university & college students, so we got a head start on the job hunt, but basically the final exam was a weeklong project of building a Travel Agency website from scratch.
Don't get me wrong, I bedazzled the pants off this project, being one of the programmers more familiar with Flash. But when you go to a job interview, and they want to see a piece of your work in action, and all you have is the same travel agency web site that other students are showing around - you don't shine as bright as you'd like.
I kid you not, the day of an interview I had gone in and sat in the waiting room, and moments before I was to go in one of my classmates walked out. A little nerve racking, knowing that someone YOU KNOW is competing for the same job, but I knew I was a better programmer. Problem was - could I show it? Towards the end of the interview my interviewer said these words, "Your web site is fine and all, but I'm looking for something more. Something to show you're really into it."
To which I curved a half smile and replied, "I've started work on a game, if you are interested to try it"
He was.
He liked.
I got the job.
Not just games (Score:2, Insightful)
It doesn't have to be a game. Any simulation is fun to create. Especially if it is interactive.
Game design is worthless. (Score:4, Interesting)
Game design oriented courses are a waste of time. It's an attempt to turn a difficult creative process into a trade school education.
That said, appliying game principles to CS is completely the opposite. How better to learn about trig than working with 2d graphics/games? Or more advanced concepts like matrix math and quaternions? Instead of learning abstract math, students learn how this math is applicable to real world applications and how to make it do interesting things.
Re: (Score:3, Interesting)
Exactly. See my parent post about 3 above yours.
I learned matrix math, working with vectors and 3d points and so on from using it to work in OpenGL, Direct3D and later Ogre. It wasn't something abstract, because I could make a change, and see the result on screen. This helped me to connect together what was going on and what the final output would be, and helped me to grasp a much better understanding of it.
Re: (Score:2)
It's an attempt to turn a difficult creative process into a trade school education.
There is a need and a place for CS trade schools to train coders. These are the poor saps that get shit hours and work conditions at EA but there is a need for those talents. Houses need to be built by framers just as much they need to be designed by architects (or architectural technologists as the case is for most cookie-cutter houses). The developer market has grown a need for skilled trades people (coders) and trades courses have developed to train them. I have a lot of respect for the trades, coding in
Re: (Score:2)
I learned to program, aged 7, because of games. We had one class a week that covered programming on the BBC micro (one for the entire class) in BBC BASIC and Logo, but we could use the computers at lunch time or after school if we wanted to. I got the basics of flow control and 2D drawing from the class and then taught myself until I arrived at university for a CompSci degree (I then stayed to do a PhD). The first games that I wrote were things like 'guess the number I'm thinking of,' first where the com
You cant base a whole industry ... (Score:2)
... in mouth to mouth knowledge.
The cavalier attitude to professionalism by people already in the games industry is truly appalling, but some peoplein the industry are coming to the realization that such stupid stance to depend on cowboyism for talent should be supplanted by preparing people specifically to develop games.
Game development is a hard life (Score:5, Insightful)
I develop business software. Insurance and banking (mostly banking now), I'd love to develop games. What I don't want is 80-100 hour weeks as standard (pay for 30 hour weeks), competition with every upstart that thinks playing Quake for 20 hours straight makes them leet, companies that go bust and never pay you, a large percentage of projects cancelled, and fighting a perception that you're not doing anything serious with your life because all you do is play games. It just isn't for me.
By all means add more gaming components to the CS courses. Game programming is difficult and challenging and is an excellent excercise. Game physics is unforgiving and requires a good grasp of science. The creative side requires people to develop some very subtle skills. However don't expect your students to all like it or to become game programmers. That'll certainly be one path, but its not for everyone. I'd rather see this as an elective that can be taken early rather than having it forced as some incorporated part of a CS1/2 course. Access to the tools and mentoring on the methods would be useful to those interested in the field.
Obligatory comic link (Score:3, Informative)
I'm skeptical about these results (Score:4, Insightful)
Games as examples in CS != Game Design degree (Score:5, Insightful)
Isn't the editorial a non sequitur? Using gaming based examples instead of Hello World or business based problems in a traditional CS course is not anything like a game design course. I have a problem with doing this though as while it may be good for the university it is bad for the students who get suckered into a career thinking they will be making games (or that working in the games industry is like making a game for an assignment). This is actually a problem infesting nearly all of modern teaching where "student involvement" is increased by making it fun at the expense of helping kids develop a work ethic*. Being able to work even while bored and disinterested with the task is a much higher predictor of future success than getting good grades because the topic was interesting.
The problem with this is that real world work is often rarely fun unless you are lucky enough to be able to achieve a dream job. Most of us have jobs that while they may be fulfilling have substantial portions that are not fun, and indeed are often gruelling*. This kind of tactic seems like a bait and switch to me. If you don't enjoy the maths and problem solving involved in CS it is not the career for you, no matter what kind of shiny veneer they put on it.
* There is a balance to be had. But I find that too often in early schooling the teachers are using this method instead of instilling in kids a desire to learn and to work hard for future reward.
** I enjoy playing games and analysing movies, but doing that as a job would not be the same as doing it for fun.
From the instructor's point of view (Score:2)
Studio attitudes will change. (Score:2)
Right now studios don't care much about game degrees, for two reasons. First, there are a lot of bad game degrees out there. In time, the good ones will push out the bad. Second, studios are full of old-timers who went to school before there were any game degrees, so they don't see the need. When they die off, that attitude will die with them.
At the moment, young employees are learning on the job. That's inefficient and dangerous -- it means they make their mistakes on the job. If they came in with a game d
Re: (Score:2)
Right now studios don't care much about game degrees...
...because they can outsource to cheap third world sweatshop programmers that you simply can not compete with. Have you actually looked at any available gaming positions? Go to EA's job site now, and you can see that while many positions mention a degree, it's not a requirement.
You're deluding yourself if you believe that any major gaming company's HR will require a gaming degree. And as for people making all their mistakes in school before getting a job, well, as a software manager I can guarantee that
Patronizing fail. (Score:2)
I've been in the game industry for 20 years, 8 of them at Electronic Arts, so I know what I'm talking about. In time, game company HR departments will start looking for game degrees. In 1960, software companies didn't look for CS degrees, but in 1990, they did. It's a fact.
In the 1960s people had the same cavalier attitude about film schools when they were first getting set up. Today serious directors are expected to have been to one. Too much money is at stake.
I didn't say people don't still learn when the
Re: (Score:2)
Solving a non-existent problem and my experience (Score:4, Insightful)
I didn't realize we were all bored to tears with our CS courses.
Personally, I went into the introductory programming course at my school (as a music major) expecting the worst. I was taking the course because it was required for some music technology-related courses I wanted to take later on. It was a very traditional class. By the second week, I had changed my major to computer science.
You don't need to make math and science and technology "fun". That attitude is patronizing and obnoxious. If you have competent, passionate instructors then you can teach students.
Making a game isn't necessarily more fun, accessible, interesting or inspiring than making something else. For example, In my second programming course, which was titled Data Structures and Algorithms, two of our major projects were making a text-based Arkanoid clone, and making a text-based spreadsheet application (all C++, by the way). One of the requirements for our spreadsheet was that it be able to save and load 200,000+ cells of data, in a hash table we implemented ourselves. It was much more impressive to me to create an application that could scale like this than the small, limiting world of the Arkanoid game.
It's my fear that we would be dumbing down the discipline for the sake of accessibility. It's something that requires balance, and a good project and a good instructor are necessary. It should not necessarily be, nor not be a game. It should be appropriate to demonstrate the techniques and theory to build upon to foster an understanding of computing.
I don't know what sort of mind it would take to not be awestruck by the power afforded to one by programming modern computers. It speaks for itself.
Don't be fooled (Score:3, Interesting)
We were told exactly what had to happen when why, we just had to make the Java classes and translate the directions into code. There was nothing about balancing, nothing about making the game actually fun, very little about user training (my nethack-like interface was accepted without any problem)... simply nothing about the actual "game" part.
They just wanted us to make us interact a bunch of classes. The "game" part was just a cloak to make people go "wow" for those couple nanoseconds.
Taking a Game Class (Score:2)
i'm taking a game programming class at GWU. It's meant to be for non-programmers but i (a non-programmer) am struggling with XNA. In Game Maker i can DO stuff. i can even be creative in it. With XNA, i'm looking at gibberish. i have no idea what e does, or what args are. But i do know that the jump icon makes the lil guy move.
Programming for me is much like trying to demolish a brick wall with my head. i could do it, but the time and pain involved just isn't worth it.
Give me a programmer, a graphic ar
Not the point (Score:3, Insightful)
Almost nobody taking the CS Assembly Language course ends up getting a job writing in assembly either. Almost nobody taking an Operating Systems course ends up getting a job writing their own kernel.
CS is not a Vo-Tech program. The point is to understand how things are done, not nessecarily to train you to do that for a career.
It's Not About the Games! (Score:2)
If done right, the game or whatever just serves as an engagement and recruiting tool. The important bit is then using the platform to introduce problem solving and programming learning opportunities and then relating that back to the non-gaming IT world.
In my case, I teach the first course in Computer Engineering, and I use the Wii Controller as the data source. Check out http://www.youtube.com/watch?v=tPCBfyQP4eE [youtube.com] to see a lab where students use the wii remote in a foam football to measure the distance it
Re: (Score:3, Insightful)
From my experience, writing games is really quite tedious and not nearly as rewarding as solving programming puzzles and such.
That's your opinion mate. I quite enjoy it, which is why I do it for a job. There is a lot of problem solving if you work on the right games.
Re: (Score:2)
I've written a few flash games and am currently a CS major. From my experience, writing games is really quite tedious and not nearly as rewarding as solving programming puzzles and such. Games that introductory-level students are capable of writing are generally rather boring and not as useful/practical about as sorting algorithms, data structures, etc...
Funny you should mention that...
After spending far too many hours fighting with the Remove() method of an AVL tree class(still without success, dammit!), I'm pretty sure I'd give my left arm for a nice, boring assignment. :P
I'm getting too old for this shit...
Re: (Score:2)
You sound like the guy who quit CS because Calculus was too hard.
Re: (Score:2)