Tuesday, March 13, 2007

GDC, Part 1

Although I promised to get around to the Star Trader combat model, I was lucky enough to be able to attend GDC this year and I thought I would share my impressions.

It's actually been 5 years since I last attended so it was nice to finally make it back out. The last time I went was right before I got a job in the game industry so this was actually my first attendance as a game professional (as opposed to a desperate little kid looking to break into the biz). Here's a shot of me back then with a man that needs no introduction:



The conference this year was great and I certainly came home with a lot to think about. One of the highlights was definitely Shiguru Miyamoto's kenote address on Thursday, although I definitely could have done without the line.



His examination of the state of the industry and the negative connotations we must fight were certainly very heartfelt. The "wife-o-meter" was also a very entertaining and humorous way to describe the critical and mass adoption of games by an entirely new generation of "casual" gamers. His contributions are what pushed me to want to make games so seeing him speak was quite an honor. Passing by him on the way to diner that night was quite an exciting moment as well.



Phil Harris also gave a great presentation for Sony's new "Home" environment for the Playstation 3. Although it obviously a PR event, Harris' explanation of what Home is and how it will appeal to both gamers and developers alike was very well presented, entertaining, and infused with enthusiasm. I could definitely see this as a great way to unobtrusively tune the player into a game world outside of the massive cutscenes and backstory that are injected into games these days. It seems like a natural progression to combine something like The Sims with Nintendo's Mii Channel. LittleBigPlanet was also a very interesting example of emergent gameplay in the "next-gen era" and looks to be lots of fun (assuming myself or anyone I know every picks up a PS3 to play it on).



Although I had to make quite a few meetings (Nvidia, ATI, Microsoft, etc...), the classes I was able to attend were very insightful. I was particularly impressed at Chris Hecker's talk about the Procedural animation engine in Spore. Before I went in there it seemed almost like magic how they were able to take completely user generated creatures and animate them without any fore-knowledge. After his talk though I had a much better understanding of how they were able to use developer created content along with a number of hints to determine how a user created creature should be animated. Also from Maxis was Chain Ginhold who spoke about Spore's "Magic Crayons". Basically he went in depth into how Spore and similar games (i.e. Will Wright 'toys', like Sim City) allow the player to express themselves creatively.



Warren Spector gave an excellent presentation on story telling in next-gen games. His talk was actually an update on his thoughts on storytelling that he gave about 3 years ago. In conclusion he still believes story is an integral part of games, going so far as to tell us game developers that we have an "obligation to tell stories in games". I couldn't agree more, although by stories he doesn't just mean the linear kinds of stories we might find in games like Half-Life or Gears of War (Tetris or The Sims can have a story for instance). He also made some great points in the vain that if stories are to be told in a traditional manor, we need better virtual actors, particularly ones that are represented iconically. The new movie 300 appears to do this incredibly well which shows that even the great storytellers in the film biz realize this.



Cliff Blezinski (aka Cliffy B) gave an interesting presentation on iterative design in games. Although he was a very entertaining speaker and made some great points, I felt like he didn't go into their iterative design process as much as I would have liked. There was more talk about the creative decision making of GOW than the iterative design which was disappointing. The best point he made though was that without proper documentation and control in the iterative process, the project is bound to dissolve into 'chaos and anarchy'. He also made a good point that while design is king, visuals, polish, and presentation count. While obvious, it's definitely something important enough to remind people.

Tom Leonard from Valve spoke about how they converted the Source Engine to take advantage of modern and future multi-processor computers. I thought he gave a very 'real' account of what a lot of developers have been going through in the past two years, which is basically a complete reworking of how their engines work to take advantage of parallelism. To sum it up, their solution was to split the client and server components of their engine into their own threads, then reuse the remaining processing power for computation hungry systems (through so called 'lazy parallelism'). While clever this solution was nothing novel (I've already made strides towards this end in the Star Trader engine, for instance). Quake 3's SMP is far more interesting, and now being open source I recommend anyone interested on the subject to browse it's multi-threaded renderer. We implemented something similar for Quake 4 when I was at Raven but Q3's SMP really is elegant and simplistic beauty.

One of my favorite talks at the conference was by Randy Smith from EA. Randy previously worked on such titles as System Shock 2 and the Thief series which are some of my all time favorite franchises. Randy's talk explored the issue of player save/load compulsion, which has to do with the reasons behind why players feel so compelled to save and load so often (for instance in games like X-COM or Half-life 2). Randy's conclusion about the players motivation has to do with a risk/cost assessment that the player makes before or after an event perceived as major.

As an example, lets say you're playing a game of Half-life 2 when suddenly you hear the sounds of gunfire and see explosions in front of you originating from around the corner. As you near the corner you instinctively save the game, sensing the danger you're about to face. Moments after, you're hit by a surprise rocket blast; you failed to see the enemy soldier on the roof of a nearby building. The critical blast takes away 70 points of health, leaving you with just 30 points. At this moment, you the player makes a judgment call; do you continue forward, looking for a health pack that will restore a meager 25 health while another hit might mean doom, or do you re-load from the last save point. In this situation, the player's death means lost time for the player. The risk analysis involves him considering how much time he can recover by simply loading from the last save point. It's of course much more involved than this depending on the situation (i.e. personal attachments to NPC's, unique items, etc...), but the point is that understanding the players psychology is the best way to remedy the problem, and check points or limited saves is just not an answer. Randy suggested enriching the players experience by putting more control into the player hands. He cited the shield control system in the game X-wing as a great example of this. Overall I took a lot away from his talk and plan to keep it in mind on future games I work on.

Alright that's enough for today. I'll wrap things up next time. Later.

No comments: