Technical solution to eliminate desync in single-player sessions
If you can name a single action RPG where the combat calculations consume a full millisecond, I will be blown away. =P
|
![]() |
" Precisely how would the server validate snapshots in your current design? 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
|
![]() |
" I'm pretty sure that you change your HW because you failed to display the game state. The only game i played with serious issue on gamestate calculation was x3 by egosoft, but its universe is far more complex than PoE. ARPG are just complex version of rpg such as dangeoun and dragons: their gamestatus can be handled by a human with pencil+paper and a dice. If PoE has not to render the graphics, it could run on a 486. Roma timezone (Italy) Last edited by HellGauss#6525 on Nov 20, 2013, 9:23:32 AM
|
![]() |
" I have answered this 150 times. Next. |
![]() |
" In a similar way that a chess player validate the b4-b5 move: if you have pawn in b4 and nothing is in b5 and your king is not checked, then your command is valid. I cast fireball: do i have fireball gem? do i have enough mana? Am I stunned? Etc.... Roma timezone (Italy)
|
![]() |
" The only game I played where this occurred was Dwarf Fortress but that game is in Alpha State and a huge lemmings simulation. :P Last edited by Nightmare90#4217 on Nov 20, 2013, 9:26:50 AM
|
![]() |
" You answered this 150 times while in your design including that the server maintain its own separate synched gamestate. It is a valid question. 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
|
![]() |
The server keeps a cache of the previously received state. It's up to GGG to determine how they want to maintain it. That part is not relevant to the core design.
Last edited by qwave#5074 on Nov 20, 2013, 9:28:48 AM
|
![]() |
" The MB dimms were failing so it actually was failing to calculate the state (memory would get corrupted and it would fall over). |
![]() |
" The game is fully deterministic, meaning that with the same seed (seeds) for random numbers and same player input at the same time, the two separate machines running the game should (with exception to calculation discrepancies that Rhys mentioned) arrive at the same result (as mentioned in Rhys's post). So by knowing what seed(s) the server issued to the client, and having the used actions provided by the client, the server can validate the player action results by applying same seeds for calculations and checking if the results match. |
![]() |