Forums › English Language Forums › General › Suggestions

Search

Create ghost sprite to help with lag issues

3 replies [Last post]
Sun, 10/05/2014 - 12:00
Deleted-Knight's picture
Deleted-Knight

The recent update has plunged SK into a "laggy phase" for me. These phases come and go, but during them gameplay is horrible. This problem has been discussed to death, but I think it is time to mention it again.
For TL;DR, skip to "A different approach"

What is the cause of the problem?
First of all, it is likely not a hardware issue. What are the chances that the network glitches out only after particular updates? Second of all, not all players appear to be equally affected. I deduce this from Lockdown matches. There are some lag spikes that everyone experience, but there are also ones where one person lags into a wall while another person massacres them without any problem. Perhaps the server is updating certain players before others? Lastly, I personally lag with SK even when my connection is absolutely marvelous with other sites. I can ping to a server in Ashburn, VA with minimal jitter, yet my connection to SK periodically wobbles from 1 to 4 bars.
Now, I'm no network specialist (if I were, I would be applying for that job position you guys have open), but I'm betting this problem is too complicated for any of the OOO staff to solve.

A client-end solution?
The classic solution to lag is to anticipate how the server will respond and then do error checking later (creating the rubberband effect). This is a great solution for dealing with latency, but not with packet drops and mis-ordering. When packets are dropped, sprites continue traveling in the same direction with no indication that something is wrong until they run through a wall. This is awful in a game where a player must respond quickly to enemy movements. In fact, this creates problems even when there's no lag (time traveling devilite projectiles). There doesn't appear to be a single solution that fixes all the problems.

A different approach: If you can't fix it, report it
1. Right now, the only way we can quantitatively measure our lag is by 4 bars in the upper right hand corner. Is it too hard to give us a 3 digit number? The hysteresis also doesn't help. Hiding jitter does not make it go away. Tell us exactly what is going on and let us figure out how to compensate. Ideally also tell us if packet drop is suspected (ie. ping is much higher than average) by changing color of ping time.

2. Create a "ghost character" that does not anticipate the server, but instead only responds to confirmed actions. This character will effectively shadow our knight's movements, showing exactly where the server last saw us. Naturally the ghost should be faintly rendered to not interfere with gameplay. Ideally you can create a "toggle ghost" option which will allow the players to select whether they want the ghost to be the follower, the leader, or not there at all. This will give players more control over what they see on their screen and help them do lag compensation the way they want.

I believe these changes will help players respond to connection problems more quickly and more effectively.

Sun, 10/05/2014 - 19:26
#1
Klipik-Forum's picture
Klipik-Forum

I thought sprites did this already. You know, when you almost D/C and notice your sprite is a screen away from you and not moving?

Mon, 10/06/2014 - 07:40
#2
Thunder-The-Bright's picture
Thunder-The-Bright
gods ain't gonna help you, son.

battle sprites do this already. sprites do not follow your movement directly, they follow a response that comes from the server. if you notice, the sprite on other players is always right before them, while your sprite has a bit of distance from you (assuming you don't have a one digit ping).

Tue, 10/07/2014 - 18:38
#3
Deleted-Knight's picture
Deleted-Knight

I know battle-sprites respond to server, but they are only helpful when you are running in a straight line. What about when you are attacking or making quick turns? Battle sprites also a built in delay (seen in other player's sprites as well), and it's hard to visualize your past self in place of the sprite.
Note that I'm not talking about long periods of lag, just sporadic 1 second sputters. You don't need sprites to tell you something is wrong if you lag out for many seconds.

Since they have the sprite system, it shouldn't be too hard to make a ghost knight that is an invisible sprite which copies your every action.

Powered by Drupal, an open source content management system