Lockstep Game Replay With Frame-Level Scrubbing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video game spectating technologies limit users to joining matches only before they begin, lack control over playback, and are inefficient in rewinding or fast-forwarding, especially in lockstep engines where restarting the game is required to replay specific frames.
Innovation Solution
A method and apparatus that allows spectators to join a match at any point, using a lockstep game engine to generate and store game states, enabling real-time scrubbing through live or replayed matches with controls like pausing, rewinding, and fast-forwarding, by separating the game server, simulation, and view model to facilitate quick access to stored game states.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the game uses a lockstep engine to synchronize player inputs across frames, then the game achieves deterministic simulation and fair multiplayer gameplay, but the system becomes complex and requires restarting the game to replay specific frames
Solution Approach 1:
The system separates the game simulation into discrete frames with independent player input data storage. Each frame is segmented as a recoverable unit, allowing the simulation to be restarted from any frame without requiring complete game restart. This segmentation enables reliable deterministic simulation while simplifying the replay process.
Solution Approach 2:
The system performs preliminary action by storing player input data for each frame as it occurs during gameplay. This pre-storage of frame data enables later replay operations without requiring the complex process of complete game restart, thus maintaining reliability while reducing operational complexity.
2Measurement precision
If the system stores complete game states for every frame, then the system enables precise replay at any point, but the memory requirements and data storage complexity increase significantly
Solution Approach 1:
The system extracts only the essential player input data for each frame rather than storing complete game states. This extraction approach maintains precise replay capability by preserving the critical input information needed to reconstruct frames, while significantly reducing the quantity of data that must be stored.
Solution Approach 2:
The system creates a simplified copy of game state information by storing only the player input data representations for each frame. This copying approach enables precise replay at any point in the game while using minimal storage space, as the input data copies are much smaller than complete game state snapshots.
3Adaptability or versatility
If the system allows spectators to join matches mid-game, then the system improves user experience and engagement, but the system must manage multiple simultaneous game states and playback operations
Solution Approach 1:
The system implements a universal frame storage mechanism that serves multiple functions: enabling spectators to join at any frame, allowing playback control (rewind, fast-forward, pause), and maintaining the original game simulation. This multi-functionality approach improves adaptability while managing complexity through a unified data structure.
Solution Approach 2:
The system introduces an intermediary layer of stored frame data that mediates between the live game simulation and spectator viewing operations. This intermediary enables flexible spectator joining and playback control without directly complicating the core game simulation logic, thus improving adaptability while containing complexity.
4Ease of operation
If the system implements scrubbing functionality to allow rapid frame navigation, then the system improves playback control and user experience, but the system requires efficient random access to stored frame data
Solution Approach 1:
The system performs preliminary action by pre-storing player input data for all frames during the game execution phase. This pre-preparation enables rapid random access to any frame during playback without requiring time-consuming data generation or loading, thus improving ease of operation while minimizing time loss during scrubbing operations.
Data Source
AI summary
A method is provided for replaying a match in a video game. The method includes receiving player input information of the match in the video game that utilizes a lockstep game engine. The player input information includes player input data for each of a plurality of frames of the lockstep game engine. The method also includes generating a plurality of game states of the match in the video game based on the player input data for each of the plurality of frames. The method further includes storing the plurality of game states of the match in at least one memory. The method also includes receiving a selection of a playback point of the match. The method further includes generating the plurality of video frames of the match using the stored plurality of game states based on the selected playback point.


