I have this image in my head of game development the way it used to be. The image is the result of years of my brain distorting a photo I once saw of Scott Adams (the game designer - not the cartoonist). What I have left in my head tells me that it was either the late 70s or the early 80s. He was a white man with a big white man's afro. He wore glasses of the nerdiest possible type. They were thick and square, and very likely not manufactured by Prada.
From what I can tell, and this might be my brain romanticizing the image, Scott is sitting in front of an early PC, and he's up in an attic. Or down in a basement. I can't tell which, but the walls are made of that old school wood paneling that so many people find offensive, but which I find warm and evocative of thoughts of my childhood, back when wood paneling was everywhere, along with shag carpeting and big ugly American cars like the El Camino.
I love this image of Scott. He's alone, except for the photographer, and busily writing one of his many text adventure games. Looking at him and his operation, one gets the feeling that he sold his wares through the ads in the back of an enthusiast magazine, or at meetings of local computer clubs. He was a pioneer, working on a frontier that had yet to be trampled by big business. He was the club show before there was enough of an audience to fill an arena.
I have another image in my head of game development, but this time, it's very different. It's of a team on the scale of a major motion picture production, slaving away into the night, underpaid, overworked, miserable, and uninspired. They're working on a game that has a commercial tie-in. Maybe a movie. Maybe a toy.
They're slaving away at their machines, each person contributing a bit of sweat here and there to someone else's ambitious vision. They don't see their families for months, they're sick from stress, their relationships are suffering, and they're miserable. It's a very different scene from Scott's world. It's crowded and full of grumpy people. This is the arena show where people are passing out from exhaustion, the lines are long, and the food is terrible.
Scott was in control of his own vision from start to finish. He crafted the story. He crafted the code. He wrote the prose that drew images in the mind of the player. He was everything to his projects.
Sadly, the world in which Scott lived disappeared years ago. Video game budgets now rival those of Hollywood special effects ridden blockbusters. If you get to work on a game nowadays, you're lucky if you get to be the animator of some minor character's mouth movements. And, after you've done that for several years, you'll drop out of the game, totally burned out, and the corporation will replace you with another eager newcomer who, like you, won't command a large salary. He or she will enter the industry for the love of the craft, and leave the industry wanting nothing more than a quiet job operating the deep fryer at a fast food restaurant.
Rather bleak, eh? Yeah. It is.
But, over the past few months, some of us have been watching a technology called "XNA" creep into the scene.
XNA, if you haven't heard of it, is bloody amazing. It's basically a platform upon which hobbyist (and even professional) game developers can easily build games. Not only that, but these games can then be transferred to an Xbox 360
and run.
I'm guessing that more than a few of you are probably reacting with a "So what?" kind of attitude. And, to be honest, if you haven't followed console game development much, then that would be a perfectly normal position to take. But, this is different. Very, very different.
There have been attempts before, made by other gaming companies, to provide the casual developer with SDK's with which to produce console games. The sad thing is that these SDK's were poorly documented and a royal freaking pain in the ass to use. Bluntly stated, your entire game was a workaround. From the people I've talked to who have dabbled in these kits, I've been led to believe that dev work like this is about as fun and intuitive as climbing Mount Everest with nothing but one of your nipples. A really, really strong nipple. In other words, it wasn't fun, unless your idea of fun happened to be climbing tall, cold mountains, using but a single nipple (your own, of course - you couldn't use somebody else's nipple for the task).
That's why I'm very happy to be working at Microsoft right now.
XNA is a way of climbing Mount Everest with a proper toolkit, a bunch of friends, and no nippleage required.
And it is going to be big.
If you look at trends among the modern console gamer, you can see that there is a lot of attention paid to the "homebrew" scene. Kids will go out, blow $250 on a Sony PSP
, and then use some existing tools to run things like MAME and various media players. It's funny, really. Spending almost $300 on a device so that you can play Pac-Man on it.
No big loss, though, for those of you who own a PSP. I bought mine with high hopes, but have yet to find a single game I really like (whereas my Nintendo DS Lite
has made me a very happy mobile gamer).
One big problem with the Sony PSP homebrew scene (or the homebrew scene for any device) is that the manufacturer of the device either intentionally, or accidentally as a byproduct of software interacting with unexpected hacks and modifications, renders the device unusable for homebrew at best, and destroys the device at worst. There's a constant push and pull between the homebrew scene and the console manufacturers. The homebrew kids are mad because they want to run whatever software they'd like on the devices. The console makers are mad because they don't want to have to deal with all the technical and legal ramifications of people fiddling with their devices (would Ford honor your vehicle warranty if you decided to replace your car's drivetrain just for kicks? No - that's your answer - Ford wouldn't).
In XNA, Microsoft is creating a sort of compromise. Actually, it's much better than a compromise - it's an acceptance and understanding that people buy consoles and then want to run custom software on them. There's no way around it. You either provide these people with a means by which they can have their fun, or you leave your product wide open for exploitation on the black market (and the kind-of-gray market, too).
This is a big deal. The reason console makers don't want people running their own software on consoles is that nearly every modern console produced is hole into which the manufacturer shovels money by the ton. To get the consoles out to customers at a reasonable price, the manufacturer takes a hit on the cost of the hardware, hoping to make up for the loss by taking a cut of game sales. It's a big bet, and it's the sort of thing that leaves executives chewing their fingernails. In this light, it's not so hard to see why the big bad corporations want to stamp out your homebrew scene. They are, especially in Sony's case now, just trying to survive.
That's where the beauty of the XNA model comes in.
XNA Studio is available for free. With it, you get a world class IDE and a platform (based on a version of the .NET Compact Framework) against which to code. You also have model importers so that you don't have to write a bunch of nasty model loading code, and other sorts of helpers. Best of all, it's managed code and highly performant.
That's a pretty good deal for free.
Then, if you'd like to be able to develop on your 360, you pay $99, and you are now able to deploy your binaries to your console and see your own game running on a 360. I think that's pretty effing cool.
And these are Microsoft tools. The critics can say what they like, but we do a good job with dev tools. I know there are alternatives, and you're welcome to enjoy them, but our stuff, you have to admit, is pretty hot. Even if you can't tell your Java and open source friends that you like our stuff, you still know, deep down, that it's nice.
So, that's the good story for the developers. Cheap access to console development using high quality tools unlike anything ever released, all at a low price and using the same technology (.NET) you're familiar with from desktop and server work.
Now, where things get really exciting, is from the consumer perspective.
Right now, no matter which console you buy, there's going to be a commercial edge to every game you get. That's fine - a good thing in many cases. Big budgets and top talent can produce (and has produced) amazing work. Mind-boggingly complex, beautiful, unbelievable work.
The problem, as the homebrew scene has known for so long, is that it has traditionally been your only legitimate option. You have this great console, but you can only play the games on it which are released by the corporations with big budgets.
There's something missing there. This is still the arena show. There's no intimacy - not for the developers, and not for the consumers. Everything feels too perfect and polished. There's a charm in things which are imperfect. When Sting was still with the Police, he used to lay down several vocal takes side by side. It was obvious, because he didn't do a good job of repeating himself. He was always a little off in timing, and just barely acceptably out of tune. It reminded you that you were listening to a human. Compared to the sterility of today's music, all of it produced in extremely expensive and highly technological studios, the older stuff was warm. It had some ineffable quality to it that just made it more approachable and comforting. Even the sound of dust and imperfections picked up by the needle of a record player. That made a difference.
I'm pretty sure - not positive - but pretty sure that XNA is the club show. It's going to be a haven for amateurs and hobbyists. What they produce will probably be very imperfect. It definitely won't be as advanced as the work done by large studios. You won't find Gears of War
, for example, popping up in the XNA hobbyist scene, but that's a good thing. Games like Gears of War are great, but people want something else, too. Games that are more accessible - simpler. Games that don't consume your life for hours on end. Casual games, weird games, and so on.
For me, it's going to dramatically raise the value of my 360. Now, in addition to all the stuff I can buy and access through Xbox Live Marketplace, I'm also going to have access to all the work produced by enthusiasts. I'll even be able to modify the stuff - play with it. For the first time in the history of the console, there is going to be a community of legitimate homebrew developers. They're going to bring back the club show and the fun that goes with it.
Some of them will get picked up by big game companies. Others will stand their ground and continue to do projects for the love of it. I have no doubt that there will eventually be a graveyard of abandoned games, much like 99% of the apps up on SourceForge, but the remaining games are going to be so special and unique that it'll be worth it.
I mean, think about it. With XNA, some crazy seventeen year old coder can now come up with whatever weird LSD-induced visions of gameplay he wants. I predict that we're going to see games that are so innovative and unique that entirely new genres will spring up.
I'm sure there are a lot of people who would disagree with me, but think about where today's big games came from. They didn't start in the game laboratories of Sony, Rare, and Bungie. They started in someone's garage, attic, or basement, and changed the world through shareware distribution. This makes sense, as innovation really can't begin in big corporate conference rooms. If EA or some other game company is going to pump millions into the production of a title, they aren't going to choose the risky game that seems different from the rest. Rather, they're going to stick with formula, and pump out variations based on that formula until all commercially produced games fit comfortably inside a handful of genres, and they all resemble each other as though part of the same genetic pool.
A hobbyist doesn't have to take on that same risk. A teenager who's experimenting doesn't have an executive staff to which he is accountable. And, best of all, it can just be you, XNA, and the code. A single person can, realistically, produce an entire game, start to finish, using XNA.
Even better, people like me who might want to make games without getting too caught up in the details can work with some of the other tools that are being built on top of XNA like Phrogram and Torque X. Both of these tools provide abstractions over XNA, making it even more accessible than it already is.
The reason I'm writing about all this tonight is that I just got back from the XNA Game Studio Express launch event. I saw some things being done that make it look as though even I, a guy who's traditionally just stuck to business apps, could make a game. I was a bit more than impressed, and I'll be putting a video of some encounters with various smarties in the industry up on Channel 9 - hopefully by the end of the week.
I even ran into George Clingerman - one of my old friends from the Portland nerd scene. He was up here because he runs a rather large, rather popular XNA site called "XNA Development: Dame Development for the masses". I got a lot of good interviews with him, some other XNA people, and even a spot with Major Nelson.
All in all, it was an inspiring evening. I was a little tired and thought about not going, thinking that I might rather go home and crash, but I'm glad I didn't.
A lot of what I saw tonight, in addition to work I had seen previously, has led me to believe that XNA is going to be a wildly popular technology, and that it's going to bring back a bit of that romanticized vision of the past I have.
With XNA, modern hobbyists, just like Scott Adams, will be able to grow their hair out, wear geeky glasses, and code by themselves in the attic or the basement, doing what they love, and not having to deal with the stress and scale of commercial development.
XNA is going to completely change the hobbyist game developer scene, and the change is going to be for the better.