is that the weather up there?

Lots of GDC stuff to blog about still, and the drafts continue, but I picked up a cold at the conference, and am just now getting over it enough to get back up to speed. Thanks, random person at conference!

Prototyping

I’ve been taking notes at some of the GDC lectures, and when I get a chance I’ll be turning them into posts of some sort (writing things of that scale on the blackberry and without a preview cycle is not a thrilling prospect).

So far I’ve been to, among other fun stuff, three presentations on prototyping and experimentation: a great talk by the Kyles from the Experimental Gameplay Project, an excellent exposition by Chris Hecker and Chaim Gingold from the Spore team, and a decent post-mortemish thing about the Civ4 iterative development process.

It’s been pretty timely for me, as I’ve been thinking a lot lately about how to make Firefox and our platform more amenable to quick experimentation — both for things like extensions and web applications. Much more about that later, but it’s been very energizing and I think GDC will make a substantial, if indirect, contribution to my work this coming year. [tags]gdc, mozilla, software development[/tags]

GDC

As vlad posted, some of us are at GDC this year. I really enjoy GDC, and every year dread that it’ll have jumped the shark. There’s a little more navel-gazing stuff this year than when I first started coming, but not an unhealthy amount IMO. (Coming from the Mozilla community as I do, I probably have a higher tolerance for that stuff than most.)

Someone asked me the other day “man, why do you go to GDC?” He was asking because he wanted me to do something this week, and my schedule is pretty constrained, but I thought it was worth talking about anyway.

I’m here because:

  1. I like a lot of different things about software, and there are lots of different software aspects represented here. Performance and concurrency. Graphics and art processing. Test automation and tools. Artificial intelligence and simulation. User interface and visualization. Networking and protocols. Design and team structure. Internationalization and modularity. Languages and APIs.
  2. Games are fun, and fun is important. People here spend a lot of time thinking about what makes things fun, how you can map that fun into software and have it reach people. Making tasks fun is a noble and wonderful goal, and software — being involved in so many parts of people’s lives, and being so fluid — is a great thing to be working on if you want to help there.
  3. There are a lot of people here who are dealing with things that touch real people. Sure, it’s “only entertainment” — though sometimes things are pretty serious — but the interaction can be powerful and the focus on the user can sometimes approach the intensity of our own.
  4. Even though there’s a lot of focus on the “triple-A” megatitles and their movie-scale budgets, a lot of interesting things are still being done by small teams, and I am a big fan of small teams. Big fan, I tell you.
  5. And at the other end of the scale, there are very interesting things being done with or by huge communities, interacting at various levels of cohesion and co-operation and competition and shared creation. The relevance to our Mozilla world here is obvious, I think, and I even think that the game world (creators and players alike) could learn some things from our experiences. Not to say that the could just copy what we do, or that we did everything right, but whether it’s a good example or a cautionary tale, they might pick up a trick or two.
  6. Over the last few years, the games industry has started to adopt and investigate techniques and tools to improve “software engineering” practices. Agile development, version control (!), test automation, design methodologies, usability analysis techniques, generation of content and tools and meta-languages and domain languages and tools and components and reuse and APIs and extensibility, whee. People fit those things into their own worlds, against the constraints of history and tradition and culture and budget and schedule, which is the case everywhere, but I’ve especially enjoyed watching the games industry grow into these things.
  7. Shiny! There’s some really plain-old-neato stuff here every year, pretty and fast and small and creative and awesome. (And some stuff that isn’t so neato, and since I just have to talk about things and not build them, I get to be sarcastic for my own entertainment.)

I learn a lot here every year, and come back to “real life” energized about software and fun and reaching people and trying new stuff and selling all my Mozilla stock to fund a game company. I’ll write more about the stuff I see here, and maybe summarize some talks, but I probably won’t syndicate it to Planet Mozilla so as to avoid the flooding effect.