IP Library Granted Patent US 10,912,989
Granted Patent B2
US 10,912,989 · App. 16/600,333 · Granted Feb 9, 2021

Detecting and preventing cheating in a location-based game

Inventors: David Kornmann (Tucson, AZ); Jim Wang (Brisbane, CA); Alexander Vladimirov (San Francisco, CA); Edward Wu (Kirkland, WA); Phillip Craig Keslin (San Jose, CA); Neal Kanodia (Mountain View, CA)
Assignee: Niantic, Inc.
A63F13/12A63F13/70A63F13/216A63F13/30A63F2300/5586A63F2300/807
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,912,989
App. No.
16/600,333
Granted
Feb 9, 2021
Kind
B2
Abstract

Systems and methods for detecting and preventing cheating in a location-based game are provided. In particular, a server-side statistical cheat detection algorithm can be implemented upon receiving a player request to perform a game action. A given dataset describing the respective times and locations of previous game events performed by the player can be analyzed to determine a probability that such game events represent legitimate gameplay. The determined probability can affect whether the player-requested game action is effectuated or can influence a number of points awarded for completion of the game action. An example system includes a host server and a client device in communication over a network.

Claims (41)

1. A computer-implemented method for discouraging cheating, the method comprising:

hosting, by one or more computing devices, a location-based game;

logging, by the one or more computing devices, event locations and event times for a plurality of game events, each game event associated with one of the event locations and one of the event times;

receiving, by the one or more computing devices, a request to effectuate a requested game action, the request having a request location and a request time;

calculating, by the one or more computing devices, an inter-event velocity based on a difference between the request location and at least one of the event locations and difference between the request time and at least one of the event times;

inputting, by the one or more computing devices, the inter-event velocity into a probability function to obtain an event probability; and

determining, by the one or more computing devices, whether to effectuate the requested game action based on the event probability.

2. The method of claim 1 , wherein the event probability represents a probability that the inter-event velocity reflects legitimate gameplay.

3. The method of claim 1 , further comprising:

in response to determining to effectuate the requested game action:

modifying game data to effectuate the requested game action; and

creating a database entry reflecting the requested game action in a game database.

4. The method of claim 1 , further comprising:

determining a number of points to reward to a player for a completed game action by multiplying an expected number of points by the event probability.

5. The method of claim 1 , further comprising:

in response to determining not to effectuate the requested game action:

transmitting, by one or more computing devices, an indication that the game action was denied.

6. The method of claim 1 , wherein the probability function includes a velocity threshold term that reflects a boundary between legitimate gameplay and cheating.

7. The method of claim 6 , wherein the probability function comprises a logistic function with the constant e raised to a velocity difference term, the velocity difference term being the velocity threshold term subtracted from the inter-event velocity, such that the probability function trends toward zero as the inter-event velocity increases in magnitude with respect to the velocity threshold term and trends towards one as the inter-event velocity decreases in magnitude with respect to the velocity threshold term.

8. The method of claim 6 , wherein the probability function is a logistic function that provides an output based on the difference between the inputted inter-event velocity and the velocity threshold term.

9. The method of claim 6 , wherein the velocity threshold term is modeled on gameplay data previously received by a game server.

10. The method of claim 6 , wherein the velocity threshold term is generated by training a supervised binary classifier on a set of game data previously classified as indicative of either cheating behavior or non-cheating behavior.

11. A non-transitory computer-readable storage medium comprising instructions executable by a processor, the instructions comprising:

instructions for sending, from a client device, event locations and event times for a plurality of game events, each game event associated with one of the event locations and one of the events times;

instructions for sending a request to effectuate a requested game action, the request including a request location and a request time;

instructions for receiving a decision of whether to effectuate the requested game action, wherein the decision was determined by:

calculating an inter-event velocity based on a difference between the request location and at least one of the event locations and difference between the request time and at least one of the event times; and

inputting the inter-event velocity into a probability function to obtain an event probability; and

instructions for displaying a result of the request based on the decision.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the event probability represents a probability that the inter-event velocity reflects legitimate gameplay.

13. The non-transitory computer-readable storage medium of claim 11 , wherein the instructions to display the result comprise:

instructions for receiving modified game data describing the effectuation of the requested game action.

14. The non-transitory computer-readable storage medium of claim 11 , wherein the instructions to display the result comprise:

instructions to display a notification of a number of points awarded to a player for completing the game action, wherein the number of points was determined by multiplying an expected number of points by the event probability.

15. The non-transitory computer-readable storage medium of claim 11 , wherein the instructions to display the result comprise:

instructions for displaying an indication that the game action was denied.

16. The non-transitory computer-readable storage medium of claim 11 , wherein the probability function includes a velocity threshold term that reflects the boundary of legitimate gameplay and cheating.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the probability function comprises a logistic function with the constant e raised to a velocity difference term, the velocity difference term being the velocity threshold term subtracted from the inter-event velocity, such that the probability function trends toward zero as the inter-event velocity increases in magnitude with respect to the velocity threshold term and trends towards one as the inter-event velocity decreases in magnitude with respect to the velocity threshold term.

18. The non-transitory computer-readable storage medium of claim 16 , wherein the probability function is a logistic function that provides an output based on the difference between the inputted inter-event velocity and the velocity threshold term.

19. The non-transitory computer-readable storage medium of claim 16 , wherein the velocity threshold term is modeled on gameplay data previously received by a game server.

20. The non-transitory computer-readable storage medium of claim 16 , wherein the velocity threshold term is generated by training a supervised binary classifier on a set of game data previously classified as indicative of either cheating behavior or non-cheating behavior.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2020
From: KORNMANN, DAVID; WANG, JIM; VLADIMIROV, ALEXANDER; WU, EDWARD; KESLIN, PHILLIP CRAIG; KANODIA, NEAL
To: GOOGLE INC.
Reel/Frame 052324/0386 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2020
From: GOOGLE INC.
To: NIANTIC, INC.
Reel/Frame 052324/0396 →
Continuity (2)
Division 14336552
Related Publication 20200038759A1 · Feb 6, 2020
Cited By (2)
US 12,341,619 US 12,412,588