In current setup, the game times you out if you don’t do any action in 90 seconds. This has a couple of disadvantages:
- Player could be a learner and he/she might be reading a card or planning next move.
- A turn can last up to 5 minutes by tournament ruling, but this inactivity timeout is not allowing.
- Disconnects can happen with unpredictable internet connections and this usually cost players the game.
Target behavior:
- Disconnects or closing the browser tab should not immediately cost the game, but rather allow a grace period (to be defined) to allow reconnects even from another browser/session.
- Players should be allowed to look at/read cards without fearing for the inactivity timeout.
- On the other side, players should not wait more than necessary for AFK’ers or RageQuitters.
- Games should be allowed (via send challenge) with less strict timeouts for learning the game/tutorial purposes.
Proposed changes:
- Increase request timeout (the time that you need to respond to card selection, choose an option, etc) to 90 seconds.
- If the player disconnects (closing the tab, logging out, session lost), broadcast this information to game log so the other player understands what’s going on, then after 90 seconds, if the player did not reconnect, kill the game. This would work regardless of the current turn player.
- Either (1) or (2):
- (1)
- Change the inactivity timeout so that it ends the turn rather than disconnect you.
- Make sure inactivity timeout does not run when you’re reading cards or trying to make an action.
- (2)
- Remove the inactivity timeout completely.
- If the player hits the max turn timer (5 minutes) AND the user was inactive for the last 90 seconds, then it probably means the person is AFK. In this case the turn will simply end and game will continue, except that the next turn the player will only have 30 second turn timer unless he responds.
Questions
- Which one of (1) or (2) sounds better?
- What should be this grace period?
- Is turn extend logic ever useful? (ask opponent to extend the turn by 1 minute if you already used more than 5 minutes) Or should we just remove this function and end the turn right away?
- How should a ‘less strict timeout’ game act for timeouts?