Thursday, March 26, 2009

GDC 09: Day 4

Today had some of the best lectures I've been to so far. However, it didn't start out so great. The first lecture was called "How Sackboy Learned to Love Physics". Sackboy is the adorable main character of the PS3 game, Little Big Planet. All week I've been trying to mix up going to lectures that I should go to for my job (programming focused) and ones that I want to go to (game design focused). Unfortunately, the programming ones I've attended for the most part have been pretty lame. This one was not the exception to that rule. There were some interesting points about how physics is faked for a fun game, like how you can control your horizontal movement in every Mario game while jumping. Try jumping forward and in mid-air start traveling backwards. The other bizarre example was in Quake how if you are strafing to the left and fire a rocket, the rocket moves straight from the point it was fired at and doesn't take your velocity into consideration. Other than that, I didn't really get the point the guy was trying to make and his slides weren't very useful.

After that, Hideo Kojima, the man behind the Metal Gear Solid series, had a keynote named "Making the Impossible Possible". His slides were very professional and humurous. Most of the keynote was on the history of the Metal Gear Series and what problems had to be overcome for each game. He made some really interesting points about how when you come upon something that seems impossible, it's most likely just your perception and with some alterations on how you're viewing the problem, you can solve it. If not, give it a little time and the technology will resolve the problem. He left us with the quote "90% of what is 'impossible' is possible. The other 10% will be possible given time & technology."

The next talk was on Left 4 Dead and how they made a cooperative, replayable video game (and succeeded amazingly in my opinion). First off, the game was built with cooperation and replayability as the two core concepts. Some of the most interesting parts of the lecture (although I'd love to talk about it in greater detail with anyone who wants) were how each enemy type was built with a specific rule/play style they were meant to break up. The way they made cooperation so important is that they made it impossible to succeed alone, but not in a heavy handed way like invisible leashes to keep the characters together or anything. Instead, they made regular Infected stop you when they hit you, so it's hard to run through a mess by yourself, but even if you manage that, the Hunter was specifically designed to kill stragglers and lone wolves. They also found that coordinated teams plowed through enemies too easily, so they added the the Smoker whose purpose is to break up a well organized team by sucking out one of the survivors. To break the typical gamer rule of "Shoot everything that moves", the Boomer was added (or rather merged with a previous enemy type named a Screamer). There was also an extensive dynamic AI Director system that decides how to create a more unpredictable game by forcing a lull in the action if things get too intense. All in all, this game was incredibly clever and hopefully I learned enough to use some aspects in future games I design.

Another fantastic lecture I attended directly followed that one and was all about using User Interface design ideas in puzzle design to keep from making puzzles unclear and thus making players feel stupid. I'll sum it up real quickly because I'm running out of time on my hotel internet. Depending on the puzzle type, you should make it very clear what tools the player has available to them and every action the player can take should have some kind of positive or negative feedback to indicate whether they're on the right or wrong track. There should be a good dialog between the game and the player at all times. Maybe when I get home I can write my notes up here on this.

The final lecture of the day was on the terrain in the new game Halo Wars. Usually terrain is created using a map of the heights of each vertex of terrain at a point or a height-map. One interesting concept they had in Halo Wars was a vertex heightmap. This way, each vertex stored a whole vector instead of a scalar value, so the terrain can be sculpted into interesting overhanging shapes and such. It was fairly technical and I'm not completely sure I got it all, but it was possibly the only programming talk that I understood most of and was interested by. It was a good way to end a very good day.

No comments:

Post a Comment