WO2023119452A1 - 判定方法、判定プログラム及び情報処理装置 - Google Patents

判定方法、判定プログラム及び情報処理装置 Download PDF

Info

Publication number
WO2023119452A1
WO2023119452A1 PCT/JP2021/047432 JP2021047432W WO2023119452A1 WO 2023119452 A1 WO2023119452 A1 WO 2023119452A1 JP 2021047432 W JP2021047432 W JP 2021047432W WO 2023119452 A1 WO2023119452 A1 WO 2023119452A1
Authority
WO
WIPO (PCT)
Prior art keywords
game
input information
input
period
tool
Prior art date
Application number
PCT/JP2021/047432
Other languages
English (en)
French (fr)
Inventor
史禎 笠原
孝徳 及川
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2021/047432 priority Critical patent/WO2023119452A1/ja
Publication of WO2023119452A1 publication Critical patent/WO2023119452A1/ja

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/75Enforcing rules, e.g. detecting foul play or generating lists of cheating players

Definitions

  • the present invention relates to determination technology.
  • Auto Aim software that realizes automatic aiming in shooting games.
  • Auto aim there are also those that capture game images via a capture board, analyze the game images captured via the capture board, recognize objects such as enemies, and aim at them. to emulate.
  • Auto Aim which captures the game video via the capture board in this way, since the game files are not accessed or rewritten, there is an aspect that detection is difficult.
  • the aim is to detect cheat tools by detecting abnormal values of parameters such as hit rate from play logs such as player operations and execution results via game terminals as abnormal behavior. .
  • An object of one aspect is to provide a determination method, a determination program, and an information processing apparatus that can improve the accuracy of determining the use of unauthorized tools.
  • a first game image to be displayed on a display device during a first period and a difference between the original game image and the game image are displayed by the player.
  • the fraudulent tool has a characteristic of being able to recognize a difference from the original game image, and is displayed on the display device during a second period that does not overlap with the first period.
  • FIG. 1 is a diagram showing a configuration example of a game system.
  • FIG. 2 is a schematic diagram showing the recognition result of the original frame.
  • FIG. 3 is a schematic diagram showing recognition results of hostile frames.
  • FIG. 4 is a schematic diagram showing an example of fraudulent tool detection.
  • FIG. 5 is a block diagram illustrating a functional configuration example of the server device.
  • FIG. 6 is a schematic diagram showing an example of generation of a hostile frame.
  • FIG. 7 is a schematic diagram showing an operation example of the image selection unit.
  • FIG. 8 is a diagram showing an example of inserting a hostile frame.
  • FIG. 9 is a schematic diagram (1) showing an example of cheat tool detection.
  • FIG. 10 is a schematic diagram showing an example of cheat degree calculation.
  • FIG. 11 is a schematic diagram (2) showing an example of cheat tool detection.
  • FIG. 12 is a flowchart showing the procedure of frame transmission processing.
  • FIG. 13 is a flow chart showing the procedure of unauthorized tool determination processing.
  • FIG. 1 is a diagram showing a configuration example of a game system.
  • FIG. 1 illustrates a game system 1 that provides an online game service as an example only, but the type of computer game is not limited to online games, and may be offline games.
  • the game system 1 may include a server device 10 and client terminals 30A-30N.
  • client terminals 30A to 30N may be referred to as "client terminals 30" when individual client terminals 30A to 30N need not be distinguished.
  • the server device 10 and the client terminal 30 are communicatively connected via the network NW.
  • the network NW may be any type of communication network such as the Internet or a LAN (Local Area Network), regardless of whether it is wired or wireless.
  • the server device 10 is an example of a computer that provides the above online game service.
  • the server device 10 can provide the above-described online game service by causing any computer to execute software that implements the above-described online game service.
  • the server device 10 can be implemented as a server that provides the above online game service on-premises.
  • the server device 10 can also provide the above online game service as a cloud service by implementing it as a PaaS (Platform as a Service) type or SaaS (Software as a Service) type application.
  • the server device 10 may correspond to an example of an information processing device.
  • the client terminal 30 is a terminal device that receives the above online game service.
  • the client terminal 30 is used as a computer game platform. Platforms are not limited to any particular type.
  • the client terminal 30 is not limited to an arcade game machine, a consumer game machine, hardware dedicated to these machines, and may be realized by a general-purpose personal computer, a portable terminal device, or the like. Note that the client terminal 30 may correspond to an example of a game terminal.
  • Computer games provided by the above online game services may be of any genre.
  • it may be a shooting game, a real-time strategy game, a multiplayer online battle arena, a fighting game, a sports game, a racing game, a puzzle game, or the like.
  • FPS First-Person Shooter
  • Auto Aim which realizes automatic aiming in a shooting game, as one of the cheat tools that use image recognition AI.
  • Auto aim there are also those that capture game images via a capture board, analyze the game images captured via the capture board, recognize objects such as enemies, and aim at them. to emulate.
  • Auto Aim which captures the game video via the capture board in this way, since the game files are not accessed or rewritten, there is an aspect that detection is difficult.
  • the online game service according to the present embodiment is added with a judgment function for distinguishing between advanced players and cheat tools by giving specificity to the play log of the cheat tools. That is, the above determination function inserts a hostile frame in which the human and the image recognition AI recognize different differences from the original at the time of transmission of the play image, and detects cheating based on the play log of the original frame and the hostile frame. .
  • FIG. 2 is a schematic diagram showing the recognition result of the original frame.
  • FIG. 3 is a schematic diagram showing recognition results of hostile frames. 2 and 3 show, as an example only, three frames in which the movement of an enemy, which is an example of an object, is modeled out of play images displayed in a shooting game from a first-person viewpoint. ing. Further, FIG. 2 shows an example where all three frames are original frames. On the other hand, in FIG. 3, in the second frame of the three frames, a hostile frame is inserted in which the human can recognize the object in the play image and the image recognition AI misrecognizes the object in the play image. Examples are given.
  • both the player and the image recognition AI can recognize objects, such as enemies, from all frames. For this reason, when the player is an advanced player, it is difficult for the player and the auto aim using the image recognition AI to show a difference in the operation and the execution result thereof.
  • FIG. 4 is a schematic diagram showing an example of unauthorized tool detection.
  • FIG. 4 shows, as just one example, an example in which the presence or absence of unauthorized tool use is realized by a machine learning model.
  • a machine learning model m that receives a play log as an input and outputs a cheat-use or cheat-free label can be used for fraudulent tool detection.
  • a data set TR containing training data associated with play logs and correct labels can be used for training the machine learning model m.
  • the play log may be data in which plays, such as player operations and execution results of player operations, are recorded in chronological order.
  • Such a training data data set TR may include only training data labeled as cheat-free correct answers. For this reason, it is not necessary to necessarily collect play logs of cheat usage as training data, which facilitates collection of the data set TR of training data for the machine learning model m.
  • the play log can be used as the explanatory variable of the machine learning model m
  • the label can be used as the objective variable of the machine learning model m
  • the machine learning model m can be trained according to any machine learning algorithm, such as deep learning. As a result, a trained machine learning model M is obtained.
  • the play log 40 including original frames and adversarial frames is input to the machine learning model M.
  • the play log 40 input to the machine learning model M has specificity to the play log of the cheat tool in the hostile frame. Therefore, the machine learning model M can distinguish advanced players from cheat tools and output a cheat use or cheat nonuse label.
  • the determination function described above it is possible to improve the accuracy of determining the use of fraudulent tools. Furthermore, it is unnecessary to add a player operation for verification to determine the use of illegal tools. Additionally, the determination of unauthorized tool use can be performed in the background without the player's knowledge. In addition to these technical effects, by improving the accuracy of judging the use of unauthorized tools, the reliability of game titles will be improved, thereby reducing user abandonment and reducing losses for game development companies. can.
  • FIG. 5 is a block diagram showing an example of the functional configuration of the server device 10. As shown in FIG. FIG. 5 schematically shows functional blocks corresponding to an online game service to which the determination function described above is added.
  • the server device 10 has a service providing unit 11.
  • the service providing unit 11 is implemented by a hardware processor.
  • hardware processors include CPU (Central Processing Unit), MPU (Micro Processing Unit), GPU (Graphics Processing Unit), and GPGPU (General-Purpose computing on GPU).
  • the processor reads the OS (Operating System) from a storage (not shown), such as a HDD (Hard Disk Drive), an optical disk, or an SSD (Solid State Drive), as well as application programs that implement the online game service. Then, the processor develops a process corresponding to the service providing unit 11 on a memory such as RAM (Random Access Memory) by executing the above application program.
  • RAM Random Access Memory
  • the service providing unit 11 is virtually implemented as a process.
  • the service providing unit 11 may be realized by hardwired logic such as ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array).
  • the service providing unit 11 is a processing unit that provides the online game service described above.
  • the service providing unit 11 has a game progression unit 12, an image generation unit 13, an image transmission unit 14, and an unauthorized tool determination unit 15, as shown in FIG.
  • the game progress unit 12 is a processing unit that progresses the game state of the online game.
  • the "game state” referred to here refers to the state of the character and equipment operated by the player, as well as the state of the virtual space in which the player battles, such as the state of the map.
  • the character state may include the character's position and posture, viewpoint direction, status, performance, and the like.
  • the equipment status may also include the type of weapon being equipped.
  • the game progression unit 12 updates the game state according to the operation information acquired from the client terminal 30 for each period corresponding to the frame rate of the play image. As a result, the position, posture, viewing direction, status, and performance of the character placed on the map are updated to the latest values, and the game state of the online game progresses.
  • the image generation unit 13 is a processing unit that generates play images.
  • the image generation unit 13 generates a play image according to the game state progressed by the game progression unit 12 for each of the M players participating in the online game competition.
  • the image generator 13 renders the map and the characters on the map that are included in the angle of view corresponding to the viewpoint direction of the player's own character among the map and the characters arranged on the map.
  • the image generation unit 13 updates various displays such as gauges and icons according to the status and performance of the character updated by the game progression unit 12 .
  • a play image realized by computer graphics or the like can be generated, just as an example.
  • the image transmission unit 14 is a processing unit that transmits play images. As an example only, the image transmission unit 14 transmits an image selected by an image selection unit 15B described later, that is, an original frame or a hostile frame of a play image, for each client terminal 30 corresponding to each of M players. .
  • the unauthorized tool determination unit 15 is a processing unit that provides the above-described judgment function, that is, the function of determining whether or not an unauthorized tool is used. As shown in FIG. 5, the unauthorized tool determination unit 15 includes an image processing unit 15A, an image selection unit 15B, a condition storage unit 15C, a play log acquisition unit 15D, a feature extraction unit 15E, and a cheat degree calculation unit 15F. , an accumulated cheat degree storage unit 15G, and a cheat detection unit 15H.
  • the image processing unit 15A is a processing unit that processes play images.
  • the image processing unit 15A is configured such that the original frame of the play image generated by the image generating unit 13 is processed so that humans cannot recognize the difference from the original, and the image recognition AI can recognize the difference from the original. Process into a hostile frame.
  • Such processing is realized by making the original frame of the play image recognizable by humans and by making the object in the play image unrecognizable by the image recognition AI. be.
  • FGSM Fast Gradient Sign Method
  • FIG. 6 is a schematic diagram showing an example of hostile frame generation.
  • FIG. 6 illustrates a machine learning model 6M that realizes object detection, which is one of the image recognition tasks, as an example of image recognition AI used by the cheat tool.
  • the machine learning model 6M for such tasks may be realized by YOLO (You Only Look Once), R-CNN (Regions with CNN features), SSD (Single Shot MultiBox Detector), etc.
  • the FGSM generates a hostile frame 62 of the play image by adding a perturbation 61 to the original frame 60 of the play image, which is input data to the machine learning model 6M.
  • a perturbation 61 is a change given to the input data to the machine learning model 6M, for example, the pixel values of an image.
  • the perturbation 61 is obtained by formulating the problem of minimizing the change in the input data that maximizes the loss between the correct label of the input data to the machine learning model 6M and the output of the machine learning model 6M. be able to.
  • the perturbation 61 shown in FIG. 6 is only a schematic example, and it is not necessary to change the values of all the pixels of the image that is the input data.
  • the machine learning model 6M misrecognizes the target, and humans recognize the target, such as an enemy character.
  • An adversarial frame 62 can be obtained that enables
  • the original frame of the play image is an example in which a hostile frame is generated in which a person can recognize the object in the play image and the image recognition AI cannot recognize the object in the play image.
  • the hostile frame generation method is not limited to this.
  • the image recognition AI can recognize the hostile frame inserted between the preceding and following original frames, so that the hostile frame causes a discontinuity or joint in the play log.
  • the hostile frame does not cause a gap or a seam in the play log.
  • the image selection unit 15B is a processing unit that selects either the original frame of the play image or the hostile frame of the play image. As one embodiment, the image selection unit 15B determines whether or not the game play status of each client terminal 30 corresponding to each of M players satisfies the conditions stored in the condition storage unit 15C. Select original frame or adversarial frame.
  • FIG. 7 is a schematic diagram showing an operation example of the image selection unit 15B.
  • FIG. 7 illustrates, as just one aspect, a scene in which the image selection unit 15B selects the hostile frame from the original frame and the hostile frame.
  • the play situation 71 can include player operations 71A and play environments 71B.
  • the player operation 71A may include character state, weapon operation, and the like.
  • the play environment 71B may include equipped weapons, the presence or absence of enemies, distances from enemies, and the like.
  • condition storage unit 15C stores, as examples of conditions to be checked with the play situation, a first condition 15C1 designating a trigger for inserting a hostile frame and a second condition 15C1 designating a timing to start inserting a hostile frame.
  • the setting of the condition 15C2 is stored.
  • a play situation is set in which a human shoots at a high probability from the aspect of inserting a hostile frame in a play situation in which a cheat tool, for example, an image recognition AI such as Auto Aim functions effectively. be.
  • a cheat tool for example, an image recognition AI such as Auto Aim functions effectively.
  • the image selection unit 15B determines whether or not the play situation 71 of the current frame satisfies the first condition 15C1 and the second condition 15C2. .
  • the player operation 71A weapon operation "Machine gun fire (11/30 shots)" satisfies the first condition "Machine gun fire” set in the first condition 15C1. Furthermore, the presence/absence of enemies “present” in the play environment 71B satisfies the second condition “enemies: present” set in the first condition 15C1. Furthermore, the distance "4m" to the enemy in the play environment 71B satisfies the third condition "distance to the enemy: within 5m” set in the first condition 15C1. Therefore, the player operation 71A and the play environment 71B satisfy the first condition 15C1 set in the condition storage section 15C.
  • the player operation 71A weapon operation "Machine gun fires continuously (11/30 shots)" satisfies the second condition 15C2 "Time to fire 11 to 13 machine gun shots after 10 shots”. Therefore, the player operation 71A and the play environment 71B satisfy the second condition 15C2 set in the condition storage section 15C.
  • the image selection unit 15B selects the hostile frame from among the original frame and the hostile frame, and selects the hostile frame. is output to the image transmission unit 14 .
  • FIG. 8 is a diagram showing an example of inserting a hostile frame.
  • FIG. 8 shows an excerpt of four frames of the play image selected in chronological order by the image selection unit 15B, and also shows the play situation including the player's operation and the play environment in association with each frame. .
  • one of the first conditions 15C1 is the player's weapon operation "machine gun firing (8/30 shots)" and the presence or absence of enemies in the play environment "yes". Satisfies the first and second conditions.
  • the distance "7m" to the enemy in the play environment does not satisfy the third condition of the first condition 15C1.
  • the play situation does not satisfy the first condition 15C1 in the first frame. Therefore, no hostile frame is inserted into the first frame, and the original frame is transmitted to the client terminal 30 .
  • the player's weapon operation "Machine gun is firing continuously (9/30 shots)" and the presence or absence of enemies in the play environment "Yes” are the first and second conditions 15C1. Satisfy the second condition.
  • the distance "6m” to the enemy in the play environment does not satisfy the third condition of the first condition 15C1.
  • the play situation does not satisfy the first condition 15C1 even in the second frame. Therefore, no hostile frame is inserted in the second frame, and the original frame is transmitted to the client terminal 30 .
  • the weapon operation of the player's operation "machine gun firing (10/30 shots)", the presence or absence of enemies in the play environment "yes", and the distance from the enemy in the play environment "5m”. satisfies all the conditions of the first condition 15C1. Therefore, the third frame serves as a trigger for inserting the hostile frame.
  • the machine gun fires the 10th shot in rapid succession, the condition of the 11th to 13th shots set in the second condition 15C2 is not satisfied. Therefore, the original frame is transmitted to the client terminal 30 without inserting the hostile frame into the third frame as well.
  • the weapon operation of the player operation "Machine gun fire (11/30 shots)"
  • the distance from the enemy in the play environment "4m” satisfies all the conditions of the first condition 15C1.
  • the 11th shot of the machine gun is fired continuously, so the condition of the 11th to 13th shots set in the second condition 15C2 is also satisfied.
  • the play situation satisfies both the first condition 15C1 and the second condition 15C2, so the hostile frame is inserted in the fourth frame and transmitted to the client terminal 30.
  • the play log acquisition unit 15D is a processing unit that acquires a play log.
  • the play log acquisition unit 15D acquires a play log from the client terminals 30 corresponding to each of the M players participating in each match in which an online game is played.
  • the above-mentioned “play log” may be data recorded in chronological order for a specific period of time, for example, from the start of the game to the end of the game.
  • a play may include all or part of a player's operation, the execution result of the player's operation, and a play environment.
  • player operations include keyboard, mouse, and controller operations.
  • execution results of player operations include hit rate, headshot probability, number of kills, and the like.
  • Examples of the play environment include battle time, enemy position coordinates, rapid fire intervals, weapons used, and the like.
  • FIG. 9 is a schematic diagram (1) showing an example of cheat tool detection.
  • FIG. 9 schematically shows the operations of the play log acquisition unit 15D and the feature extraction unit 15E, which are performed for each game of the game 1 and the game 2, as an example only. It should be noted that FIG. 9 shows an excerpt of the action for the play log of one player P among the M players participating in the games 1 and 2.
  • FIG. 9 shows an excerpt of the action for the play log of one player P among the M players participating in the games 1 and 2.
  • the play log acquisition unit 15D acquires the play log from the client terminal 30 corresponding to the player P for each game 1 and game 2. For example, taking the play log of Match 1 as an example, 8:00:30 on November 1, 2021, 8:05:20 on the same day, 8:05:21 on the same day, and 8:08 on the same day A play history is recorded every 10 seconds. That is, at 8:00:30 on November 1, 2021, the start of Match 1 was recorded, and at 8:05:20 and 8:05:21 on the same day, machine gun fire was recorded. . Furthermore, at 8:08:10 on the same day, a hit rate of 20% was recorded in the original frame of Match 1, and a hit rate of 0.1% was recorded in the hostile frame of Match 1. there is
  • the feature extraction unit 15E is a processing unit that extracts features of play in an online game.
  • the feature extraction unit 15E is a machine learning model 15FM that outputs an estimated value of "cheat degree” indicating the degree of suspicion of cheat tool use based on the play log of each online game match. Calculate the feature value to be input to .
  • the feature extraction unit 15E calculates the average hit rate in the original frames of game 1 by calculating the statistical value of the hit rate observed in the original frames of game 1, for example, the average value. Furthermore, the feature extraction unit 15E calculates the average hit rate in the hostile frames of game 1 by calculating the statistical value of the hit rate observed in the hostile frames of game 1, for example, the average value.
  • the shot count data it is possible to implement feature extraction that enables class classification based on whether or not a break or seam appears at the boundary between the original frame and the hostile frame.
  • the cheat degree calculation unit 15F is a processing unit that calculates the above cheat degree.
  • the cheat degree calculation unit 15F is implemented by a machine learning model 15FM that receives as input the play feature amount extracted by the feature extraction unit 15E and outputs the cheat degree.
  • FIG. 10 is a schematic diagram showing an example of cheat degree calculation.
  • the machine learning model 15FM contains the number of shots data in which the number of shots is associated with each frame of the game 1, the average hit rate in the original frame of the game 1, and the hostile An average hit rate in a frame is input.
  • the machine learning model 15FM to which such input data is input, outputs a cheat degree indicating the degree of suspicion of cheat tool usage.
  • the cheat degree may be a score whose value increases as the degree of suspicion of cheat tool usage increases.
  • the cheat degree may be a probability that the score is normalized between a certain numerical range, eg, 0-1.
  • a data set containing training data in which the number of shots data and the above two average hit rates are associated with correct labels.
  • Such a data set of training data may include only training data to which a correct label, for example, a degree of cheating near zero, that is not suspected of using a cheat tool is assigned. Therefore, it is not necessary to collect data on the number of shots when using cheats and the above two average hit rates as training data, which facilitates collection of training data sets for the machine learning model 15FM.
  • the number of shots data and the above two average hit rates are used as explanatory variables for the machine learning model 15FM
  • the label is used as the objective variable for the machine learning model M
  • any machine learning algorithm such as deep learning, is used.
  • a machine learning model 15FM can be trained. This results in a trained machine learning model 15FM.
  • the cheat degree calculated by the cheat degree calculation unit 15F in this way is accumulated for each player.
  • the cheat degree calculated by the cheat degree calculation unit 15F is further integrated with the cheat degree accumulated so far.
  • the cheat degree accumulated by accumulating for each match may be referred to as "accumulated cheat degree”.
  • the accumulated cheat degree accumulated in this manner is stored in the accumulated cheat degree storage unit 15G for each player.
  • FIG. 11 is a schematic diagram (2) showing an example of cheat tool detection.
  • FIG. 11 schematically shows, by way of example only, the storage contents of the accumulated cheat degree storage unit 15G and the operation contents of the cheat detection unit 15H, which are executed for each game of games 1 and 2. As shown in FIG. It should be noted that FIG. 11 shows an excerpt of the action for the play log of one player P among the M players participating in the games 1 and 2.
  • FIG. 11 shows an excerpt of the action for the play log of one player P among the M players participating in the games 1 and 2.
  • the cheat detection unit 15H is a processing unit that detects the use of cheat tools. As one embodiment, the cheat detection unit 15H determines whether or not the cumulative cheat degree stored in the cumulative cheat degree storage unit 15G exceeds a threshold Th. At this time, if the cumulative cheat degree exceeds the threshold Th, it is detected that the cheat tool has been used.
  • the accumulated cheat degree of player P is "C1", and since the accumulated cheat degree ⁇ threshold Th, the use of the cheat tool is not detected. Thereafter, at the end of game 2, the cumulative cheat degree of player P is "C3”, and cumulative cheat degree>threshold value Th, so use of the cheat tool is detected.
  • the cheat detection unit 15H can send arbitrary notifications to arbitrary output destinations.
  • the cheat detection unit 15H can output specific notifications such as players using cheat tools and accumulated cheat degrees to a computer under the control of the online game operator. It is not limited to such an external device, and can be output to a service or function that executes arbitrary backend processing in response to notification of a player, cheat degree, or the like.
  • FIG. 5 shows an example in which the function of the unauthorized tool judgment unit 15 corresponding to the judgment function described above is packaged in an online game service, but it is not limited to this. It does not necessarily have to be packaged with the online game service.
  • the unauthorized tool determination unit 15 may be provided as a service different from the online game service.
  • the unauthorized tool determination unit 15 may be implemented as a function of a library referenced by the online game service, such as an API (Application Programming Interface).
  • FIG. 12 is a flowchart showing the procedure of frame transmission processing. This process is performed for each period corresponding to the frame rate of the play image, as an example only.
  • a loop process 1 that repeats the process from step S101 to step S110 is executed a number of times corresponding to the number of matches K in which online games are played.
  • step S101 When the k-th match of the online game starts (step S101), the game progression unit 12 acquires operation information from the client terminals 30 corresponding to each of the M players participating in the k-th match (step S101). S102). Subsequently, the game progression unit 12 progresses the game state according to the operation information acquired for each player in step S102 (step S103).
  • loop processing 2 is executed to repeat the processing from step S104 to step S110 the number of times corresponding to the number M of players participating in the k-th game.
  • FIG. 12 shows an example in which the processing from step S104 to step S110 is implemented as loop processing 2, but the processing from step S104 to step S110 may be executed in parallel for each player.
  • step S104 the image generator 13 generates a play image of the player P according to the game state progressed in step S103 (step S104).
  • the image processing unit 15A converts the original frame of the play image generated in step S104 into a hostile frame in which humans cannot recognize the difference from the original and the image recognition AI can recognize the difference from the original. Process (step S105).
  • the image selection unit 15B determines whether or not the game play status of the player P satisfies the conditions stored in the condition storage unit 15C (step S106).
  • step S106 Yes if the play situation satisfies the condition stored in the condition storage unit 15C (step S106 Yes), the image selection unit 15B selects the hostile frame generated in step S105 (step S107).
  • step S106 No if the play situation does not satisfy the condition stored in the condition storage unit 15C (step S106 No), the image selection unit 15B selects the original frame generated in step S104 (step S108).
  • the image transmission unit 14 transmits the image selected in step S107 or step S108, that is, the original frame or hostile frame of the play image to the client terminal 30 of player P (step S109).
  • the original frame or the hostile frame of the play image selected in step S107 or step S108 can be transmitted to player P's client terminal 30 for each of the M players.
  • step S102 After that, the process from step S102 to step S109 is repeated until the k-th match is completed.
  • loop processing 1 it is possible to provide an online game service in which M players participate in a match from the first time to the Kth time.
  • FIG. 13 is a flow chart showing the procedure of the unauthorized tool determination processing.
  • this processing can be executed in response to a request from a terminal of a related person such as a person in charge of an online game operator, or it can be executed in real time every time an online game match ends. can also
  • loop processing 1 is executed to repeat the processing from step S301 to step S306 the number of times corresponding to the number of games K in which online games are played.
  • the play log acquisition unit 15D acquires play logs from the client terminals 30 corresponding to each of the M players participating in the k-th game (step S301).
  • loop processing 2 is executed to repeat the processing of steps S302 and S303 the number of times corresponding to the number M of players participating in the k-th game.
  • FIG. 13 shows an example in which the processes of steps S302 and S303 are implemented as loop process 2, but the processes of steps S302 and S303 may be executed in parallel for each player.
  • the feature extraction unit 15E inputs a feature value to the machine learning model 15FM that outputs an estimated value of "cheating degree” indicating the degree of suspicion of the use of a cheat tool based on the play log of the player P in the k-th game. is calculated (step S302).
  • the cheat degree calculation unit 15F inputs the feature amount of the player P calculated in step S302 to the machine learning model 15FM, and causes the machine learning model 15FM to output the cheat degree, thereby calculating the cheat degree of the player P. Calculate (step S303).
  • the cheat degree calculation unit 15F multiplies the accumulated cheat degree of the player P by the cheat degree calculated in step S303, among the accumulated cheat degrees stored in the accumulated cheat degree storage unit 15G, thereby calculating the accumulated cheat degree of the player P.
  • the cheat degree is updated (step S304).
  • the cheat detection unit 15H determines whether or not the cumulative cheat degree of the player P updated in step S304 exceeds the threshold Th (step S305).
  • the cheat detection unit 15H detects that a cheat tool has been used (step S306). If the accumulated cheat degree does not exceed the threshold value Th (No at step S305), use of the cheat tool is not detected.
  • the server device 10 according to the present embodiment inserts a hostile frame in which a human and an image recognition AI recognize different differences with respect to the original when transmitting a play image. Cheat detection based on play logs. Therefore, according to the server device 10 according to the present embodiment, it is possible to improve the accuracy of determining the use of fraudulent tools.
  • the machine learning model M is used to detect whether or not an unauthorized tool is being used.
  • other techniques may be used to detect whether or not an unauthorized tool is being used.
  • the cheat detection unit 15H can determine whether or not an unauthorized tool is used by comparing the play log or the feature amount extracted by the feature extraction unit 15E between the original frame and the hostile frame.
  • the cheat detection unit 15H can also determine whether or not a cheat tool is used based on whether or not there is continuity in the number of shots at the boundary between the original frame and the hostile frame. . More specifically, the cheat detection unit 15H detects use of a cheat tool when the difference between the number of shots of the hostile frame and the number of shots of the original frame adjacent to the hostile frame exceeds a threshold.
  • the original frame used for such detection may be the original frame preceding the hostile frame or the original frame following the hostile frame.
  • the cheat detection unit 15H determines whether or not a cheat tool is used based on whether the difference between the average hit rate in the original frame and the average hit rate in the hostile frame exceeds a threshold. You can also
  • each component of each illustrated device does not necessarily have to be physically configured as illustrated.
  • the specific form of distribution and integration of each device is not limited to the one shown in the figure, and all or part of them can be functionally or physically distributed and integrated in arbitrary units according to various loads and usage conditions. Can be integrated and configured.
  • the service providing unit 11 and the unauthorized tool determination unit 15 may be connected via a network as external devices of the server device 10 .
  • the function of the server device 10 may be realized by having the service providing unit 11 and the unauthorized tool determination unit 15 in separate devices, which are connected to a network and cooperate with each other.
  • FIG. 14 is a diagram showing a hardware configuration example.
  • the computer 100 has an operation section 110a, a speaker 110b, a camera 110c, a display 120, and a communication section . Furthermore, this computer 100 has a CPU 150 , a ROM 160 , an HDD 170 and a RAM 180 . Each part of these 110 to 180 is connected via a bus 140 .
  • the HDD 170 stores a determination program 170a that exhibits the same function as the unauthorized tool determination unit 15 shown in the first embodiment.
  • This judgment program 170a may be integrated or separated like each component of the unauthorized tool judgment unit 15 shown in FIG. That is, the HDD 170 does not necessarily store all the data shown in the first embodiment, and the HDD 170 only needs to store data used for processing.
  • the CPU 150 reads out the determination program 170a from the HDD 170 and expands it to the RAM 180.
  • the determination program 170a functions as a determination process 180a, as shown in FIG.
  • the determination process 180a deploys various data read from the HDD 170 in an area assigned to the determination process 180a among the storage areas of the RAM 180, and executes various processes using the deployed various data.
  • examples of processing executed by the determination process 180a include the processing shown in FIGS. 12 and 13.
  • FIG. Note that the CPU 150 does not necessarily have to operate all the processing units described in the first embodiment, as long as the processing units corresponding to the processes to be executed are virtually realized.
  • each program is stored in a “portable physical medium” such as a flexible disk inserted into the computer 100, so-called FD, CD-ROM, DVD disk, magneto-optical disk, IC card, or the like. Then, the computer 100 may acquire and execute each program from these portable physical media.
  • each program may be stored in another computer or server device connected to computer 100 via a public line, the Internet, LAN, WAN, etc., and computer 100 may obtain and execute each program from these. can be

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

判定方法では、第1の期間に表示デバイスに表示させる第1のゲーム画像と、プレイヤはオリジナルのゲーム画像に対する差を認識できず、かつ、不正ツールはオリジナルのゲーム画像に対する差を認識できる特徴を持ち、第1の期間と重複しない第2の期間に表示デバイスに表示させる第2のゲーム画像とを表示デバイスに送信し、第1の期間に応じた期間にゲーム端末に入力された第1の入力情報と、第2の期間に応じた期間にゲーム端末に入力された第2の入力情報とに基づき、プレイヤによる不正ツールの使用の有無を判定する、処理をコンピュータが実行する。

Description

判定方法、判定プログラム及び情報処理装置
 本発明は、判定技術に関する。
 e-sportsへの注目度が高まるのに伴ってコンピュータゲームの市場が拡大する一方で、コンピュータゲームの不正行為で用いられるソフトウェア、いわゆるチートツールの使用が問題となっている。
 例えば、画像認識AI(Artificial Intelligence)を用いるチートツールの1つとして、シューティングゲームにおいて自動照準を実現するオートエイムと呼ばれるソフトウェアがある。このようなオートエイムの中には、キャプチャボードを介してゲーム映像を取り込むものも存在し、キャプチャボードを介して取り込まれたゲーム映像を解析して敵などのオブジェクトを認識して照準を合わせる操作をエミュレートする。このようにゲーム映像をキャプチャボードを介して取り込むオートエイムでは、ゲームファイルへのアクセスや書き換えが行われないので、検知が困難な側面がある。
 ゲームファイルへの書き換えが行われない場合、ゲーム端末を介するプレイヤ操作やその実行結果などのプレイログから命中率などのパラメータの異常値を異常動作として検知することにより、チートツールの検知が目指される。
特開2009-89757号公報
 しかしながら、上記の異常動作の検知では、不正ツールの使用の判定精度の向上が困難な一面がある。
 例えば、ゲームファイルにアクセスしないタイプのオートエイムの中には、命中率などのパラメータの設定が可能であるタイプのものも存在する。このようなタイプのオートエイムでは、パラメータを極端な外れ値が観測されない範囲に調整できる。それ故、上記の異常動作の検知では、プレイログで観測される、上級者の正常動作パラメータとオートエイムによるパラメータの識別が困難であるので、上級者とチートツールとの区別に失敗するおそれがある。
 1つの側面では、不正ツールの使用の判定精度の向上を実現できる判定方法、判定プログラム及び情報処理装置を提供することを目的とする。
 一態様の判定方法では、ゲームのプレイヤによる不正ツールの使用の有無を判定する判定方法において、第1の期間に表示デバイスに表示させる第1のゲーム画像と、前記プレイヤはオリジナルのゲーム画像に対する差を認識できず、かつ、前記不正ツールは前記オリジナルのゲーム画像に対する差を認識できる特徴を持ち、前記第1の期間と重複しない第2の期間に前記表示デバイスに表示させる第2のゲーム画像とを前記表示デバイスに送信し、前記第1の期間に応じた期間にゲーム端末に入力された第1の入力情報と、前記第2の期間に応じた期間に前記ゲーム端末に入力された第2の入力情報とに基づき、前記プレイヤによる前記不正ツールの使用の有無を判定する、処理をコンピュータが実行する。
 一実施形態によれば、不正ツールの使用の判定精度の向上を実現できる。
図1は、ゲームシステムの構成例を示す図である。 図2は、オリジナルフレームの認識結果を示す模式図である。 図3は、敵対的フレームの認識結果を示す模式図である。 図4は、不正ツール検知の一例を示す模式図である。 図5は、サーバ装置の機能構成例を示すブロック図である。 図6は、敵対的フレームの生成例を示す模式図である。 図7は、画像選択部の動作例を示す模式図である。 図8は、敵対的フレームの挿入例を示す図である。 図9は、チートツールの検知例を示す模式図(1)である。 図10は、チート度の算出例を示す模式図である。 図11は、チートツールの検知例を示す模式図(2)である。 図12は、フレーム送信処理の手順を示すフローチャートである。 図13は、不正ツール判定処理の手順を示すフローチャートである。 図14は、ハードウェア構成例を示す図である。
 以下、添付図面を参照して本願に係る判定方法、判定プログラム及び情報処理装置の実施例について説明する。各実施例には、あくまで1つの例や側面を示すに過ぎず、このような例示により数値や機能の範囲、利用シーンなどは限定されない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
<システム構成>
 図1は、ゲームシステムの構成例を示す図である。図1には、あくまで一例として、オンラインゲームサービスを提供するゲームシステム1を例示するが、コンピュータゲームの種類はオンラインゲームに限定されず、オフラインゲームであってもよい。
 図1に示すように、ゲームシステム1は、サーバ装置10と、クライアント端末30A~30Nとが含まれ得る。以下、クライアント端末30A~30Nの個体を区別せずともよい場合、クライアント端末30A~30Nのことを「クライアント端末30」と記載する場合がある。
 これらサーバ装置10及びクライアント端末30の間は、ネットワークNWを介して通信可能に接続される。例えば、ネットワークNWは、有線または無線を問わず、インターネットやLAN(Local Area Network)などの任意の種類の通信網であってよい。
 サーバ装置10は、上記のオンラインゲームサービスを提供するコンピュータの一例である。一実施形態として、サーバ装置10は、上記のオンラインゲームサービスを実現するソフトウェアを任意のコンピュータに実行させることにより、上記のオンラインゲームサービスを提供できる。例えば、サーバ装置10は、上記のオンラインゲームサービスをオンプレミスに提供するサーバとして実現できる。この他、サーバ装置10は、PaaS(Platform as a Service)型、あるいはSaaS(Software as a Service)型のアプリケーションとして実現することで、上記のオンラインゲームサービスをクラウドサービスとして提供することもできる。なお、サーバ装置10は、情報処理装置の一例に対応し得る。
 クライアント端末30は、上記のオンラインゲームサービスの提供を受ける端末装置である。クライアント端末30は、コンピュータゲームのプラットフォームとして用いられる。プラットフォームは、特定の種類に限定されない。例えば、クライアント端末30は、アーケードゲーム機、コンシューマゲーム機、これら専用のハードウェアに限らず、汎用のパーソナルコンピュータや携帯端末装置などにより実現されてよい。なお、クライアント端末30は、ゲーム端末の一例に対応し得る。
<コンピュータゲームのジャンルの例示>
 上記のオンラインゲームサービスで提供されるコンピュータゲームは、任意のジャンルであってよい。例えば、シューティング、リアルタイムストラテジ、マルチプレイオンラインバトルアリーナ、格闘ゲーム、スポーツゲーム、レーシングゲーム、パズルゲームなどであってよい。
 以下、ジャンルのあくまで一例として、M人のプレイヤが操作するキャラクタがマップなどの仮想空間上で対戦する一人称視点のシューティングゲーム、いわゆるFPS(First-Person Shooter)を例に挙げて説明を行う。なお、一人称視点は、あくまで例示で挙げるに過ぎず、当然のことながら三人称視点のシューティングゲーム、いわゆるTPS(Third-Person Shooter)であってもよい。
<課題の一側面>
 コンピュータゲームの市場では、不正ツールの使用への対策が求められるが、上記の背景技術の欄で説明した通り、上記の異常動作の検知では、不正ツールの使用の判定精度の向上が困難な一面がある。
 例えば、画像認識AIを用いるチートツールの1つとして、シューティングゲームにおいて自動照準を実現するオートエイムを例に挙げる。このようなオートエイムの中には、キャプチャボードを介してゲーム映像を取り込むものも存在し、キャプチャボードを介して取り込まれたゲーム映像を解析して敵などのオブジェクトを認識して照準を合わせる操作をエミュレートする。このようにゲーム映像をキャプチャボードを介して取り込むオートエイムでは、ゲームファイルへのアクセスや書き換えが行われないので、検知が困難な側面がある。
 さらに、ゲームファイルにアクセスしないタイプのオートエイムの中には、あくまで1つの側面として、命中率などのパラメータの設定が可能であるタイプのものも存在する。このようなタイプのオートエイムでは、パラメータを極端な外れ値が観測されない範囲に調整できる。それ故、上記の異常動作の検知では、プレイログで観測される、上級者の正常動作パラメータとオートエイムによるパラメータの識別が困難であるので、上級者とチートツールとの区別に失敗するおそれがある。
<課題解決アプローチの一側面>
 そこで、本実施例に係るオンラインゲームサービスには、チートツールのプレイログに特異性を持たせることで上級者とチートツールを区別して判定する判定機能がアドオンされる。すなわち、上記の判定機能は、プレイ画像の送信時に人間と画像認識AIの間でオリジナルに対する差の認識が異なる敵対的フレームを挿入し、オリジナルフレーム及び敵対的フレームのプレイログに基づいてチート検知する。
 図2は、オリジナルフレームの認識結果を示す模式図である。図3は、敵対的フレームの認識結果を示す模式図である。図2及び図3には、あくまで一例として、一人称視点のシューティングゲームで表示されるプレイ画像のうち対象物の一例である敵が移動する様子が模式化された3つのフレームが抜粋して示されている。さらに、図2には、3つのフレームの全てがオリジナルフレームである例が示される。一方で、図3には、3つのフレームのうち2フレーム目に人がプレイ画像中の対象物を認識可能で画像認識AIがプレイ画像中の対象物を誤認識する敵対的フレームが挿入される例が示されている。
 図2に示すように、3つのフレームの全てがオリジナルフレームである場合、プレイヤおよび画像認識AIのいずれもが全てのフレームから対象物、例えば敵を認識できる。このため、プレイヤが上級者である場合、プレイヤと、画像認識AIを用いるオートエイムとの間で操作やその実行結果に差が現れにくい。
 一方、図3に示すように、3つのフレームのうち2フレーム目に敵対的フレームが挿入される場合、プレイヤは全てのフレームから対象物を認識できるが、画像認識AIは敵対的フレームが挿入された2フレームから敵を認識できない。この場合、プレイヤとオートエイムの間で2フレーム目の操作やその実行結果に差が現れる。すなわち、オートエイムでは、2フレーム目の敵が認識されないので、敵から照準が外れる結果、射撃が中断されたり、射撃が中断されずとも敵に照準が合わずに命中しなかったりといった影響が現れ得る。
 このことから、プレイ画像の送信時に敵対的フレームを挿入することにより、敵対的フレームにおけるチートツールのプレイログに特異性を持たせることができることが明らかである。
 図4は、不正ツール検知の一例を示す模式図である。図4には、あくまで一例として、不正ツールの使用の有無の検知が機械学習モデルにより実現される例が示されている。図4に示すように、不正ツール検知には、プレイログを入力としてチート使用またはチート不使用のラベルを出力する機械学習モデルmを用いることができる。
 機械学習モデルmの訓練には、プレイログおよび正解ラベルが対応付けられた訓練データを含むデータセットTRを用いることができる。例えば、プレイログは、プレイ、例えばプレイヤ操作やプレイヤ操作の実行結果などが時系列に記録されるデータであってよい。
 このような訓練データのデータセットTRには、チート不使用の正解ラベルが付与された訓練データのみが含まれていてもよい。このため、チート使用のプレイログを訓練データとして必ずしも収集せずともよいので、機械学習モデルmの訓練データのデータセットTRの収集を容易化できる。
 例えば、学習フェイズでは、プレイログを機械学習モデルmの説明変数とし、ラベルを機械学習モデルmの目的変数とし、任意の機械学習のアルゴリズム、例えばディープラーニングなどにしたがって機械学習モデルmを訓練できる。これにより、訓練済みの機械学習モデルMが得られる。
 推論フェイズでは、オリジナルフレームおよび敵対的フレームを含むプレイログ40を機械学習モデルMへ入力する。このように機械学習モデルMへ入力されるプレイログ40には、敵対的フレームにおけるチートツールのプレイログに特異性が持たせられている。それ故、機械学習モデルMは、上級者とチートツールとを区別してチート使用またはチート不使用のラベルを出力できる。
 したがって、上記の判定機能によれば、不正ツールの使用の判定精度の向上を実現できる。さらに、不正ツールの使用を判定する検証用のプレイヤ操作の追加が不要である。加えて、不正ツールの使用の判定をプレイヤに気づかれずにバックグラウンドで実施することができる。このような技術的効果以外にも、不正ツールの使用の判定精度の向上が実現することで、ゲームタイトルの信頼性を向上させ、もってユーザ離れの抑制、並びに、ゲーム開発企業の損失低減を実現できる。
<サーバ装置10の構成>
 次に、本実施例に係る判定機能を有するサーバ装置10の機能構成例について説明する。図5は、サーバ装置10の機能構成例を示すブロック図である。図5には、上記の判定機能がアドオンされたオンラインゲームサービスに対応する機能のブロックが模式化されている。
 図5に示すように、サーバ装置10は、サービス提供部11を有する。サービス提供部11は、ハードウェアプロセッサにより実現される。例えば、ハードウェアプロセッサの例として、CPU(Central Processing Unit)やMPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、GPGPU(General-Purpose computing on GPU)が挙げられる。プロセッサは、図示しないストレージ、例えばHDD(Hard Disk Drive)、光ディスクやSSD(Solid State Drive)などからOS(Operating System)の他、上記のオンラインゲームサービスを実現するアプリケーションプログラムなどを読み出す。その上で、プロセッサは、上記のアプリケーションプログラムを実行することにより、RAM(Random Access Memory)等のメモリ上にサービス提供部11に対応するプロセスを展開する。このように、上記のアプリケーションプログラムが実行される結果、サービス提供部11がプロセスとして仮想的に実現される。この他、サービス提供部11は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックにより実現されてもよい。
 サービス提供部11は、上記のオンラインゲームサービスを提供する処理部である。サービス提供部11は、図5に示すように、ゲーム進行部12と、画像生成部13と、画像送信部14と、不正ツール判定部15とを有する。
 ゲーム進行部12は、オンラインゲームのゲーム状態を進行する処理部である。ここで言う「ゲーム状態」とは、プレイヤが操作するキャラクタや装備の状態の他、プレイヤが対戦する仮想空間、例えばマップの状態を指す。例えば、キャラクタの状態には、キャラクタの位置や姿勢、視点方向、ステータス、成績などが含まれ得る。また、装備の状態には、装備中の武器の種類などが含まれ得る。例えば、ゲーム進行部12は、プレイ画像のフレームレートに対応する周期ごとに、クライアント端末30から取得される操作情報に従ってゲーム状態を更新する。これにより、マップ上に配置されたキャラクタの位置や姿勢、視点方向、ステータスや成績が最新の値に更新される結果、オンラインゲームのゲーム状態が進行する。
 画像生成部13は、プレイ画像を生成する処理部である。あくまで一例として、画像生成部13は、オンラインゲームの対戦に参加するM人のプレイヤごとにゲーム進行部12により進行されたゲーム状態に応じてプレイ画像を生成する。例えば、画像生成部13は、マップやマップ上に配置されたキャラクタのうち、プレイヤ本人のキャラクタの視点方向に対応する画角に含まれるマップおよびマップ上のキャラクタをレンダリングする。さらに、画像生成部13は、ゲーム進行部12により更新されたキャラクタのステータスや成績に応じてゲージやアイコンなどの各種の表示を更新する。これにより、あくまで一例として、コンピュータグラフィックスなどにより実現されるプレイ画像を生成できる。
 画像送信部14は、プレイ画像を送信する処理部である。あくまで一例として、画像送信部14は、M人のプレイヤの各々に対応するクライアント端末30ごとに、後述の画像選択部15Bにより選択される画像、すなわちプレイ画像のオリジナルフレームまたは敵対的フレームを送信する。
 不正ツール判定部15は、上記の判定機能、すなわち不正ツールの使用の有無を判定する機能を提供する処理部である。不正ツール判定部15は、図5に示すように、画像加工部15Aと、画像選択部15Bと、条件記憶部15Cと、プレイログ取得部15Dと、特徴抽出部15Eと、チート度算出部15Fと、累積チート度記憶部15Gと、チート検知部15Hとを有する。
 画像加工部15Aは、プレイ画像を加工する処理部である。一実施形態として、画像加工部15Aは、画像生成部13により生成されたプレイ画像のオリジナルフレームを、人がオリジナルに対する差を認識不能であり、かつ画像認識AIがオリジナルに対する差を認識可能である敵対的フレームに加工する。
 このような加工は、あくまで一例として、プレイ画像のオリジナルフレームを、人がプレイ画像中の対象物を認識可能とし、かつ画像認識AIがプレイ画像中の対象物を認識不能とすることにより実現される。
 ここで、上記の加工には、あくまで一例として、いわゆる敵対的サンプルを生成する技術全般を適用できる。このような技術の1つとして、FGSM(Fast Gradient Sign Method)を例に挙げる。
 図6は、敵対的フレームの生成例を示す模式図である。図6には、チートツールが利用する画像認識AIの例として、画像認識タスクの1つである物体検出などを実現する機械学習モデル6Mが例示されている。
 このようなタスクの機械学習モデル6Mは、YOLO(You Only Look Once)やR-CNN(Regions with CNN features)、SSD(Single Shot MultiBox Detector)などにより実現されてよい。
 図6に示すように、FGSMでは、機械学習モデル6Mへの入力データであるプレイ画像のオリジナルフレーム60に摂動61を加えることにより、プレイ画像の敵対的フレーム62を生成する。
 摂動61は、機械学習モデル6Mへの入力データ、例えば画像のピクセルの値に与える変化である。例えば、FGSMでは、機械学習モデル6Mへの入力データの正解ラベルと機械学習モデル6Mの出力との損失を最大化させる入力データの変化を最小化する問題を定式化することにより、摂動61を得ることができる。なお、図6に示す摂動61は、あくまで模式的に示す例であって必ずしも入力データである画像の全てのピクセルの値に変化を与える必要はない。
 このような摂動61をプレイ画像のオリジナルフレーム60に加えることにより、図6に示すように、機械学習モデル6Mには対象物を誤認識させると共に、人間には対象物、例えば敵キャラクタなどを認識可能とする敵対的フレーム62を得ることができる。
 例えば、図6には、プレイ画像のオリジナルフレーム60及び敵対的フレーム62の各々が機械学習モデル6Mへ入力される場合の出力結果として、クラスが“person”であるオブジェクトのバウンディングボックスのみが抜粋して示されている。
 図6に示すように、プレイ画像のオリジナルフレーム60が機械学習モデル6Mへ入力される場合、敵キャラクタのオブジェクトのクラス分類が成功する。この場合、機械学習モデル6Mの出力として、敵キャラクタのオブジェクトが“person”のクラスに分類されたバウンディングボックスBB1が得られる。
 一方、プレイ画像の敵対的フレーム62が機械学習モデル6Mへ入力される場合、敵キャラクタのオブジェクトのクラス分類が失敗する。この場合、機械学習モデル6Mの出力として、敵キャラクタのオブジェクトが“person”のクラスに分類されたバウンディングボックスは得られない。
 なお、図6では、プレイ画像のオリジナルフレームを、人がプレイ画像中の対象物を認識可能とし、かつ画像認識AIがプレイ画像中の対象物を認識不能とする敵対的フレームが生成される例を挙げたが、敵対的フレームの生成方法はこれに限定されない。
 例えば、短時間、例えば人が意識または潜在意識の下で認識できない程度の時間の間にプレイ画像のオリジナルフレームとは異なる内容、例えばプレイ画像と無関係な内容のフレームを敵対的フレームとして挿入することもできる。この場合、画像認識AIは、先行及び後続のオリジナルフレームの間に挿入される敵対的フレームを認識できるので、敵対的フレームでプレイログの切れ目や継ぎ目が発生する。その一方で、プレイヤは、先行及び後続のオリジナルフレームの間に挿入される敵対的フレームを認識できないので、敵対的フレームでプレイログの切れ目や継ぎ目が発生しない。
 図5の説明に戻り、画像選択部15Bは、プレイ画像のオリジナルフレーム及びプレイ画像の敵対的フレームのうちいずれかの画像を選択する処理部である。一実施形態として、画像選択部15Bは、M人のプレイヤの各々に対応するクライアント端末30ごとに、当該プレイヤによるゲームのプレイ状況が条件記憶部15Cに記憶された条件を満たすか否かにより、オリジナルフレームまたは敵対的フレームを選択する。
 図7は、画像選択部15Bの動作例を示す模式図である。図7には、あくまで1つの側面として、画像選択部15Bがオリジナルフレーム及び敵対的フレームのうち敵対的フレームを選択する場面が例示されている。
 図7に示すように、プレイ状況71には、プレイヤ操作71Aおよびプレイ環境71Bが含まれ得る。例えば、プレイヤ操作71Aには、キャラクタ状態や武器操作などが含まれ得る。また、プレイ環境71Bには、装備中の武器や敵の有無、敵との距離などが含まれ得る。
 他方、条件記憶部15Cには、プレイ状況と照合する条件の例として、敵対的フレームを挿入するトリガーを指定する第1の条件15C1と、敵対的フレームの挿入を開始するタイミングを指定する第2の条件15C2との設定が記憶される。
 例えば、第1の条件15C1には、チートツール、例えばオートエイムの画像認識AIが有効に機能するプレイ状況で敵対的フレームを挿入する側面から、人間が高確率で射撃を行うプレイ状況が設定される。
 また、第2の条件15C2には、チートツールを使用する人間が気付くのが困難であるタイミングで敵対的フレームの挿入を開始する側面から、オリジナルフレームにおける射撃成功に敵対的フレームにおける射撃失敗が紛れるタイミングが設定される。
 これら第1の条件15C1および第2の条件15C2の設定の下、画像選択部15Bは、現在のフレームのプレイ状況71が第1の条件15C1および第2の条件15C2を満たすか否かを判定する。
 図7に示す例で言えば、プレイヤ操作71Aの武器操作「マシンガン連射中(11/30発)」が第1の条件15C1に設定された1つ目の条件「マシンガン連射中」を満たす。さらに、プレイ環境71Bの敵の有無「有」が第1の条件15C1に設定された2つ目の条件「敵:有り」を満たす。さらに、プレイ環境71Bの敵との距離「4m」が第1の条件15C1に設定された3つ目の条件「敵との距離:5m以内」を満たす。よって、プレイヤ操作71Aおよびプレイ環境71Bは、条件記憶部15Cに設定された第1の条件15C1を満たす。
 さらに、プレイヤ操作71Aの武器操作「マシンガン連射中(11/30発)」が第2の条件15C2に設定された条件「マシンガンを10発連射後、11~13発射撃するタイミング」を満たす。よって、プレイヤ操作71Aおよびプレイ環境71Bは、条件記憶部15Cに設定された第2の条件15C2を満たす。
 このようにプレイ状況71が第1の条件15C1および第2の条件15C2を満たす場合、画像選択部15Bは、オリジナルフレームおよび敵対的フレームのうち敵対的フレームを選択し、該選択された敵対的フレームを画像送信部14へ出力する。
 図8は、敵対的フレームの挿入例を示す図である。図8には、画像選択部15Bにより時系列に選択されたプレイ画像の4つのフレームが抜粋して示されると共に、各フレームに対応付けてプレイヤ操作およびプレイ環境を含むプレイ状況が示されている。
 例えば、図8に示す1フレーム目の例で言えば、プレイヤ操作の武器操作「マシンガン連射中(8/30発)」およびプレイ環境の敵の有無「有」が第1の条件15C1の1つ目および2つ目の条件を満たす。その一方で、プレイ環境の敵との距離「7m」が第1の条件15C1の3つ目の条件を満たさない。このように、1フレーム目では、プレイ状況が第1の条件15C1を満たさない。このため、1フレーム目には、敵対的フレームは挿入されず、オリジナルフレームがクライアント端末30へ送信される。
 図8に示す2フレーム目の例で言えば、プレイヤ操作の武器操作「マシンガン連射中(9/30発)」およびプレイ環境の敵の有無「有」が第1の条件15C1の1つ目および2つ目の条件を満たす。その一方で、プレイ環境の敵との距離「6m」が第1の条件15C1の3つ目の条件を満たさない。このように、2フレーム目でも、プレイ状況が第1の条件15C1を満たさない。よって、2フレーム目には、敵対的フレームは挿入されず、オリジナルフレームがクライアント端末30へ送信される。
 図8に示す3フレーム目の例で言えば、プレイヤ操作の武器操作「マシンガン連射中(10/30発)」、プレイ環境の敵の有無「有」およびプレイ環境の敵との距離「5m」が第1の条件15C1の全ての条件を満たす。このため、3フレーム目が敵対的フレームを挿入するトリガーとなる。その一方で、3フレーム目では、マシンガンの連射が10発目であるので、第2の条件15C2に設定された11発目~13発目という条件は満たさない。このため、3フレーム目にも、敵対的フレームは挿入されず、オリジナルフレームがクライアント端末30へ送信される。
 図8に示す4フレーム目の例で言えば、プレイヤ操作の武器操作「マシンガン連射中(11/30発)」、プレイ環境の敵の有無「有」およびプレイ環境の敵との距離「4m」が第1の条件15C1の全ての条件を満たす。さらに、4フレーム目では、マシンガンの連射が11発目であるので、第2の条件15C2に設定された11発目~13発目という条件も満たす。このように、4フレーム目では、プレイ状況が第1の条件15C1および第2の条件15C2の両方を満たすので、4フレーム目には、敵対的フレームが挿入されてクライアント端末30へ送信される。
 図5の説明に戻り、プレイログ取得部15Dは、プレイログを取得する処理部である。一実施形態として、プレイログ取得部15Dは、オンラインゲームの対戦が実施される試合ごとに当該試合に参加するM人のプレイヤの各々に対応するクライアント端末30からプレイログを取得する。
 ここで、上記の「プレイログ」は、あくまで一例として、特定の期間、例えば試合開始から試合終了までのプレイが時系列に記録されたデータであってよい。プレイには、プレイヤ操作、プレイヤ操作の実行結果およびプレイ環境の全部または一部が含まれてよい。例えば、プレイヤ操作の例として、キーボードやマウス、コントローラなどの操作が挙げられる。プレイヤ操作の実行結果の例として、命中率やヘッドショット確率、キル数などが挙げられる。プレイ環境の例として、対戦時間や敵の位置座標、連射間隔、使用武器などが挙げられる。
 図9は、チートツールの検知例を示す模式図(1)である。図9には、あくまで一例として、試合1および試合2の試合単位で実行されるプレイログ取得部15Dおよび特徴抽出部15Eの動作が模式化されて示されている。なお、図9には、試合1および試合2に参加するM名のプレイヤのうちある1名のプレイヤPに関するプレイログに対する動作が抜粋して示されていることとする。
 図9に示すように、プレイログ取得部15Dは、試合1および試合2ごとにプレイヤPに対応するクライアント端末30からプレイログを取得する。例えば、試合1のプレイログを例に挙げれば、2021年11月1日8時00分30秒、同日の8時05分20秒、同日の8時05分21秒および同日の8時08分10秒の時刻ごとにプレイの履歴が記録されている。すなわち、2021年11月1日8時00分30秒には、試合1の開始が記録され、同日の8時05分20秒および8時05分21秒には、マシンガン射撃が記録されている。さらに、同日の8時08分10秒には、試合1のオリジナルフレームにおける成績として命中率20%が記録されると共に、試合1の敵対的フレームにおける成績として命中率0.1%が記録されている。
 図5の説明に戻り、特徴抽出部15Eは、オンラインゲームにおけるプレイの特徴を抽出する処理部である。一実施形態として、特徴抽出部15Eは、オンラインゲームの試合ごとに、当該試合のプレイログに基づいてチートツールの使用が疑われる度合いを示す「チート度」の推定値を出力する機械学習モデル15FMに入力する特徴量を算出する。
 図9に示す試合1のプレイログを例に挙げれば、特徴抽出部15Eは、試合1のプレイログを用いて、試合1の開始から試合1の終了までのフレームごとに当該フレームにおける射撃回数が対応付けられた射撃回数データを算出する。
 また、特徴抽出部15Eは、試合1のオリジナルフレームで観測された命中率の統計値、例えば平均値を計算することにより、試合1のオリジナルフレームにおける平均命中率を算出する。さらに、特徴抽出部15Eは、試合1の敵対的フレームで観測された命中率の統計値、例えば平均値を計算することにより、試合1の敵対的フレームにおける平均命中率を算出する。
 これらの特徴抽出は、クライアント端末30でプレイ画像の敵対的フレームが表示される期間にチートツールの画像認識AIが敵キャラクタを認識できないことから、オリジナルフレームおよび敵対的フレームの境界で射撃が途切れる点に基づいている。
 このため、射撃回数データによれば、オリジナルフレームおよび敵対的フレームの境界で切れ目や継ぎ目が現れるか否かによりクラス分類が可能な特徴抽出を実現できる。
 さらに、上記2つの平均命中率によれば、オリジナルフレームにおける平均命中率が敵対的フレームにおける平均命中率に比べて十分に大きいか否かによりクラス分類が可能な特徴抽出を実現できる。
 図5の説明に戻り、チート度算出部15Fは、上記のチート度を算出する処理部である。一実施形態として、チート度算出部15Fは、特徴抽出部15Eにより抽出されたプレイの特徴量を入力としてチート度を出力する機械学習モデル15FMにより実現される。
 図10は、チート度の算出例を示す模式図である。図10に示すように、機械学習モデル15FMには、試合1のフレームごとに射撃回数が対応付けられた射撃回数データ射撃回数データと、試合1のオリジナルフレームにおける平均命中率および試合1の敵対的フレームにおける平均命中率とが入力される。
 このような入力データが入力された機械学習モデル15FMは、チートツールの使用が疑われる度合いを示すチート度を出力する。あくまで一例として、チート度は、チートツールの使用が疑われる度合いが大きくなるに従って値が大きくなるスコアであってよい。また、チート度は、スコアが特定の数値範囲、例えば0~1の間に正規化された確率であってもよい。
 機械学習モデル15FMの訓練には、射撃回数データおよび上記2つの平均命中率と、正解ラベルとが対応付けられた訓練データを含むデータセットを用いることができる。このような訓練データのデータセットには、チートツールの使用が疑われない正解ラベル、例えばゼロ付近のチート度が付与された訓練データのみが含まれていてもよい。このため、チート使用時の射撃回数データおよび上記2つの平均命中率を訓練データとして収集せずともよいので、機械学習モデル15FMの訓練データのデータセットの収集を容易化できる。
 例えば、機械学習時には、射撃回数データおよび上記2つの平均命中率を機械学習モデル15FMの説明変数とし、ラベルを機械学習モデルMの目的変数とし、任意の機械学習のアルゴリズム、例えばディープラーニングなどにしたがって機械学習モデル15FMを訓練できる。これにより、訓練済みの機械学習モデル15FMが得られる。
 このようにチート度算出部15Fにより算出されたチート度は、プレイヤごとに積算される。例えば、チート度算出部15Fにより算出されたチート度は、これまでに累積されていたチート度にさらに積算される。以下、試合単位で積算されることにより累積するチート度のことを「累積チート度」と記載する場合がある。このように積算された累積チート度は、プレイヤごとに累積チート度記憶部15Gに保存される。
 図11は、チートツールの検知例を示す模式図(2)である。図11には、あくまで一例として、試合1および試合2の試合単位で実行される累積チート度記憶部15Gの記憶内容およびチート検知部15Hの動作内容が模式化されて示されている。なお、図11には、試合1および試合2に参加するM名のプレイヤのうちある1名のプレイヤPに関するプレイログに対する動作が抜粋して示されていることとする。
 図11に示すように、試合1の終了時には、プレイヤPの試合1のチート度C1が算出される。それに伴って、プレイヤPの試合1のチート度C1は、プレイヤPの試合1の開始前までの累積チート度「0」に積算される。これにより、プレイヤPの累積チート度は、試合1の終了時に「C1(=0+C1)」へ更新される。その後、試合2の終了時には、プレイヤPの試合1のチート度C2が算出される。それに伴って、プレイヤPの試合2のチート度C2は、プレイヤPの試合2の開始前までの累積チート度「C1」に積算される。これにより、プレイヤPの累積チート度は、試合2の終了時に「C3(=C1+C2)」へ更新される。
 図5の説明に戻り、チート検知部15Hは、チートツールの使用を検知する処理部である。一実施形態として、チート検知部15Hは、累積チート度記憶部15Gに記憶された累積チート度が閾値Thを超えるか否かを判定する。このとき、累積チート度が閾値Thを超える場合、チートツールが使用されたことを検知する。
 図11に示す例で言えば、試合1の終了時では、プレイヤPの累積チート度は「C1」であり、累積チート度<閾値Thであるので、チートツールの使用は検知されない。その後、試合2の終了時には、プレイヤPの累積チート度は「C3」となり、累積チート度>閾値Thとなるので、チートツールの使用が検知される。
 このようにチートツールの使用が検知された場合、チート検知部15Hは、任意の通知を任意の出力先に実行することができる。例えば、チート検知部15Hは、特定の通知、例えばチートツールを使用するプレイヤや累積チート度などをオンラインゲームの運営事業者の管理下にあるコンピュータに出力できる。このような外部装置に限らず、プレイヤやチート度などの通知に応じて任意のバックエンドの処理を実行するサービスや機能へ出力することができる。
 なお、図5には、上記の判定機能に対応する不正ツール判定部15の機能がオンラインゲームサービスにパッケージ化される例を挙げたがこれに限定されず、不正ツール判定部15の機能は、必ずしもオンラインゲームサービスにパッケージ化されずともよい。例えば、不正ツール判定部15は、オンラインゲームサービスと異なるサービスとして提供されてもよい。この他、不正ツール判定部15は、オンラインゲームサービスに参照されるライブラリの機能、例えばAPI(Application Programming Interface)として実現されてもよい。
<処理の流れ>
 次に、本実施例に係るサーバ装置10の処理の流れについて説明する。ここでは、サーバ装置10により実行される(1)フレーム送信処理を説明した後に、(2)不正ツール判定処理を説明することとする。
(1)フレーム送信処理
 図12は、フレーム送信処理の手順を示すフローチャートである。この処理は、あくまで一例として、プレイ画像のフレームレートに対応する周期ごとに実行される。
 図12に示すように、オンラインゲームの対戦が実施される試合数Kに対応する回数の分、ステップS101からステップS110までの処理を繰り返すループ処理1が実行される。
 オンラインゲームのk回目の試合が開始されると(ステップS101)、ゲーム進行部12は、k回目の試合に参加するM人のプレイヤの各々に対応するクライアント端末30から操作情報を取得する(ステップS102)。続いて、ゲーム進行部12は、ステップS102でプレイヤごとに取得された操作情報に従ってゲーム状態を進行する(ステップS103)。
 その後、k回目の試合に参加するプレイヤ数Mに対応する回数の分、ステップS104からステップS110までの処理を繰り返すループ処理2が実行される。ここで、図12には、ステップS104からステップS110までの処理がループ処理2として実現される例を挙げたが、ステップS104からステップS110までの処理はプレイヤごとに並列して実行されてよい。
 すなわち、画像生成部13は、ステップS103で進行されたゲーム状態に応じてプレイヤPのプレイ画像を生成する(ステップS104)。続いて、画像加工部15Aは、ステップS104で生成されたプレイ画像のオリジナルフレームを、人がオリジナルに対する差を認識不能であり、かつ画像認識AIがオリジナルに対する差を認識可能である敵対的フレームに加工する(ステップS105)。
 そして、画像選択部15Bは、プレイヤPによるゲームのプレイ状況が条件記憶部15Cに記憶された条件を満たすか否かを判定する(ステップS106)。
 このとき、プレイ状況が条件記憶部15Cに記憶された条件を満たす場合(ステップS106Yes)、画像選択部15Bは、ステップS105で生成された敵対的フレームを選択する(ステップS107)。
 他方、プレイ状況が条件記憶部15Cに記憶された条件を満たさない場合(ステップS106No)、画像選択部15Bは、ステップS104で生成されたオリジナルフレームを選択する(ステップS108)。
 そして、画像送信部14は、ステップS107またはステップS108で選択された画像、すなわちプレイ画像のオリジナルフレームまたは敵対的フレームをプレイヤPのクライアント端末30へ送信する(ステップS109)。
 このようなループ処理2を繰り返すことにより、M名のプレイヤごとに、ステップS107またはステップS108で選択されたプレイ画像のオリジナルフレームまたは敵対的フレームをプレイヤPのクライアント端末30へ送信できる。
 その後、k回目の試合が終了するまで、ステップS102からステップS109までの処理を繰り返す。
 以上のようなループ処理1を繰り返すことにより、1回目からK回目までM名のプレイヤが参加する試合を実施するオンラインゲームサービスを提供することができる。
(2)不正ツール判定処理
 図13は、不正ツール判定処理の手順を示すフローチャートである。この処理は、あくまで一例として、オンラインゲームの運営事業者の担当者などの関係者の端末からのリクエストに応答して実行することもできれば、オンラインゲームの試合が終了する度にリアルタイムで実行することもできる。
 図13に示すように、オンラインゲームの対戦が実施される試合数Kに対応する回数の分、ステップS301からステップS306までの処理を繰り返すループ処理1が実行される。
 すなわち、プレイログ取得部15Dは、k回目の試合に参加するM人のプレイヤの各々に対応するクライアント端末30からプレイログを取得する(ステップS301)。
 そして、k回目の試合に参加するプレイヤ数Mに対応する回数の分、ステップS302およびステップS303の処理を繰り返すループ処理2が実行される。ここで、図13には、ステップS302およびステップS303の処理がループ処理2として実現される例を挙げたが、ステップS302およびステップS303の処理はプレイヤごとに並列して実行されてよい。
 すなわち、特徴抽出部15Eは、k回目の試合におけるプレイヤPのプレイログに基づいてチートツールの使用が疑われる度合いを示す「チート度」の推定値を出力する機械学習モデル15FMに入力する特徴量を算出する(ステップS302)。
 続いて、チート度算出部15Fは、ステップS302で算出されたプレイヤPの特徴量を機械学習モデル15FMへ入力することにより機械学習モデル15FMにチート度を出力させることで、プレイヤPのチート度を算出する(ステップS303)。
 さらに、チート度算出部15Fは、累積チート度記憶部15Gに記憶された累積チート度のうち、プレイヤPの累積チート度にステップS303で算出されたチート度を積算することにより、プレイヤPの累積チート度を更新する(ステップS304)。
 そして、チート検知部15Hは、ステップS304で更新されたプレイヤPの累積チート度が閾値Thを超えるか否かを判定する(ステップS305)。
 このとき、累積チート度が閾値Thを超える場合(ステップS305Yes)、チート検知部15Hは、チートツールが使用されたことを検知する(ステップS306)。なお、累積チート度が閾値Thを超えない場合(ステップS305No)、チートツールの使用は検知されない。
 このようなループ処理2を繰り返すことにより、M名のプレイヤごとにチートツールの使用の有無を判定することができる。
 さらに、ループ処理1を繰り返すことにより、1回目からK回目までの各試合に参加するプレイヤのチートツールの使用の有無を監視することができる。
<まとめ>
 上述してきたように、本実施例に係るサーバ装置10は、プレイ画像の送信時に人間と画像認識AIの間でオリジナルに対する差の認識が異なる敵対的フレームを挿入し、オリジナルフレーム及び敵対的フレームのプレイログに基づいてチート検知する。したがって、本実施例に係るサーバ装置10によれば、不正ツールの使用の判定精度の向上を実現できる。
 さらに、不正ツールの使用を判定する検証用のプレイヤ操作の追加が不要である。加えて、不正ツールの使用の判定をプレイヤに気づかれずにバックグラウンドで実施することができる。
 このような技術的効果以外にも、不正ツールの使用の判定精度の向上が実現することで、ゲームタイトルの信頼性を向上させ、もってユーザ離れの抑制、並びに、ゲーム開発企業の損失低減を実現できる。
 さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
<不正ツール判定の応用例>
 上記の実施例1では、不正ツールの使用の有無の検知が機械学習モデルMにより実現される例を挙げたが、不正ツールの使用の有無の検知は他の技術により実現されてよい。
 例えば、チート検知部15Hは、オリジナルフレームおよび敵対的フレームの間でプレイログ、あるいは特徴抽出部15Eにより抽出された特徴量を比較することにより、不正ツールの使用の有無を判定できる。
 上記の射撃回数データを例に挙げれば、チート検知部15Hは、オリジナルフレームおよび敵対的フレームの境界で射撃回数に連続性があるか否かにより、チートツールの使用の有無を判定することもできる。より詳細には、チート検知部15Hは、敵対的フレームの射撃回数と、敵対的フレームに隣接するオリジナルフレームの射撃回数との差が閾値を超える場合、チートツールの使用を検知する。このような検知に用いられるオリジナルフレームは、敵対的フレームに先行する方のオリジナルフレームであってもよいし、敵対的フレームに後続する方のオリジナルフレームであってもよい。
 また、平均命中率を例に挙げれば、チート検知部15Hは、オリジナルフレームにおける平均命中率および敵対的フレームにおける平均命中率の差が閾値を超えるか否かにより、チートツールの使用の有無を判定することもできる。
<分散および統合>
 また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、サービス提供部11および不正ツール判定部15をサーバ装置10の外部装置としてネットワーク経由で接続するようにしてもよい。また、サービス提供部11および不正ツール判定部15を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、サーバ装置10の機能を実現するようにしてもよい。
<ハードウェア構成>
 また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図14を用いて、実施例1及び実施例2と同様の機能を有する判定プログラムを実行するコンピュータの一例について説明する。
 図14は、ハードウェア構成例を示す図である。図14に示すように、コンピュータ100は、操作部110aと、スピーカ110bと、カメラ110cと、ディスプレイ120と、通信部130とを有する。さらに、このコンピュータ100は、CPU150と、ROM160と、HDD170と、RAM180とを有する。これら110~180の各部はバス140を介して接続される。
 HDD170には、図14に示すように、上記の実施例1で示した不正ツール判定部15と同様の機能を発揮する判定プログラム170aが記憶される。この判定プログラム170aは、図5に示した不正ツール判定部15の各構成要素と同様、統合又は分離してもかまわない。すなわち、HDD170には、必ずしも上記の実施例1で示した全てのデータが格納されずともよく、処理に用いるデータがHDD170に格納されればよい。
 このような環境の下、CPU150は、HDD170から判定プログラム170aを読み出した上でRAM180へ展開する。この結果、判定プログラム170aは、図14に示すように、判定プロセス180aとして機能する。この判定プロセス180aは、RAM180が有する記憶領域のうち判定プロセス180aに割り当てられた領域にHDD170から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、判定プロセス180aが実行する処理の一例として、図12や図13に示す処理などが含まれる。なお、CPU150では、必ずしも上記の実施例1で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
 なお、上記の判定プログラム170aは、必ずしも最初からHDD170やROM160に記憶されておらずともかまわない。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ100がこれらから各プログラムを取得して実行するようにしてもよい。
   1  ゲームシステム
  10  サーバ装置
  11  サービス提供部
  12  ゲーム進行部
  13  画像生成部
  14  画像送信部
  15  不正ツール判定部
  15A 画像加工部
  15B 画像選択部
  15C 条件記憶部
  15D プレイログ取得部
  15E 特徴抽出部
  15F チート度算出部
  15G 累積チート度記憶部
  15H チート検知部
  30  クライアント端末

Claims (20)

  1.  ゲームのプレイヤによる不正ツールの使用の有無を判定する判定方法において、
     第1の期間に表示デバイスに表示させる第1のゲーム画像と、前記プレイヤはオリジナルのゲーム画像に対する差を認識できず、かつ、前記不正ツールは前記オリジナルのゲーム画像に対する差を認識できる特徴を持ち、前記第1の期間と重複しない第2の期間に前記表示デバイスに表示させる第2のゲーム画像とを前記表示デバイスに送信し、
     前記第1の期間に応じた期間にゲーム端末に入力された第1の入力情報と、前記第2の期間に応じた期間に前記ゲーム端末に入力された第2の入力情報とに基づき、前記プレイヤによる前記不正ツールの使用の有無を判定する、
     処理をコンピュータが実行することを特徴とする判定方法。
  2.  前記判定する処理は、前記ゲーム端末に入力される入力情報を入力として前記不正ツールの使用の有無のラベルを出力する機械学習モデルに、前記第1の入力情報及び前記第2の入力情報を入力することにより、前記不正ツールの使用の有無を判定する処理を含む、
     ことを特徴とする請求項1に記載の判定方法。
  3.  前記判定する処理は、前記ゲーム端末に入力される入力情報を入力として前記不正ツールの使用に関するスコアを出力する機械学習モデルに、前記第1の入力情報及び前記第2の入力情報を入力することにより前記スコアを出力させ、前記スコアの累積値が閾値を超えるか否かにより、前記不正ツールの使用の有無を判定する処理を含む、
     ことを特徴とする請求項1に記載の判定方法。
  4.  前記判定する処理は、前記第1の入力情報に含まれる入力のうち前記第2の期間に隣接する入力と、前記第2の入力情報に含まれる入力のうち前記第1の期間に隣接する入力との連続性の有無により、前記不正ツールの使用の有無を判定する処理を含む、
     ことを特徴とする請求項1に記載の判定方法。
  5.  前記判定する処理は、前記第1の入力情報から得られる第1の統計値と、前記第2の入力情報から得られる第2の統計値との差が閾値を超えるか否かにより、前記不正ツールの使用の有無を判定する処理を含む、
     ことを特徴とする請求項1に記載の判定方法。
  6.  前記送信する処理は、前記ゲームで前記オリジナルのゲーム画像が生成された場合、前記オリジナルに対応する第1のゲーム画像および前記オリジナルが加工されることにより生成された第2のゲーム画像のうちいずれか1つを前記ゲームのプレイ状況が特定の条件を満たすか否かに応じて選択する処理を含む、
     ことを特徴とする請求項1に記載の判定方法。
  7.  前記第2のゲーム画像は、前記不正ツールが用いる機械学習モデルに対する敵対的サンプルに対応する、
     ことを特徴とする請求項1に記載の判定方法。
  8.  ゲームのプレイヤによる不正ツールの使用の有無を判定する判定プログラムにおいて、
     第1の期間に表示デバイスに表示させる第1のゲーム画像と、前記プレイヤはオリジナルのゲーム画像に対する差を認識できず、かつ、前記不正ツールは前記オリジナルのゲーム画像に対する差を認識できる特徴を持ち、前記第1の期間と重複しない第2の期間に前記表示デバイスに表示させる第2のゲーム画像とを前記表示デバイスに送信し、
     前記第1の期間に応じた期間にゲーム端末に入力された第1の入力情報と、前記第2の期間に応じた期間に前記ゲーム端末に入力された第2の入力情報とに基づき、前記プレイヤによる前記不正ツールの使用の有無を判定する、
     処理をコンピュータに実行させることを特徴とする判定プログラム。
  9.  前記判定する処理は、前記ゲーム端末に入力される入力情報を入力として前記不正ツールの使用の有無のラベルを出力する機械学習モデルに、前記第1の入力情報及び前記第2の入力情報を入力することにより、前記不正ツールの使用の有無を判定する処理を含む、
     ことを特徴とする請求項8に記載の判定プログラム。
  10.  前記判定する処理は、前記ゲーム端末に入力される入力情報を入力として前記不正ツールの使用に関するスコアを出力する機械学習モデルに、前記第1の入力情報及び前記第2の入力情報を入力することにより前記スコアを出力させ、前記スコアの累積値が閾値を超えるか否かにより、前記不正ツールの使用の有無を判定する処理を含む、
     ことを特徴とする請求項8に記載の判定プログラム。
  11.  前記判定する処理は、前記第1の入力情報に含まれる入力のうち前記第2の期間に隣接する入力と、前記第2の入力情報に含まれる入力のうち前記第1の期間に隣接する入力との連続性の有無により、前記不正ツールの使用の有無を判定する処理を含む、
     ことを特徴とする請求項8に記載の判定プログラム。
  12.  前記判定する処理は、前記第1の入力情報から得られる第1の統計値と、前記第2の入力情報から得られる第2の統計値との差が閾値を超えるか否かにより、前記不正ツールの使用の有無を判定する処理を含む、
     ことを特徴とする請求項8に記載の判定プログラム。
  13.  前記送信する処理は、前記ゲームで前記オリジナルのゲーム画像が生成された場合、前記オリジナルに対応する第1のゲーム画像および前記オリジナルが加工されることにより生成された第2のゲーム画像のうちいずれか1つを前記ゲームのプレイ状況が特定の条件を満たすか否かに応じて選択する処理を含む、
     ことを特徴とする請求項8に記載の判定プログラム。
  14.  前記第2のゲーム画像は、前記不正ツールが用いる機械学習モデルに対する敵対的サンプルに対応する、
     ことを特徴とする請求項8に記載の判定プログラム。
  15.  ゲームのプレイヤによる不正ツールの使用の有無を判定する判定プログラムにおいて、
     第1の期間に表示デバイスに表示させる第1のゲーム画像と、前記プレイヤはオリジナルのゲーム画像に対する差を認識できず、かつ、前記不正ツールは前記オリジナルのゲーム画像に対する差を認識できる特徴を持ち、前記第1の期間と重複しない第2の期間に前記表示デバイスに表示させる第2のゲーム画像とを前記表示デバイスに送信し、
     前記第1の期間に応じた期間にゲーム端末に入力された第1の入力情報と、前記第2の期間に応じた期間に前記ゲーム端末に入力された第2の入力情報とに基づき、前記プレイヤによる前記不正ツールの使用の有無を判定する、
     処理を実行する制御部を含む情報処理装置。
  16.  前記判定する処理は、前記ゲーム端末に入力される入力情報を入力として前記不正ツールの使用の有無のラベルを出力する機械学習モデルに、前記第1の入力情報及び前記第2の入力情報を入力することにより、前記不正ツールの使用の有無を判定する処理を含む、
     ことを特徴とする請求項15に記載の情報処理装置。
  17.  前記判定する処理は、前記ゲーム端末に入力される入力情報を入力として前記不正ツールの使用に関するスコアを出力する機械学習モデルに、前記第1の入力情報及び前記第2の入力情報を入力することにより前記スコアを出力させ、前記スコアの累積値が閾値を超えるか否かにより、前記不正ツールの使用の有無を判定する処理を含む、
     ことを特徴とする請求項15に記載の情報処理装置。
  18.  前記判定する処理は、前記第1の入力情報に含まれる入力のうち前記第2の期間に隣接する入力と、前記第2の入力情報に含まれる入力のうち前記第1の期間に隣接する入力との連続性の有無により、前記不正ツールの使用の有無を判定する処理を含む、
     ことを特徴とする請求項15に記載の情報処理装置。
  19.  前記判定する処理は、前記第1の入力情報から得られる第1の統計値と、前記第2の入力情報から得られる第2の統計値との差が閾値を超えるか否かにより、前記不正ツールの使用の有無を判定する処理を含む、
     ことを特徴とする請求項15に記載の情報処理装置。
  20.  前記送信する処理は、前記ゲームで前記オリジナルのゲーム画像が生成された場合、前記オリジナルに対応する第1のゲーム画像および前記オリジナルが加工されることにより生成された第2のゲーム画像のうちいずれか1つを前記ゲームのプレイ状況が特定の条件を満たすか否かに応じて選択する処理を含む、
     ことを特徴とする請求項15に記載の情報処理装置。
PCT/JP2021/047432 2021-12-21 2021-12-21 判定方法、判定プログラム及び情報処理装置 WO2023119452A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/047432 WO2023119452A1 (ja) 2021-12-21 2021-12-21 判定方法、判定プログラム及び情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/047432 WO2023119452A1 (ja) 2021-12-21 2021-12-21 判定方法、判定プログラム及び情報処理装置

Publications (1)

Publication Number Publication Date
WO2023119452A1 true WO2023119452A1 (ja) 2023-06-29

Family

ID=86901559

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/047432 WO2023119452A1 (ja) 2021-12-21 2021-12-21 判定方法、判定プログラム及び情報処理装置

Country Status (1)

Country Link
WO (1) WO2023119452A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111249742A (zh) * 2020-01-21 2020-06-09 腾讯科技(深圳)有限公司 一种作弊用户检测方法、装置、存储介质和电子设备
CN112642161A (zh) * 2020-12-15 2021-04-13 完美世界征奇(上海)多媒体科技有限公司 射击游戏的作弊检测、模型训练方法、设备及存储介质
JP2021164578A (ja) * 2020-04-07 2021-10-14 株式会社カプコン コンピュータシステムおよび大会の管理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111249742A (zh) * 2020-01-21 2020-06-09 腾讯科技(深圳)有限公司 一种作弊用户检测方法、装置、存储介质和电子设备
JP2021164578A (ja) * 2020-04-07 2021-10-14 株式会社カプコン コンピュータシステムおよび大会の管理方法
CN112642161A (zh) * 2020-12-15 2021-04-13 完美世界征奇(上海)多媒体科技有限公司 射击游戏的作弊检测、模型训练方法、设备及存储介质

Similar Documents

Publication Publication Date Title
CN112156455A (zh) 一种游戏显示方法、装置、电子设备和存储介质
CN110339575B (zh) 一种确定网络游戏中作弊用户的方法及装置
US10918958B2 (en) User analysis system and method
WO2019105349A1 (zh) 信息的显示方法和装置、存储介质、电子装置
KR101629378B1 (ko) 엠엠오알피지에서의 리플레이 동영상 제공 시스템 및 그 방법
JP2006288528A (ja) ゲームシステム、サーバシステム、ゲーム装置、プログラム及び情報記憶媒体
Galli et al. A cheating detection framework for unreal tournament iii: A machine learning approach
US11395971B2 (en) Auto harassment monitoring system
US9711008B2 (en) Game system, control method for game system, game control device, control method for game control device, and information storage medium
CN111773682A (zh) 射击方向的提示方法、装置、电子设备和存储介质
CN117083111A (zh) 用于动态任务生成的方法和系统
WO2023119452A1 (ja) 判定方法、判定プログラム及び情報処理装置
JP2008237372A (ja) ゲームプログラム、ゲーム装置及びゲーム制御方法
GB2555596A (en) System and method of input verification
CN113181656A (zh) 外挂检测方法、设备及介质
KR20190068767A (ko) 온라인 멀티플레이어 게임의 에임 해킹 프로그램 탐지 방법
JP5227980B2 (ja) ゲームシステム、ゲームプログラム、及び記録媒体
EP3711830A1 (en) System and method of challenge generation
Maberry et al. Using an artificial neural network to detect aim assistance in counter-strike: Global offensive
US11439901B2 (en) Apparatus and method of obtaining data from a video game
WO2023032303A1 (ja) 映像処理装置、映像処理方法およびプログラム
US20230256346A1 (en) Methods, Devices, and Systems for Countering Cheats in Games
JP2021023514A (ja) ゲーム情報記録システム、プログラム
Thunputtarakul et al. Data Analysis for Ghost AI Creation in Commercial Fighting Games.
JP2022015205A (ja) ログ生成装置、ログ生成方法及びログ生成プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21968889

Country of ref document: EP

Kind code of ref document: A1