4 years ago
Server tickrate
It may seem strange, but why even in advancing modes by EA in 16v16 or 32v32 is the same 45Hz tick rate used (not 60 or higher)? Okay, maybe in 128 player modes this worked very badly and increased t...
The fundamental point missing in this conversation is cloud computing. No, I don't mean something like the Nvidia Geforce Now, Google Stadia, or Xbox Cloud Gaming. And this is why I think EA will not allow private rental servers like they did in BF3/4 days.
In BF1, 5, and now 2042, if you attempt to join a game through matchmaking, and after some time, you are pulled into an empty server. That server was spun up on a cloud server that isn't hosted by anyone other than a virtual server on a cluster somewhere in your region and then began seeding to other would-be players looking for a game through matchmaking. I assume Portal works the same way but you are able to manage some of the game play options available. I've only briefly tested creating servers in BF5 and you basically use a template and make some gameplay changes before you start. You can save this template and re-create a game server with the same settings over and over again but will still be hosted by EA on their servers, never a private server. Server persistence depends on the last player who, upon leaving, "turns the lights off on their way out", shutting down the server.
The tick rate is still kind of a mystery for me. While I think the tick rate has a set maximum rate, I wonder if this is set depending on which client starts/creates the server. Are console servers always a lower tick rate vs. pcs? If so, that would imply that console servers are unable to tolerate anything higher than that without robbing the much needed overhead and resources of the console that created the server. I recall the days in other multiplayer games, if the person that created the game, left the game, server migration would need to happen before the game could resume. That's client side servers.
Let's talk about Virtual Machines (VM). So you jump into BF2042 and hit that beautiful PLAY button. You matchmake for a bit and then start a game and sit at the Looking for Players screen for a bit. You jump into the server only to see bots... bots everywhere. Congrats, you just atomically created a virtual server hosting a BF2042 multiplayer game. The same happens when you play solo or co-op. Unless EA is using an Elastic cloud infrastructure, the cpu cycles will always be limited by the virtual machine (VM) creation parameters as not to steal cycles and resources from other VMs hosting other BF game servers or even unrelated services on the same server cluster. No, you do not create a game on your pc or console, you ask EA to spin up a VM to host a virtual game server that only you or the people you allow to join. Even these solo or co-op games can suffer from network latency, packet loss, and disconnects/interruptions. I imagine that these solo/co-op games are also limited in tick rate as the VM parameters would be the same.
Why did they do this, not sure but I feel it has more to do with a business model of pushing a title out as fast as possible and then patch/fix until the next iteration is ready to go. Gotta get that up-front prepurchase buy. Also, cloud computing and the several different types of cloud infrastructure can be very expensive. Being cheap and "robbing" players for max profit's isn't going to be the case. Didn't they say that the BF franchise was around 10% of their portfolio? Yeah, it's not a money maker, especially now. Look no further than Apex Legends as their cash cow and that game runs and is supported well. What tick rate are the Apex servers running at?
Hi @Dont_Qwit ,
It may come as a surprise to you and others, but the Apex Legend servers are running just at a measly low 20Hz tick rate.
I just shared above in the thread that BF2042 runs 45Hz. As reference, then other games like CS:GO run at a 64Hz tick rate and Riot Games' VALORANT offers a 128 Hz tick rate...
With Apex Legends, some of the leadership and tech folks did also come out to explain their reasoning for such a low tick rate and also admitted that they actually catered more to the 'less than perfect line' connected players, by also in Apex compensating high ping players for their delays and that the low ping players actually are then factually the ones suffering from this as a result in the gameplay and exchanges they have when facing such high ping players in the game.
An EA Apex techie wrote a good informative article about this subject a while back, which to great extend is also valid in similar fashion for the Battlefield games and their netcode/hit registration mechanics. So definitely worth a read to understand EA's position on this subject.
Personally I am playing with a near perfect line quality and very low latency. So I can unfortunately only be upset with the way this article has been written and the way the catering to the poor connected players is done by EA, as they write it as that is how it is becoming most fair to all the players in the game.
How so, I must ask?
As to me, it is absolutely not fair that I 24/7 is constantly not getting any hit markers despite right on target of (high ping) enemy soldiers, and experience repeatedly how they kill me long after I am behind cover. And I am the one caring to connect while using a good proper internet line for FPS gaming. Go figure...
EA Developer's article on Apex Legends, their server tick rate and netcode:
What Makes Apex Tick: A Developer Deep Dive into Servers and Netcode (ea.com)
@CyberDyme wrote:Hi @Dont_Qwit ,
It may come as a surprise to you and others, but the Apex Legend servers are running just at a measly low 20Hz tick rate.
I just shared above in the thread that BF2042 runs 45Hz. As reference, then other games like CS:GO run at a 64Hz tick rate and Riot Games' VALORANT offers a 128 Hz tick rate...
With Apex Legends, some of the leadership and tech folks did also come out to explain their reasoning for such a low tick rate and also admitted that they actually catered more to the 'less than perfect line' connected players, by also in Apex compensating high ping players for their delays and that the low ping players actually are then factually the ones suffering from this as a result in the gameplay and exchanges they have when facing such high ping players in the game.
An EA Apex techie wrote a good informative article about this subject a while back, which to great extend is also valid in similar fashion for the Battlefield games and their netcode/hit registration mechanics. So definitely worth a read to understand EA's position on this subject.
Personally I am playing with a near perfect line quality and very low latency. So I can unfortunately only be upset with the way this article has been written and the way the catering to the poor connected players is done by EA, as they write it as that is how it is becoming most fair to all the players in the game.
How so, I must ask?
As to me, it is absolutely not fair that I 24/7 is constantly not getting any hit markers despite right on target of (high ping) enemy soldiers, and experience repeatedly how they kill me long after I am behind cover. And I am the one caring to connect while using a good proper internet line for FPS gaming. Go figure...
EA Developer's article on Apex Legends, their server tick rate and netcode:
What Makes Apex Tick: A Developer Deep Dive into Servers and Netcode (ea.com)
I think it's worth noting a significant difference between Battlefield's tick rate and Apex Legends' tick rate.
Many games don’t compute full world states on each tick, making it misleading to try to compare one game with another based on a single figure like “20Hz” vs. “30Hz.”
The question is: What exactly is happening during each tick? We want the world state to be as accurate as possible, which is why our servers save the full world state on each tick. If we didn’t do this, it would probably save some of the CPU costs on our servers, but we would lose accuracy in our simulations, and that isn’t worth the risk.
- Apex Legends developer
Apex Legends has a fixed 20Hz tick rate, but it's sending an update of everything that's happened in the game world since the last tick.
Battlefield on the other hand has a variable 45Hz tick rate. The game server is updating some parts of the game world at 45Hz. Other parts of the game world are only being updated at 5Hz.
The variable update rate mostly has to do with which direction the player is facing and how far away the enemy players are. If enemies and vehicles are behind you, then the server sends you updates about them at 5Hz. But if they're in front of you and a close distance, the game server will send you 45Hz updates about their location.
The Apex team states they don't think a variable tick rate is worth the risk of loss simulation accuracy, and they're right. I'd rather have a fixed 20Hz tick rate where every change in the game world being transmitted in each tick. Instead of a variable tick rate where only some changes in the game world are being transmitted.
Because when only some of the game world changes are being sent, we get situations like this. Where invisible players just appear out of nowhere because there were behind a wall and the game server was only sending you 5Hz updates about their location.
I'd personally choose a fixed 20Hz tick rate over a variable 45Hz tick rate.
@OskooI_007 It seems to me that there is a slight inaccuracy in your thoughts. If a player appears out of nowhere in front of your eyes, then the problem here is not in the server's tick rate, but in.. bugs in the game itself? Or is it just a consequence of packet loss, because this also happens in BF1 with 60Hz. I have never had this.
10Hz. But this is all that is further than your field of vision at 100 meters and behind you. This most likely applies to BF2042 as well.
The developers of Apex Legends also said about bandwidth that with an increase in the tick rate from 20 to 60Hz, the bandwidth will also increase by 3 times! 3 TIMES! It's just awful. And you also need to buy new processors that will be able to run thousands of games at three times the frequency of the simulation.
I remember Riot Games (in League of Legends) in their defense saying "we don't want to switch to new tools for creating skins, because our artists can only work on 15-year-old software, and teaching new programs is unprofitable for us (expensive)".
It's the same here, most likely DICE from the very beginning thought that the game would be a failure and did not invest in new servers.
Excellent points you added @OskooI_007 !! 👍
Maybe another nice video wich shows what a higher update rate means even if the server and client runs on a slower tickrate