Client Buffer Monitoring for Multiplayer Game Disconnect Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional video games lack adequate support for network disconnects in multiplayer games, leading to abrupt game endings when a player disconnects, and false disconnects due to silent network traffic, affecting all players involved.
Innovation Solution
A system that monitors client buffers to detect potential disconnections, assesses the risk of a player disconnecting, and allows the player to recover without affecting others by pausing or stopping the game until they can rejoin, using a server to manage game data and notify clients to maintain gameplay continuity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the game continues processing with shared controller data among all players, then the game can maintain continuous processing, but a single player's disconnect will cause the entire game to end abruptly for all players
Solution Approach 1:
The system segments the game state into individual player buffers, allowing independent monitoring and handling of each player's connection status. When one player disconnects, their buffer is handled separately without affecting other players' buffers, enabling the game to continue for remaining players rather than forcing an abrupt end for all.
Solution Approach 2:
The server acts as an intermediary that manages player buffers and coordinates game state. It monitors individual player buffers, detects disconnects, and manages the pausing/resuming of gameplays for affected players while allowing unaffected players to continue, thus mediating between individual player issues and overall game continuity.
2Reliability
If the system monitors network traffic to detect disconnects, then player disconnections can be detected, but false disconnects occur when network traffic goes silent temporarily
Solution Approach 1:
The system performs preliminary actions by maintaining buffers for each player that accumulate game state data before actual disconnect detection. These buffers provide a cushion that allows temporary network silences without triggering false disconnects, as the buffered data continues to be processed even when new network traffic is temporarily absent.
Solution Approach 2:
The buffered game state data serves as a cushion against false disconnect detections. When network traffic temporarily goes silent, the existing buffered data allows the system to continue processing without immediately declaring a disconnect, providing a buffer zone that prevents harmful false positive detections while maintaining accurate disconnect detection capability.
3Reliability
If the game pauses for a player who is falling behind to allow recovery, then the player can catch up without affecting others, but gameplay is interrupted for the affected player
Solution Approach 1:
The system dynamically adjusts game state based on individual player buffer status. When a player's buffer indicates they are falling behind, the system dynamically pauses gameplay for that specific player to allow recovery, then resumes when caught up. This dynamic adjustment retains the player in the game session while minimizing interruption to others who continue playing without pause.
Data Source
AI summary
Various aspects of the subject technology relate to systems, methods, and machine-readable media for improving multiplayer gameplay continuity. The disclosed method includes monitoring multiple buffers corresponding to multiple clients. The method also includes determining a first buffer is over a first threshold, the first buffer corresponding to a first client. The method also includes notifying the multiple clients that the first buffer of the first client is over the first threshold. The method also includes receiving a response from each of the clients, the response based on an in-game status. The method also includes pausing gameplays for each of the clients except the first client when the in-game status is favorable to pausing the gameplays for the first client.


