Hit Detection

Comments

  • misisipiRivrRat
    803 postsMember, Battlefield 3, Battlefield 4, Battlefield, Battlefield 1, CTE, Battlefield V Member
    edited November 2017
    VBALL_MVP wrote: »

    This should help in some aspects, yet it could confuse or highlight other aspects that aren't technically issues.

    Battlefields "netcode" is very complex, as it should be. Most of the complexity boils down to Projectile Physics and variant latencies amongst players. BF uses Projectile physics for all weapons, which by its nature requires a lower latency of all parties for quality "fair/balanced" game play. This need for low latency is do to the time delays inherent to projectiles with applied physics.

    When a shot is fired physics are applied. velocity, gravity, drag coefficient. These physics shape the path of the projectile down range in the 3D world space (simulation). Only when game logic determines there was a collision is arbitration run on the client side. If a hit is determined by the client arbitration a hit claim is sent to the server for validation.

    The server validates the hit by running its own arbitration on the travelled path of the fired projectile. To do this it must buffer into memory the entire game simulation from time the shot was fired (trigger time) up to the time of the supposed hit (collision).

    The buffer usually consists of the time frame from triggertime to datagram receival time. The length of the buffer varies based on latency of the hit claim.

    e.g.
    trigger time: 12:00:00:000
    receival time: 12:00:00:081
    Memory buffer length : 81ms

    Once the memory is buffered the server simulates the shot and runs raycasts for collision.

    The downside of projectile physics is the bullet travel time of the projectile. This BTT delay is a window of time that allows for more of the targets past (not known by the server at time of shot) inputs to be received and update the simulations game history.

    An example of this is as follows.
    You have a 30ms ping which equates to a 15ms Update Travel Time.
    A UTT is how long it takes your data to reach the server one way and vice versa. Client -> server (15ms UTT), Server -> client (15ms UTT).

    Your target John has a 200ms ping (100ms UTT). This means that every input command (WASD, jump, Fire etc) he enters takes 100ms to reach the server and update the simulation.

    Every client sends its buffered input commands to the server every 16.66ms. Your's reach the the server 15ms later, yet John's takes 100ms.

    You're in a 1 tick offset, while John is in a 6 tick offset.
    You're input is only 1 frame ahead of the servers simulation, while john is 6 frames ahead of the servers simulation.
    Your screens representation of John's position is based on what the server knows.
    So in this situation John's "real world" position (as seen on his screen) is 6 inputs/frames ahead of where you see him.

    So now you take a shot. It takes that bullet 65ms to reach John on your client simulation. Your client determines a hit and sends a hit claim to the server. The server receives it, buffers simulation history and runs the arbitration. The server determines a miss. Why?

    ((65ms BTT + 15ms UTT) / 16.66) = 4.801920768307323

    Four of John's old in route inputs were received by the server before your hit claim was received. These inputs updated his historical position in the servers simulation. Thus putting him in a different position than where you saw and shot.



    Hitscan shot/hit reg arbitration is instantaneous, because the "bullet" collides instantly when the weapon is fired. When the user provides trigger input (fire button) the game logic (client side) immediately arbitrates the shot. The outcome of that arbitration is known client side before the frame is rendered at which point it sends a hit claim to the server for validation of the hit. The only major delay is the shooters update trave time (UTT) of the hit claim datagram.

    The server would receive a 30ms shooters hit claim in 15ms. This isn't enough time for the target to get latent historical inputs registered before arbitration. Thus where you saw the player is what is arbitrated against.... A hit is ultimately the outcome.

    edit for Clarification/Distinction: CoD, CSGO, Destiny, Seige are Hitscan based games. The above mention of HS is to highlight the differences and why hitreg isn't an issue in those games or others that use hitscan.



    Hopefully this all makes sense. If anything needs to be clarified please don't hesitate to ask.


    Some really good info there and really interesting.

    You obviously have a really good understanding of these issues and hopefully can give me an answer/explanation in regards a few questions I have ( you seem really unbiased which is a breath of fresh air ).

    When I play on a server ( 24 person ), have the lowest latency ( usually at least 25 - 30 under the average ) and am getting no warning icons will in your opinion people with much higher latency have a detrimental effect on my game? Not necessarily an advantage but will it create strangeness in my game. I have a lot of times when I get what people call one shot now this could be from an LMG etc am not just talking snipers head shots etc. Its basically as if I have been spoted they fire on me but I am only getting it shown on my screen right before I die so no chance to take cover move etc. Also with regards various latencies what would you say is an optimal latency gap from lowest on server to highest? If someones say 30 and theres a few players 125+ would you say it will be a difference that can cause problems?

    I hope you get a answer from him or someone knowledgeable. I've posed similar questions in this very thread only to get no response. In my opinion when there are more than a few very high pings in a server things get weird. But it's only my opinion based only on my experience with the game.

    So a couple of days I thought of you. Was able to play in the morning since I have been off from work. I experienced four games in the morning and as you have stated in the past it was flooded with people over 100ms ping.

    The thing I didn't experience was anything screwy. It ran fine and was able to play and kill anyone with no issues. Based off of this I believe there is something else that is causing issues since I should have had horrible experiences based on all the high pingers in the game.

    Oh no, vball is thinking of me. Just kidding.
    Here's the thing, the game is optimized so that everybody is supposed to get a gameplay experience right? I just feel when there are too many high ping players all with different wildly different pings in a server, whatever does the optimizing then has a harder time to make things smooth. My experience then playing with high ping players is not good. I'm not saying there is any advantage because many times I feel they are just as easy to kill.
    Do you remember once when I said to you that I don't need to top the leaderboards to have a great time in Battlefield , and that holds true today. But what I do want from Battlefield is consistent , quality gameplay . Not this crap that the majority of us are getting. And when we complain I don't think it's every game we're complaining about and that's part of the problem. This game rocks when all is good. Good just doesn't happen enough for me anymore.
    This game was wonderful for me after that spring patch. My k/d and score didn't go up mind you(cause I checked) but the gameplay was so smooth, I felt the difference instantly. But man has it went downhill from there. At least for me.
    You know what else is frustrating ? It's hearing that the game is fine for you and a handful of others. I'm not being a **** vball, but you poo poo away lots of what others are saying what is wrong with the game. Yes there are times when we are wrong about something , and you can see it when a video is looked at in slow motion. But lots of other times I don't think issues are explained away.
    Bottom line is I don't want to argue with you about this. You're knowledgeable about networking , I'm not. But I am a very observant person when it comes to visual and audio things. I can hear something or see something just a couple of times and then if something changes I'm pretty good at noticing this even if I can't vocalize what has changed.
    And that's my point with Battlefield at least from my point of view. I've enough times to feel when things are good and when things are bad, even if I can't actually pinpoint what exactly is off. Hope that makes sense. And most, not all times when gameplay is off, there are many high ping players in the server.
    Shoot, sorry this got so long but thanks for listening.
  • lizzard
    985 postsMember, Battlefield 3, Battlefield 4, Battlefield, Battlefield 1 Member
    VBALL_MVP wrote: »

    This should help in some aspects, yet it could confuse or highlight other aspects that aren't technically issues.

    Battlefields "netcode" is very complex, as it should be. Most of the complexity boils down to Projectile Physics and variant latencies amongst players. BF uses Projectile physics for all weapons, which by its nature requires a lower latency of all parties for quality "fair/balanced" game play. This need for low latency is do to the time delays inherent to projectiles with applied physics.

    When a shot is fired physics are applied. velocity, gravity, drag coefficient. These physics shape the path of the projectile down range in the 3D world space (simulation). Only when game logic determines there was a collision is arbitration run on the client side. If a hit is determined by the client arbitration a hit claim is sent to the server for validation.

    The server validates the hit by running its own arbitration on the travelled path of the fired projectile. To do this it must buffer into memory the entire game simulation from time the shot was fired (trigger time) up to the time of the supposed hit (collision).

    The buffer usually consists of the time frame from triggertime to datagram receival time. The length of the buffer varies based on latency of the hit claim.

    e.g.
    trigger time: 12:00:00:000
    receival time: 12:00:00:081
    Memory buffer length : 81ms

    Once the memory is buffered the server simulates the shot and runs raycasts for collision.

    The downside of projectile physics is the bullet travel time of the projectile. This BTT delay is a window of time that allows for more of the targets past (not known by the server at time of shot) inputs to be received and update the simulations game history.

    An example of this is as follows.
    You have a 30ms ping which equates to a 15ms Update Travel Time.
    A UTT is how long it takes your data to reach the server one way and vice versa. Client -> server (15ms UTT), Server -> client (15ms UTT).

    Your target John has a 200ms ping (100ms UTT). This means that every input command (WASD, jump, Fire etc) he enters takes 100ms to reach the server and update the simulation.

    Every client sends its buffered input commands to the server every 16.66ms. Your's reach the the server 15ms later, yet John's takes 100ms.

    You're in a 1 tick offset, while John is in a 6 tick offset.
    You're input is only 1 frame ahead of the servers simulation, while john is 6 frames ahead of the servers simulation.
    Your screens representation of John's position is based on what the server knows.
    So in this situation John's "real world" position (as seen on his screen) is 6 inputs/frames ahead of where you see him.

    So now you take a shot. It takes that bullet 65ms to reach John on your client simulation. Your client determines a hit and sends a hit claim to the server. The server receives it, buffers simulation history and runs the arbitration. The server determines a miss. Why?

    ((65ms BTT + 15ms UTT) / 16.66) = 4.801920768307323

    Four of John's old in route inputs were received by the server before your hit claim was received. These inputs updated his historical position in the servers simulation. Thus putting him in a different position than where you saw and shot.



    Hitscan shot/hit reg arbitration is instantaneous, because the "bullet" collides instantly when the weapon is fired. When the user provides trigger input (fire button) the game logic (client side) immediately arbitrates the shot. The outcome of that arbitration is known client side before the frame is rendered at which point it sends a hit claim to the server for validation of the hit. The only major delay is the shooters update trave time (UTT) of the hit claim datagram.

    The server would receive a 30ms shooters hit claim in 15ms. This isn't enough time for the target to get latent historical inputs registered before arbitration. Thus where you saw the player is what is arbitrated against.... A hit is ultimately the outcome.

    edit for Clarification/Distinction: CoD, CSGO, Destiny, Seige are Hitscan based games. The above mention of HS is to highlight the differences and why hitreg isn't an issue in those games or others that use hitscan.



    Hopefully this all makes sense. If anything needs to be clarified please don't hesitate to ask.


    Some really good info there and really interesting.

    You obviously have a really good understanding of these issues and hopefully can give me an answer/explanation in regards a few questions I have ( you seem really unbiased which is a breath of fresh air ).

    When I play on a server ( 24 person ), have the lowest latency ( usually at least 25 - 30 under the average ) and am getting no warning icons will in your opinion people with much higher latency have a detrimental effect on my game? Not necessarily an advantage but will it create strangeness in my game. I have a lot of times when I get what people call one shot now this could be from an LMG etc am not just talking snipers head shots etc. Its basically as if I have been spoted they fire on me but I am only getting it shown on my screen right before I die so no chance to take cover move etc. Also with regards various latencies what would you say is an optimal latency gap from lowest on server to highest? If someones say 30 and theres a few players 125+ would you say it will be a difference that can cause problems?

    I hope you get a answer from him or someone knowledgeable. I've posed similar questions in this very thread only to get no response. In my opinion when there are more than a few very high pings in a server things get weird. But it's only my opinion based only on my experience with the game.

    So a couple of days I thought of you. Was able to play in the morning since I have been off from work. I experienced four games in the morning and as you have stated in the past it was flooded with people over 100ms ping.

    The thing I didn't experience was anything screwy. It ran fine and was able to play and kill anyone with no issues. Based off of this I believe there is something else that is causing issues since I should have had horrible experiences based on all the high pingers in the game.

    Oh no, vball is thinking of me. Just kidding.
    Here's the thing, the game is optimized so that everybody is supposed to get a gameplay experience right? I just feel when there are too many high ping players all with different wildly different pings in a server, whatever does the optimizing then has a harder time to make things smooth. My experience then playing with high ping players is not good. I'm not saying there is any advantage because many times I feel they are just as easy to kill.
    Do you remember once when I said to you that I don't need to top the leaderboards to have a great time in Battlefield , and that holds true today. But what I do want from Battlefield is consistent , quality gameplay . Not this crap that the majority of us are getting. And when we complain I don't think it's every game we're complaining about and that's part of the problem. This game rocks when all is good. Good just doesn't happen enough for me anymore.
    This game was wonderful for me after that spring patch. My k/d and score didn't go up mind you(cause I checked) but the gameplay was so smooth, I felt the difference instantly. But man has it went downhill from there. At least for me.
    You know what else is frustrating ? It's hearing that the game is fine for you and a handful of others. I'm not being a **** vball, but you poo poo away lots of what others are saying what is wrong with the game. Yes there are times when we are wrong about something , and you can see it when a video is looked at in slow motion. But lots of other times I don't think issues are explained away.
    Bottom line is I don't want to argue with you about this. You're knowledgeable about networking , I'm not. But I am a very observant person when it comes to visual and audio things. I can hear something or see something just a couple of times and then if something changes I'm pretty good at noticing this even if I can't vocalize what has changed.
    And that's my point with Battlefield at least from my point of view. I've enough times to feel when things are good and when things are bad, even if I can't actually pinpoint what exactly is off. Hope that makes sense. And most, not all times when gameplay is off, there are many high ping players in the server.
    Shoot, sorry this got so long but thanks for listening.

    I did see a clear increase in my KD after the spring patch. And most importantly the numbers where much more consistent!

    The 5-30 KD games was changed to 20-30.
    And it felt like I was fairly outplayed in those games.

    I can relate to your "feel of consistency" im like you in a way. Sounds, rhythm of impacts. Visual effects. It all gives us a feeling of what to expect. And when something is off, it feels inconsistent!
  • misisipiRivrRat
    803 postsMember, Battlefield 3, Battlefield 4, Battlefield, Battlefield 1, CTE, Battlefield V Member
    edited November 2017
    lizzard wrote: »
    VBALL_MVP wrote: »

    This should help in some aspects, yet it could confuse or highlight other aspects that aren't technically issues.

    Battlefields "netcode" is very complex, as it should be. Most of the complexity boils down to Projectile Physics and variant latencies amongst players. BF uses Projectile physics for all weapons, which by its nature requires a lower latency of all parties for quality "fair/balanced" game play. This need for low latency is do to the time delays inherent to projectiles with applied physics.

    When a shot is fired physics are applied. velocity, gravity, drag coefficient. These physics shape the path of the projectile down range in the 3D world space (simulation). Only when game logic determines there was a collision is arbitration run on the client side. If a hit is determined by the client arbitration a hit claim is sent to the server for validation.

    The server validates the hit by running its own arbitration on the travelled path of the fired projectile. To do this it must buffer into memory the entire game simulation from time the shot was fired (trigger time) up to the time of the supposed hit (collision).

    The buffer usually consists of the time frame from triggertime to datagram receival time. The length of the buffer varies based on latency of the hit claim.

    e.g.
    trigger time: 12:00:00:000
    receival time: 12:00:00:081
    Memory buffer length : 81ms

    Once the memory is buffered the server simulates the shot and runs raycasts for collision.

    The downside of projectile physics is the bullet travel time of the projectile. This BTT delay is a window of time that allows for more of the targets past (not known by the server at time of shot) inputs to be received and update the simulations game history.

    An example of this is as follows.
    You have a 30ms ping which equates to a 15ms Update Travel Time.
    A UTT is how long it takes your data to reach the server one way and vice versa. Client -> server (15ms UTT), Server -> client (15ms UTT).

    Your target John has a 200ms ping (100ms UTT). This means that every input command (WASD, jump, Fire etc) he enters takes 100ms to reach the server and update the simulation.

    Every client sends its buffered input commands to the server every 16.66ms. Your's reach the the server 15ms later, yet John's takes 100ms.

    You're in a 1 tick offset, while John is in a 6 tick offset.
    You're input is only 1 frame ahead of the servers simulation, while john is 6 frames ahead of the servers simulation.
    Your screens representation of John's position is based on what the server knows.
    So in this situation John's "real world" position (as seen on his screen) is 6 inputs/frames ahead of where you see him.

    So now you take a shot. It takes that bullet 65ms to reach John on your client simulation. Your client determines a hit and sends a hit claim to the server. The server receives it, buffers simulation history and runs the arbitration. The server determines a miss. Why?

    ((65ms BTT + 15ms UTT) / 16.66) = 4.801920768307323

    Four of John's old in route inputs were received by the server before your hit claim was received. These inputs updated his historical position in the servers simulation. Thus putting him in a different position than where you saw and shot.



    Hitscan shot/hit reg arbitration is instantaneous, because the "bullet" collides instantly when the weapon is fired. When the user provides trigger input (fire button) the game logic (client side) immediately arbitrates the shot. The outcome of that arbitration is known client side before the frame is rendered at which point it sends a hit claim to the server for validation of the hit. The only major delay is the shooters update trave time (UTT) of the hit claim datagram.

    The server would receive a 30ms shooters hit claim in 15ms. This isn't enough time for the target to get latent historical inputs registered before arbitration. Thus where you saw the player is what is arbitrated against.... A hit is ultimately the outcome.

    edit for Clarification/Distinction: CoD, CSGO, Destiny, Seige are Hitscan based games. The above mention of HS is to highlight the differences and why hitreg isn't an issue in those games or others that use hitscan.



    Hopefully this all makes sense. If anything needs to be clarified please don't hesitate to ask.


    Some really good info there and really interesting.

    You obviously have a really good understanding of these issues and hopefully can give me an answer/explanation in regards a few questions I have ( you seem really unbiased which is a breath of fresh air ).

    When I play on a server ( 24 person ), have the lowest latency ( usually at least 25 - 30 under the average ) and am getting no warning icons will in your opinion people with much higher latency have a detrimental effect on my game? Not necessarily an advantage but will it create strangeness in my game. I have a lot of times when I get what people call one shot now this could be from an LMG etc am not just talking snipers head shots etc. Its basically as if I have been spoted they fire on me but I am only getting it shown on my screen right before I die so no chance to take cover move etc. Also with regards various latencies what would you say is an optimal latency gap from lowest on server to highest? If someones say 30 and theres a few players 125+ would you say it will be a difference that can cause problems?

    I hope you get a answer from him or someone knowledgeable. I've posed similar questions in this very thread only to get no response. In my opinion when there are more than a few very high pings in a server things get weird. But it's only my opinion based only on my experience with the game.

    So a couple of days I thought of you. Was able to play in the morning since I have been off from work. I experienced four games in the morning and as you have stated in the past it was flooded with people over 100ms ping.

    The thing I didn't experience was anything screwy. It ran fine and was able to play and kill anyone with no issues. Based off of this I believe there is something else that is causing issues since I should have had horrible experiences based on all the high pingers in the game.

    Oh no, vball is thinking of me. Just kidding.
    Here's the thing, the game is optimized so that everybody is supposed to get a gameplay experience right? I just feel when there are too many high ping players all with different wildly different pings in a server, whatever does the optimizing then has a harder time to make things smooth. My experience then playing with high ping players is not good. I'm not saying there is any advantage because many times I feel they are just as easy to kill.
    Do you remember once when I said to you that I don't need to top the leaderboards to have a great time in Battlefield , and that holds true today. But what I do want from Battlefield is consistent , quality gameplay . Not this crap that the majority of us are getting. And when we complain I don't think it's every game we're complaining about and that's part of the problem. This game rocks when all is good. Good just doesn't happen enough for me anymore.
    This game was wonderful for me after that spring patch. My k/d and score didn't go up mind you(cause I checked) but the gameplay was so smooth, I felt the difference instantly. But man has it went downhill from there. At least for me.
    You know what else is frustrating ? It's hearing that the game is fine for you and a handful of others. I'm not being a **** vball, but you poo poo away lots of what others are saying what is wrong with the game. Yes there are times when we are wrong about something , and you can see it when a video is looked at in slow motion. But lots of other times I don't think issues are explained away.
    Bottom line is I don't want to argue with you about this. You're knowledgeable about networking , I'm not. But I am a very observant person when it comes to visual and audio things. I can hear something or see something just a couple of times and then if something changes I'm pretty good at noticing this even if I can't vocalize what has changed.
    And that's my point with Battlefield at least from my point of view. I've enough times to feel when things are good and when things are bad, even if I can't actually pinpoint what exactly is off. Hope that makes sense. And most, not all times when gameplay is off, there are many high ping players in the server.
    Shoot, sorry this got so long but thanks for listening.

    I did see a clear increase in my KD after the spring patch. And most importantly the numbers where much more consistent!

    The 5-30 KD games was changed to 20-30.
    And it felt like I was fairly outplayed in those games.

    I can relate to your "feel of consistency" im like you in a way. Sounds, rhythm of impacts. Visual effects. It all gives us a feeling of what to expect. And when something is off, it feels inconsistent!

    For sure. My k/d didn't change much but it did change. Again I don't view a high k/d game as being a good game, I want everything to feel right. Things don't feel right, haven't in awhile for me. That's why I've hardly played the game in weeks.The whole thing with the state of the game just really makes me tired at the moment. I'm not even excited when seeing the new maps coming and that's a first for me. Usually I can barely control my excitement for playing new maps. I check here daily , sometimes multiple times hoping to hear reports of changing things to how they were in the spring patch. What high hopes to have right? Nothings going to change. But still hold out hope to be proven wrong.
  • VBALL_MVP
    6177 postsMember, Battlefield 3, Battlefield 4, Battlefield Hardline, Battlefield, Battlefield 1, Battlefield V Member
    VBALL_MVP wrote: »

    This should help in some aspects, yet it could confuse or highlight other aspects that aren't technically issues.

    Battlefields "netcode" is very complex, as it should be. Most of the complexity boils down to Projectile Physics and variant latencies amongst players. BF uses Projectile physics for all weapons, which by its nature requires a lower latency of all parties for quality "fair/balanced" game play. This need for low latency is do to the time delays inherent to projectiles with applied physics.

    When a shot is fired physics are applied. velocity, gravity, drag coefficient. These physics shape the path of the projectile down range in the 3D world space (simulation). Only when game logic determines there was a collision is arbitration run on the client side. If a hit is determined by the client arbitration a hit claim is sent to the server for validation.

    The server validates the hit by running its own arbitration on the travelled path of the fired projectile. To do this it must buffer into memory the entire game simulation from time the shot was fired (trigger time) up to the time of the supposed hit (collision).

    The buffer usually consists of the time frame from triggertime to datagram receival time. The length of the buffer varies based on latency of the hit claim.

    e.g.
    trigger time: 12:00:00:000
    receival time: 12:00:00:081
    Memory buffer length : 81ms

    Once the memory is buffered the server simulates the shot and runs raycasts for collision.

    The downside of projectile physics is the bullet travel time of the projectile. This BTT delay is a window of time that allows for more of the targets past (not known by the server at time of shot) inputs to be received and update the simulations game history.

    An example of this is as follows.
    You have a 30ms ping which equates to a 15ms Update Travel Time.
    A UTT is how long it takes your data to reach the server one way and vice versa. Client -> server (15ms UTT), Server -> client (15ms UTT).

    Your target John has a 200ms ping (100ms UTT). This means that every input command (WASD, jump, Fire etc) he enters takes 100ms to reach the server and update the simulation.

    Every client sends its buffered input commands to the server every 16.66ms. Your's reach the the server 15ms later, yet John's takes 100ms.

    You're in a 1 tick offset, while John is in a 6 tick offset.
    You're input is only 1 frame ahead of the servers simulation, while john is 6 frames ahead of the servers simulation.
    Your screens representation of John's position is based on what the server knows.
    So in this situation John's "real world" position (as seen on his screen) is 6 inputs/frames ahead of where you see him.

    So now you take a shot. It takes that bullet 65ms to reach John on your client simulation. Your client determines a hit and sends a hit claim to the server. The server receives it, buffers simulation history and runs the arbitration. The server determines a miss. Why?

    ((65ms BTT + 15ms UTT) / 16.66) = 4.801920768307323

    Four of John's old in route inputs were received by the server before your hit claim was received. These inputs updated his historical position in the servers simulation. Thus putting him in a different position than where you saw and shot.



    Hitscan shot/hit reg arbitration is instantaneous, because the "bullet" collides instantly when the weapon is fired. When the user provides trigger input (fire button) the game logic (client side) immediately arbitrates the shot. The outcome of that arbitration is known client side before the frame is rendered at which point it sends a hit claim to the server for validation of the hit. The only major delay is the shooters update trave time (UTT) of the hit claim datagram.

    The server would receive a 30ms shooters hit claim in 15ms. This isn't enough time for the target to get latent historical inputs registered before arbitration. Thus where you saw the player is what is arbitrated against.... A hit is ultimately the outcome.

    edit for Clarification/Distinction: CoD, CSGO, Destiny, Seige are Hitscan based games. The above mention of HS is to highlight the differences and why hitreg isn't an issue in those games or others that use hitscan.



    Hopefully this all makes sense. If anything needs to be clarified please don't hesitate to ask.


    Some really good info there and really interesting.

    You obviously have a really good understanding of these issues and hopefully can give me an answer/explanation in regards a few questions I have ( you seem really unbiased which is a breath of fresh air ).

    When I play on a server ( 24 person ), have the lowest latency ( usually at least 25 - 30 under the average ) and am getting no warning icons will in your opinion people with much higher latency have a detrimental effect on my game? Not necessarily an advantage but will it create strangeness in my game. I have a lot of times when I get what people call one shot now this could be from an LMG etc am not just talking snipers head shots etc. Its basically as if I have been spoted they fire on me but I am only getting it shown on my screen right before I die so no chance to take cover move etc. Also with regards various latencies what would you say is an optimal latency gap from lowest on server to highest? If someones say 30 and theres a few players 125+ would you say it will be a difference that can cause problems?

    I hope you get a answer from him or someone knowledgeable. I've posed similar questions in this very thread only to get no response. In my opinion when there are more than a few very high pings in a server things get weird. But it's only my opinion based only on my experience with the game.

    So a couple of days I thought of you. Was able to play in the morning since I have been off from work. I experienced four games in the morning and as you have stated in the past it was flooded with people over 100ms ping.

    The thing I didn't experience was anything screwy. It ran fine and was able to play and kill anyone with no issues. Based off of this I believe there is something else that is causing issues since I should have had horrible experiences based on all the high pingers in the game.

    Oh no, vball is thinking of me. Just kidding.
    Here's the thing, the game is optimized so that everybody is supposed to get a gameplay experience right? I just feel when there are too many high ping players all with different wildly different pings in a server, whatever does the optimizing then has a harder time to make things smooth. My experience then playing with high ping players is not good. I'm not saying there is any advantage because many times I feel they are just as easy to kill.
    Do you remember once when I said to you that I don't need to top the leaderboards to have a great time in Battlefield , and that holds true today. But what I do want from Battlefield is consistent , quality gameplay . Not this crap that the majority of us are getting. And when we complain I don't think it's every game we're complaining about and that's part of the problem. This game rocks when all is good. Good just doesn't happen enough for me anymore.
    This game was wonderful for me after that spring patch. My k/d and score didn't go up mind you(cause I checked) but the gameplay was so smooth, I felt the difference instantly. But man has it went downhill from there. At least for me.
    You know what else is frustrating ? It's hearing that the game is fine for you and a handful of others. I'm not being a **** vball, but you poo poo away lots of what others are saying what is wrong with the game. Yes there are times when we are wrong about something , and you can see it when a video is looked at in slow motion. But lots of other times I don't think issues are explained away.
    Bottom line is I don't want to argue with you about this. You're knowledgeable about networking , I'm not. But I am a very observant person when it comes to visual and audio things. I can hear something or see something just a couple of times and then if something changes I'm pretty good at noticing this even if I can't vocalize what has changed.
    And that's my point with Battlefield at least from my point of view. I've enough times to feel when things are good and when things are bad, even if I can't actually pinpoint what exactly is off. Hope that makes sense. And most, not all times when gameplay is off, there are many high ping players in the server.
    Shoot, sorry this got so long but thanks for listening.

    That's fine, I never said there are not problems in the game. I want things that don't work to he fixed, the key is figuring out what needs to be fixed. All I am saying is that I thought you were exaggerating when you said the morning were full if high ping, and you were not. I got to experience it. What I didn't experience at all was bad game play. I know you and others think high ping destroys servers, but if that was the case that should have been consistently across all gamers. So something else has to be causing you issues.
  • CurvedTax769796
    145 postsMember, Battlefield, Battlefield 1 Member
    Can someone explain what the importance of the K/D ratio is? I don't even pay attention to it, I just play but when I'm playing Medic I do the job a Medic is supposed to do and not because I can use a " cool " gun. If I get shot and go down I check to see if a Medic is nearby as it's points for them and the squad/team. Same goes for the other classes. I've said before that the K/D ratio is meaningless as long as there are unlimited respawns. Unlimited respawns allows for throwing caution to the wind because you can always respawn
  • VBALL_MVP
    6177 postsMember, Battlefield 3, Battlefield 4, Battlefield Hardline, Battlefield, Battlefield 1, Battlefield V Member
    Can someone explain what the importance of the K/D ratio is? I don't even pay attention to it, I just play but when I'm playing Medic I do the job a Medic is supposed to do and not because I can use a " cool " gun. If I get shot and go down I check to see if a Medic is nearby as it's points for them and the squad/team. Same goes for the other classes. I've said before that the K/D ratio is meaningless as long as there are unlimited respawns. Unlimited respawns allows for throwing caution to the wind because you can always respawn

    It means nothing really. It's just a badge of honor to some if there K/D is high...in their view it means they are better since they don't die. In the past people used to use their KD as reason that their opinion mattered more but now since people's stats are not easily obtainable it now has just been for person Al gratification.

    Trust me, I have friends that have very low KDs but I will take them over someone with a 3.0KD since they are fun to squad with, play the objective, and are team oriented.
  • CurvedTax769796
    145 postsMember, Battlefield, Battlefield 1 Member
    Thanks vball. I agree with you 100%. Having fun is what it's about at least it's supposed to be. Seriousness gets in the way of fun and there are quite a few that take the game, and I repeat, game, way to seriously
  • VBALL_MVP
    6177 postsMember, Battlefield 3, Battlefield 4, Battlefield Hardline, Battlefield, Battlefield 1, Battlefield V Member
    Thanks vball. I agree with you 100%. Having fun is what it's about at least it's supposed to be. Seriousness gets in the way of fun and there are quite a few that take the game, and I repeat, game, way to seriously

    When do you usually play? @mmarkweII and I play with our clan buddies and night. You are more than welcome to join us. If you're in Europe @HuwJarz and his clan are very fun to squad up with.
  • CurvedTax769796
    145 postsMember, Battlefield, Battlefield 1 Member
    Funny you should ask as I had one who takes it seriously make a negative comment about me wanting to play without issue while my wife was away. Little does he know I'm in a position where I can do what I want when I want except play video games uninterrupted. My wife has to be gone to do that lol. I'm in the Northwest part of the US on Mountain Standard Time. I mainly play between 0400 and 0830 but also jump on whenever I get a chance, usually anywhere between 1300 and 1700. Not sure but I think mmarkwell has gotten me a couple of times as I do recognize that name
  • LeonReed123
    82 postsMember, Battlefield, Battlefield 1, CTE Member

    For sure. My k/d didn't change much but it did change. Again I don't view a high k/d game as being a good game, I want everything to feel right. Things don't feel right, haven't in awhile for me. That's why I've hardly played the game in weeks.The whole thing with the state of the game just really makes me tired at the moment. I'm not even excited when seeing the new maps coming and that's a first for me. Usually I can barely control my excitement for playing new maps. I check here daily , sometimes multiple times hoping to hear reports of changing things to how they were in the spring patch. What high hopes to have right? Nothings going to change. But still hold out hope to be proven wrong.

    With you regarding k/d sometimes a poor one could of been a great game if helping the team.

    Personally tonight I have left more games than I have finished. I mean when the games poor its really unplayable the few times for me it plays well its great.

    The entire game is just so unpredictable and unbalanced its not a finished product ffs would you buy a washing machine that chose its own speed at random. To have to constantly be bouncing onto different servers to find a game that just plays averagely fairly is just not acceptable. All the DLC does is deflect away from issues that are being ignored typical example go into the server lobby game says 23/24 go to join says in que so leave and yet server still says 23/24, whole industry really needs a good kick up the backside if a games not ready pull the release date.

  • digga11
    763 postsMember, Battlefield 3, Battlefield 4, Battlefield Hardline, Battlefield, Battlefield 1, CTE, Battlefield V Member

    For sure. My k/d didn't change much but it did change. Again I don't view a high k/d game as being a good game, I want everything to feel right. Things don't feel right, haven't in awhile for me. That's why I've hardly played the game in weeks.The whole thing with the state of the game just really makes me tired at the moment. I'm not even excited when seeing the new maps coming and that's a first for me. Usually I can barely control my excitement for playing new maps. I check here daily , sometimes multiple times hoping to hear reports of changing things to how they were in the spring patch. What high hopes to have right? Nothings going to change. But still hold out hope to be proven wrong.

    With you regarding k/d sometimes a poor one could of been a great game if helping the team.

    Personally tonight I have left more games than I have finished. I mean when the games poor its really unplayable the few times for me it plays well its great.

    The entire game is just so unpredictable and unbalanced its not a finished product ffs would you buy a washing machine that chose its own speed at random. To have to constantly be bouncing onto different servers to find a game that just plays averagely fairly is just not acceptable. All the DLC does is deflect away from issues that are being ignored typical example go into the server lobby game says 23/24 go to join says in que so leave and yet server still says 23/24, whole industry really needs a good kick up the backside if a games not ready pull the release date.

    The server player numbers is just bad especially with the quick match issue thrown in.
    Games not consistent at all and puts people off playing you’ve just got to take a look round social media for info.
  • CurvedTax769796
    145 postsMember, Battlefield, Battlefield 1 Member
    One thing I didn't mention because I didn't feel the need to was even though I disregard the K/D ratio I do manage to rather consistently make the highlights and be in the upper section of scoring by playing the class I believe as intended. When playing Medic I heal and revive my teammates without regard for my safety. That's my priority, doing what a Medic is supposed to do within reason and as such getting rewarded for it. My score doesn't matter as much as the team's does although I will admit there are times I do have to play selfishly because of the way some of the challenges are structured. I just do my best to find the balance and have fun

  • Rev0verDrive
    6722 postsMember, Battlefield 3, Battlefield 4, Battlefield, Battlefield 1, CTE Member
    @LeonReed123 @misisipiRivrRat
    Some really good info there and really interesting.

    You obviously have a really good understanding of these issues and hopefully can give me an answer/explanation in regards a few questions I have ( you seem really unbiased which is a breath of fresh air ).

    When I play on a server ( 24 person ), have the lowest latency ( usually at least 25 - 30 under the average ) and am getting no warning icons will in your opinion people with much higher latency have a detrimental effect on my game? Not necessarily an advantage but will it create strangeness in my game.

    I have a lot of times when I get what people call one shot now this could be from an LMG etc am not just talking snipers head shots etc. Its basically as if I have been spoted they fire on me but I am only getting it shown on my screen right before I die so no chance to take cover move etc.

    High latency isn't so much the problem when it comes to "server performance". Jitter and packet loss are more the issue in this regard.

    Jitter is the fluctuation of latency. All connections have jitter. There's low variance where the latency rarely changes, yet when it does it's only by a few ms, then it resettles back to it's normal base low. Then there's high variance latency in which the latency value is for the majority of the time always changing.

    e.g.
    Low variance (10 second interval) - 200ms base low
    200ms -> 200ms -> 200ms -> 200ms -> 200ms -> 205ms -> 200ms -> 200ms -> 200ms -> 200ms......... minimal/occasional low spiking

    High variance (10 second interval) - 30ms base low
    30ms -> 42ms -> 35ms -> 73ms -> 31ms -> 104ms -> 48ms -> 56ms -> 55ms -> 30ms etc........... constant variable spiking

    A "stable" latency of 200ms will not cause server issues, desync etc. A whole team of 200ms players won't do that either. The only issues you'll run into hitreg wise in this scenario are the norm death/hits behind cover (delayed damage receival), hits not registering (HP advantage), players warping at times (interpolation correction).

    Introduce a few high variance connections and the wtf oddities intensify.
    • increased number of death/hits behind cover
    • increased number of hits not registering
    • increased rubberbanding, warping
    • 1 hit kills (bundled damage)
    • server wide desync
    • hackusations galore

    Now in respect to very high "stable" connections (300ms +) there starts to be a problem with general offset. The latency differences alone (30 vs 300) start affecting general game play. More accurately the tick offset. ((latency / 2) / 16.66) = tick offset. A 30ms player is in a 1 tick offset which is the lowest you can be. A 300ms has an offset of 9 ticks. You can equate a tick as a frame.

    Realistically speaking you'll probably never come across a "stable" 200ms or higher connection. The further the distance to the server, the higher chances of datagram fragmentation. Fragmentation == loss => increased jitter
    Also with regards various latencies what would you say is an optimal latency gap from lowest on server to highest?

    In my opinion the optimal setup would be all player with 0-1% loss, 0-0.5% variance. Latency would max at a 3 tick offset (99.96ms). 30ms or lower for 1 tick offset.

    Thus the initial 100ms HP threshold.
    If someones say 30 and theres a few players 125+ would you say it will be a difference that can cause problems?
    The collective sum of jitter and packet loss across all connections determines the overall performance.
  • CurvedTax769796
    145 postsMember, Battlefield, Battlefield 1 Member
    More great information. If not mistaken, that would explain why I sometimes see the skull and crossbones flickering or as you said jittering?
  • Rev0verDrive
    6722 postsMember, Battlefield 3, Battlefield 4, Battlefield, Battlefield 1, CTE Member
    More great information. If not mistaken, that would explain why I sometimes see the skull and crossbones flickering or as you said jittering?

    "Latency Jitter" only pertains to the fluctuation of latency.

    "Screen jitter" is a client-side processing issue (CPU or GPU).... screen tearing/flickering.
    • If the CPU cannot process the packet (server tick update) fast enough
    • if the GPU cannot render the frame fast enough
    • if the GPU is trying to output 100 FPS when it only supports 60 FPS (monitor refresh rate HZ dictates max renderable FPS)
    • If you're cycling from 60Hz to 30Hz client receive rates. The game client will lower the receive rate to 30Hz if you drop below 60FPS. If you're constantly dipping below 60 and then back up you will in fact cycle between these 2 receive rates.

    When you do get pushed to the 30Hz receive rate you may see a interpolation change (small warp) for the first few frames. This is because you are now only receiving an update from the server every 33.33ms vs 16.66ms.
  • CurvedTax769796
    145 postsMember, Battlefield, Battlefield 1 Member
    This is getting so interesting even at my age I might have to go back to school for some education in these things. Fascinating.
  • Rev0verDrive
    6722 postsMember, Battlefield 3, Battlefield 4, Battlefield, Battlefield 1, CTE Member
    edited November 2017
    This is getting so interesting even at my age I might have to go back to school for some education in these things. Fascinating.

    It's fascinating when only thinking about one element or layer. When you start looking at the big picture it gets frustratingly complex. Even moreso when you try to explain it in layman's terms to a non coding audience.
  • VBALL_MVP
    6177 postsMember, Battlefield 3, Battlefield 4, Battlefield Hardline, Battlefield, Battlefield 1, Battlefield V Member
    More great information. If not mistaken, that would explain why I sometimes see the skull and crossbones flickering or as you said jittering?

    No the flickering crossbones means the player is holding the "skip to spawn" button. Basically saying don't try to revive this guy cause you don't make it in time.
  • CurvedTax769796
    145 postsMember, Battlefield, Battlefield 1 Member
    edited November 2017
    Thanks to all. This is becoming a wealth of information and also helping me to understand the nuances resulting in far less frustration while playing
  • LeonReed123
    82 postsMember, Battlefield, Battlefield 1, CTE Member

    High latency isn't so much the problem when it comes to "server performance". Jitter and packet loss are more the issue in this regard.

    Jitter is the fluctuation of latency. All connections have jitter. There's low variance where the latency rarely changes, yet when it does it's only by a few ms, then it resettles back to it's normal base low. Then there's high variance latency in which the latency value is for the majority of the time always changing.

    e.g.
    Low variance (10 second interval) - 200ms base low
    200ms -> 200ms -> 200ms -> 200ms -> 200ms -> 205ms -> 200ms -> 200ms -> 200ms -> 200ms......... minimal/occasional low spiking

    High variance (10 second interval) - 30ms base low
    30ms -> 42ms -> 35ms -> 73ms -> 31ms -> 104ms -> 48ms -> 56ms -> 55ms -> 30ms etc........... constant variable spiking

    A "stable" latency of 200ms will not cause server issues, desync etc. A whole team of 200ms players won't do that either. The only issues you'll run into hitreg wise in this scenario are the norm death/hits behind cover (delayed damage receival), hits not registering (HP advantage), players warping at times (interpolation correction).

    Introduce a few high variance connections and the wtf oddities intensify.
    • increased number of death/hits behind cover
    • increased number of hits not registering
    • increased rubberbanding, warping
    • 1 hit kills (bundled damage)
    • server wide desync
    • hackusations galore

    Now in respect to very high "stable" connections (300ms +) there starts to be a problem with general offset. The latency differences alone (30 vs 300) start affecting general game play. More accurately the tick offset. ((latency / 2) / 16.66) = tick offset. A 30ms player is in a 1 tick offset which is the lowest you can be. A 300ms has an offset of 9 ticks. You can equate a tick as a frame.

    Realistically speaking you'll probably never come across a "stable" 200ms or higher connection. The further the distance to the server, the higher chances of datagram fragmentation. Fragmentation == loss => increased jitter
    Also with regards various latencies what would you say is an optimal latency gap from lowest on server to highest?

    In my opinion the optimal setup would be all player with 0-1% loss, 0-0.5% variance. Latency would max at a 3 tick offset (99.96ms). 30ms or lower for 1 tick offset.

    Thus the initial 100ms HP threshold.
    If someones say 30 and theres a few players 125+ would you say it will be a difference that can cause problems?
    The collective sum of jitter and packet loss across all connections determines the overall performance.

    Thanks for the reply had to reread a few times to get my head around it but I may be there somewhat.

    Basically a number of players with high latency will give a few as you call them the norm issues but its when you add in high variance connections ( regardless of latency ? ) that the wtf oddities start.

    For a decent game it what be optimal to have all players latency between 30 - 100 ( or a range so all within 3 ticks ) and if possible all with low variance. I did watch some of the latencies on the scoreboard and the higher ones seem to jump in larger gaps than the lower ones.

    Taking the above into account then why isnt the following being implemented within the game:

    Latency tick brackets to keep all players within 3 ticks based on their average.

    Not sure if this ones possible or if its done within the gaming industry but cant low/high variance be separated to some kind of level within the game?

    Would like to think if your playing with a low latency and a fairly low stable variance then why should your experience be ruined by being placed on a server with people at the other end of the scale.


Sign In or Register to comment.