I don’t go to GDC every year just to futz around hunting old books and new games. Well, maybe I do, but another purpose is science — extracting information about the state of the science of AI and programming from the giant kettle of effort that is the Game Developer’s Conference.
There are a lot of big ideas to come out of the conference — for example, new games require huge quantities of content and thus new methods and tools are needed to help generate that content. Develop Orthogonal, Interoperable Tools is one pattern to deal with this — build tools whose parts all work with each other cleanly and flexibly so that a small amount of art and content can be composed together rapidly in many combinations to produce a vast number of different results. The Unreal 3 team demonstrated this idea with their game engine, as to a lesser degree the Halo 2 guys did with their AI.
But this pattern goes hand in hand with Reduce The Cycle Time To Zero. I should have already known this — my co-workers Henry and Emily and my former boss David Cater have been telling me for years that their biggest win was reducing the compile time loop of their development as close to zero as possible, so that they could make a change, instantaneously see the result, and then make the next necessary change as quickly as possible. Reduce Cycle Time To Zero is critical for rapid development of game content — to be efficient, artists and level designers need to see the results of their work Right Now so they can make changes As Soon As Possible.
This is now writ large in the Unreal 3 engine, which supports dynamic loading of content and dynamic editing of levels in real time. Artists and level designers no longer need recourse to text files; instead you can wander around in the Unreal 3 world and make all your changes in real time. Move a light — the shadows move real time. Grab a character by the arm — see him move around like a rag doll. Tweak the parameters of a particle fountain used to generate a special effect — watch it change in real time, affecting the lights and the players around it. Heck, it’s not even just Unreal 3 — in a recent Game Developer column the author was hacking together his own game by himself and even HE used dynamic content loading.
So. Reduce cycle time. I can do this. What’s one of the biggest bottlenecks in my current development environment? Let’s see … the need to write my Blogger blogs online, or to cut and paste out of another text editor. Hm. How can we make that delay go away, so I can blog thoughts as I have them?
Perhaps with an offline blogging client like w.bloggar (or ecto or the client of your choice).
Let’s test that theory. Saving and trying to upload NOW.
OK. So it’s not perfect — I found an error and reposted and ended up with two copies of the same blog. But hey — it’s SOMETHING to be able to use a normal-looking text editor and just hit a button to see it fly up to the server.