Gamasutra - Features - It's Great to be Back! Fast Code, Game Program...http://www.gamasutra.com/view/feature/3108/its_great_to_be_back_fast...1 of 35/17/2010 7:33 PM
It's Great to be Back! Fast Code, Game Programming, and Other Thoughts from 20(Minus 2) Years in the Trenches
By Robert Huebner
Editor's note: This paper was originally published in the2000 Game Developer's Conference proceedings.
To the Moon and Back…
A few years ago, after
shipped, I decided it was time to move on from games. Although working on
was agreat experience, it felt like doing another game would be much the same, but far less interesting the second time around.What I needed, I thought, was a software field with deep structure and long-term challenges-something more significant,difficult, and ultimately rewarding. So I figured it was the right time to switch over to work on natural language, which fitthat description perfectly.I figured wrong. By way of explanation, two stories and a conclusion:Story the first: After a couple of years of natural language work, I thought about moving to the Games group at Microsoft,and went to talk with the folks over there. While I was talking to Andy Glaister, my future manager in Games, he askedme, "How old is your daughter now?" When I told him she was 13, he said, "Really? I always think of her as being three orfour." This was interesting, considering he had never met her, and had only met me a few days before-but he had readabout her in the articles I had written in
and elsewhere over the preceding decade or so. It was a usefulreminder of how long I had been working on and writing about performance and graphics, and how that had always stayedchallenging and interesting even as computers and software changed drastically through the years.Story the second: While I was working on natural language, I read Mihaly Csikszentmihalyi's book
, about what sort of work people are happiest doing. It turns out there's a sweet spot, where the work is challenging and stimulating butplausibly doable, and where success happens often enough to form a positive feedback loop. As I read this, I realized thatit was basically a description of successful game development. True, games have short development cycles, and progress ismade incrementally-but at least progress is made, while the short cycles mean that success in the form of shipping occursoften, and positive feedback in the form of seeing cool stuff on the screen happens pretty much nonstop. And for all theincremental nature of game advancement, in many ways games are pushing the envelope harder than almost any otherkind of software-what else does a consumer need a 700 MHz machine with a high-end 3D accelerator for? Plus gamescover a huge range of technologies-graphics, physics, modeling, scripting, AI, networking, databases-more than any otherkind of software I can think of. What I finally realized was that, for me at least, game programming is the sweetest spot inall of software development.In Robert A. Heinlein's story "It's Great To Be Back," a couple leaves the Moon, after working there for years and hating it:hating the lack of fresh air, the lack of weather, the lack of cozy old houses, the lack of normal people-basically, hatingeverything. They make no bones about their feelings, and when they get to Earth, they just keep saying, "It's great to beback!"-although sometimes it seems a little forced.Gradually, the truth seeps in. Weather is often unpleasant. Germs are everywhere. Fresh air results in allergies. The oldhouse they buy is falling apart. Worst of all, the people are rude and stupid, where the Loonies had been hand-picked forskills and compatiblity. Before the year is over, they realize they had been living in paradise and ask for their old jobs back,and before they know it, they're heading back to the Moon, saying "It'll be great to be back!"-and this time, it fits.There's lots of interesting stuff to think about and work on in natural language, or in any of dozens of other types of software, for that matter, and there are lots of other worthwhile pursuits that have nothing to do with software-but interms of rewarding challenge, stimulation, and flat-out excitement, having made the round trip and returned, all I can sayis:It's great to be back!
Optimizing the Game of Life
Like most of you, I suspect, I just plain like writing software-I did it for fun before I did it for a living-and one of the best