Saturday, February 6, 2010

Game design from a gamer's perspective Pt. 2

Time Wasting Continued


When designing a game, you're already asking the game player to forfeit part of their lives on your game. But, as long as the gamer is having fun, they don't see that as a loss. However, what is a loss are all of the time wasting moments that are not in-game. For example, loading screens, cinematics, transition scenes, etc. These are all non-playing aspects of the game. Anything that takes the gamer away from the action and forces them into a 'watching' or 'waiting' mode is dead-time. This is true time wasting at its best. To avoid these dead times, always allow the gamer to do something. If that means designing a mini-game or putting up an experience management page, allow the gamer to do something during dead time.

Dead time is what can also make or break a game. Too much dead time and the game becomes boring. Gamers will move on to more action oriented games and leave yours behind. If you want to keep the gamer excited, be acutely aware of dead time. A good example of how to prevent dead time is Assassin's Creed II. During loading screens, you can at least play with Desmond and make him run and so forth. This gives the gamer at least something to do during these dead times.

Also, do not waste a game player's time by making them do pointless activities. Think heavily about each part and level of your game. Consider if it moves the game forward or if it's exciting for the gamer. If it neither moves the story forward nor is exciting for the gamer, remove it from the title or spice it up and make it worthwhile. A few good examples of this are chests, cupboards or containers that contain nothing. If you're going to create a container, put something in it. Make it worth the gamer's while to search for things. If you're planning on creating a level, put something on the level to make it worth being there (a boss, treasure, something.. anything). The prime example of a level being done badly is in Darksiders. The Vulgrim Tunnels are pointless. You walk down a path from start to finish with nothing in that void (literally). Unless they're trying to give your character exercise or test your walking skills, there's nothing here to do. Don't do this in your game.

For loading screens, though, it is suggested to load a mini-game, a shop or an experience screen and let the user manage their character until the loading of the next level is complete. Even better, use incremental loading during the game and never have a loading screen at all. For dungeons or other rooms, begin to prefetch these in the game when the gamer gets close enough to the room. So, if the gamer opens the door and enters, the room is nearly already loaded. This can cut loading times in half or more.

Bosses

There is plenty to be said about bosses. Let's just cut to the chase, though. Bosses can be done right or done wrong. Most times, however, the reason a boss level is done wrong is not because of the boss itself. Many times it's done wrong because the game designer didn't work through the proper method of how it should work.

In Batman Arkham Asylum, for example, the bosses in this game weren't the issue. They were hard, yes. But, the issue is that the game relied on trial and error play to win the level. This means that your character must die and start over many times in order to find a strategy to defeat the boss. This goes back to time wasting. Making the gamer restart the boss battle over and over and over is a utter time waster. Don't do this. The problem with Batman, though, goes back to the fact that Batman's health drops rapidly. Far too rapidly for the amount of armor he is supposed to be wearing. Secondarily, the game throws 12-15 enemies at Batman all at once. Then there are other issues, like certain moves the enemies can do that take away nearly 1/4 to 1/2 of Batman's health... merely by kicking or punching him.

So, in Batman, the way to win is let the enemies take out themselves and simply run around and avoid being hit. Yes, the enemies will attack each other. So, let them. The trouble, of course, is that you have to get them in a position to do so. They won't do it on their own. Batman must lure them.


One thing about enemies and bosses that always drives me nuts is perfect aim. In a digital world, we are limited by our view into this world through pixels. Because pixels are a fixed dimension, as objects get smaller they also get harder to read. But, the game world itself has clear vision to infinity. So, while the gamer is crippled by the pixel screen, the in-game enemies have perfect vision. This is an unfair advantage. So, for example, enemies can always seem to find, aim and target your player character perfectly. On the other hand, finding and aiming at enemies can be a challenge due to pixel size limitations.

When designing a game, please keep this in mind and compensate for the 'perfect vision' by at least making the enemies miss or aim incorrectly at least some of the time. Perfect aim gets old and tired in games. Don't do it. Do make the enemies miss more often the farther away they are from the player character. Basically, whatever rules you impose on the player to negatively affect aim should be applied to enemies and bosses. Even more than this is that extra care should be taken to ensure there is no such thing as 'perfect aim' in your game.

Enemies always targeting the Player Character

An offshoot of the Perfect Vision problem is game designers who design games so that the enemy AI always targets the player's character. Even if you have a team helping you, inevitably most games have their bosses and enemies target the player's character. This is stupid, unfair and unrealistic. If you have a team, the enemies should equally target each of the team. The player's character should have no more weight in being attacked than any other player. The trigger to whether a specific character should be attacked is if the character enters the enemy's block of influence. This means, as soon as any character gets in range, the enemy should 'see' and begin targeting that character. A perfect example of this being done wrong is in by Bioware in Mass Effect 2 and Dragon Age Origins. In these games, once an enemy locks onto your character, it stays locked until you kill it or run away.

Character Deaths

Inevitably, when playing bosses, your character may die. How your game design team chooses to handle a character death is as important as any other aspect of the game. In some cases, it's even more important. Some games (Too Human) like to produce long drawn out unskippable death sequences. Don't do this. Instead, if you must show some kind of cinematic, make it quick and let the gamer skip it. If you are going to show a cinematic, use that time to reload the level. Don't wait until the cinematic is complete before reloading the level.

As far as level reloads, I never get this part of gaming. You already have the level loaded, yet you have to reload it again from scratch? This can take 1-2 minutes. Why do this? Instead, use the existing loaded level and simply reset all of the objects on the level. That's got to be faster than dumping the level and reloading it from disk. After all, you were already playing the level and it's already in memory. It may be slightly more complex to code this, but shaving the time off of the gamer's dead time gives the gamer much more in-game time. This is what you want. So, it IS worth the effort to code it. Smart coding leads to higher quality gaming.

The next issue with character deaths is using this as part of the gaming experience. The player characters should never die. Never. The goal is to keep the gamer in the game experience as much as possible. Making the gamer wade through death sequences time and time again goes back to time wasting. Don't do it. Do everything you can to avoid the character dying. If the character must die, then the reload to start the level should be instantaneous. No sequences, no specialty things, just fade out and fade back in. Let the gamer start immediately. We'll come to why this is important for the story shortly.

Loading Times

When a game needs to load a level or reload after a character death, it should be as fast as possible. There is no need for 3 minute loading screens. This is excessive and wasteful of the gamer's time. Granted, sometimes it can't be helped, but smart incremental loading can be designed. Oblivion and Fallout 3 are perfect examples of incremental loading of the environment. With incremental loading, the game never has a loading screen and instead is constantly fetching in-game data to build the next part of the environment. Waiting through loading screens is not mindful of the value of the gamer's time and suggests convenience on the part of the programmer and designer. Don't do this.

Coming Up:
  • Health Pickups
  • Story
  • Character Control
  • Controller Mapping
  • Audio & Music
Parts: 1 | 2 | 3 | 4 | 5

No comments:

Comments