Automated Game Testing via Input Replay and State Matching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional methods for testing video games and similar systems that receive inputs and render images are inconsistent, lengthy, and costly, especially for multi-player games, due to the difficulty in replicating exact input sequences and synchronizing them with in-game occurrences.
Innovation Solution
An automated testing system that records and stores input sets and their corresponding outputs during a learning phase, allowing for the simulation of inputs during a testing phase to verify if the system produces matching outputs, thereby ensuring consistent and efficient testing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If human testers manually play the game and apply inputs, then the system can be tested for bugs and issues, but the testing process becomes inconsistent, lengthy, and costly due to inability to replicate exact input sequences
Solution Approach 1:
The patent creates a copy of the game state and input sequences by capturing the entire game state (memory dump) and associated inputs during a reference playthrough. This copy is then used for automated replay testing, eliminating the need for human testers to manually reproduce the same sequences multiple times, thereby ensuring consistent and repeatable testing.
Solution Approach 2:
The patent performs preliminary capture and analysis of game states and input sequences during a reference playthrough before actual testing begins. By pre-processing and storing the exact input sequences and corresponding game states, the system prepares all necessary test data in advance, allowing automated replay without human intervention and significantly reducing testing time.
2Extent of automation
If test inputs are recorded as a function of time and re-applied, then automation is improved, but the inputs may become out of phase with in-game occurrences
Solution Approach 1:
The patent implements feedback by continuously monitoring the game state during replay and comparing it against the reference game state. When discrepancies are detected (indicating out-of-phase conditions), the system adjusts the replay timing or sequence to maintain synchronization, ensuring that inputs remain precisely aligned with corresponding in-game occurrences.
Solution Approach 2:
The patent makes the replay system dynamic by allowing real-time adjustment of input timing and sequence based on actual game state progression. Rather than rigidly replaying pre-recorded inputs at fixed time intervals, the system adapts the replay timing to match the dynamic behavior of the game, maintaining synchronization even when game execution varies slightly.
3Adaptability or versatility
If multiple players' actions need to be coordinated in multi-player games, then comprehensive testing coverage is improved, but the complexity of replicating coordinated inputs increases significantly
Solution Approach 1:
The patent merges multiple players' input sequences and game states into a single comprehensive reference capture. By recording all player inputs and the resulting game state in an integrated manner during a reference multi-player session, the system creates a unified test scenario that automatically coordinates all player actions, eliminating the need to manually synchronize multiple input streams and significantly reducing testing complexity.
Data Source
Figure 1A
Figure 1B
Figure 2A
AI summary
An information processing apparatus provides a system, which receives inputs and renders one or more images according to the inputs, with an input set including one or more inputs retrieved from storage means for storing input sets and first values. Each of the first values corresponds to one of first outputs, and each of the first outputs was obtained by each of the stored input sets being previously provided to the system. The apparatus obtains second output by providing the input set to the system and a second value corresponding to the second output. The apparatus checks whether the second value matches one of the first values and outputs a result of the check, and then provides the system with one of the stored input sets corresponding to one of the first values, which matches the second value.