Friday, September 26, 2008

Design Lesson 101 - Strong Bad's Cool Game For Attractive People - Episode 1: Homestar Ruiner

Dialogue trees are a standard part of many RPG and adventure games. These games usually narratively center around interactions with characters, so allowing the player to at least choose what to speak about with the character is important.

Often the designer will present the options to the player in a verbose text format, then have the other character in the conversation respond. Strong Bad's Cool Game For Attractive People – Episode 1: Homestar Ruiner (which I am just going to call Homestar Ruiner from now on) chooses a different approach that made me consider the execution of dialogue trees in games and features that could be useful.

Design Lesson: Homestar Ruiner presents iconic representation for its dialogue trees, which fails to inform the player what he is going to talk about and if he has exhausted the conversations on that topic

When you start a conversation with another character, such as Coach Z, a number of icons appear over Strong Bad's head. Each of these icons represents a different topic to talk about. Clicking the icons will start the conversation, and since this is an comedic adventure game, hearing the dialogue is half the fun of the game.

However, the issue is you don't know what some of the icons mean initially. Luckily, many of the topics of conversation are available with multiple characters, so after a little bit I began to understand what all of the icons mean.

The advantage of using icons like this is that what Strong Bad is actually going to say is unknown, so you get the enjoyment of truly hearing both sides of the dialogue. If you already knew the line, and it was repeated by Strong Bad, it would become tiresome quickly.

The disadvantage is that what you are trying to discuss isn't fully understood by the player, which means you aren't always making choices in the game, but rather clicking through. There are no game consequences for clicking through, and it's actually encouraged, but it still gives the perception of taking away some amount of agency away from the player.

This leads into the next major issue. Each topic can be clicked on multiple times, with different responses available each time. However, once you've gone through all of the available conversations with a character on a topic, the icon usually still persists. Clicking it again will repeat the critical information (if there is any) or just play some repeated flavor dialogue that makes you laugh the first time you hear it.

The issue is not knowing when a topic is exhausted. At the most basic level, the player wants to know when they have been given the critical information from a character. The game is pretty good about drawing attention to the fact that something a character said matters to progress gameplay, and isn't just a throwaway line, so that case is mostly handled already.

On a deeper level, a game like Homestar Ruiner has funny dialogue and a lot of the enjoyment of the game is just hearing that dialogue. As a result, I wanted to hear all the dialogue the game had to offer. I clicked on every available area, to hear Strong Bad's observations about the world, and clicked through every dialogue tree possible to hear all the topics discussed.

Usually, I ended up clicking one extra time and hearing a line repeated before I stopped that line of questioning. This makes it hard to make sure you listen to all the dialogue in the game without hearing repeated lines regularly. It forces the player to poll the game to see if a topic's conversation is exhausted, mentally remember that it is for the future, and move on. To me, this is the dialogue tree equivalent of having a player draw out a map on graph-paper instead of just giving them an in-game map.

All of this stems from using the icons that don't change for conversation topics. There are a few ideas I have of ways this could be handled without resorting strictly to text. I would try coloring the icons depending on the situation. If new conversations have opened up in an area, highlight the icon green. If an icon's topics have been exhausted, but the critical information is available to be repeated, highlight the icon red.

This would give the player the information immediately, in-game, about dialogue. Additionally, I don't think it's a terrible idea to have pop-up text over the icon to tell you what the topic is, so the first time you are talking to people you realize that the picture of a snake refers to your Snake Boxer V video game manual and are able to draw that parallel faster.

I know some people will view this as unnecessary hand-holding of the player, but the purpose of this game isn't to make talking to characters difficult. It's about puzzle-solving and humor. This allows the player to access the humor faster and doesn't affect the puzzle-solving in the game (the game sports a rather gracious hint system and is rather blunt about when something important is being told to the player).

By giving the information up-front the player with dialogue trees, especially in a game that rewards you for trying all of the dialogue, the game becomes less frustrating and more enjoyable. It also gives you the ability to torment Homestar Runner for longer. And isn't that really what life is all about?

Thursday, September 18, 2008

Brainy Gamer Podcast - Gamers Confab

Michael Abbott of The Brainy Gamer was kind enough to invite me on as a guest for his podcast recently. The podcast was the launch of the Gamers Confab, which will have rotating guests on his podcast talking about multiple topics based around our industry. There were two other guests, Brinstar and Matthew Gallant, and we had a good discussion about what games we're playing now, which games we're looking forward to, and the re-birth of classic gaming. It was a lot of fun, and if listening to talking heads is your sort of thing, you should definitely check it out.

Thursday, September 11, 2008

Design Lesson 101 - Castle Crashers

- Cooperative play in games is becoming a huge selling point and an almost mandatory feature in today's industry. From AAA titles like Gears of War 2 and Resistance 2 to downloadable titles such as Schizoid and PixelJunk Eden, co-op play is a regular feature that many games promote.

The Behemoth, creators of Alien Hominid, have released their foray into the co-op world, a four-player side-scrolling beat-em-up called Castle Crashers. The game supports co-op play over Xbox Live, and like with any multiplayer game, occasionally has networking problems.

The technical problems I personally experienced while playing Castle Crashers have led me to think about how design can help mitigate some of those problems, which is the focus of this design lesson.

Design Lesson: By accounting for poor networking conditions, co-op game design can reduce the frustration for the player playing under such conditions

Poor networking conditions are a fact of life. Sometimes you end up playing with someone who has terrible lag and drops their connection all the time. When playing a co-op game this can be frustrating, especially if you know the people who you are trying to play with.

The best answer is to write flawless networking code, but that's not reasonable. There will always be problems. Some poor gamer will always have an issue because their network is horrid. However, there are ways to use game design to lessen the frustration.

The first way is regularly saving the game. Castle Crashers has an overworld that allows the player to choose what level they play (or replay). As you play through the game the first time, levels start to unlock at the overworld screen.

After each level, you are thrown back to the overworld screen and the game is saved. What I realized is, often I would be 3 or 4 spaces away from where I was last on this screen. This is because the game splits up each level into sub-areas, allowing players to not have to play entire levels over if they don't want to.

However, the game does not put you back at the overworld screen each time you hit a new sub-area nor does it save the game automatically unless you go to the overworld screen. So if the game drops in the middle of a level, even though you unlocked some of the new areas, you start the level over since it never saved (you also lose your XP).

Another issue is inability to join and leave games in progress. All players must be present to start a game. One of my friends had a bad connection, and regularly dropped. Everyone else had to stop, restart the game, and re-invite him to allow him to continue to play. It would have been much easier if he could just rejoin again while the rest of us played on, instead of waiting in a lobby.

Joining and leaving co-op games on the fly is becoming standard in co-op gaming, and I see no reason for it not to be included in all co-op games. It requires some more work and forethought from a technology perspective, but is another way for the design of co-op to lessen the impact of people's poor networking conditions (and to allow people to pick-up and play and not schedule their lives around a game).

Even worse than not being able to join a game on the fly is the fact if you are the last person in an online multiplayer game, the entire game quits on you instead of just allowing you to continue alone. The design, instead, could have allowed one (or both) players to continue playing alone or at least saved the game at that point so all progress wasn't lost.

By incorporating these designs into the a co-op game from the beginning, the technical implementation of networking can be suited around them. People will always be frustrated when games don't work 100% as intended. By smartly designing co-op games to mitigate this, however, there is a role to be played to help out when technical issues arise.