This post is cross-posted from my private blog. I thought it might make for an interesting discussion here. It's a bit long, so skim as necessary. The main gist of it is, what are the easy, basic multiplayer design choices that should be in every game, but for whatever reason, developers still leave out. We had a good discussion about this topic generally, but the focus was mostly on single-player things (i.e. pausable and skippable cut-scenes, save point placement, etc). Anyways, my entry:
A couple weeks ago, I decided to get the online multiplayer achievements in Rock Band. You get them for racking up a 5-win streak and 20 wins overall in each of two game modes. While getting the achievements themselves was not difficult, since I'm so face-meltingly good at the game, the process revealed a pretty bone-headed design flaw in the game. When a player voluntarily left a match in progress, that didn't count as a loss for the departing player, nor did it count as a win for the player who remained. The result is that jerks and cheaters could and would drop out as soon as you'd pull too far ahead in order to preserve their own record and deny you your win. According to my records, about 1 in 4 games that I played ended with the other playing leaving early. If we assume a 75% win record for me, that means that I was losing credit for 1 in every 3 wins. That's just retarded.
This got me thinking about other basics of multiplayer game design that some developers still can't seem to comprehend. A few examples:
- Allow players to filter games with as much or as little specificity as they like. I can think of an example that errs on each side of specificity. On the side of not allowing enough generality, we have Splinter Cell: Double Agent. That game required you to specify a level before searching for cooperative games. The result was that it was basically impossible to find a full game in the later levels, since all the players were scattered amongst the dozens of individual levels and couldn't find each other. Stupid. On the side of not allowing enough specificity, we have Team Fortress 2. Several months after the game's release, there has been a proliferation of custom rule tweaks, maps, and server mods. The result is that every time I try to find a game these days I'm stuck downloading custom sounds for 10 minutes, only to find out upon joining the server that it's using options I don't like such as birthday mode, instant respawn, and alltalk. Why can't I have an option to only look for games using the default rules?
- In a game with peer-to-peer matchmaking, don't end the game when the host quits. It's never fun to have 7-15 players booted out of a game just because one of them decided to quit. Halo 3 uses host migration to prevent that from happening. Call of Duty 4 didn't, and they had to add it with a patch. Some games, like Splinter Cell: Double Agent, don't have it and should.
- Let me see my ping before I join a game. PC games have always let you do this, but for some reason most console games don't. If you're lucky, they let you see a three-color connection indicator, but some don't even have that. If you think most console gamers are too dumb to understand what a ping is, that's fine, give them the colors. But at least let people like me see the actual ping time too, so I know if a game is playable or not without having to guess what "yellow" means in your game (World of Warcraft, for one, gives you both a color and a number).
- Give me robust voice chat options. I don't know of any game that does this adequately yet, which is the reason why third-party programs like Teamspeak are still so popular. First, I want to be able to talk to the people I'm playing with. That's why I'm playing online instead of against the computer. The Wii's lack of voice chat (or even text chat!) for Smash Bros Brawl, for example, is stupid. You might as well be playing against the AI. World of Warcraft's lack of built-in voice is the main reason why pick-up groups suck so badly in that game. Second, give me the ability to host a private chat channel with as many of my friends as I like. The Xbox does this pretty well, with the ability to switch between a voice channel for the game you're in and one of several voice channels that are between you and a friend. However, it's missing the ability to have multiple friends in one room. Finally, give me the ability to mute players in 3 clicks or less. Anytime you have public chat, someone is going to use it to curse up a storm or start singing. If I can't quickly mute them and get back to the game, I'm going to be annoyed. Halo 3 and Steam do this right, but the Xbox 360 generally is too slow.
- Make it easy to find other players with expansion content. I've bought over $30 worth of extra songs in Rock Band, but I only got to play one of them during my quest for the online achievements. That's because the game just randomly matches you with any player, and then randomly picks a song you both have. The chances of you both having DLC and the DLC being selected are extremely low. There should be a way for the game to prioritize matching people who own the same DLC, and to boost the chances of DLC being chosen when available. Another offender is Worms on Live Arcade. You can buy extra background themes, but if anyone joins your game who doesn't own the extra theme, you can't choose it. As a result, I never once got to play any of the extra themes online.
- Give me reasons to keep playing. I like to play games when I'm working towards achieving a goal, rather than just killing time. Too many multiplayer games, though, don't give you any goals, and thus don't give you any reason to keep playing. There can be a lot of ways to do this. You can have leaderboards that allow players to work towards getting better than their peers (see Worms, or Catan). You can have a leveling system that gives players perks the more they play (see Battlefield 2, Call of Duty 4, or Virtua Fighter 5). You can have multiplayer achievements for players to work towards (see most Xbox games, or Team Fortress 2). Just anything to make multiplayer count. A good example of the wrong way to do this is Smash Bros Brawl, which doesn't have any online leaderboards or other goals. While I'm sure the game is fun, I also think I'll get bored after a short while with nothing to work towards. Another danger is to have only ELO-style leaderboards where you lose points for losing matches. While those are great to have so that you can have a "pure skill" leaderboard, they aren't good for provding long-term goals because eventually, you have a greater chance of losing rank when you play than you do of gaining rank. That actually gives a disincentive to keep playing (Rock Band falls victim to this trap).
Got any others? Think I'm wrong?