Technical solution to eliminate desync in single-player sessions
" This sounds very good in theory (and much more realistic than OP's suggestion), the only problem is, how exactly do you deal with having to slightly resync You have a UDP stream which basically consists of deltas of how incorrect the client is, the client then needs to make adjustments (else its no different to the current system), so there needs to be a way to do slight resyncs that don't look weird on the client. Think of it this way, if a mob is at position (43,10) on the server, and (46,5) on the client, and the client receives a delta of the difference (lets say (3,5), the client then should update the actual position of that mob to reflect whats on the server, problem is, that can easily look jaggered and weird Theoritically speaking, if the updates happen often enough, this may not be an issue, but we still have the problem of decisions, that is, wether or not a spell crits. If you crit on the client, and then a server sends the delta that such a crit should have never happened, wtf is the client meant to do in such a case to deal with this situation? Reverse the crit instantly and then have proceed to create a wtf moment for the player? |
|
Something about desync needs to be done. Many melee spells are just completely unreliable because of desync. 80% of my deaths are because of dsync. This is beyond frustrating. I love playing melee, but I am penalized using any "fun" abilities because of constant desync.
|
|
" You'll note I specifically said 'The Majority' not 'All'. And trust me, the majority of packets if you're running around a single player level are this: Client sends a byte message, which, along with the header is 55 bytes long. Server returns a byte message, along with the header, padding and a frame checksum which is 64 bytes long. Client Acknowledges the server, sending no bytes but a single Ack, that is 54 bytes long. " I'm referring to the routing data that is contained in the header of the packet. " Fair enough; how ever UDP still has the problem that one must actively take care not to flood. UDP Congestion is a real issue. Perhaps you might want to read up on the ramifications of Congestion collapse. " Hush now, the adults are trying to talk. Stay out of the shadows ... They bite Last edited by Skogenik#0625 on Nov 24, 2013, 8:38:27 AM
|
|
Premium member only servers which stream udp resynchs. 14.99 per month. Paying for brute force might seem crude, but its effective.
For years i searched for deep truths. A thousand revelations. At the very edge...the ability to think itself dissolves away.Thinking in human language is the problem. Any separation from 'the whole truth' is incomplete.My incomplete concepts may add to your 'whole truth', accept it or think about it
|
|
Wow, fat thread! O.o"""
Seems there are still alot of demands for less desync ingame and it also seems that GGG still can't do alot for better client/server communication if I read this right. "We are working on it" doesn't sound that promising imho because they seems to work on it forever. And the comparison with D3 was interesting. Especialy the reasons why D3 feels smoother AND has less desync. Cut animations etc. would be no issue also to use with PoE along with other stuff. It sounds like PoE is a little bit "over engineered" which isn't even neccessary imho. "Path of Exile's combat animations transition smoothly from idle to attack to idle." Cute but who really needs these details? XD remove it if it leads to desync, simple. Keep it simple is the key "KISS principe". I also don't understand this: "They (D3)also don't really have narrow corridors or doorways to the extent we do, which also helps a lot, though you lose the feeling of claustrophobia such level features create." Why do narrow and tight areas even can cause lags/desyncs? Ok, IF this really is ture than I now know why in Blizzard games everything is big, huge and oversized. :D I don't really want to compare D3 and PoE but D3 shows us that even a fast client/server A-RPG can be mostly lagfree (except WW Barbs of course). So if GGG just could use SOME of the (dirty?) tricks that Blizzard did, it could help to improve the general PoE experience alot. Not 1:1 possible of course but I know there is still alot of potential to improve PoE. And after they solved the desync issues, GGG should find out how Blizzard can manage to have tons of Mobs and effects onto the screen without an noticable impact onto the game performance. What's that for sorcery?!?! ;) |
|
" So what you're saying is the client handles some, maybe a lot, of the RNG involved in crafting? That brings a whole new problem to light as to why some players have obscenely crummy luck (RNG) How can crafters get around this bad luck? Letting the server do all the RNG. Craft slow, one by one? Equip / unequip items? Drop / pickup items? Move items inside inventory? Move to different timezone instance? (Where ping is roughly 150+ms) "The absence of evidence is not the evidence of absence."
|
|
" Sorry, but this reads as: "thanks for your opinion, but we know better." Question is how long people are willing to keep enduring the desync "solutions" before they simply find another game to play. Right now, the economy in standard and regular hardcore are already pretty much crap, so all the hacking and duping you're trying to prevent isn't going to change the situation much. And releasing new content isn't going to bring people back if the core gaming experience is still the same. All in all, you're spending a fuckton amount of time fixing a system that won't be useful until most people have left + spend months creating content which most people will just graze through in a matter of hours IF they decide to come back to check it out. Anyone else see this as a formula for failure? At all? Vote +1 to change Path of Exile to Path of Nerfs.
We hate to say, but ProjectPT was right. |
|
" I guess this is related to the calculations involving positions of NPCs and line of sight. With thin corridors, one of the methods of finding out whats visible is to use a ray casting algorithm; which whilst effective, is not computationally cheap compare to, say: In a large open space, all the server needs to do is pass a vector from the player location to the npc. Merely a guess of course :) Stay out of the shadows ... They bite
|
|
I cannot help myself guys for showing you my appreciation for this thread enough, but this keeps me reading it everyday and i am totally immersed into this. My god, have i never thought, this stuff can get so complexed.
Best regards, Fary :) GGG thank you for all the great things you are doing. You have combined every element of all other great Rpg's and joined them together as one Diamond, that will shine Forever. This is coming straight from the heart <3 Last edited by Farystar#1705 on Nov 24, 2013, 10:30:33 AM
|
|
" And their "better" means "enjoy desyncing, it's better!" XD On a serious note, their code seems to be too far gone to be fixed. Do they even care with all "micro" (100$ skin is hardly a micro transaction at the cost of two AAA titles) transactions going on? "Path of Exile be a online Action RPG set up in tha dark fantasy ghetto of Wraeclast. Well shiiiit..."
- Uzicorn, for teh children. |
|