Battlefield V Netcode Issues Tested & Explained

Hi my name is Chris and this is Battle(non)sense Today I finally have an in depth netcode analysis
of Battlefield V for you And I am also able to provide some insight
into the Time To Death issue or
why players feel that they die too fast. The fact that you cannot rent your own Battlefield
V server and that players are unable to switch teams
made it impossible for me to do a netcode analysis for this game
as my test players constantly got killed not matter where I tried to do my tests on
the various maps. But thanks to Florian Le Bihan
and many others at DICE who really want to get those issues fixed that Battlefield V
is suffering from right now. I got the chance to do a quite insane number
of tests over 3 days including a really big test
where with the help of the Battlefield community we filled the server with 64 players
to see how that would affect my test cases. So, let’s begin by taking a look at the
servers. The PC servers of Battlefield V run at a tickrate
of 60Hz in all game modes While the console servers run at 30Hz. DICE is looking into increasing the tickrate
on console for smaller game modes. But I could sadly not get them to tell me
if players can expect more than 30Hz in game modes where you have 64 players on
a server. Another thing that I’d really like to see
happen on console is that just like in Fortnite
the console player base does not get split between Xbox and PlayStation anymore.
Which would mean that matchmaking times get a lot shorter. Speaking about that.
Many players wonder why it can sometimes take quite long to get into a match. Reason behind this is that the matchmaker
looks for a server where players mostly match your skill And it tries to get you on a server where
the match is about to begin, rather than place you on a server where the
round is nearly over. As you can imagine,
this gets trickier the more friends you want to join a server with. Here it is also important to know that using
the server browser to join a server isn’t something that you are meant to do
in Battlefield V, because the matchmaker spawns and kills game
sever instances on demand. This is why you will hardly find any empty,
or half full servers inside the Server browser. Currently Battlefield V uses amazons AWS cloud
service to provide game servers in Europe Asia
Oceania North as well as South America. In addition to AWS,
DICE also used i3d to provide servers in regions where amazon does not have any data centers
yet. During my tests I’ve seen i3d host Battlefield
V servers in Dubai and Johannesburg in South Africa. Now, when I do a netcode analysis for a multiplayer
game then I usually must complain about missing network performance icons
the scoreboard not showing ping values the lack of a network graph
and that players get hit far behind cover even when they have a low ping to the game
server. Like Battlefield 4 and Battlefield 1
Battlefield V has network performance icons which will show up when you have a too high
ping an unstable ping, which is much more of an
issue than a high but stable ping Packet loss, which means that some of the
data packets disappear between the server and your client
Or, when your frame rate drops below the tickrate of the server,
which will also reduce the rate at which you get data from the server,
but more about that in a minute. There is also an icon that will show up when
the server has a performance issue, which you will usually see at the end of the
round but that is normal and no reason to be concerned
about. These icons also come in different colors,
where orange means that it is really bad and your experience will suffer a lot as a
result. When you go to the advanced gameplay options
then you can also enable the Network Graph which provides a ton of information
that can be used to find out why you are experiencing a certain issue. In here you can find out the tickrate that
the server is running at, As well as the Server Tick Time
which is driving the server performance icon. If you have watched my Netcode 101 video
then you know that it’s not only important that the game server runs at a high tick rate
it is also important that it finishes a tick as fast as possible. At a tickrate of 60Hz
there are 16.66ms between 2 simulation steps. At the start of a tick
the server will process the data it received run its simulation
and then send an answer to all the game clients. The faster it finishes a tick
the sooner the clients get an answer which means less delay. The Server Tick Time tells us how long the
server needs to finish a tick. And at a tickrate of 60Hz it must stay below
16ms or otherwise the server will not be able to
do 60 simulations per second. Then we have Latency. This value here can differ from your ping
to the game server as it is based on the game data that is sent
and received between the game client and the game server. However, unlike other games
it does not include the processing delays of the game client
and so, it is unaffected by the frame rate that the client is running at. Network Variation tells you how stable your
ping or latency is. When your ping is constantly changing
then this is a lot worse than a high but stable ping
as the server must constantly readjust to your every changing latency. The Packet loss value is a combination of
the inbound and outbound packet loss.
I’d really wish that DICE would again provide separate values for these
as that would be very useful when you try to debug a connection. Then we have the Extrapolation Offset
which does not drive any performance icon. This value tells us how much the simulation
of the client differs from the simulation done by the server. At 30Hz you are fine as long as this value
stays below 40ms while at 60Hz the limit is 20ms.
Higher values are not good, but what is really bad is when you see negative
numbers here. What can cause bad values
are stability problems with your internet connection
like a high Network Variation value, which can be the result of a bandwidth issue
caused by network congestion or buffer bloat. In the description down below,
you can find a link to a video where I explain how you can find out if you are suffering
from the effects of buffer bloat and what you can do to fix it. Another issue that can affect the Extrapolation
Offset is a fluctuating framerate where client stalls or freezes are especially
bad. Next is the downstream bandwidth in kilobits
per second which tells you how much bandwidth the game
client currently uses. Then there is the Receive Rate. This tells you how many updates per second
you receive from the server. This value is usually the same as the Tick
Rate. However, when your Frame Rate drops below
49 FPS then your receive rate will be reduced to
30Hz because,
for your system to get the most out of 60Hz it must also be able to display at least 60
frames per second. This is also why you see the low FPS warning
icon when your frame rate gets too low. Also, when your internet connection isn’t
able to handle 60 updates per second, then the server will reduce the rate at which
you receive data. However, the server will increase its send
rate again as soon as your frame rate or bandwidth recovers.
So, you don’t get permanently locked to a lower receive rate
once you experience an issue. Then we have 3 values that did cause a lot
of confusion during the Battlefield 4 days because many players frankly had no clue how
to read them. Client Fired shows the number of bullets that
you fired Client Hit tells you how many times your client
registered a hit And Server Hit shows how many times the server
told your client that you dealt damage to an enemy. Just like Battlefield 4 and Battlefield 1
Battlefield V uses a client side, server authoritative hit registration. This means that when you shoot at an enemy
then your client tries to figure out if you hit something
and if you did then this will result in a Client Hit,
but you won’t see a hitmarker or any other kind of hit confirmation
unless the server confirms that you hit something which will increase the Server Hit value in
the network graph. Now the reason why players misinterpret the
hit information in the network graph is that when you get a Client Hit
then you do not necessarily get a Server Hit and vice versa. Like explosives or shotguns can create more
than one Server Hit. And when you fire at a tank with your SMG
then this will give you a Client Hit but no server hit
because you did not deal any damage. So, when you see that the Client Hit value
differs from the Server Hit value then this does not necessarily mean that there
is a netcode issue. To mitigate the issue of players receiving
damage behind cover DICE introduced a feature in Battlefield 1
that caused the players hit registration to change from client side, server authoritative
to fully server side as soon as he had a ping of more than 150ms
in Battlefield V the limit is 160ms In Battlefield 1 the player was made aware
of that by this icon in the top right corner,
so, when that icon showed up the player knew that he now had to lead his
shot to compensate for his high ping. This effectively limits how far behind cover
a player with a low ping will receive damage. So, when the shooter has a latency of less
than 160ms then he does not have to lead his aim
and the Hit Client as well the Hit Server values
will increase by one when he hits an enemy player. As soon as the shooter has a ping of more
than 160ms he gets moved to the server side hit registration
which you can see inside the network graph as now only the Hit Server value increases
by one. The reason why he does not have to lead his
shot yet is that the server still compensates 160ms
of latency. Once the shooter has a ping of 340ms
he must lead his shot to compensate for those additional 180ms
not for the entire 340ms. Now, in Battlefield V we have several issues. Number one
the aim lead indicator does not show up in the top right corner. And number two
at a latency of 230ms the shooter does not have to lead his aim
at all as you can see in this example here. Which is not good. Now in my opinion
players should already get moved to the server side hit registration
when they have a latency of more than 120ms to properly mitigate the issue of receiving
damage far behind cover. Another thing that I want to show you
is the issue where you receive damage from a player
after you killed that player. In this example here,
we have one player with a latency of 17ms and another with 450ms
just to show you how bad things can get in Battlefield V. In this test I pressed the left mouse button
of both players at the same time which means that the shot fired by the 17ms
player arrived at the server long before the shot
fired by the 450ms player. So even though the server knows that there
is a major time difference between these two players
it still applies the damage to the 17ms player. Now you can make the argument that the shots
were fired at the same time and thus, it is fair to have both shots deal
damage. And I do agree with that.
except that in this case here the damage arrives with such a long delay
that it does not make sense anymore to apply that damage
as it creates the impression that the game is broken. What you can also see in this clip here
is that the damage indicator can’t always be trusted
as it points in the wrong direction. This is a very bad bug
as you will end up looking in the wrong direction when you get shot at. Other things that I noticed during my tests
are that players can sometimes be stuck in the gunfire animation weapon models are sometimes missing parts And tracers do very strange things. Now let’s talk about the Time To Kill and
the Time To Death The TTK or Time To Kill
is the time that you need to kill an enemy player So, the time between firing your gun
and receiving the kill hit marker or the kill confirmation. The TTD or Time To Death on the other hand
is the time between receiving the first and the last shot which reduced your health
to 0. Now, why do many players feel that they die
too fast. When this happens to me
then I always look at my recorded gameplay footage. And 9 out of 10 times I will then find out
that I wasn’t at 100% health, which is why I died so fast. Or I see that there was a second enemy who
also shot at me. It can also happen that the first shot hit
my head and so, it took very few additional hits to
my body to take me down. When this happens then you won’t see the
headshot icon inside the kill card as that only shows up when you get killed
by a headshot. In my opinion, the kill card is the single
most useless and confusing element in this game. DICE must replace that with a proper Damage
Log like I showed in my design concept. Which will fully explain how you just died
and so, prevent a lot of confusion and frustration among players. In the description down below,
you can find a link to a video where I explain in detail how this could work. So, the fact that the game does a very poor
job at explaining how you got killed is a big factor behind why players feel that
they die a lot faster than they can kill other players. But there is more to that. So, to test the Time To Kill and the Time
To Death I ensured that the shooter had just enough
rounds in his magazine to kill another player Then I had him fire at that player
from the same distance at full auto
over and over and over again using different guns
and different network conditions when the server was empty and then again when the server was full. So, as I said, the TTK as perceived by the
shooter is the time between the gunfire and the kill
hitmarker showing up on his monitor. Now here is the thing that most players don’t
seem to understand. The hit marker only shows up
after the server confirmed that you hit that player. So, if you play at a ping of 16ms
then the delay between firing your gun and having the first hit marker show up on
your monitor will be shorter
than when you play at a ping of 75ms. So, the TTK or Time To Kill
will always feel longer than the Time To Death because the perceived TTK is affected by your
ping to the server. That said,
when I measured the delay between firing my gun and the first hitmarker
I noticed that this delay is not only a bit too long, it is also inconsistent. I’m sure that DICE can bring that delay
down by further optimizing the netcode
as well as the rendering of the user interface where they should really think about how much
delay is caused by the fade-in effect of the animation used for the damage text and the
icons. So, the delay between the gunfire and the
first hitmarker could be shorter, And more consistent
and the Time To Kill as perceived by the shooter is affected by his ping to the server. Now, lets compare the Time To Death
to the time between the first hitmarker and the kill hitmarker or the kill confirmation. Here we can now clearly see that under ideal
network conditions these are an almost perfect match. So, under ideal network conditions,
and when we ignore the ping of the shooter, the Time To Death
almost exactly matches the Time To Kill. My tests also showed that this is not affected
by how many players are on the server or which gun I used in my tests. The time between the first hitmarker and the
kill confirmation was always the same as the time between receiving
the first shot and the last one that killed the player. So that is pretty good news
as it would be horrible if we would see issues under ideal network conditions. Also good is that when I had the shooter suffer
from packet loss, then even at unrealistically high values
this did not lead to super bullets where the other player would then receive
the damage of multiple shots in a single update. However, what causes this issue
is when the shooter suffers from Network Variation, or an unstable ping. When this happens then it will trigger supper
bullets, that can effectively cut the Time to Death
in half as you can see here. So, players who have internet connection issues
cause that you receive damage behind cover that you receive damage from a player after
you killed him and that your Time To Death might be unusually
short. Which is unacceptable. That said,
It is not always the faiult of the player who shot you.
When the player on the receiving end suffers from packet loss or network variation
then both can also cause these issues even when these network issues are so minor
that they do not trigger the network performance icons. This means that should you suffer from in
example constant packet loss of less than 2 percent
then you will not get a warning icon. But should a packet containing damage not
reach your client, then the server will send that damage again
and so you might get the damage of multiple hits in one update
because you suffer from minor packet loss. That is just the nature of playing games over
the internet, but I think that maybe DICE should adjust
the values that trigger the network performance icons, as in Battlefield 1 you did get the
yellow packet loss indicator as soon as you lost more than 1% of the packets
where now in Battlefield V you must lose 2% or more to get the icon. So, this is what I could find out about the
Time To Kill and the Time To Death in my tests which were done when the server was empty
as well as when there were 64 players on the server. That said,
I suspect that there are also other issues hidden inside the code
which can cause that you die too quickly – but did these did not surface in my tests.
So that is something that the developers at DICE must keep in mind and investigate as
well. Now before we jump to the results of my network
delay tests let’s quickly take a look at how much bandwidth
you need to play Battlefield V at 60Hz
on a 64player server As you can see here,
Battlefield V needs a fair amount of up- and downstream bandwidth.
But if your internet connection could handle Battlefield 1
then Battlefield V will work just fine. Now, how much lag are 2 players affected by
when they play Battlefield V on the same server at the same ping. When I tested Battlefield 1 on a full 64 player
server and at a player ping of 25ms
I measured an average damage delay of 52ms An average gunfire delay of 60ms
And an average player movement delay of 65ms When I did my tests in Battlefield V
both of my test players had a ping of 16ms so 9ms less than when I tested Battlefield
1. So, I expected that the results from my first
network delay tests would be a lot shorter
because they were done at lower pings and while the server was empty.
Sadly, this was not the case which foreshadowed what would happen once
there were 64 players on the server. So, compared to the results from Battlefield
1, which I also tested while there were 64 players
on the server. The network performance is indeed worse in
Battlefield V which contributes to many of the issues like
the delayed hit registration receiving damage from players after you killed
them receiving damage behind cover
and that the delay between firing your gun and receiving the first hit marker is too
long. This means that DICE must optimize the server
and game client of Battlefield V as soon as possible
as these results show that the netcode did in fact get worse during the development of
Battlefield V. So, last week I already shared the results
of my tests with DICE and they are eager to get these,
and more issues fixed as soon as possible which I think should be obvious as they invited
me to do these test. Now we must wait and see how fast they can
implement performance optimizations and fixes for the netcode speed up the user interface so that there
is less delay for the hitmarker and the damage texts as well as improve how the game explains to
the player how he just died where I really hope that we will see something
along the lines of my Damage Log design concept. So as always,
keep an eye on my channel as I will keep you up to date on the changes
that the developers are working on, and you can be sure that I will put these
fixes and improvements to the test to figure out if they actually work. If you enjoyed this in depth netcode analysis
of Battlefield V and like the content that I release on my
channel, then I would be very grateful if you could
support me on patreon. Without the awesome support that I get from
my patrons Battle(non)sense would simply not exists anymore. So you can find a link to my Patreon in the
description down below where you will also find links to my social
accounts in case that you want to stay up to date on
the videos that I am working on. So, if you enjoyed this video then please
give it a like subscribe for more and I hope to see you next
time! Until then,
have a nice day and take care, my name is Chris
and this was Battle(non)sense

36 thoughts on “Battlefield V Netcode Issues Tested & Explained

  1. Hi Chris, awesome channel. Learning so much. Any chance of a netcode analysis on the free to play game Planetside 2? Cheers!

  2. server side hit reg at over 120 will kill player numbers alot of people from africa, north america and middle east help fill eu servers when player numbers are low like in bf4 right now

  3. dice wanted to steal players from CoD so whae they did? bf 5..its cod with different name..that means..cancer cheaters in 2 out of 5 games

  4. Hello Battlenonsense, could you please do an input lag test of RTSS's new Scanline Sync? It's the best v-sync ever for people who don't own synced monitors! It looks just as smooth as v-sync. It only requires slightly over 60fps, unlike Fast-Sync which requires 180+fps. But supposedly it introduces only 10ms of lag, like Fast-Sync. It fixes the tearing point to the bottom of the screen, so there IS still tearing, you just never see it unless you look hard, because it's right at the last row of pixels.

  5. Genau das ist der grund wieso BF4 mein letzter Titel von EA war. Sie bekommes es einfach nicht hin, oder wollen es nicht. Diese Netcode Geschichte zieht sich nun schon seit BF3 durch jeden Teil durch und was hat EA daran geändert. Gar nichts. Ich kann nur jeden mein beileid aussprechen der sich immer und immer wieder einen BF teil holt und jedes mal wieder die gleichen probleme vor findet.

  6. Dear battle nonsense would you be able to do a video on overwatches netcode as recently their servers are having huuuuuge connection issues in NA and blizzard is ignoring people and saying everyones isp is to blame and not them sometimes the game is near unplayable

  7. They really need to fix the client side hit registration. I played BFV where this one person had constant 154 to 157 ms latency. And when his KD ratio is over the top and they way he can run around corner and instantly kills you it makes it very suspicious. I guess he uses a simple program to delay the outgoing network tracking. This can result in a latency of incomming packages from server to stay they same (random number 20 ms) while outgoing packages can be set to 135 ms latency and still have a total ping of less then 160 ms for the sake of the server.

    Suspicious account on Origin: Tommyaustion

  8. Battle(Non)Sense, is it possible for you to do a netcode analysis of Smash Ultimate on the Switch? A lot of fans are calling for better online play since its launch and were hoping for the netcode to be improved since Smash 4 (a lot of people were also hoping it would be addressed in the recent 2.0.0 patch but it wasn't). Some of the biggest issues of it is, of course, lag, but I want to know exactly what kind of lag is leading to a bad playing experience: is it a low tick rate, is it poor peer-to-peer syncing, what's going on and what could the Smash developers look at for improvements?

  9. Can you do this test again with the new netcode, but add a test with a PS4 with ping under 10ms too?

    Lots of complaints of console players with ping under 15ms since the last update.

  10. It's odd that at the same time, all battlefields are impacted by this netcode problem.

    At the time on BF4 even with CTE servers, after 4 years, they never rectified the problem.

  11. daniel richardson
    So glad there’s a Battlefield YouTuber that does what you do, because it’s so fascinating to see the more technical side to these games and issues.
    Keep up the great work Chris Battle(non)sense. 👍

  12. Hey, thx for your nice and informative video.
    I heard that Dice has fixed some NETCode issues in the last update. Can you confirm this or will you produce a video about this? I'm looking forward to new information from you.
    Anyway I feel like BFV is developing in the right direction. They just should concentrate more on MP and not on CoOp or other things.

    Greetings from Germany and have a nice day. 🙂

  13. I play this on ps4 and i gotta say it's one of the few games where i never feel like i'm dealing with lag and net code shenanigans. WHen i aim at an enemy and they're in my crosshair and i lead them properly for their distance i hit them, when i see somebody got the drop on me and pulled the trigger just a bit sooner and i'll lose the firefight i lose it.

  14. Chris you are the man…. all this symbol jargon on the right side of the screen all makes sense now I used to just think red and high numbers are bad and yellow is good but now they have a clear meaning

  15. Thank you Chris. 137 ms was the minimum ping i got due to my geographical location and now Dice reduced the limit to 120 ms. Thank you for destroying my game

  16. you make some great video's! Can you please do a update on the netcode of Battlefield V firestorm. Think this battle royale has the worst netcode but would love to see you're findings

  17. Ping Limiter on the Server. Sry for all ppl with bad connections but all others should not deal with several issue result from a higher ping.

  18. Hello,
    could you please help me. I didn't know If it is the main issue but I have a good connection but often a differenze in tickrate. It shows some times 1000ms. I play with a edgerouter. Is there a explanation for this?

  19. over 4 months and i still get killed very far around corners constantly. I swear dice thinks it a feature since BF3. Used to be people with high ping got fucked on old school FPS now everyone gets fucked

  20. Thank you very much Chris. I now realize that I have considered many players as cheating when, in fact, it turns out that most of it may be due to the game's crappy netcode optimization. It was very disheartening to realize that I can suffer in-game because the shooter has network issues. It seems almost that having better equipment and better internet service doesn't in any way guarantee that a user will have a better experience in-game. Thanks for your hard work….and yes, might hit indicator always points in the wrong direction and it gets me killed a lot. Also, the fact that this video is five months old and all of these issues are still very much effecting game play means Dice isn't all that worried about spending the money to fix it, sadly.

  21. I still suffer from dying behind cover and shoot first die first. My bufferbloat tester all A's am I ping is always steady at 17. After they adjusted the net could supposedly for firestorm nothing has felt right. Hope to see you revisit Battlefield 5 for another test. As always Chris good job

  22. Can you explain why when I was playing with a clan mate he could feel the bullets hitting him but he was taking no damage when we were on different teams. That can not be explained in any of the video's.

Leave a Reply

Your email address will not be published. Required fields are marked *