Client-server Action Synchronisation
" Nope the disconnect was just a few hours late |
|
A point I see brought up often is the networking being done through TCP/IP.
This leads to packets that are outdated being sent between the client and server that are absolutely useless, as the game is too fast moving and reliant on instantaneous and reliable communication. The alternative of UDP is the common practice for games with similar mechanics. When I asked chris why TCP was used, I was told it was done out of convenience, because the devs knew TCP better. I can only see that this choice was made early on and has had far reaching consequences. Even if it would require a lot of money, time and effort, I can't help but think that if something were done to switch the game towards UDP networking that synchronisation would be better. I'd rather see a big change like that being worked on than various bandaid fixes to the current system which is flawed from the get-go. I've yet to see a dev comment on the possibility of this change ever being considered, or for there to be any admittance that the current system may be flawed or at the very least, unnecessarily imperfect. Any comment would be appreciated, thank you. IGN: Asser, AssDelver, Assphobic, AnointedAss, BetrayedByMyAss, CrackedAss, FracturedAss, FulcrumedUpMyAss, ImpaledAss, IncursionOfTheAss, WarForTheAss, UnleashTheAss, ScreamingAsshole, SwampAssKing, Yui
|
|
"And by extension, such a dramatic increase in load will drastically reduce the number of instances a server can handle before it stops producing/handling more instances. So they'd need to drastically scale up the number of servers they have, or improve the hardware of existing servers. Computer specifications:
Windows 10 Pro x64 | AMD Ryzen 5800X3D | ASUS Crosshair VIII Hero (WiFi) Motherboard | 16GB 3600MHz RAM | MSI Geforce 1070Ti Gamer | Corsair AX 760watt PSU | Samsung 860 Pro 512GB SSD & WD Black FZEX HDD |
|
" You misunderstood. He was saying that 1% of the actions/mechanics the game makes use of (Like Cyclone) are most prone to causing desync, not that 1% of the player base is afflicted by more desync then everyone else. Computer specifications:
Windows 10 Pro x64 | AMD Ryzen 5800X3D | ASUS Crosshair VIII Hero (WiFi) Motherboard | 16GB 3600MHz RAM | MSI Geforce 1070Ti Gamer | Corsair AX 760watt PSU | Samsung 860 Pro 512GB SSD & WD Black FZEX HDD |
|
"Dramatic? How so? You need to put everything in perspective. Resyncing twice as often would be more server load, but not as much server load as doubling the number of players online. A lot of the time, the number of players online is less than a third of historic peak values, so tripling resync rates wouldn't kill the servers. Like I said in my earlier post (the one you quoted, but you left the good part out), the problem with resyncing too often is primarily that it makes the game look like shit. 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 Apr 22, 2014, 11:30:32 AM
|
|
frequent resyncs do not cost much, its really negligible, its a matter of choice. GGG tries to tell you this but some guys, including those "with 10 year experience as software architect" are spewing nonsense about cost-cutting
a /oos does not cost any more than any other packet youre sending, stop with crazy bandwidth talk, its laughable. dont believe me, fire up wireshark, play poe windowed and send an /oos see a huge difference ? yeah, me neither. there is no cost from client side, connection is made on startup and a simple request is sent with /oos, not any different than /trade there is no cost on server side. you were told multiple times that server load falls on instances, which are dynamic chunks of memory. no resources= cant allocate instances on heap. in case of a resync, or /oos, server (most likely an instance method) will take a snapshot, likely of DELTA of last resync, only focused on the player within a screen or two. there is no phantom cost to this. and then send the packet to player(s), probably piggybacked on other usual data. there are no collisions to deal with, unless you have a full party. again, its a design decision. you might not like it, but you have to deal with it. you can say other games have a hard synch and are fine, thats all good and dandy- but stop saying asinine things about excuses or cost-cutting. GGG could do more frequent forced resyncs, but their ideology it will introduce more jarring. and if you do them as frequent as .3 seconds, might as well use hard sync model anyway. GGG chose to go with predictive model and it will not rewrite a product in its release, pretty much from scratch. no software company in the world will, ever. thats just common sense. Last edited by grepman#2451 on Apr 22, 2014, 1:17:30 PM
|
|
So.. if the un-fun hit mechanics were taken out completely, this would help the desync?
Win-win! |
|
" Honestly Id like the opportunity to elect to either use the 2nd OR 3rd system. I have decent latency, only rarely exceeding 60ms, and feel like roughly 6/100ths of a second is perfectly reasonable time to wait for the server to acknowledge my commands. While I get that this isnt optimal for all players, I would enjoy being able to use the system myself. |
|
I have an suggestion.
One of the worst misfortunes of these flaws is teleporting in room full of monsters. Mostly it is in room you haven't visited yet, therefore - monsters. Why don't you include server side mapping of already visited parts of an instance, so character can't be teleportated in those unmapped areas. |
|
On the subject of constant re-syncing being jarring, I feel there is one spot where this would be fair. I believe that any time you are stunned (or block stunned), you should automatically /oos. It's already a jarring situation where your survival is instantly much more threatened and you need to understand what's really going on.
|
|