Jump to content

Netcode Issue (Solution Proposed)


5 replies to this topic

#1 Sifright

    Member

  • PipPipPipPipPipPipPipPipPip
  • 2,218 posts
  • LocationUnited Kingdom, High Wycombe

Posted 21 November 2012 - 07:39 AM

This post is going to explain what I believe the issue to be, and the solution that I think will fix the problem that MWO faces. To do this I will be laying some ground work to explain first how I came about this information and then what I think the solution is. My proposition is founded on a couple of assumptions.



So I've noticed some rather wildly divergent behavior in how much you need to lead fast light mechs (Other mechs also have this problem to a lesser degree) to hit with your lasers. Now before every one leaps on me to say it's due to the ping of the target being higher or lower I've also made sure to try and account for this in my reckoning.

I first noticed this on Saturday morning UK around 10am. The largest change this would bring about is a drop in the total number of players online. American players would be in bed and Europe would still not be fully active as many people like to have a lay in. for a few hours during this time period I noticed that the game not only ran much smoother but I didn't have to lead light mechs by anywhere near as much to hit the target.

This leads me to believe that what is occurring is that due to large player loads the physical hardware they use to host the MWO matches are being oversubscribed. I suspect that as the player numbers ramp up they are dynamically adjusting the 'frame rate' of the virtualized server running each instance of the game.

This would mean that each server is making less calculations about the positional data of each mech in the game. I've seen similar behavior in other shooters which have fast movement like this when running a game server my self. Not only would this exacerbate the problem with not having client side prediction it would lead to the possibility of 'rubber banding' where in the game client predicts the mech to move as it is currently doing but the pilot in the mech actually does something else causing the mech to teleport a short distance away from where it currently is. This also means that it is possible to shoot where the enemy mech might actually be for a given moment (even on the server if it had a higher tick rate) but due to the tick rate being say 30 frames per second your shot misses as on the server it teleports from one spot to the next calculated location.

Fixing this problem obviously wouldn't completely solve the issue with not having client side prediction, but it would make being able to aim directly at where a mech is currently on your screen a larger possibility.

The solution if my assumptions are correct would be to simply buy more hardware and to enforce minimum tick rates for the servers to run at.

Edited by Sifright, 21 November 2012 - 08:06 AM.


#2 Sifright

    Member

  • PipPipPipPipPipPipPipPipPip
  • 2,218 posts
  • LocationUnited Kingdom, High Wycombe

Posted 21 November 2012 - 07:58 AM

ker bump

#3 Vermaxx

    Member

  • PipPipPipPipPipPipPipPipPip
  • Bridesmaid
  • Bridesmaid
  • 3,012 posts
  • LocationBuenos Aires

Posted 21 November 2012 - 08:03 AM

There is literally no way for us to test this. There are so many variables - your improved performance could be dismissed as lower load on YOUR internet provider. It certainly could be the existing servers scaling to support higher player populations, but unfortunately PGI is probably never going to confirm that and they're unlikely to just buy a shart ton more server farms.

Obviously, it would help if PGI spent money on more server farms. I think the rush into open beta and the constant pressure on players to buy MC and MC-only mechs should indicate that they're not exactly swimming in extra cash right now.

#4 Sifright

    Member

  • PipPipPipPipPipPipPipPipPip
  • 2,218 posts
  • LocationUnited Kingdom, High Wycombe

Posted 21 November 2012 - 08:12 AM

View PostVermaxx, on 21 November 2012 - 08:03 AM, said:

There is literally no way for us to test this. There are so many variables - your improved performance could be dismissed as lower load on YOUR internet provider. It certainly could be the existing servers scaling to support higher player populations, but unfortunately PGI is probably never going to confirm that and they're unlikely to just buy a shart ton more server farms.

Obviously, it would help if PGI spent money on more server farms. I think the rush into open beta and the constant pressure on players to buy MC and MC-only mechs should indicate that they're not exactly swimming in extra cash right now.


I will concede that there are an awful lot of variables that could be effecting my performance, however the degree of change was simply huge. Instead of leading light mechs by 3-4 mech lengths If i wanted to hit the centre torso I would simply aim a smidge in front of where an arm might be on a circling jenner for instance.

it was also taking me a non trivial amount of time to find games when this was occurring.

#5 Vlad Ward

    Member

  • PipPipPipPipPipPipPipPipPip
  • The Merciless
  • The Merciless
  • 3,097 posts

Posted 21 November 2012 - 08:20 AM

Sorry. This isn't the crux of the problem.

They're already explained to some degree that the issue is with Cryengine's lack of native server netcode which is what most games use to predict the movements of players on server-authoritative games. There will always be some lag, as things like that pesky speed of light can't change, but most games are able to hide it by using extremely complex behavioral prediction algorithms to "guess" where players are going to be when other players shoot at them. This gives the outward appearance of "Lag-free play".

If you're a qualified network engineer or computer scientist, by all means please do send Piranha an application via the link on the bottom of the forums. I say that sincerely because they've been looking for a lead network programmer for weeks.

#6 Sifright

    Member

  • PipPipPipPipPipPipPipPipPip
  • 2,218 posts
  • LocationUnited Kingdom, High Wycombe

Posted 21 November 2012 - 08:38 AM

Regardless of a lack of client side prediction or even server side algorithms for prediction I dispute that they are using none, to many indicators that this isn't the case with behavior when connections are temporarily interrupted make me believe this isn't the case. There is a lot more going on than just typical network latency issues.

If I'm firing a laser at a person who is circling at 100 kph in his jenner my ping is 100 ms to the server then he will be 200 ms ahead in what ever direction he was circling, the thing is the amount i need to lead the target by isn't following that pattern I have to lead by in excess of .3-.4 of a second for hits to register. I think it would be faulty to blame this entirely on latency and lack of prediction.

Those are large factors, perhaps even the largest but there is definitely more going on than just that.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users