Forums › English Language Forums › General › The Coliseum

Search

Test effect of connection in Lockdown?

14 replies [Last post]
Fri, 06/20/2014 - 00:21
Deleted-Knight's picture
Deleted-Knight

I was browsing Youtube Lockdown videos when I stumbled upon something really weird in one of Contri's videos. I believe he was fighting Hydrohaze (starting at 3:18).
I parsed out the frames and discovered this.

If Hydro kept the massive ping advantage he had in his first brandish hit, Contri would most likely have lost. The second to last frame showed Hydro predicted Contri's movement. If he had the same latency as in the first brandish swing, that hit would've landed, and Contri would have been interrupted before he can pull off his second GF swing.
Similarly, if Contri kept the same ping advantage he had in the Gran Faust swing, Hydro could not have even touched him since Contri's flourish hit would have landed and interrupted.

Notice all the frames I've captured happened in just over 1 second. It's almost unnoticeable during gameplay.

I suspect this "spasm" in latency is not uncommon. So, I want to do an experiment to measure the significance of connection in Lockdown.
It requires three people who can each record SK without suffering significant performance drops. Two of them should have very different latency.

Have the two people with different latency engage in a 1v1. Each person will record the match. A third person (spectator?) will also record the match. This will give three different points of view of the same match. We can then compare the videos to see how the connection difference translates into actual gameplay.

I would participate, but my computer can barely run SK without crashing. So if someone else can do this, that'll be great! Consider it "Lockdown Science".

Fri, 06/20/2014 - 02:53
#1
Feyi-Feyi's picture
Feyi-Feyi

Brandish hitbox and AoE swings.

Fri, 06/20/2014 - 04:41
#2
Dutch-Oven's picture
Dutch-Oven
Latency jitter

Variance in ping time is probably the cause of this. It doesn't show on the connection bars, probably because they use some kind of smoothing. I know sometimes connection drops to 1 bar briefly but that's not the same thing. I get 4 bars consistently but still have to deal with jitter which is only really detectable during timing critical events like in your example, or when healing up on a pad you can see the rate of healing is very irregular.

I'm guessing this is Contri playing Hydro in US server so I doubt his connection would provide very stable ping times.

Fri, 06/20/2014 - 23:30
#3
Deleted-Knight's picture
Deleted-Knight

@Feyi
If you actually looked at the pictures you will see that can't possibly be AoE. A graphical effect would be consistent. In which case the second swing would have dealt damage to Contri because Contri was in that exact spot a split second before. Not to mention the AoE would also have let Hydro win the GF tie since Contri's AoE doesn't show on Contri's screen.
Brandish hit-box does not time travel. So completely irrelevant.

Can you please stop prejudging everything I say just because we had a spat? Do the experiments described, and I won't care if it turns out connection doesn't matter. I'm just interested in seeing how prevalent and significant this effect is in gameplay.

@Dutch
Contri out-pinged Hydro twice and Hydro only out-pinged him once. So what is the fluke? Does Contri or Hydro have better latency? You would think if Hydro is in the U.S, he would have better than 2 bar ping. I've fought Hydro before and he consistently outpings me (I have 3-4 bars).
I'm thinking the server is gimmicky in handling requests. Sometimes it responds to some people before others. A person with high latency should very rarely out-ping someone with lower latency. I suspect the error rate is way higher than it should be.

This is why I want to do tests. We need to see both screens to build an accurate picture of what happened at the server.

Sat, 06/21/2014 - 03:47
#4
Krakob's picture
Krakob

You can't really judge Hydro's ping by looking at Contri's footage. I'd try to understand what you mean here because I don't really see anything out of order but the imgur link isn't working for me so I can't do that right now.

Brandishes and Flourishes are kind of weird like that. From the victim's perspective, toothpicks can even hit before the animation has started. Brandishes evidently appear to hit mid-animation, but before they would hit if you'd use them. This happens even on really low ping. Since the packets for the animation should be sent even before the servers have registered the hit, they should always come first but that's not the case. My guess is therefore that OOO has made swords hit faster than their animation in LD (maybe even in PvE, but what do I know) to compensate for the inevitable latency found in online games.

As for your thoughts on Feyi, you couldn't possibly have expected him to like you when you chose your name :P

Sat, 06/21/2014 - 06:32
#5
Feyi-Feyi's picture
Feyi-Feyi

It was actually my real opinion.
If you choose to think it's because of our 'spat' that's on you.
This has nothing to do with AT so I judge your post as I would every other one.
In fact I think it's interesting which is why I replied in the first place.

With every other sword I'd probably have agreed, but not with a brandish on a foreign server with 2 bars.
The example you've given is right on the edge of the rectangular brandish hitbox, to where it appears out of range.
I do believe this is why you think there's just a (variable) delay.
If you had done this same example with all of the hits having the same weapon and hitbox, it would be a different thing.

http://forums.spiralknights.com/en/node/101462

^this is what we know about the bars displayed, and what they actually stand for.
You can calculate just how much jitter there is available between two different ones, which is a lot tbh.

The other parts you'd have to know about is:

-SK's netcode, which is a strange thing in itself.
-How SK gets it resources and files from your computer.
Every time you weaponswitch it has to load that weapon from your hard drive. No cache memory.
You could have a variable timing just because of that.

Sat, 06/21/2014 - 18:10
#6
Seiran's picture
Seiran

btw, here's the link you should use, since it goes directly to the moment:
https://www.youtube.com/watch?v=J-AlpFgaRvo#t=3m18s

I was confused at first because I thought the screenshots were taken from a 3rd party (server view, as you propose), not from one of the fighters' screens.

I also think it would be cool to have a match where all 3 POV (fighter 1, fighter 2, spectator) are available, so all players can see the results of a battle. I was really happy to finally have some enemy footage of the same encounter with myself so I could see how much my view differed, but again, we lacked the 3rd POV.

-----
Anyway, here's how I see it...

In that encounter, there were 3 hits:
1- Contri hits Hydro with GF.
2- Contri takes damage from Hydro's Brandish.
3- Contri kills Hydro with GF.

Keep in mind that Contri's screen isn't just seeing Hydro's actions later than they're really happening, but also seeing his own position/actions ahead of where it is on the server as well.

1- The attack you saw Hydro swing "simultaneously" actually happened BEFORE Contri moved into range (because remember, Contri was stepping forward into it), so according to the server, it missed due to mistiming.

On the server, Hydro took damage because he was still mid swing/trying to move away when Contri attacked northwest.

2- Contri takes damage from a brandish hit that looked like it 'missed' behind him. It makes sense because if you move Contri back by about half a second, he would have been perfectly at the position for the brandish to hit since he had been standing still, swinging left with flourish and just started to boost right.

On the server, Contri had just started to move right but Hydro boosted above him and hit him downwards with brandish.

3- Contri boosts to the side and gets a kill hit with GF as Hydro runs out of boost and misses with brandish. It's a matter of brandish's range and hitbox: it's horizontally thin and Hydro aimed more vertical while Contri's movements were off to the side horizontally. It was a pure miss, probably because he ran out of boost at that last moment (if he had had more boost, he probably would have blocked Contri's attack because his swing was timed right - he just lacked placement).

On the server, Hydro ran out of boost and hit too far to the left while Contri had successfully boosted to the side and counter-killed with GF.

Sat, 06/21/2014 - 20:58
#7
Deleted-Knight's picture
Deleted-Knight
Serian, I assume you are

Serian, I assume you are saying Hydro is the one with better ping.

1. Your explanation for #1 does not work for #2.
Contri takes damage from a brandish hit that looked like it 'missed' behind him.
^Look at the screenshots again. Contri took damage before Hydro even began his swing. The actual hit explosion appears to be delayed, but the damage is actually ahead. It's inconsistent, which is why there's no reasonable explanation for it. An explanation for one will inevitably not work for the other.

2. Even if we ignore that damage time travel...
If Contri's latency is truly as bad as you made it for the GF tie, then Hydro's second brandish swing could not have missed. He swung right across the spot where Contri was two pictures ago. That should have connected at the server if Contri kept the same latency he had for the GF miss.

3. Finally, if Contri's latency was that bad, his second GF swing would have missed as well. Just because he swung on his screen doesn't mean he swung on the server. Note that Contri's screen showed Hydro's death before Contri even finished his swing! For that to occur Contri's latency is not greater than the time it takes to swing a GF.
If that is the case, then how is it that Contri can move into Hydro's first GF swing and take no damage?
Hydro's actual swing on the server could not have been that far ahead of what's on Contri's screen.

^If anything, that means Hydro should've won the tie.

EDIT:
To clarify, I'm not here to prove Contri/Hydro is better. I'm demonstrating the existence of these gimmicks. I would like to see experiments that purposely tests for them.

Sat, 06/21/2014 - 20:48
#8
Kathrine-Dragon's picture
Kathrine-Dragon
A couple of things

As far as I'm aware, your actions are shown as soon as you click but does not necessarily reach the server and actually damage anything until it's been sent all the way. Think of being dc'ed where the entire world freezes except for some animations. You can swing your sword and there's a breeze blowing the trees but the wolvers don't move nor take damage and the treasure boxes don't open. Your movements are client side. Therefore the spectator should see things server side and each player will see things differently. Although brandish charges tho if you know what I mean...

Also, I propose that to test this all three recorders show their whole screen with a constant ping to the SK servers running next to the SK client to show the comparison more accurately. If you can get the IP address then "ping -t" should do the job unless that's too slow.

Sat, 06/21/2014 - 23:05
#9
Blue-Flood's picture
Blue-Flood

Instead of telling someone to do this test, how about you step up and organize it yourself if it interests you that much?

Sun, 06/22/2014 - 01:05
#10
Feyi-Feyi's picture
Feyi-Feyi

'The actual hit explosion appears to be delayed, but the damage is actually ahead. It's inconsistent, which is why there's no reasonable explanation for it.'

Has to do with SK's netcode I believe. Something about how it all the data for one action isn't necessarily sent in one packet.
The AoE strike and damage, and the animation could be two separate things like that.
I might be off as I found it a bit confusing when it was explained to me, but that's what I believe you're seeing.

Sun, 06/22/2014 - 10:46
#11
Deleted-Knight's picture
Deleted-Knight

@Blueflood
That's basically what I'm doing. I need people who are interested. I can't directly participate because my computer is crap. Trust me, if I could do it alone, I would definitely do it. Saves the trouble of dealing with all the skeptics and haters.

@Feyi
As far as I know that could be the reason. But what is the overall effect on gameplay? How common is this inconsistency in packet delays?
In this case, it clearly (imo) influenced the outcome of the battle. If Contri had that hiccup during any of his swings, they would have missed. Also, we don't know what happened on Hydro's screen. Did he have the same issue during Contri's swings?

Sun, 06/22/2014 - 13:53
#12
Seiran's picture
Seiran

Serian, I assume you are saying Hydro is the one with better ping.

No, wasn't talking about who had better ping or who's better, at all. I'm saying how I interpreted the attacks happening from the recorder (Contri's) perspective, and I interpreted it incorrectly.

For the most part though, Contri does take damage before
1) his UI shows the reaction
2) the attack animation plays.

The rest is just so convoluted thanks to the weirdness of having 2 bars ping that I'm not gonna bother to reanalyze it lol.

Mon, 06/23/2014 - 00:59
#13
Ill-Fate-Ill's picture
Ill-Fate-Ill

Let hear from the guy at the corner of the server:

Do you see those strikers chasing after someone swinging their flourishes and hitting with the tip of the sword? Well I have to dash in front of the guy to even hit him.

Mon, 06/23/2014 - 22:34
#14
Deleted-Knight's picture
Deleted-Knight
Well

I guess nobody's willing to do the experiment... In other news:
I think SK runs on Amazon cloud servers. The main game is hosted on a server in "Northern Virginia" and in "Ireland", but instances of the game is routed to all the little blue dots, called "Edge Locations".

I think the bars we see measure our latency to the closest instance. The question is, how do instances communicate with the main server? Does hit detection happen at individual instances? If so, how are conflicts resolved if two different instances say different things?

Powered by Drupal, an open source content management system