Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM AND METHODS FOR SOFTWARE-BASED FANTASY SPORTS GAMING APPLICATION
Document Type and Number:
WIPO Patent Application WO/2018/049207
Kind Code:
A1
Abstract:
A system and methods for administering a fantasy sports gaming application is disclosed. The fantasy sports gaming application is defined by computer program instructions stored in a memory of a computer and executed by a processor. The fantasy sports gaming application generates packs of randomized players from which users acquire players corresponding to real-world players of a sport. For each user, a roster of players acquired by that user is maintained. A plurality of fantasy events that the users enter using the players on their rosters are administered and the outcomes of the fantasy events are determined based on real-world performances of the players. In-game rewards are provided to the users based on the outcomes of the fantasy events entered by the users.

Inventors:
TARAMYKIN MICHAEL (US)
SOUSA JOHN (US)
KIRCHNER THOMAS (US)
CAYADO MICHAEL (US)
SHENKMAN JASON (US)
Application Number:
PCT/US2017/050748
Publication Date:
March 15, 2018
Filing Date:
September 08, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HYPGAMES INC (US)
International Classes:
G06F19/00
Foreign References:
US20140121013A12014-05-01
US20140155145A12014-06-05
US20030107173A12003-06-12
US20150209679A12015-07-30
Attorney, Agent or Firm:
WEINICK, Jeffrey, M. (US)
Download PDF:
Claims:
CLAIMS

1 . A system for administering a fantasy sports gaming application, comprising:

a processor; and

a memory storing computer program instructions which when executed by the processor cause the processor to perform operations comprising:

generating packs of randomized players from which users acquire players of a sport, wherein the players correspond to real-world players of the sport;

maintaining, for each user, a roster of players acquired by that user;

administering a plurality of fantasy events that the users enter using the players on their rosters, wherein outcomes of the fantasy events are determined based on real-world performances of the players; and

providing in-game rewards to the users based on the outcomes of the fantasy events entered by the users.

2. The system of claim 1 , wherein generating packs of randomized players from which users acquire players of a sport comprises:

receiving a request for a pack of players for a user;

selecting, from a plurality of possible athlete pack definitions, an athlete pack definition corresponding to the request, wherein the selected athlete pack definition includes a number of sub_ids corresponding to a number of players to include in the pack and respective player selection parameters for each sub_id; and

for each sub_id included in the selected athlete pack definition, filtering a pool of available players based on one or more of the player selection parameters for the sub_id, and

randomly selecting a player to include in the pack of players from the filtered pool of available players.

3. The system of claim 2, wherein filtering a pool of available players based on one or more of the player selection parameters for the sub_id comprises: filtering the pool of available players based on a current contest parameter for the sub_id to search for players in the pool of available players who have a game in a current contest window.

4. The system of claim 2, wherein filtering a pool of available players based on one or more of the player selection parameters for the sub_id comprises:

filtering the pool of available players based on a position parameter for the sub_id to return players having a desired position from the pool of available players.

5. The system of claim 2, wherein filtering a pool of available players based on one or more of the player selection parameters for the sub_id comprises:

filtering the pool of available players based on caliber parameters for the sub_id, wherein the caliber parameters are weights associated with a plurality of possible player ratings, by:

randomly selecting a desired player rating from the plurality of possible player rating, wherein the random selection of the desired player rating is weighted by the weights associated with the plurality of possible player ratings, and

filtering the pool of available players to search for players in the pool of available players who have the desired player rating.

6. The system of claim 2, wherein generating packs of randomized players from which users acquire players of a sport, wherein the players correspond to real- world players of the sport further comprises:

for each sub_id included in the selected athlete pack definition, filtering the pool of available players to remove injured players and players who are not on an active roster from the pool of available players.

7. The system of claim 1 , wherein generating packs of randomized players from which users acquire players of a sport comprises:

generating a pack of randomized players in response to a user selection of a free pack button displayed in a user interface, wherein a specified amount of time must pass after the user selection of the free pack button before the user is able to select the free pack button again.

8. The system of claim 1 , wherein the operations further comprise:

providing a store in which a number of randomly selected players are available to be purchased by users for in-game currency for a specified time period, wherein different randomly selected players are made available in the store each time the specified time period passes.

9. The system of claim 1 , wherein maintaining, for each user, a roster of players acquired by that user comprises storing a player level for each player on the roster of each user, where the player level for each player begins at level 1 when the player is acquired by a user, and the operations further comprise:

awarding skill points to users based on at least one of the outcomes of the fantasy events entered by the users or selection of training events by the users; and in response to a user selection applying skill points to a player on the user's roster,

determining whether the a designated number of skill points associated with a next player level for the player have been applied to the player, and if enough the designated number of skill points associated with the next player level for the player have been applied to the player, increasing the player level for the player to the next player level.

10. The system of claim 9, wherein administering a plurality of fantasy events that the users enter using the players on their rosters comprises, for each player in a line-up of a user for a fantasy event:

calculating fantasy points earned by the player based on real-world statistics of the player in a sporting event; and

if the player level for the player is greater than level 1 , calculating a bonus percentage associated with the player level for the player and adding the bonus percentage to the fantasy sports earned by the player.

1 1 . The system of claim 10, wherein awarding skill points to users based on at least one of the outcomes of the fantasy events entered by the users or selection of training events by the users comprises:

controlling a user interface to display one or more selectable training buttons;

receiving a user selection of one of the one or more training buttons;

awarding the user an amount of skill points associated with the selected one or the one or more training buttons; and

starting a resting timer that counts down an amount of time associated with the selected one of the one or more training buttons during which the one or more training buttons are not selectable by the user.

12. The system of claim 9, wherein the operations further comprise:

automatically activating a gamechanger ability associated with a player on the roster of a user in response to the player level for that player being increased to a specified player level corresponding to the gamechanger ability, wherein the activated gamechanger ability provides a bonus percentage that is added to a fantasy score of the player in a fantasy event if a specified criteria associated with real-world achievements by the player is met.

13. The system of claim 12, wherein the operations further comprise:

awarding gamechanger collectible items to users;

receiving a user selection of an activated gamechanger ability to upgrade; and

upgrading the selected activated gamechanger ability from a current gamechanger level to a next gamechanger level in response to a determination that the user has a designated amount of gamechanger collectible items required to upgrade selected gamechanger ability to the next gamechanger level, wherein upgrading the selected activated gamechanger ability to the next gamechanger level increases the bonus percentage that is added to the fantasy score of the player if the specified criteria for the selected gamechanger ability is met.

14. The system of claim 13, wherein upgrading the selected activated gamechanger ability from a current gamechanger level to a next gamechanger level in response to a determination that the user has a designated amount of gamechanger collectible items required to upgrade selected gamechanger ability to the next gamechanger level comprises:

upgrading the selected activated gamechanger ability from the current gamechanger level to the next gamechanger level in response to a determination that the user has a designated amount of gamechanger collectible items required to upgrade selected gamechanger ability to the next gamechanger level and in response to payment of a specified amount of in-game currency by the user.

15. The system of clam 1 , wherein maintaining, for each user, a roster of players acquired by that user comprises storing current player ratings for the players on the roster of each user, wherein administering a plurality of fantasy events that the users enter using the players on their rosters comprises restricting line-ups of players entered by the users for one or more of the plurality of fantasy events based on the current player ratings for the players in the line-ups; and wherein the operations further comprise:

automatically assigning the current player ratings to the players based on dynamic real-world statistics of the players.

16. The system of claim 15, wherein automatically assigning the current player ratings to the players based on dynamic real-world statistics of the players comprises:

calculating, for each player, a current fantasy points per game value based on an automatically updating queue of N fantasy scores from the most recent games played by the player in a current season; and

assigning the current player rating for each player based on the current fantasy points per game value for each player using a rating table that maps fantasy points per game values to a plurality of possible player ratings for each particular sport and position of the player.

17. The system of claim 15, wherein when a number of games M played by a player in the current season is less than N, the queue of N fantasy scores is populated with M fantasy scores from the games played by the player in the current season and N- M entries of an average fantasy points per game value calculated from the prior season statistics for the player if prior season statistics exist for the player, and the queue of N fantasy scores is populated with M fantasy scores from the games played by the player in the current season and N-M entries of a pre-assigned default fantasy score if prior season statistics do not exist for the player.

18. The system of claim 1 , wherein maintaining, for each user, a roster of players acquired by that user comprises:

for each player acquired by a user, determining whether the player is already on the roster for the user;

if the player is not already on the roster for the user, adding the player to the roster for the user and storing a use count of one for the player; and

if the player is already on the roster for the user, incrementing the use count stored for that player by adding one to the use count stored for the player;

wherein the players on the roster of the user are selectable to be entered into line-ups for the plurality of fantasy events and the use count stored for each player on the roster for the user indicates how many line-ups for the plurality of fantasy events that player can be entered into for a given event period.

19. The system of claim 18, wherein administering a plurality of fantasy events that the users enter using the players on their rosters comprises:

administering a league mode including head-to-head fantasy events in which each users in a league compete against each other;

administering a solo-challenge mode including a plurality of individual fantasy events that make-up a solo player campaign; and administering a season showdown mode including regular season series, playoff series, and season finals series fantasy events corresponding to the regular season, playoffs, and final championship game or series in a sport's season, respectively, that allow users to compete with large numbers of other users with similarly ranked rosters to win rewards at the end of each series and at the end of the season,

wherein the league mode and solo-challenge mode fantasy events are entered by a user entering line-ups using the players on the roster for the user and the use count stored for each player indicates the total number of fantasy events that the player can be entered into in a given event window, and the season showdown mode fantasy events automatically enter top players on the roster of the user for each event window and do not count against the use counts stored for the players.

20. A method for administering a fantasy sports gaming application, comprising:

generating packs of randomized players from which users acquire players of a sport, wherein the players correspond to real-world players of the sport;

maintaining, for each user, a roster of players acquired by that user;

administering a plurality of fantasy events that the users enter using the players on their rosters, wherein outcomes of the fantasy events are determined based on real-world performances of the players; and

providing in-game rewards to the users based on the outcomes of the fantasy events entered by the users.

21 . The method of claim 20, wherein generating packs of randomized players from which users acquire players of a sport comprises:

receiving a request for a pack of players for a user;

selecting, from a plurality of possible athlete pack definitions, an athlete pack definition corresponding to the request, wherein the selected athlete pack definition includes a number of sub_ids corresponding to a number of players to include in the pack and respective player selection parameters for each sub_id; and for each sub_id included in the selected athlete pack definition,

filtering a pool of available players based on one or more of the player selection parameters for the sub_id, and

randomly selecting a player to include in the pack of players from the filtered pool of available players.

22. The method of claim 21 , wherein filtering a pool of available players based on one or more of the player selection parameters for the sub_id comprises:

filtering the pool of available players based on at least one of a current contest parameter, a position parameter, or caliber parameters for the sub_id.

23. The method of claim 20, wherein maintaining, for each user, a roster of players acquired by that user comprises storing a player level for each player on the roster of each user, where the player level for each player begins at level 1 when the player is acquired by a user, and the method further comprises:

awarding skill points to users based on at least one of the outcomes of the fantasy events entered by the users or selection of training events by the users; and in response to a user selection applying skill points to a player on the user's roster,

determining whether the a designated number of skill points associated with a next player level for the player have been applied to the player, and if enough the designated number of skill points associated with the next player level for the player have been applied to the player, increasing the player level for the player to the next player level.

24. The method of claim 23, wherein administering a plurality of fantasy events that the users enter using the players on their rosters comprises, for each player in a line-up of a user for a fantasy event:

calculating fantasy points earned by the player based on real-world statistics of the player in a sporting event; and if the player level for the player is greater than level 1 , calculating a bonus percentage associated with the player level for the player and adding the bonus percentage to the fantasy sports earned by the player.

25. The method of claim 24, further comprising:

automatically activating a gamechanger ability associated with a player on the roster of a user in response to the player level for that player being increased to a specified player level corresponding to the gamechanger ability, wherein the activated gamechanger ability provides a bonus percentage that is added to a fantasy score of the player in a fantasy event if a specified criteria associated with real-world achievements by the player is met.

26. The method of clam 20, wherein maintaining, for each user, a roster of players acquired by that user comprises storing current player ratings for the players on the roster of each user, wherein administering a plurality of fantasy events that the users enter using the players on their rosters comprises restricting line-ups of players entered by the users for one or more of the plurality of fantasy events based on the current player ratings for the players in the line-ups; and wherein the method further comprises:

automatically assigning the current player ratings to the players based on dynamic real-world statistics of the players.

27. The method of claim 26, wherein automatically assigning the current player ratings to the players based on dynamic real-world statistics of the players comprises:

calculating, for each player, a current fantasy points per game value based on an automatically updating queue of N fantasy scores from the most recent games played by the player in a current season; and

assigning the current player rating for each player based on the current fantasy points per game value for each player using a rating table that maps fantasy points per game values to a plurality of possible player ratings for each particular sport and position of the player.

28. The method of claim 20, wherein maintaining, for each user, a roster of players acquired by that user comprises:

for each player acquired by a user, determining whether the player is already on the roster for the user;

if the player is not already on the roster for the user, adding the player to the roster for the user and storing a use count of one for the player; and

if the player is already on the roster for the user, incrementing the use count stored for that player by adding one to the use count stored for the player;

wherein the players on the roster of the user are selectable to be entered into line-ups for the plurality of fantasy events and the use count stored for each player on the roster for the user indicates how many line-ups for the plurality of fantasy events that player can be entered into for a given event period.

29. The method of claim 28, wherein administering a plurality of fantasy events that the users enter using the players on their rosters comprises:

administering a league mode including head-to-head fantasy events in which each users in a league compete against each other;

administering a solo-challenge mode including a plurality of individual fantasy events that make-up a solo player campaign; and

administering a season showdown mode including regular season series, playoff series, and season finals series fantasy events corresponding to the regular season, playoffs, and final championship game or series in a sport's season, respectively, that allow users to compete with large numbers of other users with similarly ranked rosters to win rewards at the end of each series and at the end of the season,

wherein the league mode and solo-challenge mode fantasy events are entered by a user entering line-ups using the players on the roster for the user and the use count stored for each player indicates the total number of fantasy events that the player can be entered into in a given event window, and the season showdown mode fantasy events automatically enter top players on the roster of the user for each event window and do not count against the use counts stored for the players.

30. A non-transitory computer readable medium storing computer program instructions for administering a fantasy sports gaming application, the computer program instructions when executed by a processor cause the processor to perform operations comprising:

generating packs of randomized players from which users acquire players of a sport, wherein the players correspond to real-world players of the sport;

maintaining, for each user, a roster of players acquired by that user;

administering a plurality of fantasy events that the users enter using the players on their rosters, wherein outcomes of the fantasy events are determined based on real-world performances of the players; and

providing in-game rewards to the users based on the outcomes of the fantasy events entered by the users.

31 . The non-transitory computer readable medium of claim 30, wherein generating packs of randomized players from which users acquire players of a sport comprises:

receiving a request for a pack of players for a user;

selecting, from a plurality of possible athlete pack definitions, an athlete pack definition corresponding to the request, wherein the selected athlete pack definition includes a number of sub_ids corresponding to a number of players to include in the pack and respective player selection parameters for each sub_id; and

for each sub_id included in the selected athlete pack definition, filtering a pool of available players based on one or more of the player selection parameters for the sub_id, and

randomly selecting a player to include in the pack of players from the filtered pool of available players.

32. The non-transitory computer readable medium of claim 31 , wherein filtering a pool of available players based on one or more of the player selection parameters for the sub_id comprises:

filtering the pool of available players based on at least one of a current contest parameter, a position parameter, or caliber parameters for the sub_id.

33. The non-transitory computer readable medium of claim 30, wherein maintaining, for each user, a roster of players acquired by that user comprises storing a player level for each player on the roster of each user, where the player level for each player begins at level 1 when the player is acquired by a user, and the operations further comprise:

awarding skill points to users based on at least one of the outcomes of the fantasy events entered by the users or selection of training events by the users; and in response to a user selection applying skill points to a player on the user's roster,

determining whether the a designated number of skill points associated with a next player level for the player have been applied to the player, and if enough the designated number of skill points associated with the next player level for the player have been applied to the player, increasing the player level for the player to the next player level.

34. The non-transitory computer readable medium of claim 33, wherein administering a plurality of fantasy events that the users enter using the players on their rosters comprises, for each player in a line-up of a user for a fantasy event:

calculating fantasy points earned by the player based on real-world statistics of the player in a sporting event; and

if the player level for the player is greater than level 1 , calculating a bonus percentage associated with the player level for the player and adding the bonus percentage to the fantasy sports earned by the player.

35. The non-transitory computer readable medium of claim 34, wherein the operations further comprise:

automatically activating a gamechanger ability associated with a player on the roster of a user in response to the player level for that player being increased to a specified player level corresponding to the gamechanger ability, wherein the activated gamechanger ability provides a bonus percentage that is added to a fantasy score of the player in a fantasy event if a specified criteria associated with real-world achievements by the player is met.

36. The non-transitory computer readable medium of clam 30, wherein maintaining, for each user, a roster of players acquired by that user comprises storing current player ratings for the players on the roster of each user, wherein administering a plurality of fantasy events that the users enter using the players on their rosters comprises restricting line-ups of players entered by the users for one or more of the plurality of fantasy events based on the current player ratings for the players in the lineups; and wherein the operations further comprise:

automatically assigning the current player ratings to the players based on dynamic real-world statistics of the players.

37. The non-transitory computer readable medium of claim 36, wherein automatically assigning the current player ratings to the players based on dynamic real- world statistics of the players comprises:

calculating, for each player, a current fantasy points per game value based on an automatically updating queue of N fantasy scores from the most recent games played by the player in a current season; and

assigning the current player rating for each player based on the current fantasy points per game value for each player using a rating table that maps fantasy points per game values to a plurality of possible player ratings for each particular sport and position of the player.

38. The non-transitory computer readable medium of claim 30, wherein maintaining, for each user, a roster of players acquired by that user comprises:

for each player acquired by a user, determining whether the player is already on the roster for the user;

if the player is not already on the roster for the user, adding the player to the roster for the user and storing a use count of one for the player; and

if the player is already on the roster for the user, incrementing the use count stored for that player by adding one to the use count stored for the player;

wherein the players on the roster of the user are selectable to be entered into line-ups for the plurality of fantasy events and the use count stored for each player on the roster for the user indicates how many line-ups for the plurality of fantasy events that player can be entered into for a given event period.

39. The non-transitory computer readable medium of claim 38, wherein administering a plurality of fantasy events that the users enter using the players on their rosters comprises:

administering a league mode including head-to-head fantasy events in which each users in a league compete against each other;

administering a solo-challenge mode including a plurality of individual fantasy events that make-up a solo player campaign; and

administering a season showdown mode including regular season series, playoff series, and season finals series fantasy events corresponding to the regular season, playoffs, and final championship game or series in a sport's season, respectively, that allow users to compete with large numbers of other users with similarly ranked rosters to win rewards at the end of each series and at the end of the season,

wherein the league mode and solo-challenge mode fantasy events are entered by a user entering line-ups using the players on the roster for the user and the use count stored for each player indicates the total number of fantasy events that the player can be entered into in a given event window, and the season showdown mode fantasy events automatically enter top players on the roster of the user for each event window and do not count against the use counts stored for the players.

Description:
SYSTEM AND METHODS FOR SOFTWARE -BASED

FANTASY SPORTS GAMING APPLICATION

[0001] This application claims the benefit of U.S. Provisional Application No. 62/385,950, filed September 9, 2016, U.S. Provisional Application No. 62/396,288, filed September 19, 2016, U.S. Provisional Application No. 62/396,302, filed September 19, 2016, U.S. Provisional Application No. 62/396,307, filed September 19, 2016, and U.S. Provisional Application No. 62/396,31 1 , filed September 19, 2016, the disclosures of which are herein incorporated by reference.

BACKGROUND OF THE INVENTION

[0002] The present invention related generally to computer-based fantasy sports games, and more particularly to a system and methods for administering a fantasy sports gaming application in which users collect players and use those players to compete in fantasy based events whose outcomes are determined based on real-world performances of those players.

BRIEF SUMMARY OF THE INVENTION

[0003] A software fantasy sports gaming application where users collect players through a variety of mechanics and use those players to enter and compete in fantasy based events is described herein. Depending upon the outcome of the events, users collect in app awards. These awards illustrate progress and are also used to collect better players and in turn play more events. This fantasy sports gaming application is designed to work with MLB baseball, NFL Football, NBA Basketball, NHL Hockey, Golf, Soccer, NCAA Football, eSports (electronic sports) (e.g., League of Legends, Counter- Strike: Global Offensive, etc.), and/or any other sports or leagues.

[0004] In one embodiment of the present invention, a system for administering a fantasy sports gaming application comprises a processor and a memory storing computer program instructions, which when executed by the processor cause the processor to perform operations comprising: generating packs of randomized players from which users acquire players of a sport, wherein the players correspond to real- world players of the sport; maintaining, for each user, a roster of players acquired by that user; administering a plurality of fantasy events that the users enter using the players on their rosters, wherein outcomes of the fantasy events are determined based on real-world performances of the players; and providing in-game rewards to the users based on the outcomes of the fantasy events entered by the users.

[0005] In one embodiment of the present invention, a method for administering a computer-based fantasy sports gaming application comprises: generating packs of randomized players from which users acquire players of a sport, wherein the players correspond to real-world players of the sport; maintaining, for each user, a roster of players acquired by that user; administering a plurality of fantasy events that the users enter using the players on their rosters, wherein outcomes of the fantasy events are determined based on real-world performances of the players; and providing in-game rewards to the users based on the outcomes of the fantasy events entered by the users.

[0006] In one embodiment of the present invention, a non-transitory computer readable medium stores computer program instructions for administering a fantasy sports gaming application. The computer program instructions, when executed by a processor, cause the processor to perform operations comprising: generating packs of randomized players from which users acquire players of a sport, wherein the players correspond to real-world players of the sport; maintaining, for each user, a roster of players acquired by that user; administering a plurality of fantasy events that the users enter using the players on their rosters, wherein outcomes of the fantasy events are determined based on real-world performances of the players; and providing in-game rewards to the users based on the outcomes of the fantasy events entered by the users

[0007] These and other advantages of the invention will be apparent to those of ordinary skill in the art by reference to the following detailed description and the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0008] FIG. 1 illustrates a system for implementing the HYPSPORTS application according to an exemplary embodiment; [0009] FIG. 2 illustrates a high-level block diagram of a computer capable of performing operations to implement the software based fantasy sports gaming application;

[0010] FIG 3 illustrates the core loop that A user engages in when playing the HYPSPORTS application;

[0011] FIG. 4 illustrates the use of real-time sports feed data by the HYPSPORTS application;

[0012] FIG. 5 illustrates a main menu page for the HYPSPORTS application according to an exemplary embodiment;

[0013] FIG. 6 illustrates a user profile page according to an exemplary embodiment;

[0014] FIG. 7 illustrates a method of awarding trophies according to an exemplary embodiment;

[0015] FIG. 8 illustrates a method of awarding rings according to an exemplary embodiment;

[0016] FIG. 9 illustrates a sport select screen according to an exemplary embodiment;

[0017] FIGS. 10A, 10B, and 10C illustrate a MY EVENTS screen with the toggle set to current, previous, and upcoming, respectively, according to an exemplary embodiment;

[0018] FIG. 1 1 illustrates a roster screen according to an exemplary embodiment;

[0019] FIG. 12 illustrates data sources for statistics and daily fantasy points used to determine star ratings for players;

[0020] FIG. 13 illustrates a method of automatically generating a player star rating from player statistics according to an exemplary embodiment;

[0021] FIGS. 14A, 14B, and 14C show different examples of using dynamic statistics;

[0022] FIG. 15 illustrates examples of displaying average fantasy points and star ratings for players on a roster listing and on a player detail page;

[0023] FIG. 16 illustrates a method for managing player acquisition and use counts according to an exemplary embodiment; [0024] FIG. 17 illustrates a method of managing editing lineups using use counts according to an exemplary embodiment;

[0025] FIG. 18 illustrates a method of returning player use counts according to an exemplary embodiment;

[0026] FIG. 19 illustrates exemplary methods for awarding skill points to users;

[0027] FIG. 20 illustrates a method for adjusting player levels based on skill points applied to the player according to an exemplary embodiment;

[0028] FIG. 21 illustrates a method for assessing level-based fantasy bonus points in live fantasy scoring according to an exemplary embodiment;

[0029] FIG. 22 illustrates a skills trainer screen according to an exemplary embodiment;

[0030] FIGS. 23A and 23B illustrate exemplary store pages;

[0031] FIG. 24 illustrates a help menu according to an exemplary embodiment;

[0032] FIG. 25 illustrates a claim bonus award according to an exemplary embodiment;

[0033] FIG. 26 illustrates a data driven reward system according to an advantageous embodiment;

[0034] FIG. 27 illustrates a method for determining free pack rewards according to an exemplary embodiment;

[0035] FIG. 28 illustrates the AthletePack system used to determine which athletes (players) are awarded to users in athlete packs;

[0036] FIG. 29 illustrates a method for determining which athletes to include in an athlete pack according to an advantageous embodiment;

[0037] FIG. 30 illustrates an example of Event Award according to exemplary embodiment;

[0038] FIG. 31 illustrates an exemplary JOIN screen of the Leagues menu;

[0039] FIG. 32 illustrates an exemplary MY LEAGUES screen of the Leagues menu;

[0040] FIG. 33 illustrates an exemplary HISTORY screen of the Leagues menu;

[0041] FIG. 34 illustrates an exemplary LEAGUES - SCHEDULE screen;

[0042] FIG. 35 illustrates an exemplary LEAGUES - EDIT LINEUP screen; [0043] FIG. 36 illustrates an exemplary LEAGUES - SCOREBOARD screen;

[0044] FIG. 37 illustrates a method evaluating multi-tiered win conditions for a season event according to an exemplary embodiment;

[0045] FIG. 38 illustrates an exemplary SEASON - LEVEL screen;

[0046] FIG. 39 illustrates an exemplary SEASON - EVENTS screen;

[0047] FIG. 40 illustrates an exemplary SEASON - EDIT LINEUP screen;

[0048] FIG. 41 illustrates an exemplary SEASON - SCOREBOARD screen;

[0049] FIG. 42 illustrates an example of star rating restrictions for individual players and a method for enforcing star rating restrictions for individual players;

[0050] FIG. 43 illustrates an example of star rating restrictions for the entire lineup and a method for enforcing such star rating restrictions;

[0051] FIG. 44 illustrates an example of player level restrictions for individual players and a method such restrictions;

[0052] FIG. 45 illustrates an exemplary Player Page - Stats screen;

[0053] FIG. 46 illustrates an exemplary Player Page - Skill Points screen;

[0054] FIG. 47 illustrates an exemplary Player Page - Gamechangers screen;

[0055] FIG. 48 illustrates a method for activating gamechangers and applying gamechangers to fantasy scoring according to an exemplary embodiment;

[0056] FIG. 49 illustrates a method for awarding gamechanger collectible items according to an exemplary embodiment;

[0057] FIG. 50 illustrates a method for upgrading a gamechanger associated with a player according to an exemplary embodiment;

[0058] FIG. 51 illustrates a Player Page - Sell Player screen;

[0059] FIG. 52 illustrates an exemplary Collection Book;

[0060] FIG. 53 illustrates an exemplary Alliance competition; and

[0061] FIG. 54 illustrates an example of Season Showdown Series having qualifying, knockout, and finals stages according to an exemplary embodiment.

DETAILED DESCRIPTION

[0062] The present disclosure is directed to a software-based fantasy sports gaming application where users collect players through a variety of mechanics and use those players to enter and compete in fantasy based events whose outcomes are determined based on real-world performances of those players. This fantasy sports gaming application is referred to herein as "HYPSPORTS". FIG. 1 illustrates a system for implementing the HYPSPORTS application according to an exemplary embodiment. As illustrated in FIG. 1 , the system can include a server 100 that communicates with various end user client devices 102 via a data network 104, such as the Internet. The end user devices 102 may be any type of computing device, mobile device, tablet device, etc., and the end user devices 102 can each have a software application running on the device. The software application running on the end user devices 102 can provide a user interface (Ul) through which the end user can interact with the server 100. The server 100 can send various data to be displayed on the Ul of the end user devices 102 and can receive user input entered via the Ul through the data network 104. The server also communicates with one or more database 1 10, which stores data relevant to the fantasy sports gaming application. For example, the database 1 10 can store user information regarding the end users, player statistics and information regarding the athletes, etc.

[0063] FIG. 2 illustrates a high-level block diagram of a computer 202 capable of performing operations to implement the software based fantasy sports gaming application. For example, the server 100 may be implemented using one or multiple of such computers, and the client devices 102 may be implemented using such computers as well. The methods described herein can be implemented on a computer using well- known computer processors, memory units, storage devices, computer software, and other components. Computer 202 contains a processor 204, which controls the overall operation of the computer 202 by executing computer program instructions which define such operation. The computer program instructions may be stored in a storage device 212 (e.g., magnetic disk) and loaded into memory 210 when execution of the computer program instructions is desired. Thus, the steps of the various methods described herein may be defined by the computer program instructions stored in the memory 210 and/or storage 212 and controlled by the processor 204 executing the computer program instructions. The computer 202 also includes one or more network interfaces 206 for communicating with other devices via a network. The computer 202 also includes other input/output devices 208 that enable user interaction with the computer 202 (e.g., display, keyboard, mouse, speakers, buttons, etc.). One skilled in the art will recognize that an implementation of an actual computer could contain other components as well, and that FIG. 2 is a high level representation of some of the components of such a computer for illustrative purposes

[0064] HYPSPORTS Application Overview

[0065] HYPSPORTS is a software application ("app") where users collect players through a variety of mechanics and use those players to enter and compete in fantasy based events. Depending upon the outcome of the events, users collect in app awards. These awards illustrate progress and are also used to collect better players and in turn play more events. HYPSPORTS is designed to work with MLB baseball, NFL Football, NBA Basketball, NHL Hockey, Golf, Soccer, NCAA Football, eSports (e.g., League of Legends, Counter-Strike: Global Offensive, etc.), and/or other sports or leagues. FIG 3 illustrates the core loop that the user engages in when playing the app, in which users collect players, play fantasy contests using those players, and earn rewards based on the outcome of the fantasy contests. The loop repeats as the rewards allow the users to collect more and better players, play more fantasy contests, earn more rewards, etc.

[0066] Sports Feed Data

[0067] FIG. 4 illustrates the use of real-time sports feed data by the HYPSPORTS application. As shown in FIG. 4, the HYPSPORTS application 400 uses real-time sports feed data provided from one or more external data providers 410. In one embodiment, HYPSPORTS 400 uses real-time feed data provided by SportRadar 412 for all major sports. The sports feed data is retrieved online via provided application program interfaces (APIs). This data is used to by the HYPSPORTS application 400 determine the following per sport:

• Game Schedules 402, which can be presented to users via a ticker;

• League and Player Roster information (all the players and team info) 404;

• Live scoring and player stats (real-time feed of live game scores and player stats) 406; and

• Player Photos 408 - used in editorial fashion on player pages. The HYPSPORTS application 400 can present this information to users on the Ul displayed on the user devices.

[0068] Main Menu

[0069] FIG. 5 illustrates a main menu page 500 for the HYPSPORTS application according to an exemplary embodiment. This is the main page where users land after loading the application. Users can navigate to all the major areas of the game from this screen. As shown in FIG. 5, the main menu page 500 includes the following components:

• PROFILE PAGE / USER stats: Across the top the user can see their profile pic, name, level, coin bank, cash bank and ticket bank. If the user selects their profile pic they will launch the USER PROFILE PAGE (See FIG. 6).

• Sport Select: When the user selects this they can navigate to different sports.

They arrive at this same main menu but it is visually customized for the selected sport.

• Navigation menu - HOME / MY EVENTS / ROSTER / TRAIN / STORE / HELP:

These are the primary navigation buttons that take the user to the corresponding sections of the game.

• Sports ticker display: This displays the game schedules for all teams in a specific sport playing that day. It displays the matchup and start time as well as the score and time remaining when the games go live.

• Collect Award button: Selection of this button allows the user to collect an award if there is a pending reward for that user.

• Play Leagues: This takes the user to the LEAGUES section of the game where the user can join leagues or manage the leagues that the user has already joined.

• Play Season: This takes the user to the SEASON section of the game where the user can join SEASON EVENTS or manage the ones that they have already joined.

• Claim Bonus: There are 2 free BONUS awards that the user can claim. Once claimed the award is set on a timer before it is able to be claimed by the user again for free. [0070] User Profile Page

[0071] FIG. 6 illustrates a user profile page 600 according to an exemplary embodiment. The corresponding profile page 600 is launched whenever a user selects their own profile picture ("pic") OR another users profile pic in the application. This user profile page 600 shows details regarding the user and their accomplishments in the game. As shown in FIG. 6, the user profile page 600 includes the following components and information:

• Profile pic and name: This is an avatar pic and name for the user. In a possible implementation, the avatar pic and/or name for the user may be automatically taken from an existing social media account, such as Facebook. Alternatively, the user could select a user name and/or avatar pic specifically for the HYPSPORTS application independent of any existing social media account.

• Career trophy count: This displays the number of trophies a user has won for all sports and all seasons over the life of playing the game.

• Sport and season select: This allows users to select which sport and which season they want to view. It defaults to the current sport set in the main menu 500 and current season. The stats below, which are displayed on the user profile page 600, are specific to the sport and season selected:

o Season user level - This illustrates the current experience (XP) count and the current user level

o Season ring level - This illustrates the current RING LEVEL the user has achieved thus far.

o Season mode progress - this displays the progress the user has made in the SEASON MODE,

o League record and stats for the season: These are the overall stats for all leagues the user has played to date in the current season.

[0072] Trophies & Rings

[0073] Trophies and Rings are virtual items that users collect. These items are indicators of a user's success and progress in the game. These items are displayed on each user's user profile page 600. These items can also be viewed when viewing users on any leaderboard. [0074] Trophies

[0075] Trophies can be represented by a single trophy icon and a number which indicates how many trophies a user has. Trophies are earned by winning events. The number of trophies won depends on the type of event that the user played. FIG. 7 illustrates a method of awarding trophies according to an exemplary embodiment. At step 702, users play one or more events. Each event may have one or more trophy awards associated with that event, and each possible trophy award requires a particular win condition based on the outcome of that event in order to be awarded. At step 704, for each possible trophy award for each event played for a given user, it is determined whether the current win condition for that trophy award was met. If the current win condition for the trophy award for an event has not been met, the method proceeds to step 706, and the user is not awarded any trophies and can play the event again. If the current win condition for the trophy award for an event has been met, the method proceeds to step 708. At step 708, when the current win condition for the trophy award for an event has been met, the user is awarded the trophies corresponding to that trophy award, and at step 710, the season and total trophy counts are updated in the user's profile. In addition to tracking total trophy counts for each user, trophies are tracked for each user on a per season per sport basis. For example, a user may win 100 trophies in his/her first NFL season. The following NFL season that user may win 200. The user's total trophy count is 300 but each season has its own count. This is implemented in the same way for all sports. Trophy counts for each sport and season can be displayed in the user's profile page. When a user clicks on another user's profile pic, the other user's profile page is launched. This allows users to view other users' trophy counts and see how they rank against other users in the game.

[0076] Rings

[0077] In an advantageous embodiment, one goal or award for users is to earn the best ring by the end of the current season for the sport they are playing. Rings may be graphically displayed on the top bar of the main menu page and can be seen in detail on the user's profile page. Users earn ring upgrades by earning trophies throughout the season. Users start with a basic level 1 ring. Ring upgrades then occur when users earn a preset number of trophies by winning events. For example, a user's ring may be upgraded to level 2 after one trophy. After 10 trophies the user's ring may be upgraded to level 3. In an exemplary implementation, the best ring is level 15 and is earned after collecting 10,000 trophies, however, other possible ring levels and trophy requirements may be implemented as well. FIG. 8 illustrates a method of awarding rings according to an exemplary embodiment. At step 802, a user is awarded trophies, as described in the method of FIG. 7. At step 804, in response to the user being awarded trophies, it is determined whether the user now has enough trophies to earn a ring upgrade from a current level to the next level. If the user does not yet have enough trophies to earn the ring upgrade, the method proceeds to step 806, and the user is not awarded an upgrade and can play more events to attempt to win more trophies. If the user now has enough trophies to earn the ring upgrade, the method proceeds to step 808. At step 808, the user is notified and awarded the ring upgrade to the next level, and at step 810, the ring graphic and level detail is updated in the user's profile page. Each ring upgrade is more large and ornate than its predecessor. In an exemplary implementation, the best ring is level 15 and is the ultimate goal for users to demonstrate their success over the course of a single season. A picture and description of a user's current ring level can be displayed in the user's profile page. When a user clicks on another user's profile pic, the other user's profile page is launched. This allows users to view other users' ring levels and see how they rank against other users in the game.

[0078] Sport Select

[0079] FIG. 9 illustrates a sport select screen 900 according to an exemplary embodiment. The sport select screen 900 is displayed in response to a user selection of the sport select button on the main menu 500. The sport select 900 screen allows the user to toggle between different sports in order to navigate to different sports in the app. Each sport is assigned to a button. As shown in FIG. 9, the sport select screen 900 includes a baseball button, football button, basketball button, and hockey button. It is to be understood that buttons for other sports may be included as well. When a user selects a button for a specific sport, that sport is toggled to be active and the app changes both functionally and visually in response to the selection to work with the selected sport. For example, the app can be configured to work with MLB Baseball, NFL Football, NBA Basketball, NHL Hockey, PGAT Golf, eSports (e.g., League of Legends, Counter-Strike: Global Offensive, etc.), as well as other various sports and/or sport leagues.

[0080] My Events

[0081] MY EVENTS is a dashboard where the user can see all the events that they have joined in one single list. The MY EVENTS screen can be displayed in response to a user selection of the MY EVENTS button on the navigation menu of the main menu page. The MY EVENTS dashboard has three states that can be toggled: PREVIOUS, CURRENT, UPCOMING. Events can be both league and season events. FIGS. 10A, 10B, and 10C illustrate the MY EVENTS screen 1000 with the toggle set to current, previous, and upcoming, respectively, according to an exemplary embodiment. As shown in FIGS. 10A, 10B, and 10C, the MY EVENTS screen 1000 includes the following components:

• State Toggles:

• Previous: this lists all the events a user played the previous day or week (depending upon the sport) (see FIG. 10B).

• Current: this lists all the events a user is scheduled to play today or this week (depending upon the sport) (see FIG. 10A).

• Upcoming: this lists all the events a user is scheduled to play tomorrow or next week (depending upon the sport) (see FIG. 10C).

• Scrolling list of events: All events appear in this scrolling list. They can be either season or league events.

• Reward tracker - this displays the stats and details for all the rewards a user can earn for the CURRENT events that they are playing.

• Event details - The following event details and/or controls can be displayed for each event:

• Lineups - players in the lineup for the event

• Win conditions - current progress toward the win condition for the event

• Prizing / prizes won if the event is concluded

• Edit Lineup button - this takes you to the edit lineup screen for the event

• Live Scoring Button - this takes you to the live scoring detail page for an event if that event is in progress. • View Results button - this takes you to the history section of the scoring to see the event details.

[0082] Roster

[0083] FIG. 1 1 illustrates a roster screen 1 100 according to an exemplary embodiment. The roster screen 1 100 can be displayed in response to a user selection of the ROSTER button on the navigation menu. The roster screen 1 100 is where a user can view every player that the user has collected for a particular sport in one scrolling list. The roster screen 1 100 can include the following information and components:

• Player pic and name: The player's picture and name.

• Rating/avg fantasy points: display of the player's star rating and average fantasy points scored in a game. The player rating system is described in greater detail below.

• Schedule/playing next: the date and time that the player's team will play next.

• Use Count: the number of uses that a player has. Player use counts are described in greater detail below.

• Player level: The current skill level of a player. Player skill levels and corresponding fantasy bonuses associated with player skill levels are described in greater detail below.

• Player detail button: Clicking the player's name will launch the player detail page for that player. The player detail page is described in greater detail below.

[0084] Player Rating System

[0085] According to an advantageous embodiment, the player rating system generates a rating value automatically based on a player's statistics that are generated when they play in real-world sporting contests. The rating value is dynamic and changes throughout the season based upon how a player's statistics evolve during the season.

[0086] Star Rating

[0087] In an advantageous embodiment, players are rated on using a preset range of stars. In an exemplary implementation, players are rated on a scale of 1 to 5 stars. Ratings may upgrade by a preset interval resulting in a finite number of total possible ratings. In an exemplary implementation in which players are rated on a scale of 1 to 5 stars, the ratings upgrade by 0.5 stars so there are a total of 9 ratings. These ratings map directly to FPPG (fantasy point per game) values. Star Ratings for players are displayed on player pages and can be referenced by users to see how a player is currently performing in their sport. FPPG values that define the minimum value needed for each star rating are stored in tables of a database. Note that this data is subject to tuning and will live in the GameData tuning sheets.

[0088] Data Sources

[0089] Since the star ratings map directly to FPPG values, in order to assign star ratings to players, the players' statistics are first retrieved and stored. The data sources used to retrieve these statistics to use for determining the star may vary depending when it is in the sport's season and the player involved. FIG. 12 illustrates data sources for statistics and daily fantasy points used to determine star ratings for players. As shown in block 1202, for each game during the season, statistics are pulled from the SportRadar Feed for all players that are recorded during the games, and stored in the HypSports player database. Alternatively, if the season is just starting, then the prior year's season stats are retrieved are used as a starting point. Accordingly, as shown in block 1204 of FIG. 12, when the season starts, prior season statistics for players are retrieved from the SportRadar feed and stored in the HypSports player database. Alternatively, if a player is a rookie and has no prior statistics when the season starts, then proxy values can be manually entered by an administrator as a starting point for determining the star rating for that player. Accordingly, as shown in block 1206 of FIG. 12, when the season starts, for rookies or other players that have no prior season statistics, an administrator (e.g., a member of HypSports staff) manually enters statistics which are stored in the HypSports player database.

[0090] Automatically Generating Ratings from Statistics

[0091] FIG. 13 illustrates a method of automatically generating a player star rating from player statistics according to an exemplary embodiment. FIG. 13 uses illustrates this method using an MLB pitcher example. As shown in FIG. 13, at 1302, statistics for the player over a predetermined range of games are retrieved. For example, the statistics for an MLB pitcher can be received from the SportRadar MLB API. At 1304, a fantasy point calculation is performed to convert the player statistics to Fantasy Points per Game (FPPG) based on formulas specific to the sport and position. The fantasy values for various statistics in the different sports may be adjusted and tuned to balance the game and make it more enjoyable for end users. At 1306, the FFPG value for the player is compared to a rating table that stores minimum FFPG values for each possible star rating for the sport and position. Fantasy points per game fall into a specific range of values which are represented by stars. At 1308, the star rating is determined for the player based on the comparison of the FFPG value and the rating table. The star rating and average fantasy points per game for each player are displayed to the end user.

[0092] How Dynamic Statistics are Used to Determine Ratings

[0093] When calculating Ratings stats and fantasy point values are used from the most recent sampling of games. The number of games is adjusted based upon the sport as well as the position of the player. Each game that a player generates stats is rolled into the recent average of their fantasy points. Their fantasy points are then assigned a star value based the look up tables described in the previous section. As stats evolve over the duration of the season so do the player ratings.

[0094] FIGS. 14A, 14B, and 14C show different examples of using dynamic statistics. These figures each use an MLB pitcher example. FIG. 14A illustrates a first game of season example. If the season is just starting then the recent average is formulated by using the prior season stats to generate fantasy points per game. This value is used to fill the queue of games that is required to create the recent average of fantasy points. As shown in FIG. 14A, in the first game example, the fantasy points for the current game fills the most recent entry in a 10 game queue for calculating the average fantasy score, and the prior season average is used to fill the remaining nine entries in the 10 game queue. As games are played then the new fantasy point values for a player begin to replace the existing values in the queue. FIG. 14B illustrates a 21 st game of season example. As shown in FIG. 14B, the fantasy scores for the last 10 games the player played fill the entries of the 10 game queue. Only games that the player played in are stored in the queue.

[0095] For players that have no existing stats then the fantasy point queue is populated with values generated by HypSports at their discretion. When games are played then then the generated values in the queue are replaced by actual values generated when the player generates stats in their games. FIG. 14C illustrates a rookie player in first game example. As shown in FIG. 14C, the fantasy score for the current game is stored in the most recent entry in the 10 game queue, and a manually assigned or default HypSports fantasy score is used to fill the remaining nine entries in the 10 game queue.

[0096] How Ratings and Stats are displayed to the End User

[0097] Average Fantasy points and star rating for players are displayed to users throughout the game to help them make decisions about which players to enter into lineups. FIG. 15 illustrates examples of displaying average fantasy points and star ratings for players on a roster listing 1502 and on a player detail page 1504.

[0098] Player Use Counts

[0099] Each player that a user acquires has a specified use count. In an advantageous implementation, each player that a user acquires has a single use count. This means that the player can be entered into only 1 event for the current day or week of games (depending upon the sport). Once the event concludes then the player becomes available to use again. As users acquire more players they may receive a player that they already have or a duplicate. Instead of showing duplicate players in the roster screens this is handled by combining the duplicates and increasing the use count by one for each duplicate. So if a user has "PLAYER A" and then is awarded another "PLAYER A" when they open a player pack, only a single PLAYER A is displayed in any roster list but the USE COUNT is displayed as 2.

[0100] When a user has players with multiple use counts then they can enter that player into multiple events for current day or week of games (depending upon the sport). When the events conclude then the use counts are returned and the player is available to be used again for the next day or week of games (depending upon the sport). For each lineup that a player is entered into the use count is reduced by one. When the use count reaches zero that means the player is no longer eligible to be entered into any more events for the current day or week of games (depending upon the sport).

[0101] Acquiring Players [0102] FIG. 16 illustrates a method for managing player acquisition and use counts according to an exemplary embodiment. Blocks 1602, 1604, and 1606 show various actions through which a user can acquire one or more players. At block 1602, a user opens a free BONUS PACK and acquires a certain number of players. At block 1604, a user opens a PREMIUM PACK which may be purchased from the store and acquires a certain number of players. At block 1606, the user purchases an individual player from the store. At step 1608, in response to a user acquiring one or more players from the free BONUS PACKS, PREMIUM STORE PACKS, or individual purchase from the store, it is determined for each player acquired, whether the user already has that player in their roster. If the user already has that same player, then the player instances are combined and the use count for that player is increased by 1 at step 1610. If the user does not already have the player, the new player is added to the user's roster with a single use count at step 1612.

[0103] Use counts function when editing lineups

[0104] When viewing players in the roster list on any EDIT LINEUP screen each player in the list will display their number of available use counts. Players that currently have 0 USE COUNTS will not be displayed in the EDIT LINEUP roster list. If that player is added to the lineup then their use count is decremented by one. If a player has a current use count of zero then they cannot be added to any lineups. FIG. 17 illustrates a method of managing editing lineups using use counts according to an exemplary embodiment. At step 1702, a user selects an event to play. At step 1704, in response to receiving a user input selecting the event to play, the EDIT LINEUP roster list is populated with a valid list of all players with 1 or more use counts on the user's roster. At step 1706, the user selects Player A and adds Player A to the lineup. At step 1708, Player A's use count is reduced by one. At step 1710, it is determined if Player A has a remaining use count of one or more. If Player A does have a remaining use count of one or more, then the method proceeds to step 1712 and Player A remains available to be added to additional lineups in other events. If Player A does not have a remaining use count of one or more (i.e., Player A's use count = 0), then the method proceeds to step 1714. At step 1714, Player A is made unavailable to be added to additional lineups in other events and is no longer displayed in any EDIT LINEUP roster lists until the use count is returned to 1 or more.

[0105] Returning Use Count when events end or are cancelled

[0106] When a player is added to a lineup their use count is reduced by 1 . Use counts are returned to the player at the conclusion of the event that they were used for. If a player was placed in a lineup for an event and the event was cancelled by the user prior to its start time then the use count for any player in that lineup is immediately returned. FIG. 18 illustrates a method of returning player use counts according to an exemplary embodiment. At step 1802, a user selects an event to play. At step 1804, in response to receiving a user input selecting the event to play, the EDIT LINEUP roster list is populated with a valid list of all players with 1 or more use counts on the user's roster. At step 1806, the user selects Player A and adds Player A to the lineup. At step 1808, Player A's use count is reduced by one. At step 1810, it is determined whether the games for the event have started. If the games for the event have not yet started, and a user input canceling the event is received at step 1812, then one used count is returned to Player A immediately at step 1814. If it is determined that the games for the event have started, the method proceeds to step 1816, and it is determined whether the games for the event have concluded. Once the games for the event have concluded, the method proceeds to step 1818 and one use count is returned to Player A.

[0107] Skill Level Fantasy Bonus

[0108] In an advantageous embodiment, users can earn skill points by training or winning events. These skill points can be used to increase the fantasy scores for players in their roster.

[0109] Earning Skill Points

[0110] FIG. 19 illustrates exemplary methods for awarding skill points to users. As shown in method 1900 of FIG. 19, users can select training events to earn skill points. In response to a user selecting a training event (step 1902), skill points are awarded the user (step 1904) as soon as the event is selected. A timer is also started which will not allow users to select another training event until the countdown concludes.

[0111] As shown in method 1910 of FIG. 19, skill points are also awarded when users win events. At step 1912, users play events. When an event is completed the points are awarded along with coins, trophies, etc. Skill point awards for each event are associated with particular win condition that must be satisfied for a user to be awarded the skill points. At step 1914 it is determined for each user in each event whether the current win condition for the skill point's award was satisfied. If the win condition was satisfied, the method proceeds to step 1916 and the skill points are awarded to the user. If the win condition was not satisfied, the method proceeds to step 1918 and the user are not awarded any skill points and can play the event again. Users accumulate skill points and can use them at their discretion.

[0112] Applying Skill Points & Player levels

[0113] Players that are acquired by a user begin at level 1 , and skill points can be applied to players to increase their levels. It should be noted that the level of a player, which can be increased by applying skill points to that player, is not the same as the rating (star rating) of the player, which is automatically determined based on the average of recent fantasy scores for that player. FIG. 20 illustrates a method for adjusting player levels based on skill points applied to the player according to an exemplary embodiment. At step 2002, a user selects a player from the user's roster and applies skill points to that player. At step 2004, in response to a user's selection to apply skill points to a player, it is determined whether enough skill points were applied to increase the player's lever. For example, a preset value of skill points can be associated with each one of a plurality of levels, and it is determined if the number of skill points associated with the next level has been applied to the player. If the skill points applied are not enough to increase the player's level, the method proceeds to step 2006, at which the skill points are added to the player's bank, but the player's level is not achieve. When enough points are applied to the player to increase the player's level, the method proceeds to step 2008, at which the player levels up accordingly. In an exemplary implementation, there are a total of 10 levels that can be achieved when enough skill points are applied, but the number of levels may vary. At step 2010, the player's potential fantasy score bonus is increase in response to the player leveling up.

[0114] Live Scoring and Fantasy Bonus Points

[0115] When games go live players can earn fantasy points based on their real- world statistical performance. If a player has a level greater than 1 then they would earn bonus points on top of their regular fantasy score based on that player's level. As a player's level increases then that player get bonuses on any fantasy points they earn. Accordingly to an advantageous embodiment, the bonus is calculated by calculating a certain percentage of that player's fantasy points and adding that percentage to the fantasy points earned by that player. A respective specified percentage bonus is associated with each level greater than 1 , with the percentage bonus increasing as the level increases. For example, in a possible implementation, at level 10 a player can earn a maximum of a 20% bonus to their fantasy score. In this case, if a player earns 20 fantasy points and they have been leveled up to level 10 then their total score would be 24. The extra 4 points are the 20% bonus. If a leveled up player scores zero points then their score is still zero since the bonus is a multiplier.

[0116] FIG. 21 illustrates a method for assessing level-based fantasy bonus points in live fantasy scoring according to an exemplary embodiment. At step 2102, users play one or more events. At step 2104, a player in a user's lineup earns fantasy points corresponding to the player's statistics in a sporting event. At step 2106, it is determined whether that player has a level greater than 1 . If the player does not have a level greater than 1 , the method proceeds to step 2108 and the fantasy points are earned with no bonus applied. If the player does have a level greater than 1 , the method proceeds to step 21 10, at which the fantasy points are earned and the appropriate fantasy bonus percentage for the player's level is calculated and added to the earned fantasy points.

[0117] Skills Trainer

[0118] FIG. 22 illustrates a skills trainer screen 2200 according to an exemplary embodiment. The skill trainer screen 2200 can be displayed in response to a user selection of the TRAIN button on the navigation bar. The skill trainer screen 2200 is where users can select training events to earn skill points which can then be applied to players to increase their level and fantasy scoring bonus. The skill trainer screen 2200 includes the following display and components:

• Drill selection buttons: There are 3 drill choices. Each choice offers a different award of skill points but also a longer duration to the rest timer before another drill can be selected again for additional skill point rewards. Users select the drill they want by selecting the corresponding one of the drill selection buttons and immediately collect the skill point award associated with the selected drill.

• Resting timer: The resting timer is launched whenever a drill is selected by a user. When the timer is active a countdown clock is displayed and no additional drills can be selected until the timer completes it countdown.

• Finish resting purchase button: This allows a user to purchase a cancellation to the Resting Timer. Following that the user is able to immediately select an additional drill and collect more skill points.

[0119] Store

[0120] The application provides a store is where users can purchase items and currency to accelerate their collections or progress in the game. The store can be displayed in response to a user selection of the STORE button in the navigation bar. Items in the store are available for coins, "cash", or actual real currency such as US DOLLARS. In an advantageous implementation, all real currency transactions can be handled by first party platforms such as Facebook, Android, or IOS (Apple). FIGS. 23A and 23B illustrate exemplary store pages. As shown in FIGS. 23A and 23B, the store 2300 includes the following displays and components:

• Players / Currency Toggle: This toggle divides the store into 2 sections. The Player section, shown in FIG. 23A, sells packs of players and individual players. The currency section, shown in FIG. 23B, sells two in game currencies - "Coins" and "Cash".

• Pro and Elite Packs: There are 2 packs in the player section of the store. These packs contain players that users collect to enter contests. The players are not known at the time of purchase, but the packs guarantee certain player ratings with different guarantees for the pro and elite packs. These packs are available for cash or coins.

• Players: There are specified number (e.g., 5 in FIG. 23A) of random players to choose from in the store. In an advantageous embodiment, these players are randomly selected and appear for only a short time before a different randomized player is cycled in. There is a timer which counts down to when the player switch will happen. The players have different rating tiers and corresponding price points to match.

• Cash: This game currency can be purchased for real money. Many items can be purchased in the game with cash and it helps users collect more players and accelerate progress in the game.

• Coins: This game currency can be purchased for real money. Many items can be purchased in the game with coins and it helps users collect more players and accelerate progress in the game.

[0121] Help Menu

[0122] FIG. 24 illustrates a help menu 2400 according to an exemplary embodiment. The help menu 2400 can be displayed in response to a user selection of the HELP button in the navigation bar. The help menu 2400 provides an index of topics and scrolling text providing written help for the game. The help menus can also include a TOS/PP link.

[0123] Claim Bonus Award

[0124] FIG. 25 illustrates a claim bonus award 2500 according to an exemplary embodiment. The claim bonus award 2500 is given when the user collect this bonus from the main menu 500 (FIG. 5) when available by selecting one of the claim bonus buttons. Each bonus gives users coins, cash and a player. The claim bonus award 2500 is generated from the FREE PACK system. The FREE PACK system uses the two CLAIM BONUS AWARD buttons on the MAIN MENU 500 (FIG. 5). The next section describes the operation of FREE Pack system in greater detail.

[0125] Free Pack System

[0126] The "Free Pack" system allows the user to "grind" his way forward, by collecting a steady drip of virtual coins, virtual cash, and randomized athletes. A "free pack" refers to packs of rewards, such as virtual coins, virtual cash, and randomized athletes, than can be collected without payment of real currency and that are not connected to rewards for winning fantasy sports events.

[0127] Each free pack is on a separate timer, such that a certain amount of time must pass before a user can claim the free packs. In general, the free packs with the longer timers are better. When the timer reaches zero for a free pack, the free pack may be claimed. The user can use virtual cash to speed up the timer so he can claim the free pack immediately without waiting for the timer to reach zero. When a free pack is claimed, items are deposited immediately into user's account and the timers are reset.

[0128] The actual rewards for free packs are determined by a set of data. FIG. 26 illustrates a data driven reward system according to an advantageous embodiment. The data driven reward system is shown in FIG. 26 using a table 2600 in which the first column lists various reward ids that identify rewards that can be earned by users, and the remaining columns show what rewards are given for each reward id. Note that in table 2600 "virtual" refers to the virtual coins and "premium" refers to the virtual cash. The bottom 3 rows of table 2600 show the rewards that are given for the free packs. Row 2601 defines the rewards for a first free pack ("freepack.1 ") and row 2602 defines the rewards for a second free pack ("freepack.2"). Accordingly, when a user claims freepack.1 , the user collects 25 coins ("virtual"), 1 cash ("premium"), and an athlete pack which is a pack of randomized athletes (players). When a user claims freepack.2, the user collects 50 coins, 2 cash, and an athlete pack. The "athlete_packs" are generated by another system (AthletePack) which determines which athletes to pick. Special logic is used in baseball if the user does not have any starting pitchers in his inventory who are starting today. When the user claims freepack.1 , instead the logic selects freepack.1 .sp (row 2603) which tries to return a starting pitcher who is scheduled to start today. The coin and cash rewards are the same in freepack.1 .sp as in freepack.1 , but the athlete pack in freepack.1 .sp is athletepack.freePack.1 .sp, which attempts to return a starting pitcher who is scheduled to start in the current contest window.

[0129] FIG. 27 illustrates a method for determining free pack rewards according to an exemplary embodiment. The method of FIG. 27 uses the data-driven system of FIG. 26. The method of FIG. 27 begins either with a user selection of Free Pack 1 in the Ul (block 2700) or a user selection of Free Pack 2 in the Ul (block 2710). In response to a user selection of Free Pack 1 , when the sport is baseball the method proceeds to step 2702 and it is determined whether the user has a starting pitcher in his inventory (roster) who is starting today. If the user has a starting pitcher in his inventory that is starting today, the method proceeds to step 2704 and freepack.1 (row 2601 in FIG. 26) is used to determine the rewards awarded to the user in Free Pack 1 . If the user does not have a starting pitcher in his inventory that is starting today, the method proceeds to step 2706 and freepack.1 .sp (row 2603 in FIG. 26) is used to determine the rewards awarded to the user in Free Pack 1 . If the user selected Free Pack 1 in any sport other than baseball, the method would proceed directly to step 2704 and use freepack.1 to determine the rewards awarded to the user. In response to a user selection of Free Pack 2, the method proceeds to step 2712 and uses freepack.2 (row 2602 of FIG. 26) to determine the rewards awarded to the user in Free Pack 2.

[0130] FIG. 28 illustrates the AthletePack system used to determine which athletes (players) are awarded to users in athlete packs. The AthletePack system is illustrated in a table 2800, in which the first column identifies various athlete packs and the remaining columns define parameters that control the randomized selection of the athletes selected for the athlete packs. The AthletePack system defines how many athletes to include in any given pack (1 -n) by including multiple sub_id values (second column of table 2800) under the same id. The third column ("pos") of table 2800 defines a specific position to return. Multiple positions can be defined (with weighted values) to randomly select within a group of positions. The position empty parameter can also be left empty, and the athlete(s) for the athlete pack will be chosen from all available athletes. In addition to the position parameters, weights can also be defined for player type (temporary (t) or permanent (p)) and player caliber (1 to 5 stars) (columns 5-22 of table 2800). These weights can be used to control the quality of athletes who are rewarded. In the attributes field (column 4 of table 2800) a special parameter for guar_curContest can be set. This parameter can be set to "soft" or "hard". If "soft", it will look for an athlete who is scheduled to play in the current contest window (e.g., today for MLB, this week for NFL). If it doesn't find anyone, it will look for an athlete who is playing in the NEXT contest window (tomorrow, next week, etc.). If it still doesn't find anyone, then it will ignore this parameter. If "hard", it will only look for an athlete who is scheduled to play in the current contest window (e.g., today for MLB, this week for NFL). If it doesn't find anyone, it will return NULL. NOTE: For Starting Pitchers in baseball, only the pitchers who are probable starters are included when it checks for athletes who are playing today, tomorrow, etc. In FIG. 28, athletepack.freePack.1 , which is used to determine the randomized athlete_pack for freepack.1 , is shown in row 2801 , athletepack.freePack.2, which is used to determine the randomized athlete_pack for freepack.2, is shown in row 2802, and athletepack.freePack.1 .sp, which is used to determine the randomized athlete_pack for freepack.1 .sp, is shown in row 2803.

[0131] FIG. 29 illustrates a method for determining which athletes (players) to include in an athlete pack according to an advantageous embodiment. At step 2902, a request for an athlete pack is received. For example, athletepack.freePack.1 may be selected in response to a user selection of Free Pack 1 . At step 2904, it is determined whether there are more sub_ids to process for the selected athlete pack. The method performs a loop in which a single athlete is selected for each sub_id and repeats this loop until all sub_ids are processed. If there is at least one sub_id left to process, the method proceeds to step 2906. If there are no more sub-ids to process, the method proceeds to step 2934.

[0132] At step 2906, an initial filter is applied to remove athletes who are not on an active roster and who are injured, so that only athletes who are on the active roster and not injured remain. Block 2908 represents the set of athletes filtered by active and non- injured.

[0133] At step 2910, the attributes are checked for the selected athlete pack to determine if the athlete pack has the guar_curContest parameter is set to "soft", set to "hard", or there is no guar_curContest parameter. If the guar_curContest is set to "soft", the method proceeds to step 2912. In this case, at step 2912, athletes who still have a game in the current contest window, unless none are available, in which case athletes who have a game in the next contest window are returned, unless none are available, in which case all athletes are returned. If the guar_curContest is set to hard, the method proceeds to step 2914. In this case, at step 2914, athletes who still have a game in the current contest window are returned, unless none are available, in which case no athletes are returned. If there is no guar_curContest parameter, the method proceeds to step 2916 and all athletes are returned. Block 2918 represents the set of athletes filtered by the attributes resulting from step 2912, 2914, or 2916. [0134] At step 2920, the position parameter is checked for the selected athlete pack. If a single position is specified, the method proceeds to step 2922 and only athletes who are assigned to the specified position are returned. If multiple positions are returned, the method proceeds to step 2924. In this case, at step 2924, a "desired position" is determined by adding the total weights for the positions and picking a random number between 0 and the total weights, and only athletes assigned to this "desired" position are returned. If no position is specified, the method proceeds to step 2926 and returns all athletes. Block 2928 represents the set of athletes filtered by position resulting from step 2922, 2924, or 2926.

[0135] At step 2930, a player type and caliber is selected based on the specified weights for player types and calibers for the selected athlete pack. The total weights are added and a random number between 0 and the total weights is selected. This determines the desired player type and caliber. Athletes who are of this caliber (rating) are returned and set to this type (e.g., temporary or random). If no athletes are returned at this caliber, then this caliber is excluded and the process is re-run. At step 2932, an athlete is randomly selected from the remaining qualified athletes. The method then returns the step 2904 and it is determined if there are anymore sub_ids to process. If so, steps 2906-2932 are repeated to select a select a next athlete for the next sub_id. Once it is determined that there are no more sub_ids to process, the method proceeds to step 2934. At step 2934, the selected athlete(s) is/are returned and included in the athlete pack awarded to the user.

[0136] Event Award

[0137] FIG. 30 illustrates an example of Event Award 3000 according to exemplary embodiment. When users complete events they receive rewards from the game. This is delivered via a prompt that appears across the ticker. When the user selects the prompt then the popup will display the Event Award 3000. Depending upon the event rewards may include the following: XP, Coins, Cash, Trophies, and/or Skill points.

[0138] League Mode

[0139] In an advantageous implementation, league mode is one of the possible modes that the user can play. League mode may also be referred to as "Head-to-Head" mode. A league is a mini-Fantasy Season that lasts anywhere from 4 to 14 rounds. A "round" is the equivalent of a day in sports like baseball and basketball, and the equivalent of a week in sports like football. In this format, each user plays every other user in a head-to-head match. Each user plays a new opponent each round. League Standings are updated after each round, and can be ordered by 1 ) who has won the most matches, and 2) who has scored the most points. The matchups in the final round (aka Championship Round) are dynamic and based on the league standings (1 vs 2, 3 vs 4, etc.) and the results of this round will determine the final ranking of each user. According to an advantageous embodiment, leagues may have entry requirements, based on the user's roster grade. This is to prevent expert users from competing in beginner leagues and also to prevent beginners from accidentally joining an expert league where they don't have good enough athletes to compete. Quickplay leagues can be played as public leagues (play with random opponents) or they can be set up as private leagues (create a league and invite your friends). Each league has a star cap, which is essentially a salary cap. So if the limit is 20 stars, the user can't put more than 20 total stars in his lineup.

[0140] When users first select LEAGUE on the main menu they are prompted to join. There is a toggle across the top of the league screen with the following options: JOIN, MY LEAGUES, and HISTORY. FIG. 31 illustrates an exemplary JOIN screen 3100 of the Leagues menu. As shown in FIG. 31 , when the JOIN Toggle is enabled the screen 3100 includes the following display and function:

• A scrolling list of different leagues is displayed. The leagues in the scrolling list may be sorted by beginner, intermediate, advanced and all-star.

• Each league in the scrolling list displays

o the number of players required

o Star Rating Cap (SEE EVENT RESTRICTIONS)

o Payout scheme - awards for winning

o A join button with a corresponding cost. Leagues require a coin entry fee.

[0141] FIG. 32 illustrates an exemplary MY LEAGUES screen 3200 of the Leagues menu. As shown in FIG. 32, when the MY LEAGUES Toggle is enabled the screen 3200 includes the following display and function: • A scrolling list of leagues that the user has joined is displayed.

• Each league in the scrolling list displays

o the number of current players entered

o User lineup info

o A start time

o An edit lineup button that takes the user to a screen where they can edit their lineup - IF THE LEAGUE HASN'T STARTED YET. OR an LIVE/PLAY NOW button if the games have already started. If the user selects that button they will be taken to the same edit lineup screen if they are allowed to still edit players or a live scoring screen.

[0142] FIG. 33 illustrates an exemplary HISTORY screen 3300 of the Leagues menu. As shown in FIG. 33, when the HISTORY Toggle is enabled the screen 3300 includes the following display and function:

• A scrolling list of different leagues in which the user has completed is displayed.

• Each league in the scrolling list displays

o Completion date

o The W/L record of matches the user played

o Where the user placed

o A VIEW RESULTS button. If the user selects the view results button they are taken to the schedule screen where they can select any day in the league schedule and see how they did against their opponent.

[0143] FIG. 34 illustrates an exemplary LEAGUES - SCHEDULE screen 3400. The LEAGUES - SCHEDULE screen 3400 is where the user is taken when the user first joins a league or chooses to view results for a completed league. As shown in FIG. 34, the LEAGUES -SCHEDULE screen 3400 includes the following display and functionality:

• A selectable calendar of the days the league is played across the top. These are the rounds of individual matches that are played. Selecting a day/round will display the user matchups in the league for that day/round. Each day/round the users will play a different opponent in the league with a championship match at the end. • User Pictures and names for Individual matchups that show who is playing who for that day.

• A LEAGUE STANDING display that shows the current or past win/loss record for all league members.

[0144] FIG. 35 illustrates an exemplary LEAGUES - EDIT LINEUP screen 3500. The LEAGUES - EDIT LINEUP screen 3500 is where the user is taken when the user chooses to set or edit their lineup for the matchup that day/round. As shown in FIG. 35, the LEAGUES -EDIT LINEUP screen 3500 includes the following display and functionality:

• Lineup slots where the user can add players.

• A scrolling list of all players on the user's roster that are eligible to be entered into the lineup.

• A plus button next to each player that when clicked on will add that player to the lineup.

• Selecting the player's name will launch the player profile page. The player profile page is described in greater detail below.

[0145] FIG. 36 illustrates an exemplary LEAGUES - SCOREBOARD screen 3600. The LEAGUES - SCOREBOARD screen 3600 is where the user is taken when the user chooses to check the live scoring details for their matchup that day. The LEAGUES -SCOREBOARD screen 3600 includes the following display and functionality:

• A view of your current lineup and a view of your opponent's lineup.

• Your current score and your opponent's current score with time remaining.

• A player spotlight view. If a user selects any player in either lineup that player's stats and fantasy score breakdown will be displayed.

[0146] Season Mode

[0147] According to an advantageous embodiment, Season mode includes individual player (solo) events that make up a single player campaign referred to herein as "SEASON". Season mode may also be referred to as "Solo Challenge Mode." In an exemplary implementation, there are approximately 250 events in total that the user needs to win in order to complete the single player campaign. Events feature various challenges, win conditions, and lineup requirements. Some events require a complete team lineup others may require as few as one player to fill the lineup. Some events are based on fantasy scores to win while other events may only be focused on a single statistic in order to win. All the different events are designed to add variety and interest to the challenges that users will play in the game.

[0148] Lineup Requirements

[0149] Depending upon the event, lineups will have different requirements. Requirements may be based number of players, position types, or a combination of both.

• MLB Position example: Select 1 pitcher and 1 catcher (to score 20 fantasy points).

• MLB Number of players example: Select no more than 3 batters (to score an RBI).

• MLB Combination example: Select up to 3 outfielders (to score 10 fantasy points).

[0150] Event types

[0151] There are different types of season events or different ways the challenges are set up. These event types may be independent or combined. For example, some event types are based upon achieving a fixed fantasy score in order to win. Some event types are based upon outscoring a randomized opposing lineup of players. Some event types may be based upon achieving a statistical milestone for a player in their sport.

• MLB fantasy score example: Score at least 10 fantasy points (with 2 pitchers).

• MLB vs opposing lineup example: Outscore the opposing lineup in fantasy points.

• MLB statistical milestone example: Score 1 homerun (using up to 10 batters). Events may also have a restriction imposed on them. Entry and level restrictions are discussed in greater detail below.

[0152] Win conditions

[0153] Season events may have multi-tiered win conditions. For example, in a possible implementation, season events have 3 tiered win conditions that make up the entire challenge. Each tier is represented by one, two, or three stars with a progressively difficult win condition for each star. For example, tier one may require a user to score 5 fantasy points, tier two may require 10 fantasy points, and tier three may require 15 fantasy points to win. Rewards for completing the challenge correspond to the tier that the user won. Tier one being the smallest award and tier three being the largest. An event is considered to be won when any tier is won but the user has the option to replay an event to try and defeat a more difficult tier. Each tier users the same lineup and event type.

[0154] FIG. 37 illustrates a method evaluating multi-tiered win conditions for a season event according to an exemplary embodiment. At step 3702, a user selects a season event to play. At step 3704, the games for the selected season event are played and completed. At step 3706, it is determined if the win condition for tier 1 was met with the lineup set by the user. If the win condition for tier 1 was not met, the method proceeds to step 3708 and the user can replay the event. If the win condition for tier 1 was met, the method proceeds to step 3710. At step 3710, it is determined if the win condition for tier 2 was met with the lineup set by the user. If the win condition for tier 2 was not met, the method proceeds to step 3712 and the user defeats tier 1 and is awarded the tier 1 awards. If the win condition for tier 2 was met, the method proceeds to step 3714. At step 3714, it is determined if the win condition for tier 3 was met with the lineup set by the user. If the win condition for tier 3 was not met, the method proceeds to step 3716 and the user defeats tier 2 and is awarded the tier 2 awards. If the win condition for tier 3 was met, the method proceeds to step 3718 and the user defeats tier 3 and is awarded the tier 3 awards.

[0155] Season - Level

[0156] When users first enter Season mode they see a layout of all the levels that make up the mode. FIG. 38 illustrates an exemplary SEASON - LEVEL screen 3800. As shown in FIG. 38, this screen 3800 includes a display of 10 level buttons. Users can select these buttons to be taken into the corresponding level. The SEASON - LEVEL screen 3800 also includes a progress bar across the top that shows the user's overall progress for completing all season events in all of the levels.

[0157] Season - Events [0158] When users enter any of the levels they are presented with the different sets of events within the level. FIG. 39 illustrates an exemplary SEASON - EVENTS screen 3900. As shown in FIG. 39, this screen 3900 has the following display and function: A display of the different sets within the level. Below the selected sets are the individual events. Users can select a given event to join it. Each event has a title and description. Each event has a timer below it that counts down to the start of that event.

[0159] Season - Edit Lineup

[0160] When users select an event to play they are taken to the lineup screen for that event. FIG. 40 illustrates an exemplary SEASON - EDIT LINEUP screen 4000. As shown in FIG. 40, this screen 4000 has the following displays and functions:

• Lineup slots where the user can add players.

• A scrolling list of all players are the user's roster that are ELIGIBLE to be entered into the lineup.

• A plus button next to each player that when clicked on will add them to the lineup

• Selecting the player's name will launch the player profile page. The player profile page is described in greater detail below.

• A Event Details section that displays stats for the lineup

• An enter/cancel button. If the event has not been entered yet, selecting the enter button will enter the USER'S lineup into the event. If the lineup has already been entered and the event has not started yet the user is given the option to cancel.

[0161] Season - Scoreboard

[0162] FIG. 41 illustrates an exemplary SEASON - SCOREBOARD screen 4100. This is where the user is taken when they choose to check the live scoring details for the event when it goes live. As shown in FIG. 41 , the SEASON -SCOREBOARD 4100 screen has the following display and functionality:

• A view of your current lineup and a view of an opposing lineup if applicable.

• Your current score and progress against the win conditions.

• A player spotlight view. If a user selects any player in either lineup that player's stats and fantasy score breakdown will be displayed.

[0163] Event Entry Restrictions [0164] Many events in the HypSports App have certain restrictions when creating lineups for events. These restrictions are designed to increase the challenge of playing the events. When a user selects an event to play they are taken to the ENTER LINEUP screen in order to add players and create a lineup for the event. If there are any restrictions to what type of players that can be added to the event they will be displayed and enforced on the EDIT LINEUP screen. Users will be unable to ADD players to their lineups if they exceed any limits that are imposed by the Event Entry restrictions.

[0165] Restriction Types

[0166] Star Ratings for individual players: Certain events require that an individual player must be above or below a certain star rating threshold in order to be used in the lineup for that event. FIG. 42 illustrates an example of star rating restrictions for individual players and a method for enforcing star rating restrictions for individual players. The image at the bottom of FIG. 42 is a screenshot that shows an example of displaying and enforcement of a star rating restriction for individual players. FIG. 42 also shows a method for enforcing star rating restrictions for individual players. At step 4202 it is determined if the event has any player restrictions. At step 4204, if the event does not have any player restrictions, the list of players is displayed with the "Add" button active for all players. At step 4206, if the event does have player restrictions, a list of all players is displayed in the edit lineup roster, and at step 4208 it is determined for each player, whether the player has a valid star rating per the restriction. At step 4210, if a player has a valid star rating, the player is displayed with an active "Add" button so the player can be added to the lineup. At step 4212, if a player does not have a valid star rating, the player is displayed with an inactive "Add" button so the player cannot be added to the lineup.

[0167] Star Ratings for the lineup: Certain events require that the star ratings for the entire lineup must be above or below a certain star threshold in order to be created for that event. FIG. 43 illustrates an example of star rating restrictions for the entire lineup and a method for enforcing such star rating restrictions. The image at the bottom of FIG. 43 is a screenshot that shows an example of displaying and enforcement of a star rating restriction for the entire lineup. FIG. 43 also shows a method for enforcing star rating restrictions for the entire lineup. At step 4302 it is determined if the event has any lineup restrictions. At step 4304, if the event does not have any lineup restrictions, the list of players is displayed with the "Add" button active for all players. At step 4306, if the event does have lineup restrictions, a list of all players is displayed in the edit lineup roster, and at step 4308 it is determined whether any player has in the roster list will cause the lineup to exceed the star rating limit if that player is added to the lineup. At step 4310, if a player would not cause the lineup to exceed the star rating limit, the player is displayed with an active "Add" button so the player can be added to the lineup. At step 4312, if a player would cause the lineup to exceed the star rating limit, the player is displayed with an inactive "Add" button so the player cannot be added to the lineup.

[0168] Player level restrictions: Certain events require that an individual player must be above or below a certain player level threshold in order to be used in the lineup for that event. FIG. 44 illustrates an example of player level restrictions for individual players and a method such restrictions. The image at the bottom of FIG. 44 is a screenshot that shows an example of displaying and enforcement of a player level restriction for individual players. FIG. 44 also shows a method for enforcing player level restrictions for individual players. At step 4401 , a user selects an event to play. At step 4402 it is determined if the event has any player level restrictions. At step 4404, if the event does not have any player level restrictions, the list of players is displayed with the "Add" button active for all players. At step 4406, if the event does have player level restrictions, a list of all players is displayed in the edit lineup roster, and at step 4408 it is determined for each player, whether the player has a valid player level per the event restriction. At step 4410, if a player has a valid player level, the player is displayed with an active "Add" button so the player can be added to the lineup. At step 442, if a player does not have a valid player level, the player is displayed with an inactive "Add" button so the player cannot be added to the lineup.

[0169] Restriction Enforcement on The Edit Lineup screen

Any player choices that would fall outside the limits of the restriction are displayed in a disabled state in the edit lineup roster listing and the button to add them to the lineup is disabled. Any valid player choice in the roster screen is normally displayed and can be added to the lineup. When adding players to a lineup the user may approach the limit of the star rating restriction for the entire lineup. When that happens then all players that would exceed the limit of the rating restriction would become disabled and not be able to be added to the current lineup. Any attempt to add a player that would exceed the limit of the restriction would launch a message letting the user know that the player cannot be used.

[0170] Player Page

The Player page is launched from any roster list or lineup slot with a player in it by selecting the player name. The player page has a common section with general info about the player and 4 tabs that toggle different screens about the player.

Common info includes:

• Player name & photo, position and team

• Star rating/fantasy point average

• Player level and skill progress bar

• 4 tabs that toggle:

• Player Stats

• Skill points

• Gamechangers

• Sell Player

[0171] Player Page - Stats

[0172] FIG. 45 illustrates an exemplary Player Page - Stats screen 4500. The player stats screen 4500 shows detailed stats that are logged for the past 10 games that the player actually played. This screen has the following display and function:

• Detailed stats for the past 10 games

• Stat averages for the past 10 games

• Season stats - if applicable

[0173] Player Page - Skill Points

[0174] FIG. 46 illustrates an exemplary Player Page - Skill Points screen 4600. The skill points screen 4600 shows the bank of skill points a user has with buttons that can apply them to the player. This screen 4600 has the following display and function:

• A complete inventory of all skill point bundles and their counts that the user has.

• Buttons that when pressed apply the skill points to the player - this costs coins. [0175] Player Page - Gamechangers

[0176] FIG. 47 illustrates an exemplary Player Page - Gamechangers screen 4700. The gamechanger screen 4700 shows the bank of gamechangers a user has with buttons that can apply them to the player. This screen 4700 has the following display and function:

• A complete inventory of all gamechangers and their counts that the user has.

• Buttons that when pressed apply the gamechangers to the player - this costs coins.

[0177] Gamechangers

[0178] In one embodiment, Gamechangers are abilities that are assigned to specific players that can be unlocked and upgraded to provide additional bonuses to a player's fantasy score if that player accomplishes certain real world game achievements.

[0179] Activating/Applying Gamechangers

[0180] Gamechangers are predefined abilities attached to certain players and are specific to that player's position. When unlocked, a gamechanger associated with a particular player provides a bonus to that player's fantasy score when that player accomplishes a certain real world game accomplishment specific to that player's position. For example, a pitcher may have gamechanger abilities tied to strikeouts (e.g., +1 % bonus for 5+ strikeouts), no hitters (e.g., +5% bonus for pitching a no hitter), innings pitched (+1 % bonus for 7+ innings pitched), etc. Gamechangers are tied to specific players and unlocked/activated by reaching defined player skill levels associated with the gamechangers. Gamechangers can be upgraded by applying Gamechanger collectible items, which can be earned by winning events, training, or trading in other players/collectible items in the Collections System or awarded in free or paid packs.

[0181] FIG. 48 illustrates a method for activating gamechangers and applying gamechangers to fantasy scoring according to an exemplary embodiment. At step 4802, a user activates an available gamechanger associated with a specific player, by reaching a specific player skill level associated with that gamechanger. Gamechanger abilities need to be unlocked. Each gamechanger ability unlocks at a specified player skill level and starts at a minimum bonus percentage. As described above, skill levels for players can be increased by assigning skill points earned by training or winning events to players. When a skill level of a player reaches the required skill level associated with a gamechanger tied to that player, the gamechanger is automatically activated. The gamechanger is displayed as active on the player page. At step 4804, the user enters an event and sets a lineup using the player with the active gamechanger. At step 4806, the event starts and live scoring begins. At step 4808, it is determined if the player accomplished the gamechanger criteria corresponding to the active gamechanger. At step 4810, if the player did not accomplish the gamechanger criteria corresponding to the active gamechanger, the gamechanger bonus value is itemized as 0 under the player spotlight in the live scoring screen and no gamechanger bonus is awarded for that gamechanger. At step 4812, if the player did accomplish the gamechanger criteria corresponding to the active gamechanger, the gamechanger bonus is awarded to the player's fantasy score and the itemized gamechanger bonus is displayed in the player spotlight in the live scoring screen. When a gamechanger is unlocked for a player, it will provide bonus percentage points to the player's overall fantasy score if the real world criteria for that gamechanger is met. For example, if the gamechanger ability for a player is "+1 % bonus for 7+ innings pitched," the player will receive a 1 % bonus to their overall fantasy score if that specific player pitches 7 or more innings.

[0182] Earning Gamechanger Collectibles

[0183] Gamechangers associated with certain players can be upgraded by applying gamechanger collectible items. Gamechanger collectable items can be earned when a user wins certain events, by training or trading in other players/collectible items in the Collections System, or awarded in free or paid packs. There are different gamechanger collectible item types - each type is correlated to a specific gamechanger or a specific position for a given sport. The Gamechanger collectible item inventory can be viewed under the player page > gamechangers. FIG. 49 illustrates a method for awarding gamechanger collectible items according to an exemplary embodiment. At step 4902, a user plays an event. At step 4904, it is determined whether a current win condition required for a gamechanger collectible award was met. At step 4906, if the current win condition was not met, the user is not awarded any gamechanger collectible item and can play the event again. At step 4908, if the current win condition was met, the player is awarded one or more gamechanger collectible items, which are stored and can be viewed under Gamechangers tab on the player management screen, and at step 4810, a gamechanger count is incremented Gamechangers tab on the player management screen and the option appears to apply the gamechanger collectible items to the gamechangers associated with the player.

[0184] Upgrading Gamechangers

[0185] Gamechanger abilities, when unlocked, start as a minimum bonus percentage (Gamechanger level 1 ) and can then be upgraded to higher Gamechanger levels which provide higher bonuses. To upgrade a gamechanger, a user collects and applies a defined number of gamechanger collectible items. Once the gamechanger collectible items are applied, the user may also be required to pay a game currency price to upgrade the gamechanger level. FIG. 50 illustrates a method for upgrading a gamechanger associated with a player according to an exemplary embodiment. At step 5002, a user earns one or more gamechanger collectible items. For example, the user may earn one or more gamechanger collectible items by winning certain events, as described in the method of FIG. 49. The user may also earn gamechanger collectible items by training or trading in players/collectible items in the Collections system, or gamechanger collectible items may be awarded to the user in free or paid packs. At step 5004, the user enters the Gamechanger tab of the player management screen and selects a gamechanger to upgrade. At step 5006, upon receiving the user selection of a gamechanger to upgrade, it is determined if the user has the required amount of the correct type of gamechanger collectible items to upgrade the selected gamechanger to a higher bonus percentage (Gamechanger level). At step 5008, if the user does not have enough of the correct type of gamechanger collectibles, the selected gamechanger is not upgraded and the user can continue to earn gamechanger collectible items or try to upgrade a different gamechanger. At step 5010, if the user does have enough of the correct type of gamechanger collectibles, the user is asked to upgrade the selected gamechanger to the higher bonus for a defined game currency price. At step 5012, it is determined whether the user has enough game currency to upgrade the selected gamechanger. At step 5014, if the user does not have enough game currency to upgrade the selected gamechanger, the selected gamechanger is not upgraded and the user must earn more game currency so the upgrade can be applied. At step 5016, if the user does have enough game currency to upgrade the selected gamechanger, the selected gamechanger is upgraded and the player will now earn the newly designated bonus percentage when games are live if the player achieves the designated gamechanger criteria. Once a gamechanger has been activated and upgraded, the gamechanger bonus is permanent unless that player is sold. Gamechanger bonus amounts can be itemized under the player spotlight in any live scoring screen.

[0186] Player Page - Sell Player

[0187] FIG. 51 illustrates a Player Page - Sell Player screen 5100. This is where the user is taken when they choose to sell a player. According to an advantageous embodiment, players on a user's roster can be sold for coins. The coin amount offered is based on a variety of factors such as position, rating, and use counts. If a player has multiple use counts then two offers will be made to the user for the player: one offer for the sale of all uses of the player and one offer for the sale of a single use. As shown in FIG. 51 , the sell player screen 5100 includes the following display and function:

• A display of a coin offer for the sale of the player.

• A button to make the sale.

• A display of a coin offer to sell ALL uses of a player - if applicable.

• A button to make the sale.

[0188] Collection System

[0189] The collection system allows a user to "collect" player athletes or special collectible game items, add them to a "Collection Book" and then trade the collected items in for a different item of higher value. FIG. 52 illustrates an exemplary Collection Book, referred to as "Collection Book #1 ". There can be many different types of collection books each providing a different type of reward. The system is also designed to present "nested" collections. These are collections in which the input item(s) required are the rewards from other collections. [0190] There can be an unlimited number of Collection Books. Each Collection Book has "Item Slots" that need to be filled in order to claim a reward. Collection Books can require any number of Item Slots to be filled in order to claim a collection reward. For example, Collection Book #1 in FIG. 52 has seven item slots, each of which needs to be filled with a respective input item in order to claim the reward item(s). Each Item Slot can have a "Slot Requirement" that dictates the type of item that is required to fill it. There can be many different types of Collection Books each requiring a different number of Item Slots to be filled, different types of items to be added and different reward items. Once a collection book is filled a reward can then be "claimed". For example, a user can click on a button on the Collection Book to trade the input items and claim the reward. Once a reward item is claimed, the collection book input items are "traded" for the reward item and no longer available to the user.

[0191] Collection rewards can be made up of (but not limited to):

• Individual players/athletes of greater value than those traded in.

• Player packs (multiple players) of high value.

• Specific amounts of game currency.

• New special items that can then be used in other collections (or in-game play) or

• feature unlocks.

Note: More than one item can be presented as a single Collection Book reward.

[0192] Collection Book inputs can be made up of (but not limited to):

• Player athletes.

• Special collectable items awarded by the game.

[0193] Collection Book types can be made up of (but not limited to):

• Collections that have a timed expiration (fill the collection before time run out).

• One time collections that can be filled (with a reward given) only one time.

• Recurring collections (collection books that can be filled (and rewards granted) more than once).

[0194] Nested collections are Collection Books that require the input items to be rewards from other Collection Books.

[0195] Alliance system The Alliance system allows users to team up as a group to play against other groups in fantasy competitions.

[0196] A single user can create an Alliance or "Team", give the team a name, and invite a specified number of people to join. The number of player on the team can vary. When another user accepts the invite they will become part of that team (defined by the name given to it by the creator). This team will then compete against other teams in Fantasy competitions. When a team wants to play they will either create a new competition request that will be displayed in a game lobby for other teams to see or they will search the lobby for other existing game requests that they can accept. Each competition will have an entry fee of Virtual Coins (game currency). The team creating the competition can set the competition parameters such as length of play, reward amount, entry fee amount and scoring rules. Once the competition begins a member of one team will be paired up each day with a member of the other team to play them in a Daily Fantasy contest. The contest will persist for the set number of days until each member of one team has played each member of the other team. Prizes will be awarded based on which team has the best record over the duration of the competition and which team scored the most fantasy points. FIG. 53 illustrates an exemplary Alliance competition in which four users on Team 1 and four users on Team 2 can compete against each other in a team fantasy sports competition.

[0197] Being a member of an Alliance or "team" can give users additional benefits. For example, players on the same team can share athletes they have acquired with other members of their team. This can help them win their daily competitions against the other team. When players on a team make game purchases with real money all members of their alliance may receive gifts in the form of game currency and other consumable items. Players can also have the ability to send messages to Alliance/Team members. Players can share their athlete lineups with other team members before the competition begins for critiquing purposes.

[0198] Season Showdown Mode

[0199] According to an advantageous embodiment, Season Showndown is a mode that spans an entire season of whatever sport the user is playing. In this mode, the user can compete in fantasy events against large groups of players with similarly ranked rosters. The users will compete to win prizes at the end of each series and at the end of the season. Season Showdown mode includes regular series, playoff series, and a season finals series, which take place in the regular season, playoffs, and final series/game of the sport's season, respectively.

[0200] Setting Lineups

[0201] According to an advantageous implementation, each day (or week in some sports), the top players in the user's roster are automatically entered into the Season Shown. In particular, the HypSports app utilizes a best lineup algorithm to automatically select a best lineup for a given day (or week) for the user. For example, this algorithm can select the highest rated players that are active and playing in games on a particular day. The algorithm may also take into account the current level of the players on the user's roster and any gamechangers that have been activated for the players on the user's roster. In an exemplary implementation, the Season Showdown lineup does not consume any tickets (or other type of in-game currency) and does not count against the player use limits (use counts). As the best lineup for a user is automatically selected each day from the user's roster, the key to winning is building the roster by collecting and leveling up the best players in the game.

[0202] Regular Series

[0203] During the regular season for a given sport, the user will compete in fantasy competitions that span a "Series". A Series is a fantasy competition (may be one or multiple stages and/or rounds) in which a fixed set of users compete for a reward/banner based on how they finish. In an advantageous implementation, there will be several Regular Series that take place within the real-world regular season dates. The length of a Series depends on the sport. For example, the Series may be a day, a week or multiple weeks depending on the sport. Only one Series will be active at a time for a given sport. Once a Series ends, a new Series should begin on the next day (even if the next available game day is not for a couple days). The most important thing for a user is to collect and level-up the players in the roster to produce the best possible lineup, so the user can successfully compete against similarly ranked players in the Series. Users are cohorted by a roster grade determined for the user's roster, in order to compete in a Series with users having similarly ranked rosters. In an exemplary embodiment, the roster grade can be determined by calculating a total average fantasy points (including level bonuses) for a user from a custom lineup where the best available players are used. The custom lineup for roster grade calculation would not be limited to just a set of teams playing in a single contest (as may be the case for generating a best lineup for a given day), but would exclude injured players and players who are no longer on a team or who are on an eliminated team.

[0204] According to an advantageous embodiment, a Series, such as one or more of the Regular Series for a given sport, may include multiple stages of a Qualifying Stage, a Knockout Stage, and a Finals Stage. FIG. 54 illustrates an example of Season Showdown Series having qualifying, knockout, and finals stages according to an exemplary embodiment. As shown in FIG. 54, the qualifying stage includes a set of qualifying rounds 5402, the knockout stage includes three sets of knockout rounds 5404, 5406, and 5408, and the finals stage includes a set of finals rounds 5410. A large number of users (grouped based on roster grades) compete in the Series, starting with the qualifying rounds 5402, and each stage reduces the number of users until a small number are left to compete in the finals rounds 5410. Cut lines are set to eliminate users in each stage. In the example of FIG. 54, 100 users start in the set of qualifying rounds 5402, of which the lower 50 are eliminated and the top 50 move on the first set of knockout rounds 5404. In the first set of knockout rounds 5404, the lower 25 users are eliminated and the top 25 users move on the second set of knockout rounds 5406. In the second set of knockout rounds 5406, the lower 15 users are eliminated and the top 10 users move on the third set of knockout rounds 5408. In the third set of knockout rounds 5408, the lower 5 users are eliminated and the top 5 users move on the set of finals rounds 5410. In the set of finals rounds 5410, the top 5 users earn rewards based on their final standings. Rewards can be awarded to all users who participated in the Series, with rewards awarded at the end of each set of rounds for those players who did not make it to the next round. Rounds 1 - n in each set of rounds are single fantasy contests (typically a single gameday for MLB/NBA, but a full week in NFL) in which a user's lineup is scored against all other lineups from the rest Series cohort. For each individual round, a unique lineup is automatically generated for each user and a unique fantasy score is calculated. The cumulative fantasy score for all of the rounds in each set of rounds is used to determine who will advance.

[0205] Playoff Series

[0206] Playoff Series are series that take place during the playoffs (pre-Finals) of the sport season. When the playoffs begin, each user is placed into a division based on the quality of the user's roster (i.e., based on a roster grade determined for the user's roster). Through the playoffs, a user will have a chance to climb the "division ladder" based on where the user finishes on the leader board in each playoff round. In an exemplary implementation, the divisions include bronze, silver, gold, and ultimate divisions. For the first playoff series, each user is placed into of these divisions based on the roster grade determined for the user's roster. At the end of each playoff series, a number of top users are promoted and a number of bottom users are relegated in each division for the next playoff series. The goal is for the user to reach the highest division possible by the end of the playoff series in order to compete for the greatest possible rewards in the Season Finals Series. The playoff series may be scheduled dynamically based in actual gamedays. In an exemplary implementation (depending on the sport), playoff series may be structured as single-stage, single-round series, so each gameday a playoff series is started and ended.

[0207] Season Final Series

[0208] The Season Final series align with the final series/championship of the sport's seasons (e.g., World Series, NBA Finals, Super Bowl, etc.) Once the Season Final Series begin, the user's division (e.g., bronze, silver, gold, or ultimate) is locked and there is no more promotion or relegation in the Season Finals Series. The goal is then for the user to earn the highest total score and win the Division. In an exemplary implementation, the Season Final series may be structured as a single-stage, multi- round series for sports leagues that play a championship series (e.g., MLB, NBA, NHL) that begins and ends when the real-world finals start and end. For sports leagues with a single championship game (e.g. NFL), the Season Final series may be structured as a single-stage, single round series including just the championship game. The winner is the user who scores the most fantasy points in the finals rounds that get played. Rewards are given based on a user's position on the Season Final's leaderboard in each Division. The rewards for winning a Division may include in game rewards (such as collectible items, trophies, banners, xp, in-game currency, skill points, etc.) and/or real world prizes (such as gift cards, trips, cars, etc.). The higher the division, the greater the rewards for winning the season final series.

[0209] Bonus Points - In a possible implementation, if a Series (Regular, Playoff, or Season Final) has multiple rounds in a stage, the user can earn bonus points based on the final rank of the user at the end of each round. The goal is to place as high on the leaderboard as possible each day to maximize the bonus points.

[0210] Tiebreaker Rules - In a possible implementation, if there is a tie, whichever user has the most XP and/or trophies earned will be the winner.

[0211] Bots

[0212] In an exemplary implementation, bots may be used to fill out Series participants if not enough actual users are present in a cohort. In the event that a Series begins and the total number of human users have not jointed, the remaining spots can be filled with bots that are programmed to compete against the users based on their roster grade/cohort level. Bots do not have a profile or a roster, but are generated for each contest based on the auto-lineups that were set for the human user teams in that cohort. The bots have the same basic logic included that does not use players that are not playing/starting in their lineups.

[0213] The foregoing Detailed Description is to be understood as being in every respect illustrative and exemplary, but not restrictive, and the scope of the invention disclosed herein is not to be determined from the Detailed Description, but rather from the claims as interpreted according to the full breadth permitted by the patent laws. It is to be understood that the embodiments shown and described herein are only illustrative of the principles of the present invention and that various modifications may be implemented by those skilled in the art without departing from the scope and spirit of the invention. Those skilled in the art could implement various other feature combinations without departing from the scope and spirit of the invention.