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 | |
| 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. |
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. |