The spiral of death trade-off does not happen as you describe.
While a client is catching up, you run the sim in a loop and don't render the game.
The deterministic simulation code is only a small part of the overall game logic, and you can run it much faster than real time.
If a client is slow enough to genuinely experience a spiral of death, the game will not be playable for them, and "mild annoyance of brief pausing" is not remotely what the other players will experience if they're forced to stay in sync.
Wait time is the common solution in older games to prevent abuse, yes. But it doesn't prevent somebody with high ping making a game run at half speed.
Go play Company of Heroes 2 with a packet loss simulator. Even as the bad client, it's totally playable. For everyone else, it's silky smooth.
I don't think you'll come back and tell me you prefer the implementation in AoE II Definitive Edition.
While a client is catching up, you run the sim in a loop and don't render the game.
The deterministic simulation code is only a small part of the overall game logic, and you can run it much faster than real time.
If a client is slow enough to genuinely experience a spiral of death, the game will not be playable for them, and "mild annoyance of brief pausing" is not remotely what the other players will experience if they're forced to stay in sync.
Wait time is the common solution in older games to prevent abuse, yes. But it doesn't prevent somebody with high ping making a game run at half speed.
Go play Company of Heroes 2 with a packet loss simulator. Even as the bad client, it's totally playable. For everyone else, it's silky smooth.
I don't think you'll come back and tell me you prefer the implementation in AoE II Definitive Edition.