Abstract:
A computerized method and system of facilitating state-based participation in calling plays in a football game thereby allowing fans to proactively participate in real-time in the game with players, referees and coaches. A computing device receives a user profile corresponding to a user registered to vote in a real-time football game. A sequence of states occurring in 100 seconds or less is initiated in response to a start of a play during the real-time football game. The sequence of states includes receiving a submission of a set of plays from a coach, sending the set of plays to a registered user, and receiving a vote from the registered user. A result of a real-time play based on the winning play is received and the coach is score updated by comparing the vote with the winning play and with the result of the real-time play.

Description:
CROSS REFERENCES TO RELATED APPLICATIONS 
       [0001]    This application is a continuation of prior application Ser. No. 14/575,698, filed Dec. 18, 2014, entitled “Computer-Implemented Methods and Systems Enabling Fan Participation in Calling Plays at Sporting and Other Events,” which claims benefit of U.S. Provisional Application No. 61/918,350, filed Dec. 19, 2013, entitled “Computer-Implemented Methods and Systems Enabling Fan Participation in Calling Plays at Sporting and Other Events,” each of which is incorporated herein by reference. 
     
    
     BACKGROUND 
       [0002]    The present application relates generally to live events and, more particularly, methods and systems for enabling fans or audience members to participate in calling plays at football games and other events. 
         [0003]    While traditional applications of technology for user participation in live events exist, they are generally passive forms of user participation. For example, some traditional entertainment shows allow fans to vote for a winner, but results are not shown until the end of a show, or days or weeks later. Fans can help decide which entertainer ‘wins’, but fans do not decide what activity occurs from minute-to-minute. Fans have minimal real-time impact on the real-time action. 
         [0004]    In the context of sporting events, traditional applications allow users to participate in a fantasy game, where they can choose players and teams, and compete based on statistics corresponding to real time events in the sporting events. While real time events can affect a user&#39;s score or standing in traditional applications, the user has no ability to participate or influence real time events. 
       SUMMARY 
       [0005]    Systems and methods are disclosed for facilitating state-based participation in calling plays in a football game thereby allowing fans to proactively participate in real-time in the game with players, referees and coaches. In some aspects, the systems and methods comprise receiving, by a computing device, a user profile, the user profile corresponding to a user registered to vote in a real-time football game, the user profile comprising a coach score. In some aspects, the systems and methods comprise initiating, by the computing device, a sequence of states in response to a start of a play during the real-time football game. In some aspects, the sequence of states comprise a poll creation state for a first time period, the poll creation state comprising receiving, by the computing device, a submission of a set of plays from a computing device associated with a coach at a time corresponding to a time prior to an execution of a play in the real-time football game; a notification state for a second time period, the notification state comprising sending, by the computing device, the set of plays to a computing device associated with a registered user in a format such that the sets of plays automatically display upon the registered user device; a fan voting state for a third time period, the fan voting state comprising receiving, by the computing device, a vote from the registered user device, the vote corresponding to one play from the set of plays; a notification state for a fourth time period, the notification state comprising sending, by the computing device, a winning play to the registered user device and the coach device, the winning play based on results of the vote, such that a sum of the first time period, second time period, third time period, and fourth time period is equal to or less than 100 seconds; and a play in action state for a fifth time period, the play in action state comprising receiving, by the computing device, a result of a real-time play based on the winning play from a computing device associated with at least one of a referee and an administrator. In some aspects, the systems and methods comprise updating, by the computing device, the user score by comparing the vote with the winning play and with the result of the real-time play; and outputting, by the computing device, content to the registered user device related to the coach score. 
         [0006]    In some aspects, the sequence of states terminates upon the start of a subsequent state. In some aspects, the submission of the set of plays further comprises a coach override, the coach override comprising a winning play selected by the coach. In some aspects, the poll creation state further comprises creating at least one of: a random set of plays, a set of plays based on prior game statistics, and a set of plays based on current game statistics, when the submitted set of plays comprises no plays. In some aspects, the content comprises a winning play score, the winning play score corresponding to a number of times a play selected by the user, from the set of plays associated with the poll creation state, is the winning play. In some aspects, the content further comprises at least one of a participation score and a scoring play score, the participation score corresponding to a number of plays where the user submits a vote, the scoring play score corresponding to a number of times a play selected by the user results in a team associated with the voting scoring a goal or preventing the scoring of a goal. In some aspects, the content comprises at least one of voting information, challenges, and education information, the voting information comprising a record corresponding to how a user earned the coach score, the challenges comprising comparing the coach score with coach scores corresponding to other user profiles, the education information comprising at least one of information and an activity to improve the coach score. In some aspects, the systems and methods comprise sending, by the computing device, state information to the referee device. In some aspects, the systems and methods comprise receiving, by the computing device, a duration of at least one of the first time period, second time period, third time period and fourth time period from the referee device. In some aspects, the systems and methods comprise outputting, by the computing device, live game information to at least one of the user device, the coach device, and the referee device. In some aspects, the sum of the time periods ranges from 30 seconds to 60 seconds. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0007]      FIG. 1  is a simplified block diagram illustrating an exemplary network in which a live-game engine or system may be implemented, according to some embodiments of the present disclosure. 
           [0008]      FIG. 2  is a block diagram illustrating system architecture, according to some embodiments of the present disclosure. 
           [0009]      FIGS. 3 and 4  are flow diagrams illustrating an exemplary play voting cycle, according to some embodiments of the present disclosure. 
           [0010]      FIGS. 5-74  are exemplary screenshots illustrating operation of the live-game system, according to some embodiments of the present disclosure. 
           [0011]      FIG. 75  is a simplified diagram illustrating an exemplary game engine finite state machine, according to some embodiments of the present disclosure. 
       
    
    
     DETAILED DESCRIPTION 
       [0012]    When football fans watch a football game, either live or on television, they have no involvement in how the game is played. They know little about the plays the coach of their team is picking to execute on the field, and have no ability to influence the coach&#39;s play choices. Various embodiments disclosed herein are directed to computer-implemented methods and systems for increasing fan involvement in games by enabling fans to actively participate in calling plays at football games. 
         [0013]    As will be discussed in greater detail below, in accordance with various embodiments, a computer-implemented live-game system or engine is provided that enables fans of a team to collectively decide in real-time which plays should be executed by their team during a game. For each play, the coaches of the teams pick a set of possible plays, which the fans vote on. The system tabulates the fan votes, and the winning play can be executed on the field in real-time. The system provides users with access to a wide variety of information needed to participate in the system including information on plays, player rosters, teams, stats etc. The system also tracks each fan&#39;s coaching performance (e.g., the % of times the fan&#39;s play choice was the winning play, the % of times the fan&#39;s play succeeded (scored, achieved first down, gained certain yardage), or the % of times the fan&#39;s play selection likely would have been a better choice given the poor performance of the actual play run on the field, etc.). The system also enables fans to compete against one another, individually or in leagues, in their coaching skills. 
         [0014]    While the exemplary embodiments illustrated herein relate to the game of American football, this is by way of example only. It should be understood that the methods and systems for increasing fan participation are not limited to football, and may also be applied to other live events such as, e.g., soccer, baseball, golf, hockey, basketball, movie screenings, game shows, award shows, sales meetings, political events, and business conferences. 
         [0015]      FIG. 1  illustrates an exemplary network, in which a live-game system  100  may be implemented, according to some embodiments of the present disclosure. The live-game system  100  can be implemented in a computer server system, which communicates with a plurality of client devices operated by the users of the system  100 , including fans  102 , the coaches/coordinators  104 ,  106  of the teams playing the game, referees  108 , and system administrators  110 . Other users of the system can include production staff  112  and product marketing/customer service staff  114 . 
         [0016]    The client devices communicate with the system  100  over a communications network  116 . The communications network  116  can include any network or combination of networks including, without limitation, the Internet, a local area network, a wide area network, a wireless network, and a cellular network. 
         [0017]    The client devices operated by users to access the live-game system  100  can include any computing device that can communicate with the computer server system including, without limitation, personal computers (including desktop, notebook, and tablet computers), smart phones (e.g., Apple-based smart phones and Android-based smart phones), wearable computer devices (e.g., smart watches and smart glasses), cell phones, personal digital assistants, and other mobile devices. The client devices include operating systems (e.g., Android, Apple iOS, and Windows Phone OS, among others) on which applications run. The operating systems allow programmers to create applications (often called “Apps”) to provide particular functionality to the devices. 
         [0018]    A representative client device can include at least one computer processor and a storage medium readable by the processor for storing applications and data. The client device also can include input/output devices, one or more speakers for acoustic output, a microphone for acoustic input, and a display for visual output, e.g., an LCD or LED display, which may have touch screen input capabilities. 
         [0019]      FIG. 2  is a block diagram illustrating system architecture, according to some embodiments of the present disclosure.  FIG. 2  shows a message listener  202 , record manager  204 , score manager  206 , poll manager  208 , Advanced Message Queuing Protocol (AMQP)  210 , game manager  212 , engagement service  214 , coach manager  216 , vote manager  218 , information service  220 , referee application  222 , moderator devices  224 , coach devices  226 , fan devices  228 , database  230 , and fan connections. 
         [0020]    Message listener  202  is active software built into the system. It provides asynchronous event handling that defines the initial action to be taken as each message arrives. Different actions may be defined for different message types. 
         [0021]    Record manager  204  includes a database for storing user voting records (e.g., votes during a game). The database can include any physical database or cloud-based data storage (e.g., Mongo database instance). 
         [0022]    Score manager  206  includes a database for storing game statistics (e.g., wins, losses, play executed during a game). The database can include any physical database or cloud-based data storage (e.g., Mongo database instance). 
         [0023]    Poll manager  208  controls state logic for polling. As described in more detail, polling can include a series of discrete states. 
         [0024]    AMQP  210  comprises an Advanced Message Queuing Protocol (e.g., RabbitMQ). AMQP can support a variety of protocols and includes message orientation, queuing, and routing. 
         [0025]    Game manager  212  includes a database for storing real-time events and statistics during a game. The database can include any physical database or cloud-based data storage (e.g., Mongo database instance). Game manger  212  can communicate with Ref App  222 . As described in more detail below, game manager  212  can send Ref App  222  real-time data corresponding to a game. Ref App  222  can send instructions to Game Manager  212 , based on the real-time data, to update state information (e.g., state information for polling) and information for display on one or more coach device  226  or fan device  228 . 
         [0026]    Engagement service  214  represents multiple discreet services that coordinate elements of the game experience. These services include a user interface, logic, and storage. One of the services, FanScore Moderator  224 , stores the data behind multiple question-and-answer games (e.g., the name of each game, one to one-thousand questions, timing logic associated with answers for each of the questions, and tips for each of the questions). A person operating the FanScore Moderator can define a game, initiate a game, and trigger the delivery of each question (e.g., the first question is sent 10 minutes before kickoff, the second question during the first timeout), and identify the recipients of each question (e.g., all registered fans or fans voting with only one of the two teams). Another service, CoachScore Moderator  224 , allows an operator to evaluate the results of plays run on the field in real time (e.g., declaring an error on a play and assessing the success of the play run on the field). These evaluations are then used to create each Fan&#39;s CoachScore. 
         [0027]    Coach manager  216  includes a database for storing coaching records (e.g., information about plays, players, scheduling) and other data that is used in multiple devices across the system. The database can include any physical database or cloud-based data storage (e.g., Mongo database instance). Coach manager  216  is in communication with a coach application  226 . Coach manager  216  can display information in the database to the coach device and receive edits and changes from the coach device to information in the database. 
         [0028]    Vote manager  218  coordinates voter polling. Vote manager  218  maintains the logic for communication and controls that communication with fan devices  228  via fan connections  240 . Fan Connections  240  declares and manages the communication channel used with fan devices. Vote manager  218 , through a fan connection module, can push a poll to fan device  228  and receive results from the poll. 
         [0029]    Fan device  228  represents the mobile devices used by fans to participate in calling plays. The Info Service  220  includes web services that execute key processes (e.g., retrieving fan profile information, updating playbook information in fan apps, etc.). The information service refers to a fast, in-memory data store  230  (e.g., Redis). 
         [0030]      FIGS. 3 and 4  are flow diagrams illustrating an exemplary play voting cycle, according to some embodiments of the present disclosure. Referring to  FIG. 4 , prior to a game, each of the entities in the system logs in once to backend service  420 . Backend service is described in more detail above in  FIG. 2 . The entities include admin  410 , a voter  412 , offensive coordinator  413 , and defensive coordinator  414 . Admin, at the start of the game, can send an instruction to the backend service  420  to start the game  411 . For each play, the process starts with the administrator starting a play clock  301 . In some embodiments, an administrator starts each game, starts each play clock, and identifies each possession switch (e.g., when possession of the ball transfers from one team to the other). The coaches of each team are given a predetermined amount of time (e.g., 1-60 seconds, preferably 7 seconds) to pick a set of possible plays to be voted on by the fans. The offensive coordinator can select a set of plays  302 , and a defensive coordinator can select a set of plays  303 . In some embodiments, the offensive coordinator and defensive coordinator each select 3 plays. The plays are pushed out via push technology (preferably no manual refresh on the fans app is needed) to fans who have registered with the system. Fans are then able to view the poll  304 . Fans are then given a preset time period (e.g., 1 to 60 seconds, preferably 10 seconds) to vote on the play they want their team to execute  305 . The fan votes are sent to a system database and tabulated. The winning results are sent to the coaches  306 . The results can also be sent to the fans at the same time, again preferably via push technology  308 . Coaches then radio or otherwise communicate the winning play to the personnel on the field, and the fans and coaches get to see the winning play executed on the field in real-time. The process described above can then start again for a subsequent play. 
         [0031]    The system provides users with access to a wide variety of information needed to participate in the system including information on plays, player rosters, teams, stats etc. 
       Fans 
       [0032]    In one or more embodiments, fans can download a Fan App on their client devices to access the system.  FIG. 5  shows an exemplary screenshot from the Fan App enabling users to register and login  503  to the system, according to some embodiments of the present disclosure. A user can access a unique URL  501  and sign in using his/her username and password by clicking a “sign in” button  502 . During the registration process, a user will enter his or her name and choose a user name and password that will identify the user whenever using the system. Users can also enter in secure information, including a credit card and billing address information if they are going to sign up for a premium or paid product. Users can click on a “get in the action” button  504  to be directed to a team page where they will also be asked to choose which team they are a fan of  505 , or they can go in and look at team information before they decide. They can click a button  506  to decide on a team once they review team information. 
         [0033]    Fans who are registered and logged in can enter a Fan App Dashboard as illustrated in the exemplary screenshot of  FIG. 6 . The dashboard provides fans with access to a variety of content items (illustrated in  FIGS. 7-14 ) they can use to participate in the live-game system. For example, Fan App Dashboard can include a header  601 , which displays details about a coming game before the start of a game. As described in more detail below, Fan App Dashboard can also include rattlers den  602 , team banter  603 , playbook  604 , injury report  605 , weekly recap  606 , player roster  607 , my stats  608 , and my achievements  609 . 
         [0034]    Fans can access team information  700 , including coach and player videos and talk sessions as illustrated in the exemplary screenshot of  FIG. 7 . Also known as rattlers den, a repository of player videos and talk sessions can be branded for each team. Fans can be asked to choose and confirm a team selection  800 , as illustrated in the exemplary screenshot of  FIG. 8 . In some embodiments, a fan has up until game time to change which team they vote for in any given game. Fans can also access a team page, as illustrated in the exemplary screenshot of  FIG. 9 . The team page can display various details about a team, including coach videos, player videos and talk sessions  900 . Fans can also access a team match-up page, as illustrated in the exemplary screenshot of  FIG. 10 . To help fans determine which team to vote with, the team matchup page can include a comparison of game statistics for both teams, such as running and passing  1000 . The team match-up page can also display voting statistics and averages. Fans can also access a team list, as illustrated in the exemplary screenshot of  FIG. 11 . In some embodiments, the team page lists all teams, their conference, rank, record, coach and next game  1101 . Fans can access chat discussions  1202  and Twitter (or proprietary chat-based service) feeds  1203  as illustrated in the exemplary screenshot of  FIG. 12 . Also known as team banter, discussion and twitter feeds can be displayed alongside an icon of a fan displayed with their achievement level  1201 .  FIG. 13  is an exemplary screenshot illustrating fan access to injury reports  1301 .  FIG. 14  is an exemplary screenshot illustrating fan access to information  1401  on each player on the team roster. 
         [0035]    Along with this content, the system also offers fans functionalities to track their performance—My Stats  1501  shown in the exemplary screenshot of  FIG. 15  and My Achievements  1601  shown in the exemplary screenshot of  FIG. 16 . My Stats  1501  details the Fan Coach Scores. The Coaching game logic engine of the live-game system scores the fan&#39;s Coaching or play calling performance. Participation  1502  indicates the % of plays that have been voted on by the fan. Winning plays  1503  indicates the % of times the fan&#39;s play choice was the winning play and run by the team. Scoring plays  1504  indicates the % of times a fan&#39;s play scored. My Achievements  1601  can indicate achievement levels earned by each fan. Achievements can include Grid-Iron Ruler  1602  (e.g., voting on a certain number of plays), Primetime Picker  1603  (e.g., picking a certain number of plays that have been executed), Captain Endzone  1604  (e.g., picking a certain number of plays that score), and Move the Chains  1605  (e.g., having a certain percentage of 3 rd  down conversion). 
         [0036]    In some embodiments, Coach Score can be displayed on a user device, as shown in the exemplary screenshot of  FIG. 17 . The main page can include a fan Coach Score season average  1701 , a voting section  1702 , results for each week  1704 , and results for each game  1705 . In some embodiments, voting section  1702  includes a breakdown of how a fan earns a Coach Score. The breakdown can include details of Coaching game logic engine, described in more detail below. The Coach Score page can also include a challenges section, as shown in the exemplary screenshot of  FIG. 18 . Challenges can allow fans to see their performance within head to head challenges  1800 , as described in more detail below. The Coach Score page can also include an education section, as shown in the exemplary screenshot of  FIG. 19 . The education section can include articles and activities to allow fans to learn more about play calling  1900 . In some embodiments, articles and activities that are displayed in the education section are selected based on a fan&#39;s Coach Score. 
         [0037]      FIG. 20  shows screenshot of a Fan Score page, according to some embodiments of the present disclosure. A Fan Score page can show points fans earn by participating in events hosted by the system  2000 . A Fan Score page can include an Achievements Section, showing fans how they have earned points  2002 . 
         [0038]    A FanScore page can also include an Events section, as shown in the exemplary screenshot of  FIG. 21 . An Events section can include links to activities where fans can earn additional points  2100 . Activities can include fan contests, finding a fan voting party, subscribing to fan alerts, and tuning into coach picks. Activities can also include answering trivia or other questions, as shown in the exemplary screenshot of  FIG. 22 . Trivia allows fans to participate in real-time trivia and related contests  2200 . In some embodiments, each question has a time limit  2202 , and a fan can choose one of three answers  2203 . A fan can gather points that contribute to FanScore points  2204 . A fan is delivered a Trivia Answer page after answering a trivia question, as shown in the exemplary screenshot of  FIG. 23 . A fan can be shown a correct answer, their answer, and an explanation of the correct answer  2300 .  FIG. 24  shows a screenshot of a rewards page, in accordance with certain embodiments. Fan Points can be accumulated and redeemed for real merchandise and digital goods  2400 . 
         [0039]    Fans may participate in Challenges, as shown in the exemplary screenshot of  FIG. 25 . Fans can initiate challenges  2501  and define a type of challenge  2502 . Challenges may be decided by CoachScore, a measure of effective play-calling. Challenges may also be decided by FanScore earned by answering trivia or other questions  2200 . Challenges can involve individual players or player-defined leagues. The duration of a challenge can last any amount of time (e.g., single game, weekend, or season). A Challenges Page, as shown in the exemplary screenshot of  FIG. 26 , can also include real time requests for challenges  2600 . Fans can choose either to accept or reject a real time challenge  2601 . 
         [0040]    Fans can also access real-time results on the system, as shown in the exemplary screenshot of  FIG. 27 . Real time results include allowing fans to see in real-time how they are performing in their CoachScore and FanScore challenges as well as any pending invites  2700 . Real time results can also include rankings, as shown in the exemplary screenshot of  FIG. 28 . Fans can see in real-time where they are ranked for both CoachScore and FanScore  2800 . 
         [0041]      FIG. 29  is a screenshot illustrating a coach score engine, according to some embodiments of the present disclosure. Coaching game logic engine (also referred to in the present disclosure as “CoachScore Engine”) can determine each player&#39;s CoachScore. In some embodiments, coach score ranges from 50-100. Unlike traditional “fantasy” points, Coach Score is not merely additive. Each player&#39;s Coach Score can be calculated after each drive and can naturally vary through the course of each game. CoachScore Engine first receives a coach bundle, which can include 3 plays. CoachScore Engine assigns a historical “Adjusted Yardage”  2900  based on data from prior games. The historical Adjusted Yardage  2900  can be calculated automatically from the data from prior games, as described in more detail below. The play run on the field is then scored on the yards gained on the field, augmented by positive modifiers for good results (e.g., earning a first down or scoring) or negative modifiers (e.g., resulting in a sack of the quarterback or lost yards)  2901 . The three plays&#39; Adjusted Yardage scores (two historical, one actual) are then ranked, highest to lowest, 1 st , 2 nd , and 3 rd . Each play is then assigned points  2902  based on its ranking. The points are continuously summed and adjusted for tempo  2903 . Tempo adjustments  2903  allow scoring to be consistent, whether the game is partially complete or complete and whether a team runs a fewer number or a greater number of plays (e.g., 65 plays or 85). 
         [0042]      FIG. 30  is a screenshot illustrating a coach score engine moderator, according to some embodiments of the present disclosure. The moderator application can rate the play actually run on the field versus the historical expectations of the other two non-winning plays. The coach score moderator application can rank (e.g., good, neutral, bad or 1 st , 2 nd , 3 rd ) the play result seen on the field relative to the historical expectations of the two plays not selected, and submit any additional factors, especially errors (dropped pass, fumble, etc.), that impact the assessment of the play  3002 . The application can display which plays are suggested by a coach and which play was run on a field  3000   3001 . The ranking can come from a human operator or can be determined by a computing device. 
         [0043]      FIG. 31  is a screenshot illustrating the calculation of historical Adjusted Yardage within a coach score engine, according to some embodiments of the present disclosure. Each play can have a stored adjusted yardage value calculated from historical data and the adjusted yardage algorithm. In both pre-time and real-time, the system can calculate historical Adjusted Yardage from historical results  3100 . This calculation starts by identifying all plays previously run, noting their results (e.g. yardage gained, 1 st  downs gained, scoring, game, play #, etc.), annotating each play with additional scenario identifiers (e.g., team, defense faced, game #, field position, time, down, distance, play type, in-game play #, etc.), grouping these play-scenario combinations, calculating typical yardage gained for each play-scenario combination  3100 , and, finally, enhancing typical yardage with 1 st -down and scoring trending  3101  to produce a historical Adjusted Yardage number for each play in each scenario. The adjusted yardage calculation weighs results from the current game, current teams, and more recent games more heavily than results from less current and less pertinent teams. 
         [0044]    The Playbook section of the Fan App is indicated by way of example in the screenshot of  FIG. 32 . The playbook details the plays for the fan&#39;s team  3200 . The fan can sort by Play Type Formation  3201 . Each play includes a Detailed diagram, Simple Name, Coach Name, etc.  3202 . The Playbook section can also include Playbook Detail, as shown in the exemplary screenshot of  FIG. 33 . Every play in a team&#39;s playbook can be clicked on to offer more detail, past performance, and video to illustrate the play and its performance history  3300 . 
         [0045]    The content items discussed above are live and active content during an actual game. When a game starts, the Fan App automatically changes to a gamecasting/push app determined by a League Official as shown in the exemplary screenshots of  FIGS. 34 and 35 . During the game, the Fan App automatically displays game information  3400   3500  such as the teams playing, which quarter, the time/game clock, the score, which team has possession, and down and distance. 
         [0046]    Once a game is in progress and a fan is logged in correctly, the system automatically pushes a vote to the app as shown in the exemplary screenshots of  FIGS. 36 and 37 . Fans can see a push of the vote of coaches play choices visually through the voting screen, manually through a buzz, and/or aurally through a tone  3600   3700 . The screen displays down, distance, field position, and game time in real time  3601 . The screen can also display play choices as graphical renditions of the plays as well as text  3701 . Visually through graphical renditions of plays, fans can see the three coach choices  3602 . Fans can also choose to Skip Vote  3603  by clicking an “x” button  3702  or clicking a “close” button  3703 , if desired. 
         [0047]    Once fans receive a poll from the system as illustrated in the exemplary screenshots of  FIGS. 38 and 39 , they can vote with a single touch of the play of their choice  3800   3900 . In one embodiment, their chosen play is marked  3801  and automatically sent to be tabulated to the back-end service of the system. In another embodiment, fans can choose to change their vote by clicking a “change vote” button  3901 . Fans then watch the winning play executed on the field. As shown in the exemplary screenshots of  FIGS. 40 and 41 , the Fan App shows fans when their play has been selected to be run on the field  4100  and what % of fans voted for each play  4000   4101 . As shown in the exemplary screenshot of  FIG. 42 , the Fan App can also show fans when their play has not been selected to be run on the field  4200 . When a fan&#39;s play is not selected, they are also shown the winning play  4201 . 
         [0048]    In addition to the live football game, fans can compete against other fans and other groups of fans on their coaching expertise. Fans can choose and structure the ways in which they want to compete  4300  as shown in the exemplary screenshot of  FIG. 43 . Game dimensions can include, e.g., Single game vs. season, Player vs. player, Intra and Extra-team leagues, Player-defined leagues, and League vs. league. Fans can compete using their Coaching Score in additional to their Achievements as shown in the exemplary screenshot of  FIG. 44 . A coach score is derived from the actual and typical results of the plays voted on by fans  4400 . Scores are normalized to adjust for differences in team styles and results. 
       Coaches/Coordinators 
       [0049]    The system allows coaches/coordinators to enter plays or formations to facilitate player coaching, game planning, and play selection. As shown in the exemplary screenshot of  FIG. 45 , coaches/coordinators can enter multiple name types  4501  and a description  4502  for new plays and formations. Coaches/coordinators can apply standard tags to each play  4503  including, e.g., “opening script”, “short yardage”, “medium yardage”, “long yardage”, “pass”, “run”, “game 1”, “game 2”. Coaches/coordinators can define new tags  4504  and can attach images to each play  4505 . 
         [0050]    As shown in the exemplary screenshot of  FIG. 46 , coaches/coordinators can manage playbooks. They can search for plays by multiple categories  4601  and edit play names, tags, formations, etc.  4602 . 
         [0051]    Coaches/coordinators can build scripts of plays that can be used for game planning, coaching, and easy selection as shown in the exemplary screenshot of  FIG. 47 . Coaches/coordinators can select and/or create script names/tags  4701 . They can create poll names  4702  and assign plays to poll names  4703 . 
         [0052]    As shown in the exemplary screenshot of  FIG. 48 , coaches/coordinators can organize and present plays in various fashions  4801 , view plays on screen  4802 , and print plays for game day  4803 . 
         [0053]    As shown in the exemplary screenshot of  FIG. 49 , production team members can manage plays for presentation to fans. They can enter multiple name types for plays  4901  and a fan playbook description  4902 , and attach a simple play diagram  4903 . 
         [0054]    Coaches/coordinators can pick plays to be voted on by fans as shown in the exemplary screenshot of  FIG. 50 . Coaches/coordinators can access the screen from a unique URL of the coach application  5000 . Coaches/coordinators log in, click on 3 plays  5001 , and click on a Commit Plays button  5002  to confirm the choice. If no plays are committed, the system automatically assigns 3 plays after a given period of time (e.g., 7 seconds). The Coach receives the play that won the highest percentage of votes  5100  as shown in the exemplary screenshot of  FIG. 51 . 
         [0055]      FIG. 52  shows a screenshot of a coach application, according to some embodiments of the present disclosure. Coach application can communicate game status  5200 . Game status can include a game quarter, a score, location of the ball, team with possession, and down information. Coach application also allows a coach to choose plays sent to fans  5202 . Plays sent to fans can include either pre-defined bundles of plays (e.g., in bundles of three) or individually-selected plays  5204 . Coach application can include a visual depiction of selected plays to the coach  5205 . Coach application can also allow the coach to override and select a singular play for a number of times a game  5206 . 
         [0056]    As shown in  FIG. 53 , in accordance with one or more embodiments, a coach can also elect to override the vote and select the play himself or herself. Coaches can be allowed a certain number of overrides per half (e.g.,  4 ), and users can be notified immediately with a push notification on their device. 
       Coach Management System 
       [0057]    According to some embodiments, a Coach Management System allows coaches to select their plays during games and coordinate other aspects of planning and executing plays during a game. An interface allows coaches to pick a set of plays offered to fans during each play, to see the winning play selected by fans, and to call “overrides” when they have to get their play run. 
         [0058]    In some embodiments, the Coach Management System allows football coaches to manage everything about a football team, as described in more detail below. Briefly, a roster module can store the names, profiles, and video of all players. Scouting can keep the profiles and assessments of all potential draftees and opposing players. Medical Manager can track all injuries, readying them for the injury report. Playbook can give coaches a place to create any play they want, to organize each play by any attribute, and to create installs, scripts, and game plans for any situation. Calendar can allow assistant coaches to structure daily coaching plans that roll up into weekly and seasonal plans managed by head coaches. Analytics can allow coaches to understand the performance of all plays by situation, package and player. 
         [0059]      FIG. 54  is a screenshot illustrating a coaching management system overview, according to some embodiments of the present disclosure. The Coaching Management System can enable efficient, data- and system-driven management of most aspects of a football team, including: Personnel management, Playbook management, Game plan management, Player education, Scouting and Injuries  5400 . For personnel management, the system will capture past and current of player(s), plays the player partakes in and the performance of that player in given situations—home, away, etc. For Playbook management, the system will capture all aspects of the playbook from individual plays, video links of the play, players associated with the play etc. For Game Plan Management, the system will allow the coaching staff to detail out all aspects of the upcoming opponent and plan out the game by quarter, by player personnel, by situations like down and distance etc. For Scouting and Injuries, the system would like with scouting reports, interface with video footage of scouting sessions and offer real-time insights on injuries directly from the training and strength and conditioning staff. 
         [0060]      FIG. 55  is a screenshot illustrating a play section within a coaching management system playbook, according to some embodiments of the present disclosure. From the play section, a coach can store plays  5500 , filter plays by situation (e.g., down, distance, zone, game time, etc.)  5501 , filter plays by package  5502  (an indicator of the number of running backs, tight ends, and receivers on the field), filter plays by type (e.g., run, pass, play action, special teams, etc.)  5503 , and add plays  5504 . Adding a new play involves entering a play name, illustrating the action of the play, and attaching the appropriate filters to the play. 
         [0061]      FIG. 56  is a screenshot illustrating a bundles section within a coaching management system playbook, according to some embodiments of the present disclosure. In the bundles section, plays can be organized into bundles of multiple plays (e.g., three plays) that can be selected by a coach  5601 . Each bundle represents a reasonable set of plays for a given game scenario—a set that makes sense for the coach and the fan. Organizing plays into bundles makes it easier to present multiple plays to voting fans. The bundles are entered into the system  5602  at the direction of the coach orchestrating the game plan and typically calling the plays. A coach may assign a bundle number such as “R12”  5603  so that it is easier to call plays during a live game. 
         [0062]      FIG. 57  is a screenshot illustrating an installs section within a coaching management system playbook, according to some embodiments of the present disclosure. In the installs section, plays can be organized into groups of installs. In some embodiments, installs include plays that teams will learn in an upcoming period of time  5701 . Installs can be sorted by date  5702  and new installs can be added  5703 . 
         [0063]      FIG. 58  is a screenshot illustrating a player roster section in a coaching management system, according to some embodiments of the present disclosure. In the roster section, players on the roster can be stored  5800 , sorted and searched by various attributes  5801 . For example, a member of the coaching staff could sort/filter the players by offense, defense or special teams. Players can be assigned to groups  5802 , which indicate the position they play. They can also be assigned to packages  5803 , which indicate the number of running backs, tight ends, receivers and other personnel on the field, sometimes called the personnel grouping. Players can be viewed by groups  5900 , as shown in the exemplary screenshot of  FIG. 59 , and by packages  6000 , as shown in exemplary screenshot of  FIG. 60 . 
         [0064]      FIG. 61  is a screenshot illustrating a personnel view in a coaching management system, according to some embodiments of the present disclosure. Personnel view includes access to detailed personnel information, such as participation in formations and play statistics  6100 . 
         [0065]      FIG. 62  is a screenshot illustrating a game plan section in a coaching management system, according to some embodiments of the present disclosure. In the game plan section, game plans for an upcoming weekend can be created  6200 . Plays can also be selected for a game sheet  6201 , pages can be added to a game board  6202 , plays can be dragged in or out of a game plan  6203 , columns of plays can be cleared  6204 , and game plans can be saved  6205 . A game plan  6200  is embodied within a game board. A game board is made up of one or more game sheets. A game sheet is made up of multiple scripts  6300 , described below, and plays organized by situation. 
         [0066]      FIG. 63  is a screenshot illustrating script creation in a coaching management system, according to some embodiments of the present disclosure. In some embodiments, a script includes a series of plays run in sequence during specific scenarios: start of game, start of second half, goal line within the five yard line, etc. Plays can be added to a script from other scripts and playlists  6302 . Scripts can be created  6300  and assigned to a practice day  6300 . Scripts can also be assigned to be practiced for specific game and opponents  6400 , as shown in the exemplary screenshot of  FIG. 64 . 
         [0067]      FIG. 65  is a screenshot illustrating a game plan play sheet section in a coaching management system, according to some embodiments of the present disclosure. A play sheet  6500  can be generated that allows quick selection of bundles and plays during a game. For example, a member of the coaching staff can see all of the bundles (sets of plays) for the situation 3 rd  and long. This allows the coaching staff to quickly choose the plays to push out to fans based on the situation on the field. 
         [0068]      FIG. 66  is a screenshot illustrating a calendar section in a coaching management system, according to some embodiments of the present disclosure. A schedule can be created to install a game plan for a specific game  6600 . Game plans can be organized by category  6601 , assigned to time slots in a calendar  6602 , and organized for viewing by day or week  6603 . A schedule can also include a scroll feature to view earlier and later events  6604 . Events for the day can also appear in list format to identify points of emphasis for the day  6605 . Points of emphasis could mean players on the injury report who won&#39;t be reporting to practice, for example. Events can also be viewed by week, as shown in the exemplary screenshot of  FIG. 67 . A team schedule can be viewed by week  6701  and events can be organized by time slot and emphasis  6702 . A team schedule can also be viewed by day  6800 , as shown in the exemplary screenshot of  FIG. 68 . 
         [0069]      FIG. 69  is a screenshot illustrating scouting reports in a coaching management system, according to some embodiments of the present disclosure. Scouting reports can be viewed and sorted by date  6900 . Scouting reports can also be created  6901 . 
         [0070]      FIG. 70  is a screenshot illustrating analytics in a coaching management system, according to some embodiments of the present disclosure. A variety of analytics reports can be delivered by team, game, opponent, offense, and defense  7000 . 
       Referees/Admin 
       [0071]    As shown in the exemplary screenshot of  FIG. 71 , the administrator (admin) can manage a game by accessing the system through a unique URL and login  7101 . The admin can enter down, distance, score, quarter, time (and save changes) during a game  7102 . The admin can start the next set of plays once the referee (on the field) has placed the ball  7103 . At this point, the coaches will receive a notification on their app that they have a set amount of time (e.g., 7 seconds) to input the next set of plays. The admin can also indicate a change in possession as needed, at which time a push notification will be sent out to all users that offense and defense has switched. 
         [0072]      FIG. 72  shows a screenshot of a referee application, according to some embodiments of the present disclosure. A referee application indicates a status of the system. A status of the system is described in more detail below. Briefly, a status of the system can include ready for next play, coaches selecting plays, etc.  7200 . A referee application can include a link to initiate a play  7201 , to release a winning play (e.g., results of a play) to the fans  7202 , and to switch possession of the ball to indicate which team is on offense and defense  7203 . There can also include an input to select coach selection time and fan voting time. Coach selection time and fan voting time can define the length of states during a poll, as described in more detail below. 
       Game Day/Non-Game Day Production Personnel 
       [0073]    Production personnel can access the system as shown in the exemplary screenshot of  FIG. 73 . Production personnel can view participation statistics in real time of concurrent users on the system  7300 , send notifications if they are not participating  7301 , troubleshoot for technical issues  7302 , and alert Marketing/Customer service to flag for retention and participating strategies like rewards, etc.  7303 . 
       Team Product Marketing/Customer Service 
       [0074]    As shown in the exemplary screenshot of  FIG. 74 , the system allows product marketing/customers service to view participation statistics in real time as well as analyzing data during non-games  7401 . They can use data to custom tailor “MyStat”  7402  and MyAchievements” to various fans. They can also tap the fan analytic database to reach out to inactive fans and try to re-engage them and other marketing/service details  7403 . 
       Game Engine: Finite State Machine 
       [0075]      FIG. 75  illustrates an exemplary finite state machine, according to some embodiments of the present disclosure. The Game Engine is a system for organizing and running an official football game. This includes orchestrating exchanges between the fans, coaches, and referees via a central software solution. 
         [0076]    The system is modeled as a finite state machine. This means the system is in exactly one state at any given time. As different actions occur (referee pushing a button, timer completed, etc.) the system moves onto other states. These states define what is possible and occurring at any given moment. The finite machine can be executed by a computing device. 
       (1) Pregame  7501   
       [0077]    When a new game is created and scheduled, its first state is the “pregame” state. The system has been configured with two teams, but the game hasn&#39;t actually started yet. In this state users will be able to interact with the game in different ways from when the game is running. This might include interactions/planning with their team coach. 
         [0078]    The only action from here that will change the state of the game is having the appropriate official input the command to start the game (via the Admin Application). This will transition the game to the state “coach creating polls”. 
         [0079]    All states except “pregame” and “game over” are considered to mean the game is currently “active”. 
       (2) Coach Creating Polls  7502   
       [0080]    This state means the coaches are currently selecting plays for inclusion in polls that will be sent out to and voted on by fans. Coaches may also submit a “coach override” during this time. In this state, the system accepts play choice options for a poll from the Coach Application. A timer is started which can automatically transition to the “notifying fans of polls” state. The timer can range between 1 second and 60 seconds. In some embodiments, the timer is set for seven seconds. 
       (3) Notifying Fans of Polls  7503   
       [0081]    This state means the system is currently working to send both polls (one for each team) to their fans. In this state, coaches are no longer able to submit play choice options for a poll. A timer is started that will automatically transition to the “fan voting” state. The timer can range between 1 second and 60 seconds. In some embodiments, the timer is set for two seconds. The system verifies that each coach was able to create a poll. If a coach didn&#39;t create their poll, the system can create a poll for them and populate it with three random play options. Once both polls are ready they are transmitted to all fans. 
       (4) Fan Voting  7504   
       [0082]    This state means the system is accepting votes from all fans. In this state, the poll sent to the fan in the previous state is made visible now. Vote submissions are now accepted by the system. A timer is started which automatically transitions the game to the “notify everyone of results” state. The timer can range between 1 second and 60 seconds. In some embodiments, the timer is set for ten seconds. 
       (5) Notifying Users of Results  7505   
       [0083]    This state means the system is sending out vote results to all fans and coaches. In this state, votes are no longer accepted by the system. Poll voting results are tabulated and a winning play or a tie is determined for each poll. A summary of each poll results are broadcast to all fans and coaches. A record of the vote summaries is stored for future use. A timer is started which automatically transitions the game to the “play in action” state. The timer can range between 1 second and 60 seconds. In some embodiments, the timer is set for two seconds. 
       (6) Play in Action  7506   
       [0084]    This state means that the winning plays are now being executed on the field by the actual football players. The system is waiting for input via the Admin Application about the final result of the play. Depending on the results, the game can transition into two different states:
       1. If the system determines the game is over then the game transitions into the state “game over”.   2. If the game is not technically over, then the system waits for a command from an official to start the next entire polling process. This is done by transitioning the game into the “coach creating polls” state again.       
 
       (7) Game Over  7507   
       [0087]    In this state the game is now over and is no longer capable of going back to any of the other states. 
         [0088]    In some embodiments, the total execution time for the first four states is under 100 seconds. In some embodiments, the total execution time is in between 30 and 60 seconds. 
         [0089]    The processes of the live-game system described above may be implemented in software, hardware, firmware, or any combination thereof. The processes are preferably implemented in one or more computer programs executing on a programmable computer (which can be part of the computer server system) including a processor, a storage medium readable by the processor (including, e.g., volatile and non-volatile memory and/or storage elements), and input and output devices. Each computer program can be a set of instructions (program code) in a code module resident in the random access memory of the computer. Until required by the computer, the set of instructions may be stored in another computer memory (e.g., in a hard disk drive, or in a removable memory such as an optical disk, external hard drive, memory card, or flash drive) or stored on another computer system and downloaded via the Internet or other network. 
         [0090]    Having thus described several illustrative embodiments, it is to be appreciated that various alterations, modifications, and improvements will readily occur to those skilled in the art. Such alterations, modifications, and improvements are intended to form a part of this disclosure, and are intended to be within the spirit and scope of this disclosure. While some examples presented herein involve specific combinations of functions or structural elements, it should be understood that those functions and elements may be combined in other ways according to the present disclosure to accomplish the same or different objectives. In particular, acts, elements, and features discussed in connection with one embodiment are not intended to be excluded from similar or other roles in other embodiments. 
         [0091]    Additionally, elements and components described herein may be further divided into additional components or joined together to form fewer components for performing the same functions. For example, the computer server system may comprise one or more physical machines, or virtual machines running on one or more physical machines. In addition, the computer server system may comprise a cluster of computers or numerous distributed computers that are connected by the Internet or another network. 
         [0092]    Accordingly, the foregoing description and attached drawings are by way of example only, and are not intended to be limiting. 
         [0093]    Those of skill in the art would appreciate that the various illustrations in the specification and drawings described herein can be implemented as electronic hardware, computer software, or combinations of both. To illustrate this interchangeability of hardware and software, various illustrative blocks, modules, elements, components, methods, and algorithms have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware, software, or a combination depends upon the particular application and design constraints imposed on the overall system. Skilled artisans can implement the described functionality in varying ways for each particular application. Various components and blocks can be arranged differently (for example, arranged in a different order, or partitioned in a different way) all without departing from the scope of the subject technology. 
         [0094]    Furthermore, an implementation of the communication protocol can be realized in a centralized fashion in one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system, or other apparatus adapted for carrying out the methods described herein, is suited to perform the functions described herein. 
         [0095]    A typical combination of hardware and software could be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein. The methods for the communications protocol can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which, when loaded in a computer system is able to carry out these methods. 
         [0096]    Computer program or application in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) conversion to another language, code or notation; b) reproduction in a different material form. Significantly, this communication protocol can be embodied in other specific forms without departing from the spirit or essential attributes thereof, and accordingly, reference should be had to the following claims, rather than to the foregoing specification, as indicating the scope of the invention. 
         [0097]    The communications protocol has been described in detail with specific reference to these illustrated embodiments. It will be apparent, however, that various modifications and changes can be made within the spirit and scope of the disclosure as described in the foregoing specification, and such modifications and changes are to be considered equivalents and part of this disclosure.