You crossed the streams!
You crossed the streams!
Lag?
5
How many sales does a game need before you don't even need to use acronyms?
I/O often prints out of order because it is buffered and the flush is asynchronous. If you do this exercise: make a program that prints out "Hello 1", "Goodbye 1", on one thread and on another thread prints "Hello 2", "Goodbye 2" and then run the program several times. The order in which the print-outs come out on the console will not always been in thread-contiguous order.
Now introduce communications into the mix, and you can screw the order around even more.
I'm not sure, but I think Blizzard decidesOriginally Posted by skyride
I had this happen twice in rapid succession yesterday. Doublekill when fighting furbolgs at point blank range. There appears to be some discrepancy with the timing of spells (I was using Druids' Wrath - but there should be no travel time at point blank) vs. melee.
"Travel time" is an illusion. The server decides whether it worked before the graphical partical effect even launches; you can see this because if you run around a corner after someone casts a fireball at you, the fireball will go through the wall and hit you regardless. All that matters is that you had LoS at the instant of the end of casting time. Arcane missiles are a bit trickier; each pulse requires LoS to connect.Originally Posted by Marcin
You don't need to know the name of the game to figure out why it's odd.Originally Posted by skyride
Right, the "travel" in this case is between the projectile leaving and the death text/XP reward popup appearing, not the actual result being calculated.Originally Posted by Kunikos
So what you're saying is that this happened.
1 - I was low on HP fighting him.
2 - Arcane Missiles ticked. The Missiles were on the way to me.
3 - I hit Earth Shock. He dies.
4 - AM hits me. I die.
5 - Text then prints out of order due to buffer and asynchronous flush.
So my question is, how awesome must my reflexes be to get an Earth Shock in, in melee range, before a shot of AM travels the 1 yard to hit me?
So awesome.
Too awesome for words.
I would like a t-shirt with your name on the front is what I would like.
No, more like some crap like this that has to do with client "smoothing" out laggy connections and the server not trusting the client for anything:Originally Posted by AaronSofaer
1. Fight starts
2. At some point he starts channeling Arcane Missiles
a. Second Pulse activates and gets LoS check success, then the missile graphics activate and flies at you.
b. Damage to you is only printed out when the graphic collides with your character model.
3. You spam the Earth Shock key on your client side, server receives the command. Damage doesn't "apply" (in text on client side) until client's character animation finishes.
4. Earth shock spell command received by server, applies damage to enemy. Enemy dies.
5. Third pulse of AM activates, gets LoS success, missile animation actives and flies at you.
6. You are considered dead on the server now; you get the equipment durability penalty message.
7. Enemy AM pulse graphic hit you and it prints out the damage locally.
8. Your animation finishes and the enemy falls over, and the text is printed.
9. It prints out the death messages now that combat is "resolved."
More or less, if the last pulse had occurred before the server received the earth shock then you would have died and he wouldn't have.
You can also notice that if you have packet loss, nothing will happen on the client side despite hitting action buttons (it will stick in one animation for a while) and you can run around but nothing is happening in the game world. When things resynch, the server's actions take priority over anything the client tried to do (often resulting in you taking several tens of combat actions from an enemy before you get to do anything).
I often get I/O problems like that after a big curry. Actually: mainly O.Originally Posted by Kunikos
If the enemy is dead server-side, the third pulse of AM won't activate. Right? So the third pulse of AM has to activate before Earth Shock hits, making the order like this:Originally Posted by Kunikos
4. Third pulse of AM activates, gets LoS success; missile animation activates and flies at me.
5. Earth Shock spell command received by server, enemy dies.
6. AM hits, making me die.
Travel time by the way is NOT an illusion. While it is true that LoS is calculated for the beginning of a cast, and not for the end (and the same is true of range, up to a limit), it still takes time for that projectile to travel.
For an easy proof, try this.
Cast a Fireball at a friend. While the fireball is in the air, hit him with Fire Blast. The Fire Blast will hit before the Fireball does.
Or:
Cast a fireball at a mob. Note that it only starts coming towards you when the fireball hits, not when it is cast, thus allowing Mages (and Ele/Balance) to frontload to a limited extent.
Or:
Have a friend cast a long ranged spell like Fireball on you. After the cast but before the spell lands, cast an instant spell that would take effect (Power Word: Shield works perfectly for this). Note that though the buff was put on after the cast was completed, it still will absorb damage, due to the fact that it is calculated when the projectile -hits-, which involves travel time.
Yea me too. Sometimes it takes two asynchronous flushes.Originally Posted by Sebmolo
You're playing WoW, that's what.Originally Posted by AaronSofaer