Forum Discussion

Comanglia's avatar
7 years ago

Server Tickrate

Can we get servers with a tickrate of higher than 20/s?


This is particularly important due to all weapons in the game being projectiles, and while I have limited to experience with the Titan Fall spinoff of the Source engine I do have A LOT of experience with how the source engine behaves in Team Fortress 2, which features several projectile and hitscan weapons along with classes that can move really fast.


Why this is important.


Accurate Client Interpolation vs Fast moving targets


Currently interpolation is based off of data points 50ms apart that may not seem like much and in a lot scenarios is not a big deal (shooting a target that is ADS and strafing) or shooting a target moving in a straight line. However targets such as Bangalore that has the passive speed boost when fired at if they rapidly change directions while sprinting getting a hit on them based off of their model is nearly impossible and can cause some rubber banding issues even for people who would have a stable connection. Another case can be found with pathfinders who can grapple jump effectively and gain a lot of speed and doing a quick small air strafe. Finally falling players can also cause some desync issues especially pathfinders who use the grapple while falling.


This issue becomes signficantly worse with higher client ping.


Hit Registration


Now in Team Fortress 2 projectile based hit registration is ALL server side, and afaik CSGO grenades colliding with enemy players is also detected by the server. I can only assume Apex Legends operates that way as well. Back to my example of a speed boosted bangalore rapidly changing directions a client with a relatively normal ping of 30ms-50ms would see outdated and improperly interpolated data due to all the changes in direction and could very easily see bullets hitting the bangalore but doing NO damage because the server sees the bangalore at a significantly different point than the client. Even with a 0ms client ping, model interpolation will not be 100% accurate but may be accurate enough to register a hit though not where the client had rendedered the hit as happening (particularly noticeable with shotguns where you see most/all pellets hit a model but only a fraction do damage).


Gun Responsiveness


Now this issue is multifold in Team Fortress 2 projectiles you fire are delayed by [client server update rate (cl_cmdrate) OR total client interpolation whichever is greater] + ping to server. Currently in Apex Legends if you fire just after you send an update to the server the server won't register you firing for almost 50ms + ping. This can lead to a pretty significant delay and further add to the above mentioned issues but instead of bullets hitting a model and not registering the delay may be just enough for the intended target to start moving away from where you were firing at (this issue would affect most noticeably sniper rifles). This also works in reverse where new projectiles won't be rendered until the next server update + ping time making it much harder to dodge shots.


Now as for server requirements I'll admit I'm not 100% sure just how much resources it would take to get to the kind of tick rates many competitive / pro players would be asking for ex. CSGO ESEA uses 128 tick servers, CSGO MM is 64tick, and Team Fortress 2 is almost always 66 tick. That being said Apex Legends has 60 players to begin with and a map that makes the maps of CSGO and every other source game look Tiny AND from experience I've seen several 32 person Team Fortress 2 servers consistently dip into the mid 50 tick range. However I still feel asking for even just 30 or 40 tick Servers is justified and likely doable.

Edit

Here is a video that shows some of what I'm talking about in relation to Team Fortress 2. Huntsman (bow and arrow) is a projectile based weapon. And this video shows how odd model/projectiles desync can be. Though this is done via interpolation and only the interpolation is increased and the tick rate remains the same at 66, since interpolation is directly tied to server tick rate the minimum interpolation is higher the lower the tick rate creating this same issue with less accurate information.

https://www.youtube.com/watch?v=M2mBNz4NvGc

26 Replies