IP Library Granted Patent US 10,357,718
Granted Patent B2
US 10,357,718 · App. 15/445,784 · Granted Jul 23, 2019

Realtime dynamic modification and optimization of gameplay parameters within a video game application

Inventors: Navid Aghdaie (San Jose, CA); John Kolen (Half Moon Bay, CA); Mohamed Marwan Mattar (San Francisco, CA); Mohsen Sardari (Redwood City, CA); Su Xue (Fremont, CA); Kazi Atif-Uz Zaman (Foster City, CA); Meng Wu (Fremont, CA)
Assignee: Electronic Arts Inc.
A63F13/67A63F13/79
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,357,718
App. No.
15/445,784
Granted
Jul 23, 2019
Kind
B2
Abstract

Embodiments presented herein include systems and methods for performing dynamic difficulty adjustment using processes that may not be detectable or are more difficult to detect by users compared to static and/or existing difficulty adjustment processes. Historical user information may be utilized by a machine learning system to generate a prediction model that predicts an expected duration of game play. Before or during game play, the prediction model can be applied to information about the user to predict the user's expected duration of game play. Based on the expected duration, in some embodiments, the system may then utilize a mapping data repository to determine how to dynamically adjust the difficulty of the game, such as, for example, changing the values of one or more gameplay parameters to make portions of the game less difficult.

Claims (54)

1. A computer-implemented method comprising:

under control of one or more hardware computing devices configured with specific computer-executable instructions, the specific computer-executable instructions stored in an electronic hardware memory,

receiving, over a network from a user computing system, a gameplay session data packet comprising an indication of initiation of a current gameplay session of a video game application at a first gameplay level on the user computing system;

identifying a user identifier associated with the current gameplay session of the video game application on the user computing system from the gameplay session data packet, the user identifier associated with a user account;

accessing user account data in a physical data store based at least in part on the user identifier, wherein the physical data store is configured to store user account data structures storing user interaction data associated with one or more gameplay sessions of the video game application;

determining a churn rate associated with the user account, wherein the churn rate comprises a win churn rate that is indicative of a probability that a user will quit playing the video game application after a successful attempt at the first gameplay level and a loss churn rate that is indicative of the probability that the user will quit playing the video game application after an unsuccessful attempt at the first gameplay level;

determining a difficulty trajectory associated with progression of the user account through the video game application based at least in part on an analysis of the win churn rate, the loss churn rate, and at least a portion of the user account data using a difficulty analysis model, wherein progression through the video game application is defined by a plurality of game progression states, wherein the difficulty trajectory identifies a predicted challenge level associated with each game progression state of the plurality of game progression states for the user account;

determining a difficulty level for the first gameplay level of the current gameplay session of the video game application based at least in part on the predicted challenge level, the churn rate, and gameplay session data associated with the current gameplay session;

based at least in part on the determined difficulty level, selecting a value for at least one gameplay parameter associated with the video game application, wherein the at least one gameplay parameter comprises a variable that when adjusted causes a modification to a state of the video game application; and

modifying execution of the video game application by adjusting the at least one gameplay parameter to the selected value for the first gameplay level of the current gameplay session.

2. The computer-implemented method of claim 1 , wherein the user interaction data comprises recent user interaction data that is more recent than a threshold age time period and historical user interaction data that less recent than the threshold age time period.

3. The computer-implemented method of claim 1 , wherein the determined difficulty level is further determined based at least in part on a skill level associated with the user account.

4. The computer-implemented method of claim 1 , wherein the difficulty trajectory indicates a plurality of determined difficulty levels for a plurality of different portions of the video game application.

5. The computer-implemented method of claim 1 , wherein the value for the at least one gameplay parameter is a seed value that identifies seed data used to generate a gameplay level within the video game application.

6. The computer-implemented method of claim 1 , wherein modifying execution of the video game application by adjusting the gameplay parameter to the selected value for the current gameplay session occurs prior to initiation of each gameplay level during the current gameplay session.

7. The computer-implemented method of claim 1 , further comprising:

determining a relationship between the difficulty trajectory and a detected level of difficulty associated with the user account;

based upon the determined relationship, generating one or more design recommendations; and

updating the video game application based upon the one or more design recommendation.

8. A system comprising:

an electronic data store configured to store user account data structures storing user interaction data associated with one or more gameplay sessions of a video game application;

a hardware processor in communication with the electronic data store, the hardware processor configured to execute specific computer-executable instructions to at least:

receive, over a network from a user computing system, a gameplay session data packet comprising an indication of initiation of a current gameplay session of a video game application at a first gameplay level on the user computing system;

identify a user identifier associated with the current gameplay session of the video game application on the user computing system from the gameplay session data packet, the user identifier associated with a user account;

access user account data in a physical data store based at least in part on the user identifier, wherein the physical data store is configured to store user account data structures storing user interaction data associated with one or more gameplay sessions of the video game application;

determine a churn rate associated with the user account, wherein the churn rate comprises a win churn rate that is indicative of a probability that a user will quit playing the video game application after a successful attempt at the first gameplay level and a loss churn rate that is indicative of the probability that the user will quit playing the video game application after an unsuccessful attempt at the first gameplay level;

determine a difficulty trajectory associated with progression of the user account through the video game application based at least in part on an analysis of the win churn rate, the loss churn rate, and at least a portion of the user account data using a difficulty analysis model, wherein progression through the video game application is defined by a plurality of game progression states, wherein the difficulty trajectory identifies a predicted challenge level associated with each game progression state of the plurality of game progression states for the user account;

determine a difficulty level for the first gameplay level of the current gameplay session of the video game application based at least in part on the predicted challenge level, the churn rate, and gameplay session data associated with the current gameplay session;

based at least in part on the determined difficulty level, selecting a value for at least one gameplay parameter associated with the video game application, wherein the at least one gameplay parameter comprises a variable that when adjusted causes a modification to a state of the video game application; and

modify execution of the video game application by adjusting the at least one gameplay parameter to the selected value for the current gameplay session.

9. The system of claim 8 , wherein the user interaction data comprises recent user interaction data that is more recent than a threshold age time period and historical user interaction data that less recent than the threshold age time period.

10. The system of claim 8 , wherein the determined difficulty level is further determined based at least in part on a skill level associated with the user account.

11. The system of claim 8 , wherein the difficulty trajectory indicates a plurality of determined difficulty levels for a plurality of different portions of the video game application.

12. The system of claim 8 , wherein the value for the at least one gameplay parameter is a seed value that identifies seed data used to generate a gameplay level within the video game application.

13. The system of claim 8 , wherein modification of the execution of the video game application by adjusting the gameplay parameter to the selected value for the current gameplay session occurs prior to initiation of each gameplay level during the current gameplay session.

14. The system of claim 8 , wherein the hardware processor is further configured to:

determine a relationship between the difficulty trajectory and a detected level of difficulty associated with the user account;

based upon the determined relationship, generate one or more design recommendations; and

update the video game application based upon the one or more design recommendation.

15. A non-transitory computer-readable storage medium storing computer executable instructions that, when executed by one or more computing devices, configure the one or more computing devices to perform operations comprising:

under control of one or more hardware computing devices configured with specific computer-executable instructions, the specific computer-executable instructions stored in an electronic hardware memory,

receiving, over a network from a user computing system, a gameplay session data packet comprising an indication of initiation of a current gameplay session of a video game application at a first gameplay level on the user computing system;

identifying a user identifier associated with the current gameplay session of the video game application on the user computing system from the gameplay session data packet, the user identifier associated with a user account;

accessing user account data in a physical data store based at least in part on the user identifier, wherein the physical data store is configured to store user account data structures storing user interaction data associated with one or more gameplay sessions of the video game application;

determining a churn rate associated with the user account, wherein the churn rate comprises a win churn rate that is indicative of a probability that a user will quit playing the video game application after a successful attempt at the first gameplay level and a loss churn rate that is indicative of the probability that the user will quit playing the video game application after an unsuccessful attempt at the first gameplay level;

determining a difficulty trajectory associated with progression of the user account through the video game application based at least in part on an analysis of the win churn rate, the loss churn rate, and at least a portion of the user account data using a difficulty analysis model, wherein progression through the video game application is defined by a plurality of game progression states, wherein the difficulty trajectory identifies a predicted challenge level associated with each game progression state of the plurality of game progression states for the user account;

determining a difficulty level for the first gameplay level of the current gameplay session of the video game application based at least in part on the predicted challenge level, the churn rate, and gameplay session data associated with the current gameplay session;

based at least in part on the determined difficulty level, selecting a value for at least one gameplay parameter associated with the video game application, wherein the at least one gameplay parameter comprises a variable that when adjusted causes a modification to a state of the video game application; and

modifying execution of the video game application by adjusting the at least one gameplay parameter to the selected value for the current gameplay session.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the user interaction data comprises recent user interaction data that is more recent than a threshold age time period and historical user interaction data that less recent than the threshold age time period.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the determined difficulty level is further determined based at least in part on a skill level associated with the user account.

18. The non-transitory computer-readable storage medium of claim 15 , wherein the difficulty trajectory indicates a plurality of determined difficulty levels for a plurality of different portions of the video game application.

19. The non-transitory computer-readable storage medium of claim 15 , wherein the value for the at least one gameplay parameter is a seed value that identifies seed data used to generate a gameplay level within the video game application.

20. The non-transitory computer-readable storage medium of claim 15 , wherein modifying execution of the video game application by adjusting the gameplay parameter to the selected value for the current gameplay session occurs prior to initiation of each gameplay level during the current gameplay session.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2019
From: AGHDAIE, NAVID
To: ELECTRONIC ARTS INC.
Reel/Frame 049215/0616 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2019
From: KOLEN, JOHN
To: ELECTRONIC ARTS INC.
Reel/Frame 049215/0650 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2019
From: MATTAR, MOHAMED MARWAN
To: ELECTRONIC ARTS INC.
Reel/Frame 049215/0658 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2019
From: SARDARI, MOHSEN
To: ELECTRONIC ARTS INC.
Reel/Frame 049215/0682 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2019
From: XUE, SU
To: ELECTRONIC ARTS INC.
Reel/Frame 049215/0702 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2019
From: ZAMAN, KAZI ATIF-UZ
To: ELECTRONIC ARTS INC.
Reel/Frame 049215/0709 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2019
From: WU, MENG
To: ELECTRONIC ARTS INC.
Reel/Frame 049215/0724 →
Continuity (1)
Related Publication 20180243656A1 · Aug 30, 2018
Cited By (2)
US 12,551,795 US 12,567,196