IP Library Granted Patent US 8,449,397
Granted Patent B2
US 8,449,397 · App. 13/244,843 · Granted May 28, 2013

Secure, parallel, and independent script execution

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 8,449,397
App. No.
13/244,843
Granted
May 28, 2013
Kind
B2
Abstract

In examples presented herein, a game server and a client device may perform parallel execution of scripts for a computer-implemented virtual game. In one example, in response to determining that a user of a virtual game has performed an in-game action, an update notification is sent to a server computer. The update notification indicates the in-game action and client-side state information. After the sending of the update notification, a first event script to execute is determined based on the in-game action. The first event script is executed to present an in-game effect to the user. An update response is received from the server computer based on execution of a second event script responsive to the in-game action.

Claims (62)

1. A method comprising:

determining in a client device that a user of a virtual game has performed an in-game action;

sending from the client device an update notification to a server computer, the update notification indicating the in-game action and client-side game state information representing a game state of the virtual game in the client device prior to the in-game action;

determining, in the client device after the sending of the update notification, a first event script to execute based on the in-game action;

executing in the client device the first event script to present an in-game effect to the user; and

receiving at the client device an update response from the server computer based on the server computer attempting to validate the update notification responsive to receiving the update notification from the client device, the update response indicating whether the update notification sent to the server computer is valid.

2. The method of claim 1 , the first event script including a copy of a second event script to be executed in the server computer responsive to the in-game action to update a secure game state in the server computer.

3. The method of claim 1 , the determining of the first event script comprising:

determining that the in-game action satisfies a triggering condition of an event trigger for the virtual game; and

determining that the event trigger indicates that the first event script is to be executed based on the triggering condition.

4. The method of claim 1 , the first event script comprising, a call to an effect script for the in-game effect, and the executing of the first event script comprising executing the effect script to generate updated client-side game state information, and to present the in-game effect to the user.

5. The method of claim 1 , further comprising:

determining that the executing of the first event script did not include processing a keep-alive statement; and

configuring the first event script to become disabled based on the determining that the executing of the first event script did not include the processing of the keep-alive statement.

6. The method of claim 1 , the update response including an indication that the client-side game state information is invalid; and

the method further comprising performing a remedial action at the client device based on the indication that the client-side game state information is invalid.

7. The method of claim 6 , the performing of the remedial action comprising:

notifying the user that an error has occurred; and

terminating the virtual game at the client device.

8. The method of claim 1 , the in-game action including an action selected from the group consisting of:

entry of a new in-game location by the user's avatar;

a determinable amount of user progress at an in-game job;

commencement of a quest by the user;

completion of a quest by the user; and

clicking on an in-game object by the user.

9. A method comprising:

receiving at a server computer an update notification from a client device, the update notification indicating an in-game action performed by a user of the virtual game, and further indicating client-side game state information representing a game state of the virtual game in the client device prior to the in-game action;

determining in the server computer a validity of the update notification;

returning an update response from the server computer to the client device indicating invalidity of the update notification responsive to the update notification being invalid;

determining in the server computer a first event script to execute based on the in-game action responsive to the update notification being valid;

executing in the server computer the first event script to update a secure game state in the server computer.

10. The method of claim 9 , a second event script to be executed on the client device including a copy of the first event script.

11. The method of claim 9 , the determining of the first event script comprising:

determining that the in-game action satisfies a triggering condition of an event trigger for the virtual game; and

determining that the event trigger indicates that the first event script is to he executed based on the triggering condition,

12. The method of claim 9 , the update response indicating the secure game state does not match the client-side game state information.

13. The method of claim 9 , the update response indicating the user is not allowed to perform the in-game action.

14. An apparatus comprising:

a scripting module to determine that a user of a virtual game has performed an in-game action;

a communication module to send an update notification to a server computer, the update notification indicating the in-game action and client-side game state information representing a game state of the virtual game in the client device prior to the in-game action; and

a processing module;

the scripting module to determine, after the sending of the update notification, a first event script to execute based on the in-game action;

the processing module to execute the first event script to present an in-game effect to the user; and

the communication module to receive an update response from the server computer based on the server computer attempting to validate the update notification responsive to receiving the update notification from the communication module, the update response indicating whether the update notification sent to the server computer is valid.

15. The apparatus of claim 14 , the determining of the first event script comprising:

determining that the in-game action satisfies a triggering condition of an event trigger for the virtual game; and

determining that the event trigger indicates that the first event script is to be executed based on the triggering condition.

16. The apparatus of claim 14 , the first event script comprising a call to an effect script for the in-game effect, and the executing of the first event script comprising executing the effect script to generate updated client-side game state information, and to present the in-game effect to the user.

17. The apparatus of claim 14 , the scripting module configured to:

determine that the executing of the first event script did not include processing a keep-alive statement; and

configure the first event script to become disabled based on the determining that the executing of the first event script did not include the processing of the keep-alive statement.

18. The apparatus of claim 14 , the update response comprising an indication that the client-side game state information is invalid; and

the processing module configured to perform. a remedial action based on the indication that the client-side game state information is invalid.

19. The apparatus of claim 18 , the performing of the remedial action comprising:

notifying the user that an error has occurred; and

terminating the virtual game.

20. The apparatus of claim 14 , the in-game action comprising an action selected from a group consisting of:

entry of a new in-game location by the user's avatar;

a determinable amount of user progress at an in-game job;

commencement of a quest by the user;

completion of a quest by the user; and

clicking on an in-game object by the user.

Assignments (5)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded May 23, 2022
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ZYNGA INC.
Reel/Frame 060163/0437 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Dec 14, 2020
From: ZYNGA INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 054719/0490 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 11, 2020
From: BANK OF AMERICA, N.A., AS LENDER
To: ZYNGA INC.
Reel/Frame 054701/0393 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Dec 21, 2018
From: ZYNGA INC.
To: BANK OF AMERICA, N.A., AS LENDER
Reel/Frame 049147/0546 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2014
From: MARTONE, RAY
To: ZYNGA INC.
Reel/Frame 032001/0795 →