Changes between Version 1 and Version 3 of Ticket #5903


Ignore:
Timestamp:
Mar 29, 2021, 9:56:21 AM (3 years ago)
Author:
wraitii
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #5903 – Description

    v1 v3  
    33Observers are often frowned upon because of the possibility of them delaying the game by:
    44
    5  1. network timeouts
    6  1. bad network latency
    7  1. insufficient simulation performance
     5 1. ~~network timeouts ~~
     6 1. ~~bad network latency ~~
     7 1. ~~insufficient simulation performance ~~
    88 1. rejoins
    99
    1010
    11 In 1,2,3, the main problem is the NetServerTurnManager waiting for the observer to be ready for the next turn before progressing with the simulation (this isn't specific to observers, the turn manager waits for all clients to have sent all commands for turn N to mark turn N ready). 4 also blocks the game while one client computes the game state and sends it to the server, which can add lag independently of the above problem, but compounds it.
     11~~In 1,2,3, the main problem is the NetServerTurnManager waiting for the observer to be ready for the next turn before progressing with the simulation (this isn't specific to observers, the turn manager waits for all clients to have sent all commands for turn N to mark turn N ready). ~~
    1212
    13 Fundamentally, observers shouldn't send simulation-affecting commands ''(NB: this is not saying they do now)'', so it ought to be possible to disregard them in this mechanism, effectively making 1/2/3 a total non-issue. 4 remains, but might be alleviated somewhat if the state can be queried from an already existing observer.
     134 also blocks the game while one client computes the game state and sends it to the server, which can add lag independently of the above problem, but compounds it.
     14
     15~~Fundamentally, observers shouldn't send simulation-affecting commands ''(NB: this is not saying they do now)'', so it ought to be possible to disregard them in this mechanism, effectively making 1/2/3 a total non-issue.~~
     16
     174 remains, but might be alleviated somewhat if the state can be queried from an already existing observer.
    1418
    1519To explore:
    1620
    1721 * How to do this.
    18  * Should observers still have a 'max lag' before disconnect? They might otherwise comment on completely unrelated turns [this can be fixed by attaching chat to a given turn, but that opens other issues]
     22 * ~~Should observers still have a 'max lag' before disconnect? They might otherwise comment on completely unrelated turns [this can be fixed by attaching chat to a given turn, but that opens other issues] ~~
    1923 * UI improvements.
    2024 * it could technically be possible to send the full replay from turn 0 to rejoining observers, meaning they could rewatch the game from the start, and thus not needing to send them the game state at all. This would fix 4 elegantly.