I joined Origin Systems in 1990 to work as a game systems programmer on Martian Dreams, produced by Warren Spector.

Afterwards I worked as a user interface and game systems programmer on Ultima VII: The Black Gate, produced by Richard Garriott, aka Lord British. Ultima VII was a 32-bit game running on a 16-bit operating system, and was something of a miracle - I don't think we could have put a single byte more into that game and still have it run.

After Ultima VII, I had my project directorial debut on Ultima VIII: Pagan. Looking back on it, I think Richard was crazy for letting me drive such a big ship - I made tons of mistakes but I'm still proud of the project and everyone that worked so hard on it.

I started in much the same position on Ultima IX: Ascension, a project that not only had to make the transition from 2D to 3D, but from DOS to Windows. Early in production Ultima IX was halted to ramp up the Ultima Online development team - and I was put on the back end server systems. If you logged into Ultima Online, you touched a little of my work.

During all this it was rumored that Ultima IX was going to be cancelled completely. The project was still using software rasterization and the throughput of our renderer was just not making the cut - the best we could get was 10 fps. Late in 1996 I decided to take Ultima IX home and play around with Glide - one of the first hardware 3D APIs. I brought my work back to the Ultima IX team and showed them Ultima IX running smoothly at 40 fps. I'm not saying that it was me that saved the project and got it back in development, but without that proof on concept it would have been dead for sure.

I left Origin in 1997 to pursue the first of a few crazy dreams - Tornado Alley.

Tornado Alley was a very small group of ex-Ultima Online people that wanted to bring massively multiplayer online games to children aged 8-12. We were pretty sure the road was going to be bumpy - and we were right.

It turned out that companies like Hasbro and Mattel were interested in the idea, but when they heard the price tag - a whopping $5 million dollars, they gave us the cold shoulder. It turns out that companies like Mattel were spending something like 10% of that amount on kids titles - and if the box had Barbie on it they were selling millions of units.

I guess we should have pitched Barbie World !

Along the way I hooked up with a group developing a kids activity title for Mattel called Magnadoodle. Their developer had run aground and the Gold Master had to be ready in five weeks. Two other tireless developers and I hammered it out. Until that time I had never seen a design document written in five weeks much less a game.

After a little more than two years it was time to hang it up and go get a real job. That's how I got my job at Glass Eye.

I joined Glass Eye Entertainment as their new Director of Product Development. They had just signed a deal with Microsoft to do a casual game, Microsoft Casino. It was a short timeline project and there were still empty chairs for developers. It also licensed the names and likenesses of three real Las Vegas hotels: Treasure Island, The Mirage, and The Bellagio. It was a crash course in dealing with license holders - especially those that have a few billion dollars of value to protect.

Missing the ship date was not an option - we were competing for space in manufacturing slots with Windows 2000! The team pulled the project together and actually shipped four days early.

Then, the owners of Glass Eye thought it best to spin off a whole new company to handle their third party development business - that's how Compulsive Development was born.

Ten people left Glass Eye to join the new company, and we got right to work on the next version of Microsoft Casino, now called Bicycle Casino, licensed from the well known card company. Our group picked up another title from the same line, and out studio grew to 22 employees.

Our contacts at Microsoft were really fantastic - and they taught me more about developing software in two years than I learned in seven at Origin. Years later I'm still using these lessons: how to schedule and plan, how to set specific development practices in each phase of development, and how to run a small development studio.

Unfortunately for us, the bottom fell out of the PC market at the completion of our third project with Microsoft, and we didn't have the necessary depth to translate to a console project. We eventually shut Compulsive down and rolled what was left back into Glass Eye Entertainment - which had to cut back a few months later.

I knew at that point I had to retrench my career, and get some work on a console project. Lucky for me Ion Storm was hiring.

Working at Ion Storm was pretty weird at first - lots of people, Warren Spector included, were familiar to me from my days back at Origin Systems. But everyone had grown up some, me included. The weirdness soon faded away and I felt like I'd come home.

I was hired to plan, and then create the 3rd person camera system for Thief: Deadly Shadows. This, of course, was complete madness. The environments had already been built. There was no extra memory for all the extra player animations needed for a 3rd person view. And, of course, the Thief fans were livid - how could we add a 3rd person camera to a 1st person sneaker ?

It was nightmarish, of course. I was back to working crunch mode like I was 23, and I was quite a bit older than that. The problems were very complex, and the Unreal-ish technology that had organically evolved from Warfare was extremely difficult and time-consuming to work with.

But - it was also my first experience with strike teams - which I now believe in completely. How else was anything going to get done on a team with 85+ people ? Breaking the classic art, design, and programming groups into smaller, more agile and autonomous teams was exactly what Thief needed to get to the finish line.

After Thief shipped, Eidos cut Ion Storm from a two-project studio to a single project studio, and I was way too much of a Johny-come-lately to survive the bloodletting. That's when I found out about BreakAway Games.

I interviewed for what I thought was an Executive Producer position in their Hunt Valley, Maryland office. After two days of interviews and meetings, Doug Whatley asked me if I'd be willing to open a BreakAway Games studio right in Austin, Texas. I could hardly believe it - and the studio opened a few weeks later. Our mission was to hire an experienced console team, and pitch original IP game ideas to publishers. While we were searching for that AAA game deal, the development team would work on internal projects for BreakAway.

BreakAway was more than just a game studio - they were a serious game studio. They repurposed technologies and development practices to create light simulations for the government, the military, and other clients. Austin was assigned to create a visualization for a driving simulator for Lockheed Martin - and they sent us about 90Gb of data that was a satelitte model for Tikrit, Iraq. We took that and made a game out of it - and got our first look at Gamebryo from Emergent. Our artists loved it, and our programmers loved it too.

We also had the chance to work with the United States Navy. Our job was to create a realistic simulation of the flight deck of an aircraft carrier. When the Navy told us we'd get the chance to visit a real carrier - we never thought it would be in the middle of the Atlantic Ocean! Four of us were flown out, experienced a trapped landing in the belly of a very small cargo plane the Navy calls a "Flying Coffin", and spent four days on board. We were even allowed to be on deck during flight operations! You haven't lived until you've had your whiskers burnt off from the jet exhaust of an F-14 Tomcat.

The final serious games project we worked on was truly special - it was a project designed to distract children undergoing painful medical procedures like dialysis. It turns out that kids playing a computer game are less aware of pain, and can therefore take less pain medication and still be comfortable! How often does a game developer get to do that ?

We were also constantly working on new game ideas. Our Creative Director, Jordan Thomas, spent nearly every hour in the studio working on new game pitches. Jordan spent two years working on ideas, presenting to publishers, reacting to their feedback, and doing it all without compromising his creativity. I was there right alongside, preparing development plans, reacting to publisher diligence, and making valuable contacts.

In the end, BreakAway had to consolidate their operations back to Hunt Valley. Their serious games business was booming, and they needed to invest heavilly in a new simulations platform called Mosbe. They closed the Austin studio in November 2006.

After years of learning lessons and working for one studio at a time I decided to go freelance, and hopefully pass on some of this knowledge to others. It was amazingly rewarding work, and I got the chance to work with teams all over the world. My travels took me to Paris, Hamburg, and Helsinki. I got the chance to pitch AAA first person shooters, help teams grow, develop their technology, and many other things. My clients included Arkane Studios, NCSoft Austin, Unit9, and Emergent Game Technologies.

In early 2008 I was contacted by my friends at Red Fly Studio in Austin, Texas. They needed someone to help with scheduling and producing the final stages of Mushroom Men: The Spore Wars, for the Wii. After Mushroom Men wrapped up Red Fly offered me a full time job as Executive Producer - I gladly accepted.

For nearly four years I worked at Red Fly Studio as their Executive Producer, and then their Director of Product Development. While I was there Red Fly shipped five titles primarily for the Wii, DS, PS2 and 3DS.

In 2011, Red Fly began developing games for iOS/Android. By Summer of 2012 Red Fly self published three games: Inertia, a physics based platformer, Pinata Pinata, a kids activity game, and Elenints, a puzzle game in the vein of Triple Town.

Along the way I somehow found time to write a book, Game Coding Complete, now in its fourth edition. Game Coding Complete was published in 2003 and 2005 by Paraglyph Press, and in 2009 and 2012 by Charles River Media. The fourth edition was co-authored by my friend and colleague Rez Graham, currently the lead AI programmer for Electronic Arts on The Sims. Game Coding Complete is an intermediate programming book for the serious hobbyist or even the newbie professional game programmer. There is a companion web site, where people can download the source code from the book and discuss all manner of subjects, some of which are even related to game programming.