Game design, game programming and more

Whose bug is this anyway?!?

At a certain point in every programmer's career we each find a bug that seems impossible because the code is right, dammit! So it must be the operating system, the tools or the computer that's causing the problem. Right?!? Today's story is about … [Continue reading]

The making of Warcraft part 3

Screen capture of Warcraft 1 game play showing fog of war

The first-ever multiplayer game of Warcraft was a crushing victory, an abject defeat, and a tie, all at once. Wait, how is that possible? Well, therein lies a tale. This tale grew organically during the writing to include game AI, the economics of … [Continue reading]

StarCraft: Orcs in space go down in flames

Dominion Storm game screenshot

In my previous article about StarCraft I talked about why we rebooted the project and changed it from a follow-on to Warcraft -- derisively called "Orcs in space" in 1996 -- into the award-winning game that we were finally able to deliver after two … [Continue reading]

Avoiding game crashes related to linked lists

Diagram of memory layout for a doubly-linked list created using C++ STL library

In this post I'm going to talk about linked lists, a seemingly trivial subject that many programmers -- even good ones -- seem to get terribly wrong! Then I'm going to share techniques (with source code) to make your game engine code simpler, … [Continue reading]

Tough times on the road to Starcraft

Starcraft "Orcs in space" screenshot prior to the project reboot

I've been writing about the early development of Warcraft, but a recent blog post I read prompted me to start scribbling furiously, and the result is this three-part, twenty-plus page article about the development of StarCraft, along with my thoughts … [Continue reading]