Technical solution to eliminate desync in single-player sessions
" No you didn't |
![]() |
" I'm sorry, but 'ticks' are not an accurate measure of time. And while it may be possible to sync and maintain 2 computers, it's quite a different story maintaining 1000's of clients. Considering there may be 100's of rng rolls per second, there is no reliable way to 'change' the seed - mid operation - at the exact same time the server does. |
![]() |
This entire thread accomplishes nothing. All this arguing about minutia is inconsequential and irrelevant.
Methods exist to eliminate desynch in single player. ALL such methods open up various security holes. And all such methods require a vast amount of code, time, and money. GGG has previously stated they were not willing to make such trade-offs. It is completely their decision to make. request thread lock 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 Last edited by SkyCore#2413 on Nov 22, 2013, 5:18:14 PM
|
![]() |
" Ticks are a perfectly fine measurement of time since they are arbitrary and can be made equivalent to whatever real unit of time measurement you choose. There is also absolutely no difference between doing it for 1 client and doing it for 1000 clients other than processing power and bandwidth. A given RNG call can use whatever seed it wants and if there are 1000 instances there can just as easily be 1000 seeds. That's not to say what he's suggesting is feasible. Having the client and server run asynchronous simulations and always agree even though one side is receiving independent input is simply not possible. At least not without the dependent side running behind and thus opening up a window for manipulation. There's just no hand waving that away. All you can do is treat the symptoms. But having said that there is a lot of room for improvement in that area. " You don't have to eliminate it, just minimize it and there are plenty of reasonable ways to do that. Some of them are in place, some are not feasible given other aspects of PoE, some could be implemented and improve things. Request you not reading this thread |
![]() |
" Compromises only lead to corruption(assuming there was no corruption to begin with). We should be proud that GGG doesnt accept compromises to the integrity of its game. And no matter how many ways you spin it, you do not control GGG. This thread is filled with ppl who want change( which i understand) but seem somehow entitled to get what they want. Also, this thread is filled with ppl whom allude to poor skills of the current GGG staff. I would be insulted if i were the lead programmer. I would bring down the hammer on your balls. This is not our playground. It is GGG's backyard, and they have been kind enough to let us use it. 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
|
![]() |
@qwave et al:
How does your new idea work with the fact that you can have multiple spawnable minions ? I mean, I have a pretty good feeling that GGG implemented pathing with the A* pathing algorithm, for at least some of its actors (I suspect Rogue exiles are a different solution). And so it follows; Based on the fact that I can spawn skeletons out of thin air, raise zombies from corpses, use dominating blow and something like conversion traps (or *:P* I might not at all in a round) there needs to be a significant correlation between client and server based on the nodes that are reachable (ie the player and the npcs), based on variables that don't exist at the time the level spawns and your seed is generated; and also taking into account that I might level up in the middle of a fight, put a point in 'Lord of the dead' and suddenly be able to control more minions. What are your thoughts on this ? Edit: And this does apply to moving as well as combat, as your minions follow you and I imagine are scanning for visible nodes and calculating paths. Stay out of the shadows ... They bite Last edited by Skogenik#0625 on Nov 22, 2013, 6:16:54 PM
|
![]() |
" Compromise is how the world and society at large works without devolving into anarchy. Have fun whenever you get there and have to make your way in it as I can only assume based on your grammar and attitude that you have not yet had the pleasure of being shown just how much you'll be forced to compromise to pay your rent and eat. But I'll also assume you're specifically referring to compromising of data integrity in the form of allowing client side authority. To which I would have to ask where at any point I actually suggested such a thing? You cannot eliminate desynch and maintain security, but you can hide it by faking it and running a non-authoritative client side simulation. It's what they're already doing, it's in the game you play right this second. They could however be doing a better job of it. That's not to say their programmers aren't up to snuff, it's a tough task. But there is almost always room for improvement. I'm sure they have several potential improvements in mind or in the works right now. Nothing wrong with discussing a few more. And while there are some rather rude people in this thread who have thrown some insults around and a few more that randomly interject with pointless incoherence that does nothing to further the discussion (yourself for example) it's been a pretty interesting and constructive thread for the most part. As for entitlement... if anyone thinks their entitled to have their idea implemented then obviously they're wrong. If on the other hand they feel entitled to have the honestly pretty bad desynch issues improved upon then I think that's fairly reasonable. They may end up disappointed, but it doesn't make it an unreasonable feeling given GGGs stated goal of creating a good and entertaining game. |
![]() |
" No one said you are suggesting it, but LogonPoE and qwave definitely are. TBH, a lot more people would listen to them if they didn't try and "solve" every problem that PoE had and try to badger that under their single determinism idea FP determinism if (and thats a massive if) it can be achieved in PoE, across all of their servers and clients, can reduce one type of desync, particular around movement and pathing. But it won't do anything more, without compromising on security. Its not going to eliminate single player desync, and anyone who thinks that this idea will remove single player desync without security issues do not know what they are talking about |
![]() |
" I'm sorry, but that's just not the case. Precision and accuracy of DateTime It's a simple fact in programming you never use code like: if ticks == 18918391823 then... This is the case because 'ticks' are not incremented by '1' in a given timeslice. The short article is well worth a read, as well as the link to stopwatches. " I wasn't as clear as I could be. I was referring to syncing the server 'time wise' to 1000's of clients, not a server making 1000's of RNG rolls. Even with the server broadcasting it's 'time value', the comment I was replying to NEEDS ticks on each computer to align perfectly AND have operations occur on EXACT tick timings in order to perform the task he suggested. It's simply not possible. |
![]() |
" This is totally off topic, a shame, as i have a lot to say about it. As for my grammar and attitude, you can shove those comments up your ass. You are attempting to judge me by how i have not conformed to society, not by the merits of the content i offer. Seems to me you are unable to invalidate any of my sound reasoning and resorted to high browed class warfare. " The nerve of you to make such bold statements. Your OPINIONS are shrouded in such a way to deceive ppl into thinking they are facts. Perhaps it is possible to do better, perhaps not. " Calling me rude for not accepting false statements, for pointing them out, and for not tolerating personal attacks is laughable. Do not provoke me further. 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 Last edited by SkyCore#2413 on Nov 22, 2013, 6:59:43 PM
|
![]() |