Game design, game programming and more

The StarCraft path-finding hack

Annotated StarCraft screen captured show tile edges

Game-unit path-finding is something that most players never notice until it doesn't work quite right, and then that minor issue becomes a rage-inducing, end-of-the-world problem. During the development of StarCraft there were times when path-finding … [Continue reading]

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]