I think a GGG response on Vaal Oversoul is due.
" In the OP when I asked if he actually could/was supposed to walk, I was careful to add 'in combat'. He definitely walks while not desynced, as you can see after the death in the VoD. My presence while dead means the monster isn't asleep but isn't in combat so to speak. So we see him walking about. Now, that said, while Mark probably is right that he can walk ( we see him walk in this active but not in combat state) and can probably walk in combat, it's probably just that he is more likely to perform an attack, or rotate etc. Like 99.9% more likely. To all intents and purposes, it's kind of right to say that he doesn't walk while in combat, with a live player near him and that when he does he is desynced. But it's also right to say that he can. He's just very, very unlikely to. Casually casual.
|
![]() |
Vaal can walk but it doesn't take more than 1 steps
If he took more than 1 step it is actually going into Earthquake mode and Clientprediction predicts a smash. The AI code is seems to be like that: mode =RollMode(); if(mode == mace) { Sleep(2000); if(distance(target, vaal)> x) Rockmode(); else if(distance(target, vaal) < x) Smash(target.x, target.y); else do { GenerateWalkNode(target); } while(distance(target, vaal) == x) if(distance(target, vaal) < x) Smash(target.x, target.y); else Rockmode(); } The target here needs to be confirmed on x and y, so we are dealing with a fixed value. The client on the other side reacts only to packets, the client will constantly update target.x and target.y so vaal will be stuck into the moving loop making it appear it follows you, till the server confirms x and y and resynchs and vaal goes into rockmode. GGG can't reproduce the bug because they play on local copies of their game where Server and Client always are in sync. |
![]() |
"*sigh* I already explained in this thread both a) That Mark2 was able to recreate the bug, and b) that no, our testing does not happen in that context. I also went over my suspicions of why this only happens for some people and not for others, as has been noted in the thread - it's not just me who's never had this happen, some players never see it (and others often do). For the record, it is also not possible, as you suggest, for the Client to predict a different action than the server, because the client does not predict monster action choice at all, only the results of the actions they do perform (which the server informs it of). Last edited by Mark_GGG#0000 on Jun 29, 2014, 10:31:31 PM
| |
" I think we know your game engine a little bit better than you do, Mark! "Danger is like jello, there's always room for more."
http://www.twitch.tv/vejita00 |
![]() |
"...and hence all the desync in the first place. Client interprets currently-player action choice immediately; client has to wait for monster action choice from the server. Instant desynchronization. When Stephen Colbert was killed by HYDRA's Project Insight in 2014, the comedy world lost a hero. Since his life model decoy isn't up to the task, please do not mistake my performance as political discussion. I'm just doing what Steve would have wanted. Last edited by ScrotieMcB#2697 on Jun 29, 2014, 10:38:01 PM
|
![]() |
I read your post before the edit!
" Players fight vaal differently, that's why. Some players try to create a huge distance and avoid rocks and never see it. Others stay out of the smash distance, they constantly see it. Others hug Vaal and never see it. To me it looks like the client is stuck in a loop because the Variables aren't locked. " Why do we see a different action then? Vaal walking would mean we receive movementupdates of Vaal, same goes for desync in general if you run away. Mobs should never ever desync if the client animation is triggered by packets. Yet you can see streams one streamer having a proper mob placements while the other player is followed by phantommobs which are still in the next room.(So how do you explain this) Unit moving to target only sent to target and update coords for all players once a unit dealt damage? Vaalsanimations seem only to be triggered by 1 packet aka which arm will be used. What I see is: Summon Arm: Vaal Changes arm--->Triggers animations and all animation got bugs involved. For example Vaal always summons 6 minions. But the summon sequence are projectiles, so in a GMP race I expected a Minion overkill. Indeed I saw 5 Projectiles on each attack but only 6 minions. The amount of projectiles shot never matches the summons. Lightning Attack: My first rip actually happened that way. I went into a TP in ruthless and got killed by an invisible lightning. So how do I see it? I wasn't informed which arm vaal was using, so there was no lightning animation. I only received a "unitdamaged" and "unitdied" packet. Cold Attack: Take a tp to town so the unit Vaal is targetting will be lost. Vaal will shoot the Ice towards targeted player but on the server another unit it the target and ice will appear out of nowhere. Rockattack: Vaal changes the arm/emerges and does a distance check. You are close ->smash You are a bit further away and don't move 1 step -> smash You are far away= Rockstorm But this is only valid if you aren't moving. Once you start moving following can happen: You see a rock animation but vaal actually smashed you(if you close in) You see him moving towards you attemping a smash actually going into Rockstorm. The correct animation will only be played once non Vaal related effects appear, meaning either rocks start dropping or you see the red explosion. So what should I think? Vaalanimations will be triggered only by the active arm and a client checks for "prediction" instead of receiving a proper "unit attacks coordinate x,y withskill z" packet? Sure I can hook up the packetfunction and do a check what I actually receive but then I will be banned or receive a PM "Don't hack our game" But to me it looks obviously like you wanted to reduce traffic and that's why those clientside artifacts exist. " You shouldn't receive any Vaal related packets at all, but Vaal is taking many steps and possibly attemping a smash till the first rocks actually drop-->"You received a packet" Same goes if you charge in with leap slam or whirling blade. As long no Rocks haven't dropped but you still can be smashed while your client plays the "Rockstorm" till the explosion is triggered(packet received) At last it doesn't look like PoE uses a packet "unit a attacks unit b" or "unit a attacks coord x,y" It seems PoE uses something like "Play animation X on Y until next update" and then the client uses switches and the default switch is "unit is moving to target with default: attack" |
![]() |
I've never seen Vaal move, real or not. Is this normal for other players?
IGN = Dellusions_Duelist
|
![]() |
I don't think ive ever seen him move either but then again ive only killed him like 4 times
|
![]() |
" I seem him struttin' his stuff fairly often. I have not, however, seen a desych smash yet. http://www.twitch.tv/exhortatory
|
![]() |
" I just want to re-quote this and add a VoD. I've been wanting to reproduce this to this standard for a while. I caught it perfectly. http://www.twitch.tv/theanuhart/c/4566876 This is a prime example of why 'always shift click' is so fucking bullshit. It's a good reason for name locking and NOT shift clicking. But it's also, while being a life saver in certain circumstances, is a killer in others, when porting into a room of death happens. You might also notice in Havoc's Youtube about his Uber death, how one of his counters is to never name-lock now in this encounter. This is the contradiction, the catch 22, the 'you can never do right exclusively' in what is the fuck up of PoE sync. It's the meta gaming, the skill in PoE (to a degree, as there are times when you simply can't know what to do), the challenge is to know when to override game features such as name lock and auto-LoS/melee, but also to know when definitely NOT to override them, to know when to /oos and to know when to Alt-F4. And all this while server and client show 2 different things, or do they? It is, quite honestly, ridiculous. In the VoD above, I have pietits name locked. On server she ports behind me. On client she stays and is seen to be firing ice shot away from me. Because I have her name locked, my character immediately turns and fires at server position. I do NOT shift click. If I was melee, I would have ran over to her. If I was closer-range-skill, ranged character, or if piety ported further away, I would have taken a few steps towards her automatically. Now here's the kicker. If I had not target locked, as ranged or melee, I would be shooting in the wrong direction/swinging at an illusion, pietits would take no damage, I would not leech, I would take invisible ice shots to the back. If I had shift clicked as melee or as a ranged character whos range was less than the distance to server position pietits, I would again not be doing damage, not leeching and taking ice shots to the face. Casually casual. Last edited by TheAnuhart#4741 on Jun 30, 2014, 10:01:20 AM
|
![]() |