Seeing the Whole Elephant

Blind_monks_examining_an_elephant
There’s this old parable about several blind men and an elephant. There story goes something like this: Asked to describe an elephant each blind man grabs a part of the elephant then proceeds to describe what they felt. One feels the elephant’s tusk and describes an elephant as a hard, bony creature. Another feels it’s leg and describes the elephant as being stout like a tree trunk. Yet another grabs the elephants tail and promptly describes the elephant as being like a snake. Naturally, once they start sharing their findings, an argument ensues about what an elephant really is.

Each of these poor men is being totally honest in their description, but the end result ends up being divorced from reality by the limits of their own perception. The moral of the story is for one to be aware of where their limited perception (or preconceptions) may hide information from them. In more colloquial terms, it’s about learning to see the whole picture. Continue reading

Guerilla Gamedev

guerilla
As much as I enjoy indie game development, it doesn’t pay the bills. Not by a long-shot! Being that I’m married, have a 2-year old son and live in one of the world’s most expensive cities, I need to have a day job. I’m fortunate enough to have a job making games for a living, but that still doesn’t stop me from having that indie gamedev itch.

So, with a family and a full-time job, where do I find the time to make games on the side? The answer is: wherever I can. Here are a few of the ways I try to make the best of my limited gamedev time. Continue reading

Three Things I Wish I Knew When I Started Using the UDK

6081261
Boy, Unreal Engine 3 is a gift that just keeps on giving. I’ve been using Unreal in a professional capacity for a few years now (with occasional forays into UDK-land to see how I fare without source code) and I still find out about new features all the time. Game development being what it is, those discoveries are often answered with a heartfelt: “That’s great! I wish I had known about that 6 months ago…”

So, in the spirit of helping out others using Unreal Engine 3 or the UDK, here are three features that I wish I had known about when I first started using Unreal. Continue reading

An Easy Way to Break Your Save Data in XNA

broken-hard-disk
Late last week, I finally managed to pass an update for Robot Legions out onto the Xbox Live Marketplace. I wasn’t originally planning to release an update this early (I have some other features in-the-works for the “real” next update), but… I had a bug. A nasty save data killing bug.

Yuck.

So, in the interest of helping other XNA devs out there, let me tell you about what I screwed up and how I fixed it. Continue reading

Code Comments and 5WH


Comments in code, you can’t live with ‘em, you can’t live without ‘em. Depending on who you ask, comments are a crucial form of documentation without which most source code would be unusable. Others might say that code comments are, at best, an administrative nuisance or, at worst, dangerously misleading as they inevitably lose sync with the source code they purport to clarify. Reality, of course, lies across a spectrum between these extremes. Code comments, in-and-of-themselves, are neither helpful, nor hurtful. It’s the content of the comments themselves and how they relate to the reality of the source code itself that makes them valuable (or potentially harmful.)

If you’ve attended elementary school in the States, you should be familiar with 5WH, the building blocks of questions: Who, What, When, Where, Why and How. These six words cover the gamut of questions you can ask and provide structure to information sharing. So, what happens when you apply these questions to comments in source code and use them to direct the information you need to share?
Continue reading

More Fun with SpriteFonts


A while ago, I posted about pre-rendering text to improve runtime performance when using XNA SpriteFonts. Since then, I’ve managed to complete a game (Robot Legions, currently up for peer review) using my XNA codebase and got to try out my text pre-rendering solution in a real project. It worked out pretty well, but there were a few features that I wished I had implemented ahead of time. Well, while Robot Legions was being play-tested, I went ahead and implemented some of those features. Now I’ll describe those features and share a bit of (hopefully) helpful code that will let you use them in your own games. Continue reading

On Game Music


You know, there is some really great game music out there. Really memorable stuff that can instantly transport you to a different state of mind.

Here’s the thing though. While talking with some fellow game devs the other night, we got onto the topic of old 8-bit / 16-bit era chiptunes and how great we thought they are. Then, we started talking about how, despite all the iconic tunes we could remember from that era, we couldn’t think of nearly as many great examples of video game music from more recent games.

That got me wondering. Why did we have so many fond feelings for the game music of yesterday, but not nearly as much for the music of today’s games? Is it just nostalgia at work, or is there something else at play?
Continue reading