GitHub Icon

Platform

Solutions

Resources

Company

How can developers improve the multiplayer experience

As games become more and more online and multiplayer, the physical limitations of the Internet become more apparent. These past few years have seen the rise of the games-as-a-service model, where a constant stream of new content is pushed to players to keep them engaged. As research on negativity bias indicates, to counter-balance just one bad experience, there need to be at least five good experiences. Consistently providing a good multiplayer experience becomes a matter of life and death for games, who will see their retention numbers plummet if don’t pay attention to this important aspect.

Although there is both a behavioural and technical component to a good online experience, we will focus on understanding the technical aspects of multiplayer games in this article. What can game developers do on their end to improve the status quo?

What’s the problem?

First things first, the Internet was not created for gaming, it was initially created to share information between scientists; a constant stream of data being transmitted between 2 parties. Now compare that to the premise of multiplayer gaming: short bursts of data being exchanged between multiple users through an intermediate arbiter (game server). The difference is stark, and the implication is that multiplayer gaming cannot be as efficient in handling data as other modes of data transmission. The network it resides on, the Internet, did not take into account this possibility when it was first conceived.

Latency compensation techniques

Many game studios have decided to tackle the problems caused by multiplayer games by compensating through different means. For FPS (first-person shooters) that usually means client-side prediction and server reconciliation. It entails that the player’s client will try to predict what other players will do, where they will move for example, so that the player can react faster than the speed at which the data can travel on the Internet. We’re talking about fractions of seconds, but in most real-time competitive games, these fractions can be the difference between an important win or a loss. The server is the arbiter, making sure a player actually had visibility to shoot his opponent for example in case both player clients disagree on what happened. Accounting for latency is one way to compensate for the limitation of the network.

Fighting games are especially reliant on latency, since timing and decisions taken in fractions of a second are of outmost importance. For this type of game, rollback netcode has been gathering the enthusiasm of many players in the community. To define it in simple terms, it means accelerating the character animation once the player client has received notification that the opponent has made a move. Since the character move animation is now visible more accurately in real-time, the player can react faster to dodge or counter his opponent. Bandai Namco has recently launched an update to their 2015 title Tekken 7 that includes an updated version of rollback netcode, which has been very well received by the competitive scene and produced a big boost in their concurrent players.

Distributed game hosting

Beyond these compensation techniques, being able to reduce latency overall is the holy grail of improvement in the multiplayer experience. Although many efforts have been done in improving the network side, it generally accounts for little more than 10% of the overall player latency. The leftover 90% is lost to the distance between the game server and the players in a match. The advances made possible with cloud and edge computing infrastructures are where most of the improvements in latency can have a substantial effect on the online experience. Looking beyond what bare-metal and cloud providers can offer is a promising way for developers to improve the online game experience of a huge number of players.

What does that mean for game developers?

At the end of the day, gaming is a business and game studios need to justify the better experience they can provide with a concrete improvement. In the gaming industry, that is measured in the amount of new players, retention numbers, and monetization numbers. We have seen time and time again how an improved online player experience can improve the overall metrics of a game. But first, there has to be a willingness from developers to go beyond the status quo, and look into all options available to create a better experience with their toolset. After all, developers are the ones with the power to be the architects of the future instead of its victims.