Server Latency Induction for Multiplayer Game Fairness

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImproveresponsivenessVSAvoidapplicability to thin clients
Core Design Contradiction:
SpeedVSAdaptability or versatility

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.

Inventive Principle:
Principle #26Copying

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveinput responsivenessVSAvoidfairness
Core Design Contradiction:
SpeedVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #12Equipotentiality

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

Engineering Contradiction:
ImprovefairnessVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3860732B1Inducing higher input latency in multiplayer programs
Publication Date: 2023.08.09 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3860732B1 patent drawingFigure 1
  • EP3860732B1 patent drawingFigure 2
  • EP3860732B1 patent drawingFigure 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.