Technical solution to eliminate desync in single-player sessions
GGG definitely allows suggestions on how to improve their game.
Perhaps the only thing that you could request is that this thread is moved in the 'suggestion' section. Roma timezone (Italy)
|
|
The bruised egos and immature attitudes in this thread are hilarious.
However, I hope the butthurt doesn't get in the way of the generally good, and important, discussion. If any of this ever actually help GGG with desynch, it will be worth it. |
|
" If you're referring to ticks as in the article, as one ten millionth of a second, then you're right. But tick is a term with multiple meanings. I, perhaps incorrectly, inferred that he did not mean the value in a .NET DateTime but rather a single cycle of game simulation, however long that is (and which can vary from cycle to cycle). The whole time expiring seed thing is poor for the reason you mention and several others. The whole idea of a purely deterministic client is just kind of laughable. You can't do it without introducing other unacceptable downsides. All you can do is keep the two in synch as best you can (which might mean making the client closer to deterministic even if it doesn't actually reach that threshold) |
|
If we ever want to implement something like OP is saying, or any other "change" to the current system, and be serious about preventing hacks and security breaches, then the specification has to be somewhat formal. We can't go just throwing speculation and comments around and just assume we solved hacking in PoE or something like that.
We'd need a more formal system, and somewhat formally prove it can't be hacked. By this I mean, like following a mathematical proof. You could say for instance: "H1: Client sends timestamp to the server H2: forall(X:timestamp), P(X) OR Q(X) Let X = Timestamp Case 1: P(X) (prove why there can't be no hacks in this case) Case 2: Q(X) (idem) Therefore, There cant be no hacks for H1" Or rather...at least try. There is NO WAY there can be any practical solution that prevents hacking in the way GGG wants it to without trying to get a little formal. If not ideas just fly everywhere, parts of code/ideas will get overlooked, and there will be security breaches everywhere. " By that same article, couldn't you make ticks have less precision but more accuracy? I doubt PoE's "ticks" should need microseconds of precision. |
|
Wow, what a mammoth thread. Qwave, I have to say I'm impressed by your knowledge and passion for this game, the amount of effort you've put in here. Despite I myself being ignorant of programming I get the gist of what you and others are saying. Must be very frustrating dealing with such argumentative people that resort to personal attacks and rudeness and hostility just because you suggested a possible solution. I've noticed the same thing when I propose ideas and debate people on other forums about other subjects, some just want to shoot down other peoples ideas without suggesting their own solutions, without even considering ways it could work. Their negative energy is discouraging, and they are part of the problem.
I think what people here are missing is that we've heard very little about what GGG is doing to reduce the scourge of Desynch in this game. There was the manifesto by Chris explaining it, and a few tidbits from Mark and Rhys. We don't know what they've tried, or if they've had much success, or if they are partially on to something and need to do more testing. I suppose they wouldn't want to get our hopes up prematurely just to have to come back and say later "Hey that thing we were working on we told you about, that we thought would reduce the desynch, well it turned out to not work, back to the drawing board, sorry." Would be nice to get an update though. It's been a known problem for a long time, and the reason a lot of people quit the game or won't try Hardcore. If I were GGG, I'd try a small sampling of this proposed solution on some test servers and see what the results were, give it a shot at least. Unless they've got some better idea or have just given up on reducing desynch. "When you have a hammer, everything looks like a nail."
|
|
Also, any thoughts on this?:
Spoiler
" It isn't really a suggestion, but I want to know if it is possible to approach this subject in that way, or if it's inherently impossible or something. If it is, then maybe it could be worth the try? |
|
" I was referring to a comment only one page back. It has nothing to do with what PoE 'needs'. But to answer your specific question; no. Hardware in PC's (with few exceptions) has no means to accurately measure time. It's why we have atomic clocks, and why most OS's can use online NTP servers to adjust time periodically. But again, my comment was for a specific case, not anything related to PoE's use of time. |
|
I've never had a problem with desync up until I made this cyclone discharger.
Let me tell you, now finally experiencing desync myself first hand makes me slam my table in sheer anger and fury. Half the time I'm spinning but on the server side I'm standing in the middle of mobs not doing anything. Id love for GGG to try any possible solution (maybe one in this thread) to fix this. Happy people are brainstorming finally tho. Hope it gets fixed soon! |
|
" " This simply doesn't exist in the real world. There are no "OS Permissions" that can exist on the 'hackers' computer that can't be disabled/ignored/manipulated in any number of trivial ways. |
|
" Of course they "allow it", they allow it to be said, they aren't censoring people who give suggestions But is that an indication they will actually do it? Or that its a good idea? Or that its even feasibly possible? Nope |
|