First, let’s review the various categories of videogames sold today:
Most high-profile series try to cover:
- Competitive Online Multiplayer
- Cooperative Online Multiplayer
For some franchises, a tremendous emphasis is put on Competitive Online Multiplayer. Games such as Call of Duty, SOCOM, Battlefield and Gears of War belong to that category.
Warhawk was exclusively focused on Competitive Online Multiplayer. It matters not whether you are playing for fun (a little) or for glory (a lot), you will play in a Competitive Online Multiplayer context.
With nearly 10 years of experience, the minds behind Call of Duty have managed to deliver a relatively consistent level of reliability to an ever increasing audience. While some are prompt to denounce Infinity Ward’s franchise as formulaic and stale, let’s review what Call of Duty popularized at great scale:
- Lobby-based party system, with the ability to invite (or kick) your friends at any time
- Voice chat between teammates, with the option to mute anyone
- Private matches, with a great number of customizable parameters
- Private-match presets, whereby one can define presets for their favorite game set-ups
- The ability to spectate a match without playing
- Match recording, where absolutely all events of a match are recorded and can be “replayed” later on
- Dynamic, on-the-fly player migration, which keeps you engaged when a host backs out abruptly
Now, let’s not forget that some of these features existed long before Call of Duty, but Call of Duty made them practical and reliable for hundreds of thousands of concurrent players. That, in itself, is a feat that many studios still struggle to achieve.
It’s also not perfect ; Modern Warfare 3 frequently suffers from network congestion. The brand new Elite service also had a disastrous launch and is still coming up to speed more than 1 month after the game hit store shelves.
It’s not entirely complete either: Warhawk, for instance, allows you to dedicate your console to hosting server code. In that mode, you cannot play the game on your console, but you basically grant your clan or friends the benefits of a dedicated game server, at no extra infrastructure cost to the publisher or developer.
So, what does it really take to have a great competitive online multiplayer game?
First, a player should be able to host private matches where all game settings can be customized to one’s heart’s content. It doesn’t matter if these private matches are ranked. In fact, to maintain the validity of any ranking method, they should not be ranked.
Second, a player should be able to host private matches of any size on any available level/map. Anything from 1 player (useful to discover levels/maps), to 1 vs. 1, to 2 vs. 2, to n vs. n. In fact, it might even be best to allow unbalanced matches. (1 vs. 2, 3 vs. 6, etc.) These are private matches! If one of my friends thinks he can take on 3 of us, we should be able to prove him wrong and make him suffer dearly.
Third, regardless of platform, a player should be able to host a dedicated game server.
Yes, even on consoles. Warhawk allowed me to dedicate a spare console to hosting a dedicated server, i.e., a server that my friends could connect to and play on when I was not around; a server I could connect to as any other player, using another console. That console was totally dedicated to running the server code and nothing else. (Let’s not forget the original Warhawk data center was powered by racks of PS3 systems. Need a better proof of concept?)
In fact, since network communication is based on the nearly universal TCP/IP stack, there is no reason why I could not run a dedicated server on a PC, which would be open to consoles ; or a dedicated server on a console, which would be open to PCs. I am sure there are contractual and legal reasons why Microsoft or Sony would object to that scheme, but I doubt it’s a technical issue. I would not go as far as pitching console players vs. PC players. Balance issues could be very hard to handle in that case.
Next, it should be obvious by now that a functional party system is key to facilitating social gameplay. I am always baffled when an online multiplayer game ships without one and it happens so often that I am in a permanent state of bafflement. (Hi, SOCOM 4!)
At a time when all the rage is about social engineering, social media and emergent gameplay based on social interaction, it is extremely confusing to be forced to play with and against random players, of disparate characters and interests.
Over the past many years, I have played a great many competitive online multiplayer games. The system that seems to work best is illustrated by the following scenario:
- Friends gather in an “online lobby”, they chat and socialize for a few minutes, then,
- when they are ready to play, they push a Play button and get matched against another party of similar size and strength. (strength being loosely measured using some impartial metric)
In recent times, I have played games that offer a “Join a Friend” feature, but it rarely works well for competitive online multiplayer games. Either the target server is full or the game is in a phase that does not allow new players to join. In any case, it takes nothing short of a miracle for a handful of friends to gather in a same match using such tool.
This being said, I do think parties should be matched with other parties only. It should also be possible for a single player to join a match that includes no parties at all. (Call of Duty already has this.)
For parties, it could be useful to have a different leader-board or a slightly different ranking system. Indeed, my win/loss ratio is often very high not because I am the best player, but because I always play in a party of friends and we consistently use teamwork to our best advantage.
In the venerable world of PC gaming, developers had total control on the networking infrastructure of their games. Most often, online multiplayer matches were implemented following the traditional client/server model that is natural to TCP/IP. If servers were sufficiently provisioned, players enjoyed a relatively lag-free and mostly cheat-free experience.
Then, videogames grew in appeal to the point of competing with Hollywood. Consoles became the dominant platform and closed networks became the norm.
Suddenly, the network infrastructure of a videogame had to handle hundreds of thousands of simultaneous players and in some cases millions of players. Obviously, this was a challenge. No developer or publisher had the means or will to build gigantic, geographically distributed, server farms to keep up with such a great number of players. And I honestly understand why: Even the most popular games, e.g. Call of Duty, reach their peak well within their first 3-6 months of release. Why would anyone invest massive amounts of money in data centers that would become greatly underutilized after 3 months? It doesn’t make much economic sense, does it? So, I do understand the rationale for the decision to go with a peer-hosted approach, where one of the players’ console is used to host the server code.
Yet, the day peer-hosted games became the norm, the quality of the online multiplayer experience went down the drain. I think there are 3 main reasons for that:
- There is a lot of disparity in bandwidth availability, latency and reliability among the player population.
- This architecture is a Dream Come True for cheaters. If the peer that is acting as host can identify their status or manages to reverse engineer the network protocol, all Hell breaks loose. In no time, your game is plagued with aimbots, triggerbots, ESP, look-ahead probes…hacks of all sorts. At the very least, lag switchers ruin the fun of many players.
- The peer that is unknowingly hosting a match can quit for any reason. All other players are then stranded and often left with a very anti-climactic match conclusion, in the form of game code desperately trying to identify a new host or migrating remaining players, who have already lost the desire to wait for that to happen.
Brief, the peer-to-peer approach has engendered a whole litany of problems and new vendors have appeared to palliate them. (Even Balance/PunkBuster) Yet, throwing more software at the problem hasn’t worked well so far. The fundamental issue still remains: The competitive online multiplayer experience is at least partially shot.
This last issue is not trivial, but point 1, 2, 3 and 4 allow players to take matters in their own hands, avoiding the nefarious consequences listed in point 5. That is why point 1, 2, 3 and 4 are so important.
Finally, let’s not forget that some progress has been made over the past few years.
Battlefield: Bad Company 2 had a party system, private matches and effective voice communication.
Battlefield 3 may not have a lobby-based party system, private matches or a functional VoIP infrastructure, but its battle log brought statistics collection and presentation to new heights.
Call of Duty still has scalability issues, but manages pretty well considering the size and voracity of its audience.
Halo: Reach pretty much did everything right, succeeding even in the matchmaking department.
Killzone 3 initially had a lot of issues with its limited party system, but managed to sort them out over time.
MAG shipped without any party system at all, but could handle a large number of players (32 to 256), with an adequate voice chat system.
SOCOM 4 shipped without any party system at all, but added a cooperative online multiplayer mode to its arsenal.
Brief, the ingredients are out there, it’s just very hard to find them gathered in a single game.
For online multiplayer games to deliver on their true potential, the features described in this analytical rant are no longer optional. Furthermore, these features are not aspects that can be tacked on after a game ships. Let’s face it, gamers have become obsessive consumers: If a game doesn’t have such essential features when it is first experienced, it will fail to keep a fan base. “We can always add this later!” just doesn’t work and bad first impressions are forever.