Game design, game programming and more

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]

The making of Warcraft part 2

In my previous article about Warcraft I talked about the beginnings of a series that would come to define Blizzard Entertainment and lead it to being one of the best-known and most-loved game companies in the world. But how did Warcraft go from an … [Continue reading]

Debugging running server applications

This traffic jam shows what a programming deadlock looks like in real life

So you've written an awesome online game that works perfectly in the test environment, but when real users are playing the game server doesn't work properly. Now what?!? I was reading an article by Mike Perham called Debugging with Thread Dumps and … [Continue reading]