Games, Games and Games
Games are interesting, and game programming is even more interesting.
- No one understands it, in a traditional context. You can tell your family that you are writing navigation software for spy satellites, but not games. If you have moving graphics on your screen, then you are playing games and wasting your time. Note that it’s even a level harder than just playing games which you can (in theory) explain as just passing time (which is quite unsuccessful in practice,) but actually trying to create a game is the most foolish thing anyone can do. Why can’t one stick to more reputable jobs like robbing graves or more successful ones like becoming an alchemist?
- It’s exciting. Not only you get to create something, but you get to play it too, and other people get to play it. It’s the most complex and advanced form of performing arts: theater, cinema, puppet shows. And it’s interactive, like a stand-up comedy act, but with cooler characters. The most comparable medium is cinema, but computer games put emphasis on technology mostly, while in cinema it’s supposed to be on art.
- It’s the most misunderstood of the media. No one but a semi-serious gamer understands the lure and pull of games, absolutely no one. It’s not a sport. It’s not education (it’s not, trust me!) It’s not even just for fun, most of the times. It’s not a professional job. It’s not serious. It’s nothing. It’s too complicated most of the time for an outsider (and sometimes for an insider!) to pick up gaming so everyone who’s not played video games as pre-teens or young teenagers is pretty much already out of the loop. There are so many bad games that even if one wants to understand what’s what in games, (s)he may get a totally wrong image.
- There’s money in it, but not where everybody can see it. I don’t have any numbers now, but I think it was in 2005 or 2006 that the world game industry became bigger than the world movie industry, in terms of financial investments and revenues. The growth of the game industry have always been faster than the movie industry so the distance will become even more drastic over the next years. But people see rock stars and movie stars who live the high life, but no one notices a bunch of game designers, programmers and game-company managers with lots of money.
- A lot of people want to make games. Every half-decent programmer writes a game at one point or another in her life. Every programmer thinks about writing games. Every 3D artist thinks about it. Every programming company owner thinks about it. Every university student wants to do it.
- A lot of people fail to make games. We’ve all heard stories of defeat and failures and deadlines that were never met and bankrupt companies or just a group of fiends who tried to make games. If we are lucky enough, we don’t get to experience that first hand.
- Games require many different people to work with each other in harmony. Managers, graphists, environment designers, writers, 3D modelers, animators, 2D painters, level designers, game designers, mechanical engineers, programmers of many different creeds, directors, actors, sound engineers, producers, and many more have to work together on a project that almost none of them understand fully to make it through. It’s like a movie production, a modern movie with lots of special effects, but with a lot more programmers and a lot less actors. This is a bad thing. Remind me to talk about actors and programmers more later!
- Games need many different branches of programming to work. A simple database driven program requires database programming, and UI programming, and software engineering. Games require software engineering on steroids (you have to deal with all the artifacts and workflows and dataflows for the rest of the team (artists, designers, etc.) too, to say the least!) database, network, UI, real-time graphics, simulation, math, AI, computing theory, geometry, low-level system programming, sound, concurrent programming on many levels, etc. etc! Almost everything a programmer can think about programming of is either already used in games or will be. Very few programmers can master all this. In fact, very few programmers can master one of these fields.
- Add to the above the fact that games need to do all of this really fast! Frame-rate and user experience is everything. You can’t afford to get lousy and put some routine in your game engine without understanding its trade-offs and performance and resource usage patterns. In an office application, no one will notice if the performance of your application drops down 50%. But everyone will notice if their game is running at 10 fps instead of 20, or at least they will get headaches if they don’t notice otherwise. High-throughput (bytes per second, frames per second, triangles per frame, texels per frame, instructions per second, cache misses per memory accesses, etc.) and low latency are the keywords. There’s always something per something else that needs to be maximized or minimized or even kept even over time. It’s a hard business. Trust me.
- All the factors above make games hard, really hard. And they also make them challenging.
- Academics hate games. They look at them as the useless byproduct of juvenile stupidity. You can’t catch a respectable university professor working on games. Even academic papers that are directly related to games (rendering, network, complexity management, etc.) are all written under an excuse, for another field (image processing, physical simulation, load-balancing servers, etc.) This trend is changing however. It’s becoming better for game programmers in the academic sector.
- Idiot politicians (or generic idiots) want to use games for education! This is one of the more ridiculous notions a gamer encounters in her life. Who plays games for education? Absolutely no one. Pay attention to my lips people: NO ONE PLAYS GAMES TO BE EDUCATED. If you aim to make educational games, you will make crap that no one will play except yourself, and you will kill your own brain cells in the process. Even the most controversial games have educational messages, but no one plays games to get educated. Why is it so hard for people to really, deeply understand that entertaining people is worthy on its own. And that if you want to educate people, first there must be someone listening to or looking at you in order for you to educate them.
- There’s no game industry in Iran. We don’t have the supporting sub-industries like motion capture or FMV creation shops, the professional game publishers and the like. We don’t teach game programming in our engineering schools, and we don’t teach game art or game writing in our art and literature schools. We don’t have game companies to train newcomers into professionals for the next generation. And most importantly, we don’t have the legal foundation to support corporate media and software industry, and games are a sub-class of both.
- Games have the worst possible kind of user-base. They are in every age. They have every imaginable level of computer skill (but they are mostly total lusers.) They have absolutely no training, and there can be none. No one reads game manuals and no one expects to have to. You can’t hold training seminars and classes for games. Users have every kind of hardware imaginable. If you refuse to run on their machine, they won’t upgrade their machine for your software, they will just by another game (unless you are “id Software” or “Epic Games” or “Crytek”.) They will push every button in every possible place during the lifetime of your game. They won’t have any patience with your software. They won’t read the message boxes on screen before clicking on “OK”. They will become frustrated and lose interest after the second glitch.
- Competition is pretty fierce in among game titles. Games not only have to compete with other games, they also have to compete with other forms of entertainment. Also, other software only have to compete with their own kind. Word processors compete with word processors and disk defragmenters with disk defragmenters. But games compete with all other games almost regardless of their genres. Even platform is sometimes irrelevant to competition.
- Games always live on the bleeding edge of technology. They have to. Many of the advancements in technology are driven by entertainment money and games are the prevalent form of entertainment. Games have to be on the edge because other games are, and they can’t afford to look “out-dated”. Also, there are always new ideas the designers or programmers or artists want to try that absolutely requires that state-of-the-are CPU or GPU or whatnot.
Those are some the reasons that make game programming interesting.
I just wanted to comment on your point about academia. At least here at McGill there are _courses_ taught on modern game programming. And man, this is for real. I can’t provide you the link (broken I think), but check this:
This course will give students a good understanding of modern computer game design and implementation techniques. It covers a wide spectrum of game aspects, focusing on components essential to or common in popular computer game styles. Concepts are backed up by non-trivial programming tasks that allow students to gain practical experience in particular components of game implementation.
This is vividly an influence of the industry. Even if we (people in academia
) don’t do games ourselves (come on!) we are still interested in the business. And believe me academia is not _that_ separated. It’s getting funds directly from game industries. What would you expect then?
And about the education part. I’d say I don’t agree with your _super_rigid_ generalization. Obviously for small kids (like 10 I mean) it is possible to carefully and intelligently design game with direct educational purpose. Check out the “Alice Project” (alice.org and also the related stuff, in particular “Storytelling Alice”) and you’ll see that this is not just something I made up myself. This is been formally to be useful. But I agree with the fact that as people get older, they definitely look for other stuff in games.
Another very common example of games that I personally used not solely for entertainment is the typing games, that make you type faster and faster. Of course your talk is not about those type of games, but your generalizations are too strict.
I’m really interesting in games designed for special reasons. They have really creative minds behind them. Check out “The ESP Game” (http://www.espgame.org/) and also if you have the time watch “Human Computation” (A Google tech talk) to get the idea of what I’m talking about.
I just realized that I made tons of mistakes in my comments up there. I don’t know how I’m making those mistakes, because it’s different from what I _think_. I mean, when writing, I’m thinking of writing “interested” and now I see I’ve written “interesting.” Hmmm, maybe I’m just getting old.
I just noticed the comment count on this entry. It reminds me of an old debate on scrap counts in Orkut. Good’ol’days …
Wow! Let’s do this stack-style!
@MatGill(4):
What do you mean? Could you explain?
@MatGill(3):
(See? I don’t hate smilies!)
You are getting old! By about 1-ε seconds per second (the ε depends mostly on the earth’s speed through the cosmos and the will of one Mr. Albert Einstein!)
Maybe you could use one of those educational typing games you mentions?
@MatGill(2):
OK, I agree with you that it’s not a matter of 0 and 1. Games do get used for education. But what do you think the percentage is? You and I both know that the main reason that people play games is not for education, but any of those idiot decision makers would read such an statement (that “the main reason that people play games is not for education”) as saying that 49% of people play for education and the rest for other reasons, and they would think to themselves that they could bring the slight majority to the “right path” and educate them with video games.
I may sound bitter and desparate here, but that’s because I am. Over here, most of the policy makers and administrators in charge of software and entertainment in general and gaming in particular are not gamers and completely alien to the idea of “playing for the sake of playing”. They all think it must be educational and worthy and regulated and conformant to our religious and social values.
Unfortunately for us, they don’t believe in choice (they would run a fine Matrix, if they’re ever given a chance!) and they don’t believe in providing an environment where people can choose, no matter how much they disagree with that choice.
Let’s get back to the topic of education and games. Well, I’m not unfamiliar with educational games, but let me ask you this. This “edutainments” that are designed for the young, are they the same as what they learn from school and books? Would they find it attractive if it were the same? I think that the answer is no. You see my point here? I don’t think anyone would like the same stuff as their formal education much. When you are a kid, there are many kinds of forced education that you haven’t seen yet, so you’d like those if presented in game form. But adults have seen all kinds of tricks and methods in their formal education. They resent them all. We resent them all. We want mystery and mayhem and chaos and bloodshed, because everything else have been spoon-fed to us as the stuff we have to learn.
Of course, I’m again talking in too strict and general terms. Please interpret them as “the majority of cases are like this.”
@MatGill(1):
I was talking about “here” mostly (as opposed to “there”!) But this courses on game programming has been introduced into educational system just recently, even over “there”. And the move is rooted when a university professor plays games as much as she watches movies (or more, because games are better!) As long as computer games are considered “low-brow” and cheap by the academia, I don’t think the situation can be considered improved. As an indication, the number of papers and journals and conferences and theses directly about games can be used. We don’t even need exact numbers. As long as we don’t see any around us (or only a very few) academic world can be considerd against gaming.
Good points. Just to answer the question about comments count. After sending the last comment (the one before yours) the count was 3. I think you brought up your mysql client and fixed the bug
and now you are trying to fool me into believing that I’m paranoid or something
Anyway, does it “count*” the comments or is it more like those “pre-mature optimization” stuff they do all the time?
Aha that. The explanation is simple, my friend!
I’ve configured my blog software (WordPress in this case) to hold the comments for moderation if they have any of these two conditions: If the comment has more than two hyper-links in it, or if the author has no previously approved comments on this blog.
I believe it was the first rule that trapped you, which is weird, because although you do have two URLs in your post, they are not hyper-linked. I should inspect my email records and see if I can get to the bottom of this.
So, after your third comment, the comment count were down by one, because one of them was held for approval by me.
Now I understand that Orkut remark. Yeah, I remember how badly Orkut used to handle the various counts and numbers on your pages. I guess in their case, as you mention, it was an optimization as they calculated and cached these numbers in their database (introducing redundancy) and they updated these cached numbers only on regular intervals or after certain events. That’s not what happens here. Since my blog is small, I use no caching on the server side.
I was expecting it be a little more flexible than that. This “or” that you mentioned in your filter rule doesn’t sound natural. I’m not sure if it’s possible to change it so that no matter what an approved author writes get through.
… well all of the challenges mentioned above for games and then we have “Massively Multi-player Games !!!” … you might be able to post numerous pages for that one
Care to elaborate, ahf?
Of course, MMOGs are harder (way harder to be exact) than single-player or multi-player games, and they also require teams to employ other expertises (e.g. sociology) and a vastly different deployment and maintenance strategy and a much expanded team.
On the technical side, the game becomes a large-scale distributed system with a whole new class of problems about network congestion and delays and fault-tolerance, etc.
And the user experience is almost different too, since the world is persistent and large and more complex and less tolerant for mistakes. The addictiveness and play-length potentials are also much higher.
But I don’t see any profound differences and I don’t see more categories to make MMOGs more “interesting”. They are more interesting, but not (AFAICT) in more ways!
Yes I just meant the creation is a much bigger challenge.
By the way, regarding the education and games, check this out : http://www.fas.org/gamesummit/
The federation of American scientists have done research on the topic.
The conclusions are that games can teach some necessary skills to individuals that can prepare them for the work environment. It is interesting that these are not the direct skills and knowledge you get in standard education, these are some lateral skills such as the ability to focus, the ability to respond quick under pressure, problem solving and persistence.
I think these aspects are important and someone who plays games as opposed to someone watching movies will have the possibility to enhance some of these skills.