Game Developers long suffered the stigma of the lone, smelly, poorly groomed and overweight, pizza eating bachelor that spends countless late night hours in his (yes, his, not his/her) basement cranking out the next big thing in games. While this stigma may have been well earned in the 1980’s and even a little in the 1990’s, the industry has since pulled away from that stigma.

Still, game developers, like most software engineers, tend to be male, most are required to work many hours under tight schedules with little if any additional compensation. As a result, many tend then to have little or no family life (though that is far from “all” of them). Some who don’t sacrifice personal or family lives for whatever project they’re on at the time find themselves first in line for layoffs when the inevitable budget crunch comes around.

But game developers have something that many software engineers lack – passion. It is their passion that calls them into game development and it is their passion that sees them through the hard times and long work hours. But most of all, their passion helps them learn much more about software engineering for a single project than many software engineers learn in a career.

Why? Because games are among the hardest software problems in existence. They must make use of the latest hardware for graphics, sound, user input, squeeze every drop of performance out of memory, CPU, file system, network, and other resources. They deal with concurrency, complex algorithms, artificial intelligence, and security. They are often distributed, run intricate simulations, and predict user actions and involve dozens of developers working cooperatively.

But on top of being extremely hard to create (relative to many types of software), games are fun, exciting, and sometimes even educational. Think of the last game you played. Do you remember how fun it was to play? Now imagine creating that game. I find my enjoyment of writing a game is at least ten fold greater than my enjoyment of playing one.

That is why I would recommend to everyone out there who is attempting to teach or learn computer science, software engineering or and form of computer programming: create games. Students will learn more, they’ll enjoy it more, and they’ll be more driven to keep learning if they are making games. The best part is games can be simple – or complex. Basic games can involve only a little knowledge, take less than a day to write and be tons of fun both to write and to play. The more complex games will obviously take more time to create but will also teach the student more software principles. The learning here won’t just be an act of regurgitation as so many homeworks and exams are, they’re true learning experiences.

So, go play a game and appreciate the hard work of those that made it. Software people, go write a game. You’ll learn more than you think, even if you’ve been in the industry your whole career.

Comments Off

Goals are a funny thing. There are many kinds of goals. Goals are most frequently referred to as “long term” and “short term” which effectively implies that goals are a) time oriented, and b) categorized in only two ways (ie. long or short term). I see it differently, as I’m sure many people do if they think about it longer than the time it takes to spout the above quoted words.

In my mind goals split into many categories, priorities, and classes. For example, there are the life long goals: get an education, have a family, have a career, etc. These are nice to have and you can never really check them off because they are sort of on going. There are also the goals you set for things you want to do at least once in your life. One of mine is write a novel (that I can be happy with). I don’t feel like I have to get published or earn a living at it, I just want to develop my writing enough that I can write a novel that I can polish enough through revision and editing that I myself can be happy with it.

Another goal I have is to develop and keep talents. This is a sort of short term goal that is perpetual. Each day or week I have to set aside time to practice instruments, sing, create art, program games, or work at whatever else it is I want to have an ability to do. This is where priorities and classes of goals start to muddy my resolve to accomplish these goals.

You see, when I work hard at a series of my perpetual goals, (say, playing piano) I don’t have time to work on some other goals (writing a book). So it’s that time equation again.

I bring this up because last October-November, I was getting back into writing after having done little with it since college. I started writing a story I’d had developing in my head for many months in October and decided to do NaNoWriMo (National Novel Writing Month) in November. NaNoWriMo is a challenge to writers to write 50,000 words toward a novel during the month of November. I succeeded at the challenge but feel I failed at the spirit of it.

As I neared my 50,000 words, I discovered my story was “all wrong,” which is to say in order to deal with everything I want to deal with in the story and with these characters I’ll have to split the book into three. That basically means I have to start over eventually to get it “right.” However I’ve heard the dangers of doing this, particularly if I don’t at least see the writing to the end before going back and fixing it, so I’m trying to figure out where the story should be going for this first book before I continue writing. So far, so good.

Except that NaNoWriMo is November. Which means right after it, there’s the Christmas holiday, our kids’ birthday, New Year’s and a host of other stressful and time consuming things. I’d hoped to start up my story again in January, but so far no dice.

Instead I felt a resurgence of another goal, creating games. During the week before Christmas I started to feel the urge to remake a game I’d done long ago (and others have done many times), the classic board game “Battle Ship” (called Naval Battle in my version). It took a bit longer to get the game written this time, but I am much happier with this version than I ever was with the one I did years ago. I also remade another popular game that I’ll release some time soon.

But I find I’m at a crossroads of priorities again. I’ve satisfied my game making itch that comes up ever so often, but I have momentum now that I could use to pump out another two or three games without them taking so much time or effort. Or, I could get back to my writing and complete my story (something that had momentum but has since lost it).

It’s not an easy choice, and I may not even have to make it; I go back to school again next week. If this term is fairly easy (as the last 2-3 terms have been) I’ll still have plenty of time for either writing or game making, but if it’s hard I may not have time for either…