Server Latency Induction for Multiplayer Game Fairness
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multiplayer online software programs, network latency issues cause disparities in user experience among players with varying network connections, leading to unfair advantages and decreased responsiveness for those with lower latency connections, especially when thin client computing devices are used.
Innovation Solution
A server computing device induces latency in lower latency input streams by buffering inputs or output frames, and reducing the framerate, to synchronize all players' experiences, maintaining fairness and reducing bandwidth requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If latency compensation techniques are used to sync local software program states to server software program state, then responsiveness is improved, but these techniques are not applicable to thin client computing devices that do not execute the software program
Solution Approach 1:
The patent creates a virtual copy of the software program state on the server side that mimics what would exist on a full client device. The server executes the game logic and maintains a complete software program state, while thin clients receive rendered video frames and send input commands. This copying approach allows latency compensation techniques to work on the server's virtual state without requiring actual client-side execution.
Solution Approach 2:
The server acts as an intermediary between thin clients and the software program execution. It receives inputs from clients, applies latency compensation to these inputs based on network conditions, executes the program state on the server side, and sends back rendered frames. This intermediary role enables thin clients to participate in latency-compensated multiplayer gameplay without executing the program locally.
2Speed
If players with lower latency connections are given immediate access to their inputs, then their responsiveness is improved, but players with higher latency connections are disadvantaged and experience unfair advantages
Solution Approach 1:
The server performs preliminary actions by receiving all player inputs and applying latency compensation before executing the game logic. It calculates what each player's input would have been at the relevant game moment based on their network latency, then processes all inputs as if they arrived simultaneously at the correct game time. This preliminary processing ensures fairness by compensating for network delays before game state changes occur.
Solution Approach 2:
The patent creates equipotential conditions for all players by normalizing their input timing to a common reference frame. The server adjusts each player's inputs to account for their specific latency, effectively placing all players on equal footing regardless of their network connection quality. This ensures that no player gains or loses advantage based on their network latency.
3Reliability
If the server waits for all inputs to arrive before processing to ensure fairness, then fairness is improved, but overall processing speed and responsiveness decreases
Solution Approach 1:
The server performs preliminary latency compensation calculations as inputs arrive, rather than waiting for all inputs to be received. It pre-calculates the compensated timing for each input based on known latency values, then processes inputs in the correct chronological order. This preliminary action allows the server to maintain fairness while avoiding unnecessary delays from waiting for all inputs before any processing begins.
Solution Approach 2:
The patent implements dynamic input processing where the server adjusts its processing strategy based on which inputs have arrived and their latency characteristics. Rather than using a static wait-for-all-approach, it dynamically determines the optimal processing order and timing, allowing faster inputs to be processed sooner while still maintaining overall fairness through latency compensation adjustments.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A server computing device for inducing latency on target input streams is provided. The server computing device includes a processor configured to receive a plurality of input streams from a respective plurality of client computing devices. Each input stream includes a plurality of inputs controlling actions of respective characters in a multiplayer online software program. The processor is further configured to determine a latency of each of the input streams, identify a higher latency input stream and a lower latency input stream among the plurality of input streams, and induce a higher latency in the lower latency input stream to narrow a difference in latency between the higher latency input stream and the lower latency input stream.