Inspection apparatus, inspection system, inspection method, and program
The inspection apparatus automatically determines correct operations in game programs by analyzing game situation and operation data, addressing the lack of automated operational correctness checks in existing methods.
Patent Information
- Application Number
- JP2024520126
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-05-10
- Publication Date
- 2025-07-02
- Estimated Expiration
- 2042-05-10
AI Technical Summary
Existing game program testing methods lack the ability to automatically determine whether correct operations are being performed during execution, necessitating manual checks for operational correctness.
An inspection apparatus and method that utilizes a processor to acquire situation and operation data, generate predicted situation data, and determine similarity with actual game states to automatically detect operational correctness.
Enables automatic detection of operational bugs in game programs by comparing predicted and actual game states, ensuring correct operations are performed without manual intervention.
Smart Images

Figure 0007702040000001 
Figure 0007702040000002 
Figure 0007702040000003
Abstract
Description
Technical Field
[0001] The present disclosure relates to an inspection apparatus, an inspection system, an inspection method, and a program for a game program.
Background Art
[0002] Conventionally, as a test for detecting defects (hereinafter sometimes referred to as bugs) in a game program, a Quality Assurance test (sometimes simply referred to as a QA test) has been performed. Patent Document 1 below describes generating a neural network model using game logs accumulated according to the progress of a game executed by a game program and constructing a mechanism for calculating a human-like move, thereby creating an AI bot that automatically selects actions that are likely to be adopted by humans, and repeating test plays of the game with this AI bot to preferentially discover bugs that are highly likely to be encountered by users.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In the QA test of a game program, in addition to having the AI bot perform test plays, there is also a need for a technique that can check the execution status of the game program and automatically determine whether correct operations are being performed in the game.
[0005] An object of the present disclosure is to provide an inspection apparatus, an inspection system, an inspection method, and a program for a game program that can automatically determine whether correct operations are being performed in a game.
Means for Solving the Problems
[0006] The inspection apparatus for a game program according to the present disclosure includes a processor and a memory that stores instructions executed by the processor. The processor acquires first situation data indicating a situation at a first timing in the game, acquires operation data indicating an operation at the first timing for the game, acquires second situation data indicating a situation at a timing after the operation at the first timing in the game, generates predicted situation data based on the first situation data and the operation data, determines the similarity between the second situation data and the predicted situation data, and outputs information based on the similarity as information regarding the operation of the game. According to this, it is possible to automatically determine whether correct operations are being performed in the game.
[0007] Also, the inspection system for a game program according to the present disclosure includes a processor and a memory that stores instructions executed by the processor. The processor acquires first situation data indicating a situation at a first timing in the game, acquires operation data indicating an operation at the first timing for the game, acquires second situation data indicating a situation at a timing after the operation at the first timing in the game, generates predicted situation data based on the first situation data and the operation data, determines the similarity between the second situation data and the predicted situation data, and outputs information based on the similarity as information regarding the operation of the game. According to this, it is possible to automatically determine whether correct operations are being performed in the game.
[0008] Also, the inspection method of the game program according to the present disclosure is such that a processor acquires first situation data indicating the situation at a first timing in the game, acquires operation data indicating the operation at the first timing for the game, acquires second situation data indicating the situation at a timing after the operation at the first timing in the game, generates predicted situation data based on the first situation data and the operation data, determines the similarity between the second situation data and the predicted situation data, and outputs information based on the similarity as information regarding the operation of the game. According to this, it is possible to automatically determine whether correct operation is being performed in the game.
[0009] Also, the program according to the present disclosure causes a computer to execute a procedure for acquiring first situation data indicating the situation at a first timing in the game, a procedure for acquiring operation data indicating the operation at the first timing for the game, a procedure for acquiring second situation data indicating the situation at a timing after the operation at the first timing in the game, a procedure for generating predicted situation data based on the first situation data and the operation data, a procedure for determining the similarity between the second situation data and the predicted situation data, and a procedure for outputting information based on the similarity as information regarding the operation of the game. According to this, it is possible to automatically determine whether correct operation is being performed in the game using a computer.
Brief Description of the Drawings
[0010]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5A
Figure 5B
Figure 6
Figure 7
Figure 8
Figure 9
Mode for Carrying Out the Invention
[0011] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. The inspection device according to this embodiment determines whether correct operations are being performed on the operations of the game during the execution of the game program, and when it is determined that incorrect operations are being performed, it is designed to automatically output information indicating that a game bug has been detected.
[0012] [1. Hardware Configuration] FIG. 1 is a diagram showing an example of the hardware configuration of the inspection device 10 (inspection system). The inspection device 10 is a computer such as a personal computer, and as shown in FIG. 1, may include a processor 11, a storage unit 12, a communication unit 13, a display unit 14, and an operation unit 15.
[0013] The processor 11 is a program control device such as a CPU (Central Processing Unit) that operates according to a program installed in the inspection device 10, which is a computer for example. The storage unit 12 is a storage (memory) such as a ROM (Read Only Memory), a RAM (Random Access Memory), an SSD (Solid State Drive), or an HDD (Hard Disk Drive). Data such as programs executed by the processor 11 is stored in the storage unit 12. The communication unit 13 is a communication interface such as a network board for example. The display unit 14 is a display device such as a liquid crystal display or an organic EL (Electro Luminescence) display, and displays various images according to the instructions of the processor 11. The operation unit 15 is a user interface such as a keyboard, a mouse, or a game controller, accepts user operation inputs, and outputs a signal indicating the content to the processor 11.
[0014] In addition to these, the inspection device 10 may also include an optical disk drive for reading optical disks, a video output terminal such as an HDMI (High Definition Multimedia Interface) (registered trademark), a data input / output terminal such as a USB (Universal Serial Bus), a speaker, and an audio output terminal such as a headphone jack.
[0015] [2. Functional Blocks] FIG. 2 is a functional block diagram showing an example of the functions implemented in the inspection device 10. As shown in FIG. 2, the inspection device 10 functionally includes a game execution unit 101, a game operation unit 102, and an inspection unit 103. These functions may be mainly realized by the processor 11. Also, in the inspection device 10, not all of the functions shown in FIG. 2 need to be implemented, and functions other than those shown in FIG. 2 may be implemented.
[0016] The game execution unit 101 executes the game program stored in the storage unit 12 and outputs information regarding the execution status of the game program (i.e., the status of the game) to be described later. The game execution unit 101 may execute a game program stored in another storage device connected via the communication unit 13 or the like. The game execution unit 101 may store information regarding the status of the game in the storage unit 12 or another storage device. Further, as the status of the game, the game execution unit 101 may generate image data indicating the state of the virtual game space and display it on a display device such as the display unit 14.
[0017] The game operation unit 102 executes the user's operation on the game being executed by the game execution unit 101. In the virtual game space output to a display device such as the display unit 14, the game operation unit 102 executes operations for moving game objects such as a character, a cursor, and an icon to be operated. The game operation unit 102 automatically executes an operation for moving a game object according to a given program, for example. Further, the game operation unit 102 may execute an operation on a game object according to instruction information (so-called command) generated by an AI bot. In addition to this, the game operation unit 102 may execute an operation on a game object according to instruction information input by the user via an operation unit 15 such as a game controller.
[0018] The inspection unit 103 verifies whether correct operations are being performed in the game being executed by the game execution unit 101. As shown in FIG. 2, the inspection unit 103 includes, for example, a first status data acquisition unit 111, an operation data acquisition unit 112, a second status data acquisition unit 113, a predicted status data generation unit 114, a first similarity determination unit 115, a determination result output unit 116, an encoder-decoder model unit 117, and a second similarity determination unit 118. These functions may be mainly realized by the processor 11. Further, the inspection unit 103 may include functions other than those shown in FIG. 2.
[0019] [2-1. First status data acquisition unit] The first situation data acquisition unit 111 acquires first situation data indicating the situation at a given timing (first timing) in the game. The first situation data acquisition unit 111 acquires first situation data including data such as image data indicating the situation of the game. The first situation data acquisition unit 111 acquires, for example, data including the image data output by the game execution unit 101 to the display unit 14 or the like as the first situation data.
[0020] In addition, the first situation data acquisition unit 111 may also acquire, for example, first situation data including audio data for outputting the sound of the game, or the position and direction of game objects (such as characters to be operated, partner characters, enemy characters, etc.) in the virtual game space, parameters indicating the physical strength, equipment, strength, etc. as characters, the position and orientation of the camera that is the viewpoint in the game space, and first situation data including a flag value indicating whether a predetermined event in the game has been achieved.
[0021] FIG. 3 is a diagram showing an example of the data included in the first situation data, and shows an example when the data included in the first situation data is the image data 20A. The image data 20A may include, for example, a character 21 to be operated by the user (hereinafter also referred to as the user character 21), or a character 22 that is an enemy of the user character 21 (hereinafter also referred to as the enemy character 22), or a game object such as an obstacle. In the example of the image data 20A shown in FIG. 3, it shows a state where the user character 21 holding the weapon 23 is confronting the enemy character 22 on the field 24 which is the ground of the game space.
[0022] [2-2. Operation data acquisition unit] The operation data acquisition unit 112 acquires operation data indicating an operation on the game (for example, an operation executed by the game operation unit 102). The operation data acquisition unit 112 acquires operation data indicating an operation at the timing (the first timing) when the first situation data acquisition unit 111 acquires the first situation data. The "operation at the first timing" is an operation performed within a predetermined period from the first timing (for example, within a predetermined number of frames from the frame in which the first situation data acquisition unit 111 acquires the first situation data). The operation data acquisition unit 112 may acquire, for example, operation data within one frame from the timing when the first situation data acquisition unit 111 acquires the first situation data, or may acquire operation data within any of 2 to 10 frames from the timing when the first situation data acquisition unit 111 acquires the first situation data.
[0023] FIG. 4 is a diagram showing an example of the operation data acquired by the operation data acquisition unit 112. As shown in FIG. 4, the operation data acquisition unit 112 acquires operation data indicating the operation content for each unit frame (for example, one frame) over the period from frame T1 in which the first situation data acquisition unit 111 acquires the first situation data to frame Tx. Note that the operation data acquisition unit 112 may acquire operation data indicating the operation content for each of a plurality of unit frames (for example, any of 2 to 10 frames) from frame T1 in which the first situation data acquisition unit 111 acquires the first situation data.
[0024] In the example shown in FIG. 4, it is shown that the operation performed in frame T1 is an operation of the up arrow key, and the operation performed in frame T2 after that unit frame is an operation of the up arrow key and the A button (the button for instructing an attack on the user character 21). Also, in frame T3, an operation of the up arrow key and the A button is performed, whereas in frame T4, it is shown that the operation of the up arrow key is released and an operation of the A button is performed. Also, in frame Tx, it is shown that no operation is performed.
[0025] Note that the operation data is not limited to the input content of the keys shown in FIG. 4, and may include instruction information such as commands for causing a game object to perform a predetermined operation (for example, a skill command for causing a game character to activate a skill), or information such as values based on the output of sensors (for example, a gyro sensor or an acceleration sensor) implemented in the operation unit 15.
[0026] [2-3. Second Situation Data Acquisition Unit] The second situation data acquisition unit 113 acquires second situation data indicating the situation at a timing after the operation by the game operation unit 102 at the timing (the first timing) when the first situation data acquisition unit 111 acquires the first situation data. For example, the second situation data acquisition unit 113 acquires the second situation data at the timing of frame Tx+1 (the timing after a unit frame from frame Tx) when the period (the period from frame T1 to frame Tx) indicated by the operation data acquired by the operation data acquisition unit 112 has elapsed from the timing of frame T1 (see FIG. 4) when the first situation data acquisition unit 111 acquires the first situation data. The second situation data acquisition unit 113 may acquire, as the second situation data, data including image data, audio data, the position and direction of a game object, parameters when the game object is a character, the position and orientation of a camera, and a flag value indicating the achievement status of an event.
[0027] The second situation data acquisition unit 113 acquires second situation data including data of the same type as the data included in the first situation data. In the present embodiment, the first situation data acquisition unit 111 acquires first situation data including game image data. Then, the second situation data acquisition unit 113 acquires second situation data including game image data.
[0028] FIG. 5A is a diagram showing an example of the image data included in the second situation data. The second situation data acquisition unit 113 may acquire, for example, image data 20B including the user character 21, the enemy character 22, and game objects such as obstacles. In the example of the image data 20B in FIG. 5A, when the user character 21 attacks the enemy character 22 with the weapon 23, an attack effect 25 that overlaps with the enemy character 22 occurs, showing that the enemy character 22 has received "70" damage. In the example of FIG. 5A, it shows a state where the game is operating correctly.
[0029] FIG. 5B is a diagram showing another example of the image data included in the second situation data. In the example of the image data 20B' in FIG. 5B, when the user character 21 attacks the enemy character 22 with the weapon 23, instead of receiving damage, the enemy character 22 recovers by "+70", and a recovery effect 26 is occurring around the enemy character 22. That is, in the example of FIG. 5B, it shows a state where a bug has occurred in the game.
[0030] [2-4. Predicted Situation Data Generation Unit] The predicted situation data generation unit 114 generates predicted situation data based on the first situation data acquired by the first situation data acquisition unit 111 and the operation data acquired by the operation data acquisition unit 112. In the present embodiment, the predicted situation data generation unit 114 generates image data as the predicted situation data. The predicted situation data generation unit 114 generates, for example, image data 20C similar to the image data 20B shown in FIG. 5A when the game is operating correctly based on the data such as the image data 20A and the positions and orientations and parameters of the game objects shown in FIG. 3 included in the first situation data and the operation data shown in FIG. 4.
[0031] FIG. 6 is a diagram showing an example of functions included in the predicted situation data generation unit 114. As shown in FIG. 6, the predicted situation data generation unit 114 includes, for example, a parameter storage unit 121, a learning unit 122, an extraction unit 123, and a restoration unit 124. The learning unit 122, the extraction unit 123, and the restoration unit 124 may be mainly realized by the processor 11. The parameter storage unit 121 may be mainly realized by the storage unit 12, or may be mainly realized by another storage device connected via the communication unit 13 or the like. Further, the predicted situation data generation unit 114 may include functions other than those shown in FIG. 6.
[0032] In the example shown in FIG. 6, the predicted situation data generation unit 114 is a machine learning model learned by a plurality of training data each including first situation data indicating a situation in the game, operation data indicating an operation on the game in the situation, and second situation data indicating a situation in the game after the operation is performed, by the learning unit 122. The parameter storage unit 121 of the predicted situation data generation unit 114 stores the parameters of the machine learning model updated by the learning unit 122.
[0033] FIG. 7 is a diagram showing an example of the output process of the predicted situation data by the predicted situation data generation unit 114. The extraction unit 123 of the predicted situation data generation unit 114 extracts a plurality of feature data from the first situation data and the operation data based on the parameters stored in the parameter storage unit 121. The restoration unit 124 of the predicted situation data generation unit 114 generates data of the same type as the data included in the first situation data (for example, image data) as the predicted situation data based on the parameters stored in the parameter storage unit 121 and the plurality of feature data extracted by the extraction unit 123.
[0034] During the learning of the prediction situation data generation unit 114, which is a machine learning model, the learning unit 122 inputs the first situation data indicating the situation of the game at the timing when the game is operating correctly and the operation data to the extraction unit 123, and compares the prediction situation data output from the restoration unit 124 with the second situation data when the game is operating correctly. Then, when the similarity between the prediction situation data and the second situation data does not meet a predetermined condition (when it is determined that they are not similar), the parameters stored in the parameter storage unit 121 are updated. The learning unit 122 repeats the above process until the similarity between the prediction situation data and the second situation data meets a predetermined condition (until it is determined that they are similar). That is, the learning unit 122 updates the parameters stored in the parameter storage unit 121 so that the prediction situation data generated by the extraction unit 123 and the restoration unit 124 is similar to the second situation data input to the prediction situation data generation unit 114. The learning unit 122 executes the above process based on each of a plurality of pieces of training data, so that the prediction situation data generation unit 114 can generate prediction situation data indicating the situation of the game when the game is operating correctly based on the first situation data when the game is operating correctly.
[0035] Also, when the first situation data acquired by the first situation data acquisition unit 111 is input to the prediction situation data generation unit 114 at the timing when a bug has already occurred in the game, the prediction situation data generation unit 114 may generate data that deviates from the data indicating the actual situation of the game (hereinafter also referred to as abnormal data) based on the first situation data. The prediction situation data generation unit 114 can generate abnormal data when the first situation data at the timing when a bug has occurred in the game is input during the verification of the game program by using training data that does not include the first situation data acquired at the timing when a bug has occurred in the game during the learning by the learning unit 122.
[0036] [2-5. First Similarity Determination Unit, Determination Result Output Unit] During the inspection of the game program, the first similarity determination unit 115 determines the similarity between the second situation data acquired by the second situation data acquisition unit 113 and the predicted situation data generated by the predicted situation data generation unit 114. Then, the determination result output unit 116 outputs information based on the similarity determined by the first similarity determination unit 115 as information regarding the operation of the game. When it is determined by the first similarity determination unit 115 that they are not similar, the determination result output unit 116 outputs information indicating that there is a bug in the operation of the game. That is, the first similarity determination unit 115 determines the presence or absence of a bug by determining the similarity between the second situation data and the predicted situation data. Note that the determination result output unit 116 may output by causing the display unit 14 to display a notification indicating that there is a bug, or may output by causing it to be displayed on another display device connected via the communication unit 13, a video output terminal, or the like.
[0037] The first similarity determination unit 115 determines that they are similar, for example, when the similarity between the second situation data and the predicted situation data is equal to or greater than a predetermined threshold (or when it exceeds the threshold), and determines that they are dissimilar when the similarity is less than the threshold (or when it is less than or equal to the threshold). The first similarity determination unit 115 may determine the similarity, for example, by performing an image comparison between the image data included in the second situation data and the predicted situation data. The first similarity determination unit 115 may calculate the similarity between the image data included in the second situation data and the predicted situation data according to a given image comparison method such as the mean squared error (MSE).
[0038] Further, the first similarity determination unit 115 may place the image of the image data included in the second situation data and the image indicated by the predicted situation data in a given feature space, and calculate the similarity between the second situation data and the predicted situation data based on the distance between the images in the feature space. The predicted situation data generation unit 114 may output the feature amount of the image as the predicted situation data. In this case, the first similarity determination unit 115 calculates the feature amount of the image indicated by the second situation data, and calculates the similarity between the second situation data and the predicted situation data based on the feature amount of the image indicated by the second situation data and the feature amount that is the predicted situation data output by the predicted situation data generation unit 114. "Image comparison" in the present disclosure may include the above-described method for calculating the similarity of images.
[0039] If a bug occurs in the game at the timing when the second situation data acquisition unit 113 acquires the second situation data, data that is dissimilar to the data (for example, the image data 20B shown in FIG. 5A) acquired when the game is operating correctly (for example, the image data 20B' shown in FIG. 5B) is acquired. For this reason, the predicted situation data generation unit 114 generates predicted situation data when the game is operating correctly based on the first situation data indicating the situation of the game at the timing when the game is operating correctly and the operation data indicating the operation at that timing, and the first similarity determination unit 115 determines the similarity between the predicted situation data generated in this way and data such as the image data included in the second situation data acquired after the timing of the first situation data, so that it becomes possible to automatically determine whether the game is operating correctly.
[0040] As described above, if a bug has already occurred in the game at the timing of acquiring the first situation data, the predicted situation data generation unit 114 may generate abnormal data that deviates from the data indicating the actual game situation. In this case, the first similarity determination unit 115 determines that they are dissimilar by comparing the second situation data indicating the game situation and the abnormal data. That is, it can be determined that a bug has already occurred in the game.
[0041] [2-6. Encoder-Decoder Model Unit] The encoder-decoder model unit 117 (second generation means) generates comparison data (second data) by converting data (first data) such as image data included in the second situation data according to predetermined parameters. For example, the encoder-decoder model unit 117 generates comparison data by converting the data included in the second situation data by means of an encoder-decoder model (according to the model parameters of the encoder-decoder model).
[0042] The encoder-decoder model is a machine learning model learned by a plurality of training data including image data indicating the situation in the game. During the learning of the encoder-decoder model unit 117, the parameters of the encoder-decoder model unit 117 stored in the storage unit 12 are updated so that data that matches or is similar to the training data input to the encoder-decoder model unit 117 is generated. The encoder-decoder model unit 117 extracts (compresses) a plurality of feature data from the data included in the second situation data based on the learned parameters stored in the storage unit 12, and generates (restores) comparison data based on these plurality of feature data.
[0043] For example, the encoder-decoder model unit 117 outputs the image data compressed and restored from the image data included in the second situation data as comparison data. In addition to this, the encoder-decoder model unit 117 may also output, as comparison data, data compressed and restored from data including voice data included in the second situation data, the position and direction of the game object, parameters when the game object is a character, the position and orientation of the camera, a flag value indicating the achievement status of the event, and the like.
[0044] The encoder-decoder model unit 117 uses, as a large amount of training data, the data acquired at the timing when no bugs occur in the game for the learning of the encoder-decoder model unit 117. Thereby, when data at the timing when a bug occurs in the game is input, the encoder-decoder model unit 117 can output, as comparison data, data that deviates from the actual game situation. When the second situation data acquisition unit 113 acquires the second situation data at the timing when a bug occurs in the game, the encoder-decoder model unit 117 generates comparison data that deviates from the actual game situation based on the data included in the second situation data.
[0045] [2-7. Second similarity determination unit] During the inspection of the game program, the second similarity determination unit 118 determines the similarity between the data such as the image data included in the second situation data acquired by the second situation data acquisition unit 113 and the comparison data generated by the encoder-decoder model unit 117. Then, the determination result output unit 116 outputs, as information regarding the operation of the game, information based on the similarity determined by the second similarity determination unit 118. As described above, when it is determined that they are not similar in the first similarity determination unit 113, the determination result output unit 114 outputs information indicating that there is a bug in the operation of the game. Also, when it is determined that they are not similar in the second similarity determination unit 118, the determination result output unit 116 outputs information indicating that there is a bug in the operation of the game. That is, the second similarity determination unit 118 determines the presence or absence of a bug by determining the similarity between the data included in the second situation data and the comparison data.
[0046] The second similarity determination unit 118 determines that they are similar when the similarity between data such as the image data included in the second situation data and the comparison data generated by the encoder-decoder model unit 117 is equal to or greater than a predetermined threshold (or when exceeding the threshold), and determines that they are dissimilar when the similarity is less than the threshold (or when less than or equal to the threshold). The second similarity determination unit 118 may calculate the similarity between the image data included in the second situation data and the comparison data that is image data according to a given image comparison method such as mean squared error, in the same manner as the first similarity determination unit 115. As described above, when a bug has already occurred in the game, the encoder-decoder model unit 117 generates comparison data that deviates from the actual game situation. Therefore, by determining the similarity between the data included in the second situation data and the comparison data by the second similarity determination unit 118, it is possible to determine whether a bug has occurred in the game.
[0047] [3. Flowchart] FIG. 8 is a diagram showing an example of the flow of the learning process of the predicted situation data generation unit 114 performed by the inspection apparatus 10. FIG. 9 is a diagram showing an example of the flow of the inspection process performed by the inspection apparatus 10. Hereinafter, based on FIGS. 8 and 9, the flow of the learning process and the inspection process performed by the inspection apparatus 10 will be described.
[0048] [3-1. Learning process] As shown in FIG. 8, during the learning of the predicted situation data generation unit 114, the first situation data acquisition unit 111 acquires first situation data indicating the situation in the game (step S101). Next, the operation data acquisition unit 112 acquires operation data indicating the operation at the timing of step S101 (for example, the timing of frame T1) (step S102). In step S102, the operation data acquisition unit 112 may acquire operation data during a predetermined period (for example, the period from frame T1 to frame Tx) from the timing of step S101.
[0049] Next, the second situation data acquisition unit 113 acquires second situation data indicating the situation of the game at a timing after the timing of step S101 (step S103). In step S103, the second situation data acquisition unit 113 may acquire second situation data indicating the situation of the game at a timing after the operation indicated by the operation data acquired in step S102 is performed (for example, the timing of frame Tx+1).
[0050] In step S101, the first situation data acquisition unit 111 obtains first situation data including data such as image data indicating the situation of the game. In step S103, the second situation data acquisition unit 113 acquires data of the same type as the data included in the first situation data (such as image data) as the second situation data. In the learning process of the predicted situation data generation unit 114, in step S101, the first situation data acquisition unit 111 acquires the first situation data when there is no bug in the game. In step S103, the second situation data acquisition unit 113 acquires the second situation data when there is no bug in the game.
[0051] Next, the predicted situation data generation unit 114 generates predicted situation data based on the first situation data acquired in step S101 and the operation data acquired in step S102 (step S104). In step S104, the extraction unit 123 of the predicted situation data generation unit 114 extracts a plurality of feature data from the first situation data and the operation data based on the parameters stored in the parameter storage unit 121. The restoration unit 124 of the predicted situation data generation unit 114 restores data of the same type as the data included in the first situation data (that is, data of the same type as the second situation data) from the plurality of feature data extracted by the extraction unit 123 based on the parameters stored in the parameter storage unit 121, thereby generating predicted situation data.
[0052] Next, the learning unit 122 of the predicted situation data generation unit 114 determines whether the similarity between the second situation data acquired in step S103 and the predicted situation data generated in step S104 is less than a predetermined threshold (or less than or equal to a predetermined threshold) (step S105). If the similarity between the second situation data and the predicted situation data is less than (or less than or equal to) the predetermined threshold (YES in step S105), the learning unit 122 of the predicted situation data generation unit 114 updates the parameters stored in the parameter storage unit 121 (step S106), and repeats the processes of step S104 and step S105.
[0053] In step S105, if the similarity between the second situation data and the predicted situation data is greater than or equal to the predetermined threshold (or greater than the threshold) (NO in step S105), the learning unit ends the learning process. By repeating the above learning process for the number of pieces of training data, the predicted situation data generation unit 114 can generate predicted situation data indicating the situation of the game when the game is operating correctly, based on the first situation data and the second situation data when the game is operating correctly.
[0054] Note that learning processing similar to the learning processing of the predicted situation data generation unit 114 shown in FIG. 8 may be executed by the encoder-decoder model unit 117. In this case, the encoder-decoder model unit 117 does not perform the processing of steps S102 and S103. In step S104, based on the parameters stored in the storage unit 12, a plurality of feature data are extracted from data such as image data included in the first situation data, and image data and the like are restored from the plurality of extracted feature data, thereby generating comparison data. Further, in step S105, it is determined whether the similarity between the data included in the first situation data acquired in step S101 and the comparison data generated in step S104 is less than a predetermined threshold value (or whether it is equal to or less than a predetermined threshold value). When the similarity is less than (or equal to) the predetermined threshold value, the parameters of the encoder-decoder model unit 117 stored in the storage unit 12 may be updated. By doing so, the encoder-decoder model unit 117 can generate comparison data indicating the situation of the game when the game is operating correctly based on the first situation data when the game is operating correctly, and can generate comparison data that deviates from the actual game situation based on the first situation data when a bug has occurred in the game.
[0055] [3-2. Inspection Processing] As shown in FIG. 9, when inspecting the game program, similar to the learning of the predicted situation data generation unit 117, the first situation data acquisition unit 111 acquires first situation data indicating the situation in the game (step S201). Next, the operation data acquisition unit 115 acquires operation data indicating the operation at the timing of the first situation data (step S202), and the second situation data acquisition unit 116 acquires second situation data indicating the situation of the game at a timing later than the timing of the first situation data (step S203).
[0056] In step S202, the operation data acquisition unit 115 may acquire operation data indicating an operation at the timing of step S201 (for example, the timing of frame T1). In step S202, the operation data acquisition unit 115 may acquire operation data during a predetermined period from the timing of step S201 (for example, the period from frame T1 to frame Tx). Further, in step S203, the second situation data acquisition unit 116 may acquire second situation data indicating the situation of the game at the timing (for example, the timing of frame Tx+1) after the operation indicated by the operation data acquired in step S202. In step S203, the second situation data acquisition unit 116 acquires second situation data including data of the same type as the data such as the image data included in the first situation data acquired in step S201.
[0057] Next, the predicted situation data generation unit 114 generates predicted situation data based on the first situation data acquired in step S201 and the operation data acquired in step S202 (step S204). In step S204, the predicted situation data generation unit 114 extracts a plurality of feature data from the first situation data and the operation data based on the parameters stored in the parameter storage unit 121, similarly to step S104. Then, the predicted situation data generation unit 114 restores data from the extracted feature data based on the parameters stored in the parameter storage unit 121, thereby generating data of the same type as the data such as the image data included in the first situation data (data of the same type as the second situation data) as the predicted situation data.
[0058] If there is no bug in the game at the timing of step S201, in step S204, the predicted situation data generation unit 114 generates predicted situation data indicating the situation of the game when the game is operating correctly. Also, if there is already a bug in the game at the timing of step S201, in step S204, the predicted situation data generation unit 114 may generate abnormal data that deviates from the data indicating the actual situation of the game.
[0059] Next, the first similarity determination unit 115 determines whether the similarity between the second situation data acquired in step S203 and the predicted situation data generated in step S203 is less than a predetermined threshold (or less than or equal to a predetermined threshold) (step S205). If the similarity between the second situation data and the predicted situation data is less than the predetermined threshold (or less than or equal to), that is, if it is determined by the first similarity determination unit 115 that a bug has occurred in the game at any timing of steps S201 to S203 (YES in step S205), the determination result output unit 116 outputs information indicating that there is a bug (step S208). In step S208, the determination result output unit 116 may output by causing the display unit 14 to display a notification indicating that there is a bug, or may output by causing it to be displayed on another display device connected via the communication unit 13, a video output terminal, or the like.
[0060] If the similarity between the second situation data and the predicted situation data is not less than the predetermined threshold (or less than or equal to) (NO in step S205), the encoder-decoder model unit 117 generates comparison data from data such as the image data included in the second situation data acquired in step S203 (step S206). The encoder-decoder model unit 117 extracts, for example, a plurality of feature data from data such as the image data included in the second situation data, and restores data of the same type as the data included in the second situation data from these plurality of feature data, thereby generating comparison data.
[0061] If no bug has occurred in the game at the timing of step S203, in step S206, the encoder-decoder model unit 117 generates comparison data that is the same as or similar to the data included in the second situation data acquired in step S203. Also, if a bug has already occurred in the game at the timing of step S203, in step S206, the encoder-decoder model unit 117 generates data that deviates from the actual game situation.
[0062] Next, the second similarity determination unit 118 determines whether the similarity between the data included in the second situation data acquired in step S203 and the comparison data generated in step S206 is less than a predetermined threshold (or less than or equal to a predetermined threshold) (step S207). If the similarity between the data included in the second situation data and the comparison data is less than (or less than or equal to) the predetermined threshold (YES in step S207), the determination result output unit 116 outputs information indicating that there is a bug (step S208).
[0063] The generation process of the predicted situation data in step S204 and the determination process by the first similarity determination unit 115 in step S205 may be performed after the determination process by the second similarity determination unit 118 in step S207. When the processor 11 of the inspection apparatus 10 has not received an instruction to interrupt or end the inspection (NO in step S209), the inspection process is continued by repeating the processes of steps S201 to S208. The processor 11 of the inspection apparatus 10 ends the inspection process by receiving an instruction to interrupt or end the inspection (YES in step S209).
[0064] [4. Summary] As described above, in the present embodiment, the first situation data acquisition unit 111 acquires first situation data indicating the situation at the first timing in the game, the operation data acquisition unit 112 acquires operation data indicating the operation at the first timing for the game, and the second situation data acquisition unit 113 acquires second situation data indicating the situation at the timing after the operation at the first timing in the game. Then, the predicted situation data generation unit 114 generates predicted situation data based on the first situation data and the operation data, and the first similarity determination unit 115 determines the similarity between the second situation data and the predicted situation data. That is, in the first similarity determination unit 115, it becomes possible to automatically determine whether the correct operation is being performed in the game.
[0065] Also, in the present embodiment, the encoder-decoder model unit 117 generates comparison data by converting data such as image data included in the second situation data acquired by the second situation data acquisition unit 113 using the encoder-decoder model. Then, the second similarity determination unit 118 determines the similarity between the second situation data and the comparison data. When a bug occurs in the game, the encoder-decoder model unit 117 generates data that deviates from the actual game situation. Therefore, the second similarity determination unit 118 can automatically determine whether correct operations are being performed in the game.
[0066] The present invention is not limited to the above embodiments. For example, examples modified from the above-described embodiments may also be included in the technical scope of the present invention.
[0067] (1) In the embodiment, an example in which the predicted situation data generation unit 114 is a machine learning model learned from a plurality of training data has been described. However, the predicted situation data generation unit 114 may generate predicted situation data from the first situation data and the operation data according to a predetermined rule, for example. In this case, the predicted situation data generation unit 114 may not include the learning unit 122. Also in this example, the first similarity determination unit 115 can automatically determine whether correct operations are being performed by determining the similarity between the second situation data and the predicted situation data.
[0068] (2) In the embodiment, the operation data acquisition unit 112 acquires operation data from frame T1 to frame Tx in which the first situation data acquisition unit 111 acquires the first situation data, and the second situation data acquisition unit 113 acquires the second situation data at the timing of frame Tx+1 (the timing after a unit frame from frame Tx (for example, the timing after one frame)) when a predetermined period has elapsed from the timing of frame T1 in which the first situation data acquisition unit 111 acquires the first situation data. Not limited to this, the operation data acquisition unit 112 may acquire operation data indicating the operation performed at the timing of frame T1 in which the first situation data acquisition unit 111 acquires the first situation data, and the second situation data acquisition unit 113 may acquire the second situation data at the timing after a unit frame of frame T1 in which the first situation data acquisition unit 111 acquires the first situation data. Also in this example, the first similarity determination unit 115 can automatically determine whether the correct operation is being performed based on the first situation data and operation data before the unit frame by determining the similarity between the second situation data and the predicted situation data.
[0069] (3) Further, the first situation data acquisition unit 111 may acquire a plurality of first situation data. For example, the first situation data acquisition unit 111 may acquire the first situation data for each unit frame over the period from frame T1 to frame Tx in which the operation data acquisition unit 112 acquires the operation data. Also, the predicted situation data generation unit 114 may generate one predicted situation data based on the plurality of first situation data acquired by the first situation data acquisition unit 111. Also in this example, the first similarity determination unit 115 can automatically determine whether the correct operation is being performed in the game by determining the similarity between the second situation data and the predicted situation data.
[0070] (4) In the embodiment, an example has been described in which the first situation data includes image data, the second situation data is image data, and the predicted situation data generation unit 114 generates image data as the predicted situation data. However, the present invention is not limited to this. The first situation data may include data different from the image data (for example, voice data of a game, etc.), and the second situation data and the predicted situation data output by the predicted situation data generation unit 114 may be data different from the image data (for example, voice data). Also in this example, the first similarity determination unit 115 can automatically determine whether the correct operation is being performed in the game by determining the similarity between the second situation data and the predicted situation data.
Claims
1. A processor, a memory for storing instructions executed by the processor, and the processor acquires first situation data indicating a situation at a first timing in a game, acquires operation data indicating an operation at the first timing for the game, acquires second situation data indicating a situation at a timing after the operation at the first timing in the game, generates predicted situation data based on the first situation data and the operation data, determines the similarity between the second situation data and the predicted situation data, and outputs information based on the similarity as information regarding the operation of the game An inspection device for a game program.
2. In the inspection device according to Claim 1, the processor generates the predicted situation data using a machine learning model learned by a plurality of pieces of training data each including first situation data indicating a situation in the game, operation data indicating an operation for the game in the situation, and second situation data indicating a situation in the game after the operation is performed An inspection device for a game program.
3. In the inspection device according to Claim 1, the second situation data includes image data, and the processor generates image data as the predicted situation data, and determines the similarity by performing an image comparison between the image data included in the second situation data and the predicted situation data An inspection device for a game program.
4. In the inspection device according to Claim 1, the second situation data includes first data, and the processor generates second data by converting the first data included in the second situation data by an encoder-decoder model, and outputs information based on the similarity between the first data and the second data as information regarding the operation of the game An inspection device for a game program.
5. A processor, a memory for storing instructions executed by the processor, and the processor acquires first situation data indicating a situation at a first timing in a game, acquires operation data indicating an operation at the first timing for the game, acquires second situation data indicating a situation at a timing after the operation at the first timing in the game, generates predicted situation data based on the first situation data and the operation data, Determine the similarity between the second situation data and the predicted situation data, As information regarding the operation of the game, output information based on the similarity An inspection system for a game program.
6. A processor Obtains first situation data indicating the situation at a first timing in a game, Obtains operation data indicating the operation at the first timing for the game, Obtains second situation data indicating the situation at a timing after the operation at the first timing in the game, Generates predicted situation data based on the first situation data and the operation data, Determines the similarity between the second situation data and the predicted situation data, As information regarding the operation of the game, outputs information based on the similarity A method for inspecting a game program.
7. On a computer A procedure for obtaining first situation data indicating the situation at a first timing in a game, A procedure for obtaining operation data indicating the operation at the first timing for the game, A procedure for obtaining second situation data indicating the situation at a timing after the operation at the first timing in the game, A procedure for generating predicted situation data based on the first situation data and the operation data, A procedure for determining the similarity between the second situation data and the predicted situation data, and A procedure for outputting information based on the similarity as information regarding the operation of the game A program for causing execution.
Citation Information
Patent Citations
Game testing method and device, electronic device and storage medium
CN109815155A
Automatic upgrading system and upgrading method for automobile instrument
CN113986282A
System, method, and program for inspecting game program, machine leaning support device, and data structure
JP2019164753A
Program inspection device, program inspection method, and program inspection program
JP2021039510A
Method and system for creating a game operation scenario based on gamer behavior prediction model
US20200250555A1