Changes between Initial Version and Version 1 of Ticket #5903


Ignore:
Timestamp:
Dec 30, 2020, 11:06:25 AM (3 years ago)
Author:
wraitii
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #5903 – Description

    initial v1  
    1 Offshoot of https://trac.wildfiregames.com/ticket/3752#comment:10
    2 Per elexis:
     1Offshoot of https://trac.wildfiregames.com/ticket/3752#comment:10 Per elexis:
    32
    4 Observers are often frowned upon because of the possibility of them delaying the game by
    5 (1) network timeouts
    6 (2) bad network latency
    7 (3) insufficient simulation performance
    8 (4) rejoins
     3Observers are often frowned upon because of the possibility of them delaying the game by:
    94
    10 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).
    11 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.
     5 1. network timeouts
     6 1. bad network latency
     7 1. insufficient simulation performance
     8 1. rejoins
     9
     10
     11In 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.
    1212
    1313Fundamentally, 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.
    1414
    1515To explore:
    16 - How to do this.
    17 - 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]
    18 - UI improvements.
    19 - 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.
     16
     17 * 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]
     19 * UI improvements.
     20 * 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.