18/10/2017

Dev Blog: Ping Abuse, Peeker’s Advantage, and Next Steps

We have been monitoring the community’s feedback regarding ping abuse, latency, and peeker’s advantage. In this blog, we will explain what these are, how they affect gameplay, and what we are doing to fix them.

Before diving into the details of latency, we want to establish that the design philosophy of Rainbow Six Siege is player replication and hit validation should favor players that have the faster and more stable connection. To that end, we will continue to improve all our systems to provide low and stable ping players with the best experience possible while maintaining the accessibility for higher ping players.

High Ping and Peeker’s Advantage

Replication is the process by which we mirror a sequence of movements and actions done by a player on a remote computer, such as a game server. You can think of replication as “ghosts” that follow players. This “ghost” represents your position as seen by the server. For example, if you have a ping of 200ms, your “ghost” is where you were 100ms ago (since ping represents round trip duration). The higher a player’s ping, the further behind the player their “ghost” is.

However, when peeking (moving out of cover), a higher ping will not give you more time to react and shoot before becoming visible to other players. This is because all shots need to be validated by the server, so any increased amount of time will also apply to your shots reaching the server.

Peeker’s advantage is a result of the aforementioned “ghosting” effect. We cannot remove “ghosting”: doing so would require all movements to be validated by the server before taking effect on your client. This would result in increased input delay (equal to your ping), which is contrary to the design philosophy of making movement as reactive as possible. However, unlike the common perception, peeker’s advantage depends only on the speed of the victim’s connection, not the peeker’s.

The maximum time, once the peeker becomes visible, that the victim has in order to shoot and come out on top is what we define as the window of opportunity. Peeker’s advantage is caused by the fact that this window of opportunity is always shorter than the reaction time of the peeker.

Window of opportunity = Reaction time of the peeker – Ping of the victim (including processing time)

In the following clip, we will display the difference when the victim (Player 2) has a faster reaction time (150ms) than the peeker (Player 1) (300ms reaction time). You will notice that the increased ping of the peeker has no impact on who wins the firefight. While the peeker was able to fire, the victim had already landed a headshot that was validated by the server, so the peeker’s shot was rejected and they died.

In the next video, we will show you how the victim’s ping impacts the result of the shots arbitration. While the reaction times remain the same (150ms for the victim, 300ms for the peeker) we progressively increase the ping of the victim. The ping of the peeker remains constant and we intentionally set it to a high value: 400ms. Increasing the ping of the victim results in a reduction of their window of opportunity. While they are able to win the firefight at low ping (50-100ms), they start losing when their ping is too high (200ms).

We created the following image to demonstrate what you saw in the above videos, without the gameplay. What you are seeing is a timeline of actions, the order in which servers accept input, and how latency influences those steps.

Peek1

The above asset is showing you how the reaction time of the peeker is preserved on the server and then on the victim simulation, even if the peeker is playing with high ping.

Peek2

What you are seeing in the above asset is the impact that the victim’s ping has on their chances to survive. The victim will need to fire at his opponent before the peeker’s shot reaches the server which can only be achieved by shooting during his window of opportunity. This window of opportunity is not affected by the peeker’s ping. Once officially dead on the server, all further actions by a player are rejected. This is in line with the design philosophy mentioned at the beginning of this blog, which states that the player with the fastest and most stable connection should have the advantage.

Next Steps

Starting with the Year 2 Season 3 Mid-Season Reinforcements, we will be implementing the following adjustments and changes to how the game manages latency, processing, and hit validation. Our plan is to continue working on these topics during the upcoming seasons.

Latency Alignment

Latency alignment is a change that allows the server to more accurately mirror the reaction time of a shooter with an unstable connection. If a player is sending position updates at an inconsistent rate, then the server will adjust the timing of their incoming shot messages to match its representation of that player’s commands more accurately. While it is a matter of milliseconds, the end result is a wider window of opportunity when going up against players with fluctuating latency.

Pawn-to-Pawn Physics

We have a new pawn-to-pawn physics system, which should address issues with players teleporting behind shield users. This issue was most commonly experienced while blocking a doorway with Montagne.

Hit Validation Improvements

We are reducing the upper limit on the latency required to initiate extra hit validation steps. More details about these extra steps and how they affect gameplay will be published in another blog post.

Replication Improvements

We are also optimizing the replication of actions. The result is a more responsive experience for all players and a reduction of latency.

Processing Delay + Ping

Currently, the ping value displayed in the menus includes the processing delay. This is misleading, since running at a faster frame rate results in lower ping values being shown. We are removing this processing delay from the ping value. Although only a cosmetic change with no impact on gameplay, the value displayed will be a more accurate representation of your connection speed with the servers.

Connectivity Icons

We are implementing a series of adjustments that will help you monitor the status of your client, of the server, and of your network connection.

With this change, the game will display up to four icons in the upper right corner of your screen. These four icons denote the quality of your gameplay experience concerning your ping, connection stability, update rate and host stability, respectively from left to right.

Peek1

When one of these is in a degraded state that could affect your performance, the icon appearing will notify you. This will help provide a more accurate representation of your connection status beyond just a player’s ping. The icons have two states: yellow and red. The thresholds for each state can be tweaked at any time by the dev team, therefore the following values are just an approximation of the current settings.

  • Latency icon: The latency icon will appear when your ping is high. A yellow latency icon means your ping is high enough for additional validation steps to be triggered by the server (around 100-140 ms of ping). These additional validation steps come into play when treating your shots, and determining whether or not they are a hit. You might notice some of your hits are not registering. Having a high ping also means you could encounter unpleasant situations such as dying behind cover. A red icon means your ping is bad (around 400-500 ms of ping). Being in that state for a long time could result in player being kicked from the game server. When the latency red icon is visible, almost all of your hits will be rejected by the server. This is intended.
  • Connection icon: The connection icon appears when you are experiencing packet loss or latency instability (for example, when some of your packets are being redirected on another internet route). When this icon is triggered, you can experience rubber banding, hits being rejected by the game server, and abnormal induced latency. The probability of experiencing those situations is far higher when the red icon is visible.
  • Update rate icon: The update rate icon appears when your frame rate is dropping or is unstable and the number of packets sent by your game client to the server is not high enough. You might experience hits being rejected by the game server and abnormal induced latency (this latency is induced by the game server to prevent other players from seeing your character stuttering). You could also experience rubber banding when the icon is red.
  • Host icon: The host icons appears when the server is experiencing issues and is unable to preserve the stability of the simulation. All players connected to that game server will see the icon appearing at the same time. When you see this icon, you can experience rubber banding, abnormal latency or hit registration issues. Those situations will be more noticeable if the icon is red.

Most of our upcoming changes will result in a less comfortable experience for high ping players, but this is something that we are doing consciously, and believe it to be in the best interest of the game as a whole.

Please join us to discuss your learnings from this blog on the Rainbow Six subreddit!

Visit Other Social Channels

facebook icontwitter iconyoutube icontwitch icon