IP Library Granted Patent US 10,807,004
Granted Patent B2
US 10,807,004 · App. 16/401,389 · Granted Oct 20, 2020

Dynamic difficulty adjustment

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); Kenneth Alan Moss (Redwood City, CA)
Assignee: Electronic Arts Inc.
A63F13/67A63F13/35G06N7/005G06Q10/04G06Q30/02A63F2300/535G06N20/00
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,807,004
App. No.
16/401,389
Granted
Oct 20, 2020
Kind
B2
Abstract

Embodiments of systems presented herein may perform automatic granular difficulty adjustment. In some embodiments, the difficulty adjustment is undetectable by a user. Further, embodiments of systems disclosed herein can review historical user activity data with respect to one or more video games to generate a game retention prediction model that predicts an indication of an expected duration of game play. The game retention prediction model may be applied to a user's activity data to determine an indication of the user's expected duration of game play. Based on the determined expected duration of game play, the difficulty level of the video game may be automatically adjusted.

Claims (71)

1. A computer-implemented method comprising:

as implemented by an interactive computing system configured with specific computer-executable instructions,

accessing a plurality of seeds for configuring a portion of a video game, wherein each seed of the plurality of seeds modifies a configuration or execution of the portion of the video game;

for each seed of the plurality of seeds:

configuring the portion of the video game based at least in part on the seed;

monitoring progress of a set of users who play the video game configured based at least in part on the seed to obtain progress data associated with the seed for each user of the set of users;

determining, based at least in part on the progress data, a success rate for the set of users who play the video game configured based at least in part on the seed; and

associating a difficulty classification for the seed based at least in part on the success rate.

2. The computer-implemented method of claim 1 , wherein a seed of the plurality of seeds modifies at least one of a level layout, an item drop, a difficulty of the video game, a location of a user playable character within the video game, an ability of the user playable character, or an ability of a non-playable character within the video game.

3. The computer-implemented method of claim 1 , further comprising normalizing the progress data obtained for each seed based on skill data for each user of the set of users, wherein the success rate is determined based on the normalized progress data.

4. The computer-implemented method of claim 1 , further comprising, for each user of the set of users, weighting the progress data obtained for each seed based on a skill level for the user, wherein the success rate is determined based on the weighted progress data.

5. The computer-implemented method of claim 1 , wherein the set of users who play the video game configured based at least in part on the seed is the same for each seed of the plurality of seeds.

6. The computer-implemented method of claim 1 , further comprising clustering a subset of the plurality of seeds with a particular difficulty classification based on the success rate of the set of users who play the video game configured based at least in part on the subset of the plurality of seeds.

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

obtaining a success rate for a second set of users who play the portion of the video game configured with a seed from the plurality of seeds; and

reclassifying the difficulty classification for the seed based on the success rate for the second set of users.

8. The computer-implemented method of claim 1 , further comprising selecting a seed from the plurality of seeds based on the difficulty classification for the seed and a selected difficulty level for playing the video game.

9. A computer-implemented method comprising:

as implemented by an interactive computing system configured with specific computer-executable instructions,

accessing a first seed for configuring a portion of a video game, wherein the first seed affects a configuration or execution of the portion of the video game;

configuring the portion of the video game based at least in part on the first seed;

monitoring progress of a first set of users who play the portion of the video game to obtain first progress data associated with the first seed for each user of the first set of users;

determining, based at least in part on the first progress data for each user of the first set of users, a first success rate for the portion of the video game; and

associating, at a first time period, the first seed with a first difficulty classification based at least in part on the first success rate.

10. The computer-implemented method of claim 9 , further comprising:

accessing a second seed for configuring the portion of the video game;

configuring the portion of the video game based at least in part on the second seed;

monitoring progress of a second set of users who play the portion of the video game to obtain second progress data associated with the second seed for each user of the second set of users;

determining, based at least in part on the second progress data for each user of the second set of users, a second success rate for the portion of the video game; and

associating the second seed with a second difficulty classification based at least in part on the second success rate.

11. The computer-implemented method of claim 10 , further comprising:

receiving, at a second time period, a trigger to execute an instance of the video game;

determining a difficulty level for the instance of the video game, wherein the difficulty level corresponds to one of the first difficulty classification or the second difficulty classification;

selecting one of the first seed or the second seed based on the determined difficulty level;

configuring the instance of the video game using the selected seed; and

executing the instance of the video game configured using the selected seed.

12. The computer-implemented method of claim 10 , wherein the first set of users and the second set of users at least partially overlap.

13. The computer-implemented method of claim 10 , further comprising:

monitoring progress of a third set of users who play the portion of the video game to obtain third progress data associated with the second seed for each user of the third set of users;

determining, based at least in part on the third progress data for each user of the third set of users, a third success rate for the portion of the video game, wherein a difference between the third success rate and the first success rate is less than a classification threshold; and

reclassifying the second seed to be associated with the first difficulty classification based at least in part on the third success rate.

14. The computer-implemented method of claim 13 , further comprising:

receiving, at a second time period, a trigger to execute an instance of the video game using the first difficulty classification;

selecting one of the first seed or the second seed associated with the first difficulty classification;

configuring the instance of the video game using the selected seed; and

executing the instance of the video game configured using the selected seed.

15. The computer-implemented method of claim 10 , further comprising:

normalizing the first progress data obtained for the first seed based on skill data for each user of the first set of users, wherein the first success rate is determined based on the first normalized progress data; and

normalizing the second progress data obtained for the second seed based on skill data for each user of the second set of users, wherein the second success rate is determined based on the second normalized progress data.

16. A system comprising:

an electronic data store configured to store progress data for users who play a video game;

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

access a first seed for configuring the video game;

configure the video game based at least in part on the first seed;

monitor progress of a first set of users who play the video game to obtain first progress data associated with the first seed for each user of the first set of users, wherein the first progress data indicates an amount of progress by each user of the first set of users playing the video game, and wherein the first progress data is stored at the electronic data store; and

associate, at a first time period, the first seed with a first difficulty classification based at least in part on the first progress data.

17. The system of claim 16 , wherein the hardware processor is further configured to select users from a pool of users to include in the first set of users based at least in part on a skill level of each user included in the pool of users.

18. The system of claim 16 , wherein the hardware processor is further configured to:

access a second seed for configuring the video game;

configure the video game based at least in part on the second seed;

monitor progress of a second set of users who play the video game to obtain second progress data associated with the second seed for each user of the second set of users; and

associate the second seed with a second difficulty classification based at least in part on the second progress data.

19. The system of claim 18 , wherein the hardware processor is further configured to:

receive, at a second time period that is later than the first time period, a trigger to execute an instance of the video game;

receive an indication of a difficulty level for the instance of the video game, wherein the difficulty level corresponds to one of the first difficulty classification or the second difficulty classification;

select one of the first seed or the second seed based on the determined difficulty level;

configure the instance of the video game using the selected seed; and

execute the instance of the video game configured using the selected seed.

20. The system of claim 16 , wherein the hardware processor is further configured to:

monitor, at a third time period that is later than the first time period, progress of a third set of users who are playing the video game configured with the first seed to obtain third progress data associated with the first seed; and

reclassify the first seed to be associated with a different difficulty classification based at least in part on a difference between the third progress data and the first progress data.

Continuity (3)
Continuation 15896608 · Feb 14, 2018
Continuation 15064082 · Mar 8, 2016
Related Publication 20190388789A1 · Dec 26, 2019
Cited By (4)
US 12,229,223 US 12,307,203 US 12,551,795 US 12,567,196