ScrotieMcB vs Desync Dev Manifesto (Massive Wall Map of Text)

"
ScrotieMcB wrote:
There's a reason I essentially started the OP with slamming the "single-player PoE" concept as hard as I could


Singleplayer =/= offline, although offline you can, obviously, only play singleplyer. So probably, you wanted to slam "offline PoE concept" not "singleplayer PoE concept".

For me, I prefer single play, but I don't care if it is on- or offline as long as I have smooth enough gameplay.
Anticipation slowly dissipates...
Last edited by tmaciak#3784 on Aug 26, 2013, 3:28:18 AM
"
Nicholas_Steel wrote:
Does the client predict other player behaviour when in a group just as effectively as it does monsters? If so that would mean that playing with other players exponentially increases the risk of desyncs occuring since player behaviour can't exactly be easily predicted in such a game type.


The strange thing is, when multi-player, I have a more accurate location of where my friends are, than where I see monsters to be, where I see myself to be, where my friends see monsters to be and where my friends see themselves at.

If I run an up to date location of 5 party members, why do I fail so badly at my own location and those of monsters?

"
tmaciak wrote:
"
ScrotieMcB wrote:
There's a reason I essentially started the OP with slamming the "single-player PoE" concept as hard as I could


Singleplayer =/= offline, although offline you can, obviously, only play singleplyer. So probably, you wanted to slam "offline PoE concept" not "singleplayer PoE concept".

For me, I prefer single play, but I don't care if it is on- or offline as long as I have smooth enough gameplay.


Well, LAN, of course.
Casually casual.

Last edited by TheAnuhart#4741 on Aug 26, 2013, 4:33:09 AM
When analyzing thing in their core the problems with desync are simple:

1) The client needs too much data from the server (i.e. there are too much players for the server and there is not enough bandwidth).
2) The client need that data too fast. For what i know about game net-code, PoE is a world in which base stun duration is 350ms (or even less with proper gear), and there is NO WAY the client can say that it is stunned other than 'the server told me'. Even with medium bandwidth, 350ms is too low due to latency. When the client start cyclone just after entering in a room, he need to be in that room with no monster that block the door. If the client does not know if he can enter the room (it is a matter of fraction of second of a monster movement) the cyclone works like Schrodinger cat. Monster movement should be calculated by the client, using the same deterministic algorithm of the server.

In such framework there is no way to solve desync problem other than letting the client calculate at least some part of the game-status, and making the server a validator of client commands, without keep a 'real-time' simulation of instances. If this is not possible (but i think it is possible), then Chris is right when saying that we have to deal with 'terrible game experiences'.
Roma timezone (Italy)
@Charan,
off topic TL2 talk

you didn't have to wait for mods to cheat in TL2: just open console, enter "god mode", give yourself stats and skill points, spawn items...
it's all officially built into the system, and the only "price to pay" was getting flagged as a "cheater" for all to see, if you did.
now some mods give you the same, while removing the "price" altogether.

so, "cheat fest"? maybe.
but I didn't. a lot of people didn't. there are tons of "TL2 legit" groups playing together. a majority even. and there are a lot of people cheating. it's everyone's personal pick.
who are these "legit" people? well, some them are roaming Wraeclast as we speak, then log out and roam the world of Torchlight 2, then repeat.
I'm one.

choice.
the key word here.
you are given options, and decide for yourself.

GGG preferred using the "Diablo 3 model": no choice. and I understand it, given the fact it's essentially competitive, unlike TL2 which is about the purest form of player fun, and nothing else.
Alva: I'm sweating like a hog in heat
Shadow: That was fun
"
HellGauss wrote:
When analyzing thing in their core the problems with desync are simple:

1) The client needs too much data from the server (i.e. there are too much players for the server and there is not enough bandwidth).
2) The client need that data too fast. For what i know about game net-code, PoE is a world in which base stun duration is 350ms (or even less with proper gear), and there is NO WAY the client can say that it is stunned other than 'the server told me'. Even with medium bandwidth, 350ms is too low due to latency. When the client start cyclone just after entering in a room, he need to be in that room with no monster that block the door. If the client does not know if he can enter the room (it is a matter of fraction of second of a monster movement) the cyclone works like Schrodinger cat. Monster movement should be calculated by the client, using the same deterministic algorithm of the server.

In such framework there is no way to solve desync problem other than letting the client calculate at least some part of the game-status, and making the server a validator of client commands, without keep a 'real-time' simulation of instances. If this is not possible (but i think it is possible), then Chris is right when saying that we have to deal with 'terrible game experiences'.


There's plenty of bandwith available to most users for a substantial increase in the amount of data being sent/received. It's likely mostly dialup 56kbps and 64kbps ISDN users who may be unable to play after such changes.
Computer specifications:
Windows 10 Pro x64 | AMD Ryzen 5800X3D | ASUS Crosshair VIII Hero (WiFi) Motherboard | 32GB 3600MHz RAM | MSI Geforce 1070Ti Gamer | Corsair AX 760watt PSU | Samsung 860 Pro 512GB SSD & Crucial MX 500 4TB SSD's
Last edited by Nicholas_Steel#0509 on Aug 26, 2013, 5:54:50 AM
Back in the day when i played on 56kbps dial-up world of warcraft is had no extra lag or latency under any circumstances when i was just running wow, well maybe a little in capitals that i can't remember, but nothing that ever affected my performance when i needed it. I was so surprised when i first played on that modem, it was working perfectly.

Just wanted to say that it probably is not a matter of how much transferred alone, but also the quality of the coding itself.

EDIT: LOL. I was still living at home then, and i remember one time the internet bill arrived it was the equivalent of around 2000 dollars because i had been going all out playing after having no internet for so long while all my friends had it.... I had to pay all my saved money as the result of that, even though it was only a small part of the bill, but i never did regret it.

And so it began...
I am the light of the morning and the shadow on the wall, I am nothing and I am all.
Last edited by Crackmonster#7709 on Aug 26, 2013, 6:15:46 AM
"
TheAnuhart wrote:

Well, LAN, of course.


Right. Never used, always forgetting :)

But in fact it is rather not "online" but variation of "offline", according to subject of this topic. Even when played over VPN... :)
Anticipation slowly dissipates...
"
Nicholas_Steel wrote:

There's plenty of bandwith available to most users for a substantial increase in the amount of data being sent/received. It's likely mostly dialup 56kbps and 64kbps ISDN users who may be unable to play after such changes.


That is not the problem. Of course 64kbps is enough. The problem is that the server can't deal with thousands of gamers. It is not you that need bandwidth, it is the server. I think this is the reason why GGG do not implement continuous and automatic /oos in the client.

"

Back in the day when i played on 56kbps dial-up world of warcraft is had no extra lag or latency under any circumstances when i was just running wow


Blizzard can spend lot of money to get as much bandwidth as needed. Also (maybe) wow does not need such instant resync to be enjoyable.
Roma timezone (Italy)
"
TheAnuhart wrote:

Well, LAN, of course.


This is something that I don't think is mentioned often enough with desync, networking improvement discussions.

If we assume we had reasonable bandwidth and low latency (which is true for a very large number of PoE players), what would a more ideal solution look like? Look at your favourite game that functions fairly well on a LAN, without having clients be authoritative.

So surely the ideal would be quite different to what PoE currently does? Surely the results would be far better? Unless of course you want to claim that PoE still actually needs lots of prediction at low latency and that the sort of desync exhibited in PoE is common or even acceptable. Good luck with that.

In such a scenario, TCP would simply not be used (except if the developer requires reliability and is entirely unable to develop a reliable UDP layer, but then, there are existing and well-functioning libraries for this sort of thing).

Basically, there are no excuses with low latency and higher throughput and prediction also becomes increasingly unnecessary.

This is idealized of course, but it make it painfully obvious about what the considerations and policies are/were when developing PoE. It's also obvious to me where things end up if there aren't a number of changes in the approach. Factoring in that I actually know a bit about dynamics and I know this won't end well (assuming roughly the same methodology and constraints as what currently exists).

Currently, it's a system seemingly designed for low cost and sort of average/worst case setups, except it introduces its own worst case behaviour for all setups. The networking model favours players like me (as a matter of relative performance from connection capabilities), but I think I'm in a minority. Is this justified and acceptable? I don't really know, in certain cases, most certainly and I can understand hosting concerns.

Disregarding any developer concerns, as an entirely subjective matter, if a game desyncs to the extent PoE does if I have a 30-50ms ping, it's imo not worth playing. Otoh, I am grateful that the game works as well as it does with my 200+ ms ping. I don't think one end of the spectrum has to necessarily suffer for the gain of the other, prediction could be heavily used for higher latency users but minimally for low latency users.
"
MrMisterMissedHer wrote:
Disregarding any developer concerns, as an entirely subjective matter, if a game desyncs to the extent PoE does if I have a 30-50ms ping, it's imo not worth playing. Otoh, I am grateful that the game works as well as it does with my 200+ ms ping. I don't think one end of the spectrum has to necessarily suffer for the gain of the other, prediction could be heavily used for higher latency users but minimally for low latency users.


I play with 22-42 ping.

I desync like crazy, mainly due to monsters being out of sync and me unintentionally using a skill on them. The ping is irrelevant when client and server are running two separate instances that only rarely actually sync with each other. More so when map layouts with narrow doors and choke points aggravate the differences in those two instances.
Casually casual.

Last edited by TheAnuhart#4741 on Aug 26, 2013, 6:48:53 AM

Report Forum Post

Report Account:

Report Type

Additional Info