that a day doesn‘t go by when I don‘t think, ―Damn, if only I knew my z-buffers from my
BSP trees!‖ If you‘re already a programmer, you‘ve got a huge leg up on me when I tried to
get into the electronic game biz! (And if you‘re not a programmer, do as I say and not as I
do—learn to program ASAP. Mike has some advice about how to do that in the pages that
follow. Pay attention.)
Okay, so with those two confessions out of the way, I figure there‘s a fair chance any
credibility I might have had is pretty well shot. Luckily for you folks, the guy who wrote this
book has credibility to burn. Mike McShaffry (or ―Mr. Mike‖ as he‘s known to most everyone
in the game biz) is the real deal. Mike is a genuine survivor. He is a guy who can talk the
talk because, Lord knows, he‘s walked the walk enough times to earn some talking time.
Mike‘s experience of game development runs the gamut in a pretty remarkable way. He was
there when teams were a dozen folks, and he‘s been around in the era of 20, 30, and 50-
person teams. He‘s done the start-up thing, worked for the biggest publishers in the
business, worked on ―traditional‖ games and decidedly untraditional ones—everything from
Ultima to Blackjack, single player, multiplayer, online and off, and just about everything
else you can imagine. When it comes to PC games, he speaks with the authority of someone
who‘s worn just about every hat it‘s possible to wear—programmer, designer, project
leader, director of development, studio head....
And I‘ve had the privilege of watching him learn and grow with each new project and each
new role. I was there when Mike got his first game job. I was one of the folks at Origin who
interviewed him back in the Bone Ages, back in the 20th century, way back in 1990, when
he applied for a programming job at Origin. (Seems like forever, doesn‘t it, Mike? Whew!)
He started out as ―just‖ a programmer on Martian Dreams, a game I produced for Origin,
but by the end of the project, he was the engine that drove that game to the finish line. The
game wouldn‘t have happened without Mike. His drive, dedication, love of games, knack for
on-the-fly design, natural leadership skills, ability to combine right brain and left brain (to
say nothing of his willingness to work crazy hours), drove all of us to work that much harder
and ensured that the game ended up something special (at least to those of us who worked
on it together—it sure didn‘t sell many copies!).
I honestly don‘t even remember if I ever gave Mike the title ―Lead Programmer‖ officially on
Martian Dreams, but he sure deserved it. The guy was a machine, working longer hours
than most people I‘ve worked with (and that‘s saying something in the game business). He
also managed to do more and better work in those hours than any human being should be
allowed to. It just ain‘t fair to the rest of us mere mortals. When Mike was on, there was no
touching him. And he was almost always on—after Martian Dreams, Mike did it again and
again, on Ultima VII, VIII, IX and a bunch of others. Scary really.
In retrospect, all those hours and all the hard work that seemed so necessary, back in the
days when we were all younger and more foolish than we are now, was probably an
indication that Mike, like the rest of us, didn‘t have a clue about software development or
game design or much anything else. (Okay, we had a pretty good handle on the effects of
sugar and caffeine on the human body, but that‘s about it.) We had to work so long and so
hard just to have a chance in hell of ending up with something worthwhile.
Reading this book, I couldn‘t help but marvel at how much Mike‘s learned over the years
and wonder how much more Mike—and the rest of us—would have gotten done, how much
better our games might have been, if we‘d had the benefit of the kind of information in the
pages that follow. There just wasn‘t anyone around back then who knew enough about
games, programming practices, and software development. We were making it up as we
went along.
Today, there are plenty of books out there that can teach you the typing part of
programming. There are even some books that go a bit further and teach you what makes