Live hosted online multiplayer game
Claim Score by NHIP
Abstract
A live-hosted multiplayer online gaming system includes a plurality of game clients, a game controller, and a live-operator input. The game controller includes logic to operate a live-hosted multiplayer online game, logic to couple the game controller to the plurality of game clients via a network, and logic to receive inputs from and to send outputs to the plurality of game clients. The live operator console further includes logic to couple the live operator input to the game server to enable communication between the live operator input and the game controller, logic to synchronize the live operator input to the current game state, and logic to send messages to the game controller that cause the game controller to create events that control at least in part the execution of the live hosted multiplayer online game.

Term
1 yearto projected expiry
Projected expiry 10 September 2027, counted from filing; an application has no term until it is granted.
- Priority and filed
- Published
- Today
- Projected expiry
49 claims: 2 independent, 47 dependent
- 1Broadest claimClaim Score 52, average(NHIP)A live-hosted multiplayer online gaming system comprising:. a plurality of game clients;a network that provides for data communication to and from game clients;a game controller, coupled to the network, comprising: logic to operate a live hosted multiplayer online game;logic to couple the game controller to at least some of the plurality of game clients via the network;and logic to receive inputs from and to send outputs to the at least some of the plurality of game clients;and a live operator console comprising: logic to couple live operator input to the game server to enable communication between the live operator input and the game controller;logic to synchronize the live operator input to a current game state maintained by the game controller;and logic to send messages to the game controller that cause the game controller to create events that control at least in part the execution of the live hosted multiplayer online game.
- 28A method for operating a live hosted multiplayer online game comprising:registering a plurality of video game clients to participate in the live hosted multiplayer online game;registering a live host console to provide a user interface for a live host to control and monitor the live hosted multiplayer online game;publishing a question to the plurality of video game clients;receiving a set of responses from the plurality of video game clients;creating a summary of the set of responses received from the plurality of video game clients;sending the summary of the set of responses to the live host console;receiving an event request from the live host console;and transmitting a game content to the plurality of client video game clients in response to the event request.
Independent claims2
177 paragraphs in 4 sections, as filed
BACKGROUND OF THE INVENTION
0001The present invention relates generally to video games and in particular to multiplayer online video games that allow multiple persons to play a game via a network.
0002The advent of the Internet has not only revolutionized global communications, but it has also revolutionized the way that people play video games. Video games have evolved to take advantage of the nearly instantaneous global communications provided by the Internet in order to provide rich multiplayer online gaming experiences where players from all over the world compete and/or interact with one another. Players experience a synchronized game environment where they can play the same game at the same time regardless of their individual geographic locations. Some online multiplayer games can support from hundreds to thousands of concurrent users playing the same game at the same time.
0003The global internetwork of networks referred to as the Internet is used here as an example of a network that connects multiple player client systems. Other networks might be used, or variations of the Internet (an extranet, intranet, WAN, metro-network, etc.) might be used, so it should be understood that unless otherwise indicated, the descriptions here are not limited to networking over the Internet.
0004A typical setup involves one or more game servers coupled to multiple player client systems over a network. Players may interact as part of an online multiplayer game using their clients that might be implemented using one or more of a number of client-side platforms, such as a personal computer (PC) or a video game console such as the Microsoft XBox 360, the Sony PlayStation 3 (PS3) and the Nintendo Wii. The game server(s) for multiplayer online games generally register the actions of each individual player as indications of those actions are received from the player system and then update the shared gaming environment representing the game play accordingly and convey such information to the player systems. The network allows game players to be widely distributed over a large geographic area and remote from the game servers.
0005Typically, the player client has software (or uses software not specific to the game) and the game servers have software and collectively the programs running in those locations have state. The state of the various programs may define what is happening in the game environment and what can happen next. For example, the game environment might be a race track and the state of the game might be represented by data stored at a game server and that state might dictate that one red car is ahead of one blue car, etc. The player client software (game-specific or otherwise) should then have instructions on how to interpret that state and provide appropriate displays, processing, etc. for the player consistent with that state.
0006A number of different game genres have been adapted to the online multiplayer game format including role playing games, simulations and action games. Role playing games are generally based in a persistent virtual fantasy world and players assume the role of a character that takes part in a number of quests or challenges either in conjunction with or in competition with other players. Simulation type games provide a persistent virtual world in which characters interact with one another and with the virtual game world. Simulation-type games may also provide players with a number of tasks to be completed.
0007With the increasing demands of customers for ever richer gaming experiences, advances in online video games are needed.
BRIEF SUMMARY OF THE INVENTION
0008A video game system according to embodiments of the present invention provide for live-hosted multiplayer online video games that allow multiple players to play a game at the same time over a network while interacting with a live host that interacts to alter game state and flow via a live host console system coupled directly or indirectly to player systems and one or more game servers.
0009In one embodiment of the present invention, a live-hosted multiplayer online gaming system includes a plurality of game clients, a game controller, and a live-operator input. The game controller includes logic to operate a live-hosted multiplayer online game, logic to couple the game controller to the plurality of game clients via a network, and logic to receive inputs from and to send outputs to the plurality of game clients. The live operator console further includes logic to couple the live operator input to the game server to enable communication between the live operator input and the game controller, logic to synchronize the live operator input to the current game state, and logic to send messages to the game controller that cause the game controller to create events that control at least in part the execution of the live hosted multiplayer online game.
0010In another embodiment, a method for operating a live hosted multiplayer online game is provided. The method includes the steps of registering a plurality of video game clients to participate in the live hosted multiplayer online game; registering a live host console to provide a user interface for a live host to control and monitor the live hosted multiplayer online game; publishing a question to the plurality of video game clients; receiving a set of responses from the plurality of responses received from the plurality of video game clients; creating a summary of the set of responses received from the plurality of video game clients; sending the summary of the set of responses to the live host console; receiving an event request from the live host console; and transmitting a game content to the plurality of client video game clients in response to the event request.
0011Other features and advantages of the invention will be apparent in view of the following detailed description and preferred embodiments.
BRIEF DESCRIPTION OF THE DRAWINGS
0012<figref idref="DRAWINGS">FIG. 1</figref> depicts a block diagram of an exemplary live hosted online multiplayer game system according to one embodiment of the present invention.
0013<figref idref="DRAWINGS">FIG. 2</figref> depicts a block diagram of an exemplary game server that hosts one or more live hosted online multiplayer video games according to one embodiment of the present invention.
0014<figref idref="DRAWINGS">FIG. 3</figref> depicts a block diagram of an exemplary video game client adapted to play a live-hosted video game according to one embodiment of the present invention.
0015<figref idref="DRAWINGS">FIG. 4</figref> depicts a flow diagram of a process for registering a live host console with a game show system.
0016<figref idref="DRAWINGS">FIG. 5</figref> depicts a flow diagram of a process for inserting an event into a game show event queue.
0017<figref idref="DRAWINGS">FIG. 6</figref> depicts a flow diagram of a process for connecting a video game client to a live hosted online multiplayer game.
0018<figref idref="DRAWINGS">FIG. 7</figref> depicts a block diagram of an exemplary game controller which controls the operation of one or more online multiplayer video games.
0019Reference to the remaining portions of the specification, including the drawings and claims, will realize other features and advantages of the present invention. Further features and advantages of the present invention, as well as the structure and operation of various embodiments of the present invention, are described in detail below with respect to the accompanying drawings. In the drawings, like reference numbers indicate identical or functionally similar elements.
DETAILED DESCRIPTION OF THE INVENTION
0020One skilled in the art will recognize that the teachings of the figures and this disclosure as depicted as examples of implementations of the present invention, and that many other implementations are possible without departing from the essential characteristics of the present invention.
0021A disadvantage of prior online multiplayer games is that the players are limited to interacting with other players and/or computer-controlled characters that are part of the game environment. Computer-controlled characters are often programmed with build-in artificial intelligence that allows the characters to respond and interact with human-controlled characters. However, computer-controlled characters are limited by their programming, sometimes leading to less compelling and engaging game play.
0022With the addition of a live host console, a live host can interact with the players and affect the game play, such as to help maintain the continuity and flow of the game. The host can ask questions of the contestants that the contestants must answer in order to earn points or win prizes. The host can play a crucial role in the game by helping maintain the excitement and anticipation experienced by the game players. Unlike a live host that is present in most televised game shows, the computer-controlled hosts found in online games only have a limited ability to respond to events that occur during the course of a game.
0023<figref idref="DRAWINGS">FIG. 1</figref> depicts an exemplary live hosted online multiplayer game system <b>100</b> (“game system”) according to one embodiment of the present invention. Game system <b>100</b> is a client-server architecture comprising client device <b>110</b>, network <b>112</b>, game server <b>130</b>, ticker server <b>132</b>, advertising server <b>134</b>, resource server <b>136</b>, live host console <b>140</b>, game controller <b>160</b>, and offline administration console <b>180</b>.
0024Client device <b>110</b> is a network-enabled consumer electronic device configured to execute a set of software applications that enable a user to play a video game. In specific embodiments, client device <b>110</b> is a consumer electronic device with a video display output such as a personal computer (such as a desktop, laptop, or handheld computer), a personal digital assistant (PDA), mobile phone or a video game console (such as the Microsoft XBox 360, Nintendo Wii, or Sony PlayStation 3). In some embodiments, client device <b>110</b> has at least a portion of software required to execute the game stored on removable media <b>320</b> such as a CD-ROM, DVD-ROM or magnetic disk. In other embodiments, software required to execute the game is stored in a persistent memory installed in client device <b>110</b>, such as a magnetic or optical disk drive, a read-only memory (ROM) or a flash memory. In yet other embodiments, at least a portion of the software required to execute the game is accessed by client device <b>110</b> from game server <b>130</b> and is downloaded to client device <b>110</b>.
0025Client device <b>110</b> is connected to network <b>112</b>, enabling two-way communications with game server <b>130</b>, ticker server <b>132</b>, advertising server <b>134</b>, and resource server <b>136</b>. An exemplary client device is further described in <figref idref="DRAWINGS">FIG. 3</figref>. Network communications are well known in the art of communications, and a person having ordinary skill in the art would appreciate that network <b>112</b> provides communication means for sending and receiving signals. The communications means may include wireless communication means (such as through radio signals or other electromagnetic radiation, or other means of communication no requiring a physical connection between a transmitter and receiver) and/or physical or wired communication means utilizing physical links between a transmitter and receiver such as copper wire, fiber optic cable). In a preferred embodiment, network <b>112</b> is the Internet, the globally-interconnected system of networks that connects computers around the world, and resource server <b>136</b>, advertising server <b>134</b>, ticker server <b>132</b>, and game server <b>130</b> communicate with client device <b>110</b> via the Internet.
0026Game controller <b>160</b> is a network-connected server or servers that control operation of a live-hosted multiplayer online game, including controlling interactions among the various components of game system <b>100</b>. In some embodiments, game controller <b>160</b> hosts more than one live-hosted multiplayer online game simultaneously, allowing game system <b>100</b> to be used to support multiple online multiplayer games.
0027Game controller <b>160</b> maintains an event queue for each game that game controller <b>160</b> hosts. The event queue maintains the integrity of the state of an active online multiplayer game by ensuring that game events that affect the state of the game occur sequentially and do not conflict with one another. <figref idref="DRAWINGS">FIG. 5</figref> provides a detailed description of a process <b>500</b> for inserting events into the event queue. Game controller <b>160</b> also maintains an in-memory database containing data reflecting the current state of a live hosted online multiplayer game such as the current number of game clients registered for a particular game, the number of right answers that were provided for a particular question, and the average number of tokens wagered for a particular game. Game controller <b>160</b> provides querying and reporting facilities that enable other components of the system, such as live host console <b>140</b> to submit queries to be run against the in-memory database.
0028Game server <b>130</b> is a network-connected server that transmits game content to a plurality of client devices <b>110</b>. Game content may include graphics, executable program code, game data, and other information related to a particular game being hosted on the game server. Game server <b>130</b> has bi-directional communications with game controller <b>160</b>. Game server <b>130</b> instructs game server <b>130</b> to provide content to the plurality of client devices <b>110</b> connected to game system <b>100</b>. In some embodiments, game server <b>130</b> is configured to provide content for one or more games. In yet other embodiments, game system <b>100</b> comprises a plurality of game servers <b>130</b> that provide content to a plurality of client devices <b>110</b>.
0029Ticker server <b>132</b> is a network-connected server that broadcasts ticker messages to a plurality of client devices <b>110</b>. The ticker messages are sent to the plurality of client device <b>110</b> via network <b>112</b> in response to a ticker message transmitted by game server <b>160</b> to ticker server <b>132</b>. The plurality of client devices <b>110</b> receive the ticker messages via network <b>112</b> and display the messages on a ticker portion of a user interface of the plurality of client devices <b>110</b>. In some embodiments, the ticker portion of the user interface of the plurality of client devices <b>110</b> displays the ticker message in a scrolling action, generally from right to left. In some embodiments, a user may configure client device <b>110</b> to not display ticker messages, to temporarily halt the ticker, to change the speed of that the ticker scrolls the messages and/or to save the ticker messages for later review. The content of the ticker messages comprises textual content related to a game in which the user is currently participating, such as information regarding the number of players participating in the game, a set of high scores for the game and the usernames of the players that have achieved the high scores, and the number of questions remaining in the session. In some embodiments, ticker server <b>132</b> communicates with game controller <b>160</b> via network <b>112</b>. In some embodiments, ticker server <b>132</b> communicates with game controller <b>160</b> via an intermediary network that is independent from network <b>112</b> and provides for communication among the components of game system <b>100</b>. In yet other embodiments, ticker server <b>160</b> may be incorporated into game controller <b>160</b>.
0030Advertising server <b>134</b> is a network-connected server that transmits advertising data to the plurality of client devices <b>110</b> registered with game system <b>100</b>. Advertising server <b>134</b> is configurable to broadcast an advertisement to all or a portion of the plurality of client devices <b>110</b>. In an embodiment, advertising server <b>134</b> is configurable to send targeted advertising content to a particular subset of the plurality of client devices <b>110</b>. For example, the subset of the plurality of client devices to which to send the targeted advertising content may be determined based upon a number of parameters, such as user demographic information such as geographic location or user gaming history. In an embodiment, advertising server <b>134</b> may also receive messages from the plurality of client devices <b>110</b> based upon events that occur at the plurality of client devices <b>110</b>, such as a user clicking upon a particular advertisement or a user makes a change to his or her user profile indicating a change to his or her advertising preferences.
0031In some embodiments, advertising server <b>134</b> communicates with game controller <b>160</b> via network <b>112</b>. In some embodiments, advertising server <b>134</b> communicates with game controller <b>160</b> via an intermediary network that is independent from network <b>112</b> and provides for communication among the components of game system <b>100</b>. In yet other embodiments, advertising server <b>134</b> may be incorporated into game controller <b>160</b>.
0032Resource server <b>136</b> is a network-connected server that provides static game-related resources to the plurality of client devices <b>110</b>. Resources comprise game related content such as questions, polls, buyable items such as flair, pieces of face, and power-ups. Specific examples of resources and how resources are utilized in a live hosted online multiplayer game are provided with regard to the Online Administration module described below.
0033Game controller <b>160</b> instructs resource server <b>136</b> to provide resources to the plurality of game devices based upon events that occur in the event queue maintained by game controller <b>160</b>. For example, in response to a show-question event, game controller <b>160</b> sends a show-question message to resource server <b>136</b>. Resource server <b>136</b> receives the message and transmits the question content to the plurality of client devices <b>110</b> to be displayed on a user interface of the plurality client devices <b>110</b>.
0034Live host console <b>140</b> allows a game show host to monitor the events of a game in real-time and to react to game events. For example, the game show host may monitor the number of correct and incorrect responses to a particular question and provide feedback to the players of the game. In an exemplary game situation, a question is posed to the players and game controller <b>160</b> receives a plurality of responses from the players and sends a summary of the results to live host console <b>140</b> which displays the summary for the game show host. The game show then reacts to those results by sending a text message to be displayed on a user interface of the plurality of client devices <b>110</b> participating in the game that states “Wow, only 30% of you got that one correct. It must be a toughie!” In other embodiments, live host console <b>140</b> is configured to transmit feedback from the game show host via an audio and/or video stream that is transmitted to the plurality of client devices <b>110</b>. Live host console <b>140</b> captures an analog audio and/or video data stream and converts the data stream to a digital format before transmitting the data to the plurality of client devices <b>110</b>. For example, in some embodiments, a live audio stream commentary from the operator host is converted to MP3 (MPEG-1 Layer 3) digital audio format before being transmitted to the plurality of client devices <b>110</b>. The client devices <b>110</b> receive and play back the digital audio/visual data stream. Furthermore, in some embodiments, game system <b>100</b> comprises a plurality of live host consoles <b>140</b> allowing for multiple game show hosts to participate in the same live hosted online multiplayer game. Synchronization of system events is handled by game controller <b>160</b>, which prevents the multiple game show hosts from accidentally issuing simultaneous commands that conflict with one another. In order to participate, each live host console <b>140</b> might send a request to execute an event to game controller <b>160</b> and game controller <b>160</b> handles the insertion of the event into the event queue. <figref idref="DRAWINGS">FIG. 5</figref> describes a process <b>500</b> for inserting an event into the event queue.
0035Live host console <b>140</b> also provides a front-end for accessing game show data housed on the in memory database maintained by game controller <b>160</b> and for monitoring and controlling a number of game-related events. Live host console <b>140</b> provides a game show host with a variety of information required to administer an active game. For example, the game show host may request from live host console <b>140</b> a summary of a current game show session including information such as a theme (e.g., NBA Finals—Game 6) and a number of talking points that the host may wish to address during the course of the game show. In an embodiment, game server <b>130</b> and game controller <b>160</b> provide the information necessary for a game show host to administer an active game.
0036Furthermore, in an embodiment, live host console <b>140</b> provides the game show host with the ability to access and display on a user interface a variety of game related information including a wagering summary, a last question summary, poll results, affiliations summary, player information, and raffle details and results and the like. The wagering summary might provide details such as to the number or percentage of users participating in the live hosted online multiplayer game that have made wagers, an average wager per player, a percentage of successful wagers, an average successful wager amount, and/or total amount lost by users in wagers. The last question summary provides details such as the number of users participating in the live hosted online multiplayer game that attempted to answer the last question, the percentage of users that answered correctly, the difficulty level for the question. The poll results summary provides the number of users participating in the live hosted online multiplayer game that responded to a user poll, the number of players that responded who chose each the predefined responses to the poll and a percentage of players that selected each of the predefined responses to the poll.
0037The affiliations summary displays a listing of players who have selected an affiliation (a player chosen category such as “Yankees fan”). Affiliations are described in greater detail with regard to offline administration console <b>180</b> and the resource creation tool. The player information summary includes information for individual users in various categories such as top 10 users in a specific affiliation, top 10 users that have been online the longest, top point earners, top tokens earned (through wagers), top success percentages on wagers. The game show host may also view user demographics summarized into a number of categories. For example, the host may be able to view user demographics by geographic region (e.g., west coast, east coast, Midwest or by state). User demographic information may include a user population count grouped by geographic region and/or by affiliation. Live host console <b>140</b> also provides an interface for viewing raffle-related information including displaying the details of a raffle, displaying the winners of a raffle, and publishing the results to a console screen of live host console <b>140</b>.
0038The game show host may select game-related information provided to live host console <b>140</b> to be published for display on a user interface of the plurality of client devices <b>110</b>. In response to the selection to publish a set of data to the plurality of client devices <b>110</b>, live host console sends a message to game controller <b>160</b> requesting that a publication event be placed on the event queue which results in content being published to the plurality of client devices <b>110</b> when the event is executed.
0039Offline administration console <b>180</b> provides a user interface for game show writers, producers and researchers to enter information necessary to create content for a live hosted multiplayer online game show experience. In an embodiment, the offline administration console <b>180</b> is a computer software package installed on a personal computer or PC. In alternate embodiments, the data entry and verification system may be a web-based application that is installed on a computer server and accessed via a web browser on a network-enabled device such as a personal computer or personal digital assistant. A description of the functionality provided by offline administration console <b>180</b> is provided in more detail below.
0040<figref idref="DRAWINGS">FIG. 2</figref> depicts exemplary game server <b>130</b> according to one embodiment of the present invention. Game server <b>130</b> comprises processor <b>210</b>, clock <b>240</b>, game data <b>230</b>, network interface <b>250</b>, game logic <b>220</b> and user data <b>260</b>. The game server may be conventional computer server or may be a computer server that is specially designed for online multiplayer game system <b>100</b>. In an embodiment, game system <b>100</b> may comprise a plurality of game servers.
0041Network interface <b>250</b> provides connectivity to network <b>112</b> to enable game server <b>130</b> to communicate with the plurality of client devices <b>110</b> and game controller <b>160</b>. Network interface <b>250</b> may comprise either a wired or a wireless connection network <b>112</b>. Clock <b>240</b> is synchronized to a system clock maintained by game controller <b>160</b> in order to ensure proper synchronization of the components of game system <b>100</b>. Much of the game-related content such as the display of questions is time sensitive and should be displayed in the proper order (e.g., questions are displayed before the answer and the players should all receive the questions at as close to the same time as possible). If internal clock <b>140</b> of game server <b>130</b> which serves content to the video game client <b>150</b> becomes unsynchronized with the clock on game controller <b>160</b>, content may be served out the plurality of client devices at the wrong time by game server <b>130</b>.
0042Game logic <b>220</b> is a set of game instructions and software for executing a game. The game logic may be stored in a permanent or semi-permanent form of memory such as a magnetic disk, optical media or read-only memory (ROM). Game logic <b>220</b> may also be stored in a volatile memory such as random-access memory (RAM) in other embodiments. Game logic <b>220</b> is accessed and executed by the processor <b>210</b> in order to execute the game. In some embodiments, game server <b>130</b> may support multiple games, and each game would require its own game logic <b>220</b>. Furthermore, game server <b>130</b> may support multiple instances of a live hosted online multiplayer game being played concurrently. However, the multiple instances of the live host multiplayer game may share the same game logic <b>220</b>.
0043Game data <b>230</b> is game related information stored in a computer memory. The memory may be any sort of read-write memory such as RAM or magnetic disk. Game data <b>230</b> comprises information describing the current state of a game being played on game server <b>130</b>. In embodiments where multiple instances of an online multiplayer game are being played concurrently, game server <b>130</b> will comprise a separate game data <b>230</b> for each instance active instance of the game.
0044User data <b>260</b> consists of game related data that is specific to a particular user. Therefore, there will be at least one user data <b>260</b> for each user that is playing a game hosted by game server <b>130</b> upon which user data <b>260</b> is found. The user data may comprise such user specific information as the user's current score, the user's score history, user's favorites or preferences and/or a listing of the question or questions that the users has gotten correct. Additional user-specific information is maintained in the in-memory database maintained by game controller <b>160</b>.
0045<figref idref="DRAWINGS">FIG. 3</figref> depicts exemplary client device <b>110</b> according to one embodiment of the present invention. Client device <b>110</b> is comprised of processor <b>310</b>, program code <b>312</b>, graphics processor <b>316</b>, RAM <b>314</b> or other volatile memory, and computer-readable media <b>320</b>. Client device <b>110</b> is also coupled to display device <b>325</b> and to one or more input-output devices <b>330</b> (I/O devices). Display device <b>325</b> and I/O devices <b>330</b> provide a user interface to client device <b>110</b> and a means for a user to interact with the live hosted online multiplayer game. In some embodiments, display device <b>325</b> is a stand-alone display device such as a computer monitor, television or LCD panel coupled to client device <b>110</b>. In other embodiments, display device <b>325</b> is component integrated into client device <b>110</b>. For example, client device <b>110</b> may be a laptop computer with an integrated LCD panel display. I/O devices <b>330</b> capture user inputs may comprise a joystick, a keyboard, an electronic tablet, a touch screen, a computer mouse, other devices enabled to capture user inputs and/or a combination thereof. I/O devices <b>330</b> also provide a network interface to enable client device <b>110</b> to communicate with the other components of game system <b>100</b>, including game server <b>130</b>, ticker server <b>132</b>, advertising server <b>134</b>, and resource server <b>136</b>.
0046Computer-readable media <b>320</b> contains executable program code to be executed by processor <b>310</b>. Computer-readable media <b>320</b> may comprise a removable media such as an optical disk (for example, a CD-ROM or DVD-ROM) or a cartridge. In some alternative embodiments, computer-readable media <b>320</b> may not be removable from client device <b>110</b>. For example, the computer media may comprise a persistent memory such as a magnetic disk, optical disk, ROM or EPROM that is integrated into client device <b>110</b>.
0047In some embodiments, client device <b>110</b> may also include program code <b>312</b> stored in an onboard memory. The onboard memory may, for example, comprise a read-write memory such as a magnetic disk, RAM, or an optical medium or, in some embodiments, may comprise a read only memory (ROM). In embodiments where the program code exists in a read-write memory, program code <b>312</b> may be a copy of program code from computer-readable media <b>320</b> or from an external source such as game server <b>130</b>. Program code <b>312</b> may be executed by processor <b>310</b> in conjunction with or independently from the executable program code found on computer-readable media <b>320</b>.
0048<figref idref="DRAWINGS">FIG. 7</figref> depicts a block diagram of an exemplary game controller which controls the operation of one or more online multiplayer video games according to one embodiment of the present invention. Game controller <b>160</b> is comprised of processor <b>710</b>, clock <b>740</b>, network interface <b>750</b>, in-memory database <b>720</b>, and event queue <b>730</b>.
0049Network interface <b>750</b> provides connectivity to network <b>112</b> to enable the game controller <b>130</b> to communicate with resource server <b>136</b>, advertising server <b>134</b>, the ticker server <b>132</b>, game server <b>130</b>, and the plurality of client devices <b>110</b>. Network interface <b>750</b> may comprise either a wired or a wireless connection to network <b>112</b>. Clock <b>740</b> is maintained by game controller <b>160</b> in order to ensure proper synchronization of the components of game system <b>100</b>. Clock <b>240</b> of game server <b>130</b> is synchronized to clock <b>740</b> of the game controller <b>260</b>. Furthermore, live host console <b>140</b> receives clock synchronization messages from game controller <b>160</b> to synchronize the clock of live host console <b>140</b> with clock <b>740</b>.
0050Processor <b>210</b> executes updates to event queue <b>730</b> and in-memory database <b>720</b>. The in-memory database maintains game state data and the game controller provides a facility for querying the data to retrieve current game state information by live host console <b>140</b> in order to provide a game show host with updated information related to the status of a live hosted multiplayer online game. The game controller also maintains event queue <b>730</b> to control the execution of events within game system <b>100</b>. Game controller <b>160</b> receives messages requesting that events be inserted into the queue and game controller <b>160</b> creates a new event and inserts into the appropriate position in event queue <b>730</b>. Creating Game Show Content with the offline administration console
0051Before a live hosted online multiplayer game is ready to be played by users, game content is created and entered into game system <b>100</b> via offline administration console <b>180</b>. Offline administration console <b>180</b> is a collection of tools enabling a production team to define, manage, and monitor the resources that of game system <b>100</b>. In an embodiment, offline administration console <b>180</b> and live host console <b>140</b> are integrated into a single software package where access to specific functionality is determined by a user login and password combination.
System Administration
0052Offline administration console <b>180</b> has a system administration module that enables a system administrator to define a set of users and to assign roles and permissions to those users. The system provides a user interface for entering and/or editing information associated with each user such as a username, the user's first and last names, a contact phone number and email address for the user.
0053A permission defines the level of access to a specific set of functionality that a user is granted. For example, a permission may be defined for creating new questions or polls. Permissions may be directly associated with a particular user in order to enable the user to access the functionality tied to that particular permission.
0054A role comprises a functional grouping of permissions and provides the system administrator with the ability to associate a set of permissions with a user without having to individually assign each permission. Instead, the user is assigned a role or set of roles that have permissions assigned to them. However, the system administrator may also assign individual permissions to a user when necessary. In an embodiment, roles are defined to correspond to jobs associated with the maintenance and operation of the multiplayer online game system <b>100</b>. For example, an executive producer role may be created that comprises all of the permissions required for an executive producer such as being able access and edit game show schedules. Similarly, a resource creator role may be created for resource creators whereby the role comprises permissions necessary for entering and editing data of game show resources such as questions, polls, and prizes. Thus, a resource creator would not be able to access the scheduling functionality that an executive producer would be able to access, while the executive producer would lack the permission to create new resources.
Resource Creation
0055Game system <b>100</b> utilizes a number of resources that are created before the game system is ready to host users. Offline administration console <b>180</b> provides a number of tools for creating and managing resources including: a question management user interface, a poll manager, a category and keyword manager, a theme manager, a metadata manager (for associating metadata with assets), a raffle manager, a skin manager, an affiliations manager, registration manager, a tokens manager, a wagering odds manager, a player levels manager, and a game ticker message manager.
0056The question management user interface enables a user to enter, edit, or delete questions to be used in a game show. The interface also allows the user to browse through a list of existing questions and access and/or edit the contents of the existing questions. The question manager provides the user with the ability to enter data such as a question id, question type, question text, an answer set (including an indicator for determining which of the answers is correct), and a difficulty rating for each question. Questions may also be associated with keywords and/or categories in order to assist in assembling questions to produce a game show program. The number of questions stored in the system may become extensive overtime and it would be unduly burdensome on a user to have to locate questions by scrolling through the list of questions. Therefore, the question management user interface provides a search interface where a user may enter a variety of search criteria for finding existing questions, such as a question id, and a set of keywords to search for in the question text and/or answer text. In some embodiments, the question manager is adapted to link audio and/or video files to questions where the audio and/or video content is presented in addition to or instead of question text. A user may associate the audio and/or video content with the by providing a uniform resource locator (URL) identifying the location of the audio and/or video content.
0057The poll manager user interface enables a user to enter, edit, or delete user polls to be presented to users during a game show. A user poll comprises a poll question seeking user opinion on a survey-type question and a set of responses associated with the poll question. The user votes on a response and the votes from all of those who participated in the survey are tallied to produce a set of poll results. The poll manager user interface provides the user with the ability to enter data such as a poll id, a question type, a poll question text, an answer set (a set of answers related to the poll question upon from which users will select one answer). The poll manager user interface allows polls to be associated with keywords and/or categories. A search interface is also provided for searching for existing user polls.
0058The category and keyword manager user interface enables a user to enter keywords and categories. Keywords are associated with content such as questions and polls to enable game show producers to more readily find content relevant to a particular topic. Categories are broad groupings associated with sets of keywords. For example, a user may define a category “sport” and associate the keywords “baseball,” “football,” and “hockey” to the category. Content such as questions and polls may be linked to both keywords and to categories in enable a game show producer to select content related to very specific topic by searching by keyword and or content related to a broader set of topics by searching by category.
0059The theme manager user interface enables a user to create and edit themes. Themes are collection of category and keyword pairs that are appropriate for a particular game session. For example, a user might create a “NBA” theme which is associated with the category “sport” and the keyword “basketball” in order to find all National Basketball League related polls and/or questions stored in the system. When a user creates a new poll or question, the user associated keywords and/or categories with the newly created poll or question.
0060The metadata manager user interface enables a user to enter and edit metadata associated with resources. For example, in an embodiment of the present invention, users can purchase items including pieces of face, pieces of flair, and power-ups. In an embodiment, the pieces of face are used to provide a graphical representation of the user in the game environment and include component such as skin color, eye color, chin and nose. In an embodiment, pieces of flair are graphical icons that can be associated with a user in the game environment to serve a decorative purpose. Users may collect and/or trade the pieces of flair. A user may purchase a piece of flair for a specified number of tokens (entered via the metadata manager user interface) or may win the piece of flair as a prize in a raffle. In an embodiment, power-ups comprise a set of virtual objects that user can acquire within the live hosted multiplayer online game to provide an advantage to the user such as multiplying the number of tokens that a user possesses or the user's current score by a predetermined multiplier, stopping the game clock for a limited amount of time, or eliminating one or more answer options from an answer set.
0061The raffle manager user interface allows a user to create, edit or delete a raffle. The user interface allows the user to enter data related to a raffle such as an identifier of an item to be awarded as a prize in the raffle, a number of items to be raffled, a description of the item(s) to be raffled, and a location of an image of the item. The interface also allows for raffles to be scheduled to run automatically by providing a start and end time for the raffle. The raffle manager user interface also displays the winners of a raffle that has already been completed. Raffles that are not scheduled may also be run manually from live host console <b>140</b> by a game show host.
0062The skin manager user interface provides a user with the ability to define a set of parameters to provide a customized look and feel to the user interface presented by the plurality of client devices <b>110</b>. Skins may be utilized in a number of ways in a game. For example, skins may be associated with particular game sessions, may be associated with particular users when a user achieves a certain goal or level within the live hosted online multiplayer game, or may be won as a prize during game play.
0063The affiliations manager user interface enables a user to create, edit and delete affiliations and affiliation categories. Affiliations are identifiers associated with a player. Affiliation categories are groups of affiliations. Affiliations may be selected by a player when a player registers with the live hosted online multiplayer game or may automatically be selected by game system <b>100</b> based upon user demographic information. For example, a user might create an affiliation category based upon geographic location called “Location” and associate it with a set of geographic affiliations such as “United States,” “Canada,” “Australia,” and “United Kingdom.” The affiliations may then be associated with a player during the registration process either automatically or through player input.
0064The registration manager user interface allows a user to add, edit, and delete player information. Information such as the first and last name of the player, a postal address, an email address and user preferences may be entered through the registration manager user interface. In an embodiment, the registration manager interface allows the user to enter player preferences such as email newsletter and ticker news feed subscriptions. In some embodiments, a separate user options screen is provided for adding, editing, and deleting user preferences associated with players.
0065The global tokens manager user interface allows a user to edit token settings that apply to the entire game environment of a live hosted multiplayer online game. Tokens represent a type of currency in the game environment. Tokens may be used to purchase items in the game such as power-ups that give a player an advantage for a limited period of time. Tokens may, for example, be awarded to players for correctly answering questions, awarded based upon other predefined criteria, or awarded at the discretion of a game show host presiding over a game. Players may also wager tokens in a game and receive tokens in return for answering a certain number of questions correctly in some embodiments. The global tokens manager user interface provides the user with the ability to configure token-related settings such as the initial number of tokens a user will have, a token limit describing the maximum number tokens that a user may have, the number of tokens received for a correct answer, and the number of tokens awarded for taking a poll.
0066The wagering odds manager user interface allows a user to maintain a set of odds associated with a set of percentages of questions answered correctly. The wagering odds are used to determine an amount of tokens to pay out to a player in return for player getting a certain percentage of questions correct during a game session. For example, the odds may be 1 to 1 where the user gets 50% of the questions correct, meaning that the user will receive 1 token for each token wagered on the game session. However, the odds may increase to 5 to 1 where the user gets 85% of the questions correct, meaning that the user will receive 5 tokens for each token wagered on the game session.
0067The player levels manager user interface enables a user to add, edit, and delete user level information. User level information comprises a set of levels that a player may achieve by successfully answering a specified number of questions correctly. The user interface also provides the ability for a user to associate prizes to be awarded to a player upon reaching each level. For example, the user may enter a number of tokens or a piece of flair to be awarded to a user upon achieving a level. In an embodiment, the piece of flair comprises a badge icon that is associated with a player achieving a specific level. The badge icon associated with each level is unique such that the badge icon is a readily identifiable indicator that a player has achieved a specified level. The badge icon may be displayed on the user interface of the player achieving the level and may be displayed on game screens referencing the user such as a list of high scores for a particular game.
0068The game ticker message manager user interface enables a user to add, edit and delete ticker messages. In an embodiment, a user enters predefined ticker messages that may later be selected for display during a game show. For example, in an embodiment, a user enters ticker-based advertisements received from advertisers prior to a game show session being started. A producer putting together a game show can then select these predefined advertisements from sponsors when scheduling content for a game session. In addition to entering predefined ticker messages created using the game ticker message manager user interface, a game show host may publish ticker messages via live host console.
Schedule Creation
0069The offline administration console provides a set of tools that enable a user to create and to manage a scheduled lineup of game show programming, to define session structures used to schedule a live game show session, and to create programming schedules for actual instances of live game show sessions by adding content such as questions, polls, and ads to the live game show sessions. In an embodiment of the present invention, the schedule creation tools include: weekly schedule templates user interface, session templates user interface, broadcast schedule interfaces including a daily and a weekly schedule interface, and a session editing interface.
0070The weekly schedule templates user interface enables a user to define and modify weekly schedule templates and to generate a week's worth of game show sessions based upon defaults stored in a weekly template. To generate a week's worth of game show sessions from an existing template, the user selects a template from a list of templates, selects a week to schedule. The selected week is populated with the programming contained in the selected template. The user then has the option to adjust the weekly programming by editing the default programming provided by the template.
0071A user may also define a new weekly template through the weekly schedule templates user interface. In defining a weekly template, the user selects a start time of the first and last game show sessions for each day of the week and defines a default game show session length. The default session length denotes how much time should be blocked out for each game show session placed in the template. The user can then generate a default schedule template that is filled in with session stubs for all of the shows to be scheduled for the week.
0072Once the weekly template has been populated with the default session stubs, the user has the option of defining additional data for each of the game show sessions. In some embodiments, the weekly template is color coded to identify portions of the weekly schedule that for which the programming content has not been completely defined. For example, a game show session that is completed undefined is bordered with a black border, while a game show session that is partially defined (some but not all of the data required to schedule the show has been provided) is bordered in yellow, and a game show session that has been completely defined is bordered in green. In an embodiment, the weekly template user interface also provides a search and replace feature that allows the user to quickly perform a search and replace on items in the game show sessions. For example, if there is a programming schedule change and a new session theme is required, the user may conduct a search and replace on all session themes of a first type found in the weekly template and replace them with a session theme of a second type.
0073The session templates user interface allows a user to edit a template for a single game show session. The user interface allows the user to define the length of the game show, the timing of content (i.e., when should the content be broadcast to the client devices) such as questions, polls, and advertisements. The user can insert any number of events that will fit within the total time allotted for the game show session. Once the user has completed editing or creating a new template, the user saves the template and the template can be used to populate default game show session data in a broadcast schedule.
0074The session editing user interface provides an interface for editing an individual broadcast session. The session editing user interface allows a user to add, delete or edit content to be displayed during a game show session such as questions, polls, advertisements and/or audio/video content. The user can select a template created using the session templates user interface to provide a starting point for creating a game show session or the user may create a new session from scratch. The user interface allows the user to set the length of the game show session, to choose a theme, to choose a game show host, and to select a producer for the session. The user may manually select questions and polls to be displayed during the game show session or allow the system to randomly choose questions and polls associated with the theme chosen for the game show session.
0075Then offline administration console provides two user interfaces for viewing game show broadcast schedules: a daily schedule interface and a weekly schedule interface. The daily schedule provides a view of scheduled programming for an entire day. The weekly schedule provides a view of scheduled programming for an entire week. Both views allow a user to select specific game show sessions for editing and allow a user to add or delete sessions from the broadcast schedule.
Live Host Console
0076Before a user can use live host console <b>140</b> to host a live hosted online multiplayer game, live host console <b>140</b> registers with game controller <b>160</b> and the user logs into the system. <figref idref="DRAWINGS">FIG. 4</figref> is a flow diagram of a process for registering live host console <b>140</b> with game controller <b>160</b> according to one embodiment of the present invention. The process begins with step <b>415</b> where live host console <b>140</b> sends a connect message to game controller <b>160</b>. In a preferred embodiment, the connect message is an XML data string and comprising an empty tag “<connect/>” that alerts the game controller that a live host console is attempting to establish a connection. In step <b>425</b>, a determination is made whether the connect request was successful. If the connect request was successful, the process continues with step <b>430</b>. Otherwise, if a connection could not be established, the process continues with step <b>435</b>. In step <b>435</b>, the game controller sends a connect-result message to live host console <b>140</b> indicating that a connection could not be established and the process terminates at step <b>495</b>.
0077Continuing with step <b>430</b>, game controller <b>160</b> sends a connect-result message to live host console indicating that the connection was successful. The connect-result message includes identifiers for one or more event queues maintained by game controller <b>160</b>.
0078Once a connection is established, a user logins to game controller <b>160</b>. In step <b>440</b>, live host console <b>140</b> sends a login message to game controller <b>160</b> comprising a username and password of a user that wishes to connect to game controller <b>160</b>. In an embodiment, the login message may also comprise a port on game controller <b>160</b> to which the live host controller <b>140</b> is to be connected. In step <b>450</b>, game controller <b>160</b> makes a determination whether the user's login credentials are valid. If the username and password combination provided is not valid, game controller <b>160</b> sends a login-result message indicating that the login failed (step <b>465</b>) and the process ends (step <b>495</b>).
0079Continuing with step <b>460</b>, game controller <b>160</b> sends a login-result message indicating that the login was successful. The login-result message comprises a set of permissions associated with the user who has logged into game controller <b>160</b> live host console <b>140</b>. The permissions associated with the user indicate what actions the user may take, such as starting a game or publishing content to players connected to a game. The process continue with step <b>470</b>, where live host console <b>140</b> sends a subscribe-to-event-queue message to game controller <b>160</b> in order to obtain a copy of the event queue contents from game controller <b>160</b>. Game controller <b>160</b> maintains a set of event queues for a live hosted multiplayer online game. In an embodiment, there are multiple event queues to which live host console <b>140</b> may subscribe. Therefore, the subscribe-to-event-queue message will contain a name identifying an event queue to which live host console <b>140</b> is attempting to subscribe.
0080In response to the subscribe-to-event-queue message, game controller <b>160</b> sends an event-queue message including a timestamp indicating the time that the snapshot of the queue was taken and a set of events pending on the queue (step <b>480</b>). A detailed description of the types of events found in game system <b>100</b> is provided below. Once live host console <b>140</b> has subscribed to an event queue, game controller <b>160</b> will send an event-queue message to live host console <b>140</b> each time the queue is updated. Live host console <b>140</b> may unsubscribe to a queue in order to stop receiving updates (step <b>490</b>) by sending an unsubscribe-to-event-queue message to game controller <b>160</b>. In embodiments where live host console <b>140</b> may subscribe to multiple event queues, the unsubscribe-to-event-queue message will include an event queue name identifying a specific queue from which live host console <b>140</b> is unsubscribing. Game controller <b>160</b> will continue to send event-queue messages related to any other queues to which live host console <b>140</b> is still subscribed any time that there is an update to one of those queues. The process terminates at step <b>495</b>.
Events and Event Handling
0081Game controller <b>160</b> maintains an event queue containing all of the events for a currently active game session. As the contents of an event queue change, event-queue messages are transmitted to any live host consoles <b>140</b> that are registered with game controller <b>160</b> and subscribed to the queue that has changed. Event related messages may also be transmitted to a plurality of video game devices <b>110</b> registered with game controller <b>160</b>. Game controller <b>160</b> also maintains an in-memory database containing game and population statistics for the current game.
0082The event queue might comprise three types of events: screen events, ticker events, and sound events. In a preferred embodiment, the events are stored in the queue as a XML string comprising an event type and a set of parameters related to the event. One skilled in the art will recognize that events may be represented in the event queue in a variety of means well known to the art and the use of XML strings in the present embodiment does not limit the scope of the claimed invention.
Screen Events
0083Screen events cause an update to the user interface of the plurality of client devices <b>110</b> registered with game controller <b>160</b>. In the present embodiment, the screen events include: show-question, show-poll, show-poll results, and show-game-leaders. In an embodiment, the game controller instructs game server <b>130</b> to serve content to the plurality of client devices that the plurality of client devices will display on their user interface in response to a screen event.
0084The show-question event instructs the plurality of client devices to display a game show question on their user interface. The game show question comprises a set of text, video and or audio which poses a trivia-type question and a set of pre-defined answers from which the user selects when answering the question. In an embodiment, game controller <b>160</b> sends a show-question message to the plurality of client devices <b>110</b> comprising question text to be displayed to the user, a question number to identify the question, a set of answers from which the user will select a response, and a correct answer to the question. In embodiments where the show-question message includes both the question and the answer to the question, the message includes a parameter indicating how much time should elapse before displaying the correct answer and before displaying the question results.
0085In alternative embodiments, the question and answer may be sent in separate messages. For example, the question is sent in a show-question message, the set of answers is sent in a show-question-answers message, and the correct answer to the question is sent in a show-question-answer message. Game controller <b>160</b> can control the timing of the display of the question, answers and correct answer by sending the message comprising the question, answer, and correct answer at pre-defined intervals to insure that the game content is received in the proper order by the plurality of client devices <b>110</b>.
0086In yet other embodiments, game controller <b>160</b> transmits the show-question message to game server <b>130</b> which transmits the messages to the plurality of client devices <b>110</b> in addition to any additional content that is required from the game server to properly display the question. For example, the question may include audio and/or video content that game server <b>130</b> will stream to the plurality of client devices <b>110</b> for display with the question.
0087The show-poll event is handled in a manner similar to the show-question event. The show-poll event is used to conduct a user poll. A poll comprises a poll question and a set of pre-defined response from which the user may choose a response. Game controller <b>160</b> generates a show-poll message that is transmitted to the plurality of client devices <b>110</b> instructing the client devices <b>110</b> to update their user interface to display the poll content included in the show-poll message. The show poll message comprises poll text to be displayed to the user, a poll number to identify the poll, a set of answers from which the user will select a response, and an amount of time to display the poll on the plurality of client devices <b>110</b>. In an embodiment, game server <b>130</b> receives poll responses from the plurality of client devices <b>110</b> and forwards those responses game controller <b>160</b>. Game controller <b>160</b> then updates its in-memory database with the poll results.
0088The show-poll-results event instructs the plurality of game clients to display the results of a poll on their user interface. Game controller <b>160</b> generates a show-poll-results message and transmits that message to the plurality of client devices <b>110</b> registered with game controller <b>160</b>. In the present embodiment, the show-poll-results message includes the text of the poll, a number of responses associated with each answer (including a total number of votes and a percentage of the total votes), and display format (e.g., bar graph)). Client device <b>110</b> receives the message via the network connection <b>112</b> and updates its user interface to display the contents of the message. The display format parameter of the show-poll-results messages dictates the format in which client device <b>110</b> should display the poll results. The client device may support a variety of display formats, such as, a bar chart, a pie chart, or a text table.
0089The show-game-leaders event instructs the plurality of client devices to display a listing of a specified number of top players in a game. Game controller <b>160</b> generates a show-game-leaders message and transmits the message to the plurality of client devices <b>110</b> registered with game controller <b>160</b>. In the present embodiment, the show-game-leaders message comprises a set of leaders with a rank, a score, a username, and a face ID associated with each gamer. The face ID string (e.g., F9AE43A7) is used to match the username to the proper face image displayed as a visual representation of the character. Faces are described in further detail in the “Resources” section. The plurality of client devices <b>110</b> receives the show-game-leaders message and updates its user interface the display the game leader information.
Ad Hoc Events
0090Ad hoc events are events that provide live host console <b>140</b> the ability to request that game controller <b>160</b> instruct the plurality of client devices <b>110</b> to display text, images, and/or video content on their user interfaces. In the present embodiment, the ad hoc events include show-text, show-video, show-image, and show-raffle-winners. In an embodiment, the game controller instructs game server <b>130</b> to serve content to the plurality of client devices that the plurality of client devices will display on their user interface in response to an ad hoc event.
0091The show-text event causes the plurality of client-devices <b>100</b> to display the specified text on their user interface. Live host console <b>140</b> generates a show-text message comprising the text to be displayed and transmits the message to game controller <b>160</b>. Game controller <b>160</b> transmits the show-text message to the plurality of client devices <b>110</b>. The show-text event could be used, for example, by a game show host to send out an interesting quote from a recent news article to all of the players participating in a game show. The game show host enters the text via a user interface provided by live host console and submits the text to be distributed to the plurality of client devices <b>110</b> by game controller <b>160</b>.
0092The show-video event causes the plurality of client-devices <b>100</b> to play a specified video file on their user interface. In the present embodiment, live host console <b>140</b> generates a show-video message comprising a video to be displayed and transmits the message to game controller <b>160</b>. Game controller <b>160</b> then transmits a show-video message to the plurality of client devices <b>110</b> and the plurality of game clients update their user interface to display the specified video upon receipt of the message.
0093Video may be streamed from the network or from a local cache. In some embodiments, the local cache is located on game server <b>130</b> and, in other embodiments, the local cache is located on client device <b>110</b>. The show-video event may be issued, for example, to play a video related to an advertisement. In some embodiments, ad-related video content may be tagged to indicate that it is ad content and the content is to receive additional processing. The show-video message can include a URL identifying the video file. In alternative embodiments, the video file may be attached to the message send to client device <b>110</b>.
0094The show-image event causes the plurality of client-devices <b>100</b> to display a specified image file on their user interface. In the present embodiment, live host console <b>140</b> generates a show-image message comprising an image file to be displayed and transmits the message to game controller <b>160</b>. Game controller <b>160</b> then transmits a show-image message to the plurality of client devices <b>110</b> and the plurality of client devices <b>110</b> update their user interface to display the specified image upon receipt of the message. In some embodiments, the show-image message indicates whether the image is an advertisement. If the image is an advertisement, it may be displayed in a banner advertisement portion of the user interface of the plurality of client devices <b>110</b>.
0095The show-raffle-winners event causes the plurality of client-devices <b>110</b> to update their user interface to display a list of the winners of a specified raffle. In the present embodiment, live host console <b>140</b> generates a show-raffle-winners message comprising a list of winners of a particular raffle and transmits the message to game controller <b>160</b>. Game controller <b>160</b> then transmits a show-image message to the plurality of client devices <b>110</b> and the plurality of game clients update their user interface to display the specified image upon receipt of the message.
0096The number of winners for a particular raffle depends upon the definition of the raffle, and in some embodiments, the list of winners may require several screens to display all of the winners. In other embodiments, the list of winners is displayed in a scrollable portion of the user interface of the plurality of client devices <b>110</b>.
Ticker Events
0097A ticker event instructs the plurality of client devices <b>110</b> to display a message in a ticker portion of the user interface of the plurality of client devices <b>110</b>. In some embodiments, a priority is assigned to the ticker event. If the number of ticker events that generated exceeds that which a client device can display within the ticker portion of its user interface, client device <b>110</b> may ignore the ticker events with a lower priority and display only those ticker events with a higher priority. In an embodiment, a ticker-ad event instructs the plurality of client devices <b>110</b> to display an advertising message in the ticker portion of the user interface of the client devices <b>110</b>. In some embodiments, game controller <b>160</b> transmits a ticker request to a ticker server <b>132</b> and the ticker server transmits the ticker message to the plurality of client devices <b>110</b>. In some embodiments, the ticker is not used or present.
Sound Events
0098Sound events cause the playing of audio content on the plurality of client devices <b>110</b>. Sound events comprise a play-audio event inserted onto the event-queue maintained by game controller <b>160</b>. In an embodiment of the present invention, the play-audio event includes the URL of a sound file to be played on each of the client devices <b>110</b>. The audio file may be streamed from the network or it may be played from a local cache. In some embodiments, the local cache is located on game server <b>130</b> and, in other embodiments, the local cache is located on client device <b>110</b>. Furthermore, in some embodiments, the play-audio event includes a flag indicating that the audio content is an advertisement. In alternative embodiments, a second event type play-audio-ad is utilized to indicate that the audio file contains advertising content. Advertising content may, for example, require additional processing or may receive a higher priority than non-advertising content in order to ensure that a sponsor's content is received and played by the plurality of client devices <b>110</b>. Advertising content may also, in some embodiments, be stored on advertising server <b>134</b>, and game controller <b>160</b> may request that the advertising server transmit the advertising content to the plurality of client devices <b>110</b>.
Inserting Events into Game Controller Event Queue
0099Live host console <b>140</b> may request that game controller <b>160</b> places an event in the Game Show controller's event queue by sending a message to game controller <b>160</b>. In the present embodiment, the messages that live host console <b>140</b> may send to game controller <b>160</b> include: publish-poll, publish-poll-results, publish-game-leaders, publish-video, publish-image, publish-raffle-winners, publish-text, publish-audio, and publish-ticker. The message may include a “scheduled” tag that indicates that the event should be executed at the time specified in the messages. However, if no “scheduled” tag is included in the message, the event will be placed at the front of the event queue and will executed after any currently executing events.
0100Messages may also include executable scripts to be executed by one or more components of the live-hosted multiplayer online game system including game controller <b>160</b>, game server <b>130</b>, live host console <b>140</b>, and/or client device <b>110</b>. For example, in an embodiment, a message may include executable JavaScript to be executed by the plurality of client devices <b>110</b>. When the plurality of client devices <b>110</b> receive the message including the script, the message will be read and the script executed by the plurality of client devices to perform a specified task.
0101The publish-poll message requests that game controller <b>160</b> insert a show-poll into the game controller's event queue in order to get a specified poll displayed on the plurality of client devices <b>110</b>. Game controller <b>160</b> collects the results of the poll. In the present embodiment, the publish poll message includes a poll-id number, a set of responses, and a display time indicating how long the poll should be displayed to the client devices.
0102The publish-poll-results message requests that game controller <b>160</b> insert a show-poll-results event into the event queue in order for the results of a specified poll to be displayed on the plurality of client devices <b>110</b>. In the present embodiment, the publish-poll-results message comprises the text of the poll, the set of responses, a display time, and a display format (e.g., a bar graph).
0103The publish-game-leaders message requests that game controller <b>160</b> insert a show-game-leaders event into the event queue in order for the results of a specified poll to be displayed on the plurality of client devices <b>110</b>. In the present embodiment, the publish-game-leaders message includes scheduled tag indicating whether the event is to be scheduled, and for each of a set of game leaders the message includes a leader rank, username identifying game leader, a score, and a face ID for visually representing the player.
0104The publish-video message requests that game controller <b>160</b> insert a show-video event into the event queue. The publish-video message includes information required to create the show-video event. In an embodiment of the present invention, the publish-video message includes a Uniform Resource Locator (URL) identifying a specific video file to be played on the plurality of client devices <b>110</b>. The publish-video message may include a scheduled flag indicating a specific time that the video content should be played.
0105The publish-image message requests that game controller <b>160</b> insert a show-image into the event queue. In the present embodiment, the publish-image message includes a Uniform Resource Locator (URL) identifying a specific image file to be displayed on the plurality of client devices <b>110</b>.
0106The publish-raffle-winners message requests that game controller <b>160</b> insert a show-raffle-winners event into the event queue. In the present embodiment, the publish-raffle-winners message includes a prize-image, a set of winners comprising a winner identifier (e.g., a username) and a winner's face.
0107The publish-text message requests that game controller <b>160</b> insert a show-text event into the event queue. The text to be displayed on the user interfaces of the plurality of client devices <b>110</b> is included in the message.
0108The publish-ticker message requests that game controller <b>160</b> insert a ticker event into the event queue. In the present embodiment, the publish-ticker message includes text to be displayed in a ticker portion of the user interface of the plurality of client devices <b>110</b>.
0109The publish-audio message requests that game controller <b>160</b> insert a play-audio event into the event queue. In the present embodiment, the publish-audio message includes a URL for the audio content to be played on the plurality of client devices <b>110</b>.
0110In some embodiments, the game show host may higighght or spotlight certain players. For example, the game show host may highlight a player that has answered a series several very difficult questions or a player that has achieved an advanced player level in the live hosted multiplayer online game. The game show host may invoke a ticker message comprising a message congratulating the player by sending a publish-ticker message to game controller <b>160</b>. In other embodiments, the game show host may transmit a voice recording congratulating the player by transmitting a publish-audio message to game controller <b>160</b>. In yet other embodiments, the game show host may send a text message congratulating the player in a publish-text message to game controller <b>160</b>.
Raffles
0111Players can use software on the plurality of client devices <b>110</b> to indicate their participation in upcoming raffles. In some embodiments, when a raffle is run, a game show host uses live console <b>140</b> to pick a random winner or set of winners from the list of those users who indicated their participation in the raffle. In some embodiments, the game show host uses live voice streaming to announce the winner to the plurality of game clients <b>110</b>. In other embodiments, the game show host uses live voice streaming to announce the winner of the raffle only to the subset of client devices that participated in the raffle.
0112Raffle messages are a set of messages that enable live host console <b>140</b> to manage the execution of a raffle. In the present embodiment, the raffle messages include: raffle-details, raffle-results, and publish-raffle-winners. Raffles are setup via the Raffle Management user interface of offline administration console <b>180</b>.
0113Raffle messages may also include executable scripts to be executed by one or more components of the live-hosted multiplayer online game system including game controller <b>160</b>, game server <b>130</b>, live host console <b>140</b>, and/or client device <b>110</b>. For example, in an embodiment, a raffle message may include executable JavaScript to be executed by live host console <b>140</b>. When live host console <b>140</b> receives the raffle message including the script, the message will be read and the script executed by live host console <b>140</b> to perform a specified task, such as display the results of the raffle on a user interface of live host console <b>140</b>.
0114The raffle-details message is provided by game controller <b>160</b> to live host console <b>140</b> providing the details of raffle to a live host console user. The raffle-results message reports the results of a raffle to live host console <b>140</b>. The information included in the message is a raffle id and a set of raffle winners identified by a username. Live host console <b>140</b> receives the message and displays the results of the raffle on its user interface to allow a game show host or live producer view the results of a raffle. In some embodiments, the live host In some embodiments, the game show host may publish a publish-raffle-winners message in order to instruct game controller <b>160</b> to insert a show-raffle-winners event into the event queue so that the winners of the raffle are displayed on the user interface of the plurality of client devices <b>110</b>. The publish-raffle-winners message may be issued by the game show host either in addition to or instead of announcing raffle winners via voice streaming to the plurality of client device <b>110</b> as describe above.
Inserting Events into Game Event Queue
0115<figref idref="DRAWINGS">FIG. 5</figref> is a flow diagram of a process <b>500</b> for inserting an event into a game event queue according to one embodiment of the present invention. In step <b>515</b>, game controller <b>160</b> receives an event message requesting an event be placed in the game event queue. An event may be placed in the queue on-demand (i.e., the event will be executed as soon as it reaches the front of the queue) or scheduled (i.e., the event will not be executed until a specified time). Once game controller <b>160</b> has received the event, the event will be checked to determine whether the event is valid (step <b>525</b>). If the event is not a valid event type, then the event is ignored and the process terminated at step <b>570</b>. Otherwise, the process continues with step <b>535</b>.
0116In step <b>535</b>, the game controller determines whether the event is a scheduled event. In a preferred embodiment, the event message comprises an XML string with an <event> tag that includes a “scheduled” parameter indicating a date and time for which an event is to be schedule. If the scheduled parameter is present, the event will not be executed until the date and time indicated in the event message. Otherwise, if the event is not scheduled, it will be placed into the game event queue.
0117In step <b>545</b>, game controller <b>160</b> makes a determination whether there is an active event in the game event queue. If there is an active event, then the new event is inserted into the game event queue after the active event (step <b>550</b>). Otherwise, if there is no active event, the new event is inserted at the front of the game event queue. The process continues with step <b>560</b>, where game controller <b>160</b> notifies the one or more live consoles registered and logged into game controller <b>160</b> that a new event has been added to the event queue.
Queries and Reporting Facilities
0118Game controller <b>160</b> provides for reporting game-related statistics to live host console <b>140</b>. Reporting is accomplished through the registration of queries with game controller <b>160</b>. Live host console <b>140</b> can subscribe to one or more registered queries. The registered queries are run against an in-memory database maintained by game controller <b>160</b> and the results are reported out to live host consoles <b>140</b> subscribing to those queries. In an embodiment of the present invention, query-related functions are handled by a set of messages including: register-custom-query, subscribe-to-query, retrieve-registered-queries, and registered-queries.
0119Query messages may also include executable scripts to be executed by one or more components of the live-hosted multiplayer online game system including game controller <b>160</b>, game server <b>130</b>, live host console <b>140</b>, and/or client device <b>110</b>. For example, in an embodiment, a query message may include executable JavaScript to be executed by the plurality of client devices <b>110</b>. When the plurality of client devices <b>110</b> receive the query message including the script, the message will be read and the script executed by the plurality of client devices to perform a specified task.
0120The register-custom-query message is sent by live host console <b>140</b> to game controller <b>160</b> to register a user-defined query. The message comprises a name with which to identify the query and a query. In an embodiment, the query comprises a SQL (Structured Query Language) select statement that is used to select data from a set of tables in the in-memory database.
0121The subscribe-to-query message is sent by live host console <b>140</b> to game controller <b>160</b> to subscribe to a query registered with game controller <b>160</b>. The message includes the name of a query to which live host console <b>140</b> is to be subscribed. Once live host console <b>140</b> has subscribed to a query, the query results will be returned to the console by the controller. Query results are described in more detail in the Query Results section.
0122The retrieve-registered-queries message is sent by live host console to request a list of all queries registered with game controller <b>160</b>.
0123The registered-queries message is sent by game controller <b>160</b> to live host console <b>140</b> in response to the retrieve-registered-queries message. The registered-queries comprises a list of the names of all of the queries registered with game controller <b>160</b>.
0124Query results are transmitted by game controller <b>160</b> to live host console <b>140</b> in a message. The message comprises a set of data returned by executing a registered query against game controller <b>160</b> in memory database. The following are exemplary query result types that are utilized in an embodiment of the present invention. One skilled in the art will recognize that additional query result types may be defined depending upon the information to be retrieved from game controller <b>160</b>.
0125The session-summary-details query selects information related to a current game session such as a session id, a theme associated with the session, a set of question categories associated with the session, and a set of talking points to be addressed by the live host which are associated with the session.
0126The session-summary-wagering query selects information related to player wagering in a current game session. The wagering summary includes information such as the average wager per player, the percentage of successful wagers, and the average numbers of tokens won and the average number of tokes lost in wagers.
0127The session-summary-game query selects a set of information to provide a summary of the game state overall including sets of top scoring players grouped by a number of categories including by region, by affiliation, by state and by overall top scoring for the game.
0128The game-population query selects information related to the number of players currently participating in the game. The query breaks the player population up by geographic region, by state, and by affiliation. The game population query is, in some embodiments broken up into a number of separate queries. For example, the game population may be determined by queries that select only the overall online population, only the online population grouped by state, and only the online population grouped by affiliation.
0129The question-summary query selects information related to the number of questions that have been answered correct and a percentage of questions answered correctly for a number of logical groupings including by state, by affiliation, by power-up usage, and by user level.
0130The poll-results query selects information related to poll results and grouped by a number of logical groupings, such as by overall online players, by state, affiliation, and/or by geographic location.
0131The affiliation-summary query selects affiliation-related information such as the number of players online affiliated with a particular sports team and number of players online of a particular affiliation grouped by state and/or geographic region.
0132The top-online-users query selects information summarizing the top-online users for a number of categories, including most tokens earned, average session scores, successful wager percentages, affiliation group leaders, geographic group leaders, and by time online.
0133Additional variations might occur to the reader after reading the above detailed description.
Voice Mail
0134In some embodiments, the players can record voice mail messages for the game show host by calling a telephone number specified in the live hosted multiplayer online game. The game show host may then listen to and optionally publish the a voicemail message to the plurality of client devices <b>110</b> by sending a publish-audio message to game controller <b>160</b> that contains a specially formatted URL that identifies the voice mail message to be published. In alternate embodiments, live host console <b>140</b> transmits a publish-voice-mail message to game controller <b>160</b> that comprises at least a voicemail id that uniquely identifies a voice mail message. In yet other embodiments, a publish-voice-mail message may comprise additional information such as a username identifying a particular player, an affiliation, and a geographic location. This additional information may be used by game controller <b>160</b> to identify the individual who left the voice mail message for the game show host on live host console <b>140</b>.
Clock Synchronization
0135Game controller <b>160</b> maintains a clock used for synchronization and timekeeping within the live hosted multiplayer online gaming system. Game controller <b>160</b> periodically generates a clock-synch message which is received by live host console <b>140</b>. Live host console <b>140</b> synchronizes its internal clock to the controller clock of game controller <b>160</b>.
Pausing a Game and Automatic Override by Game System
0136A game show host or producer may pause a game from live host console <b>140</b>. The Live Controller sends a pause message to game controller <b>160</b> and game controller <b>160</b> halts the event queue until a continue message is received. Game controller <b>160</b> may override the pause function due to time constraints. For example, a particular game show is scheduled for a half-hour timeslot, and a user pauses the game once the game has begun. If game controller <b>160</b> determines insufficient time remains in the half-hour to complete all of the remaining scheduled questions in the game if game play is interrupted, game controller <b>160</b> will ignore the pause request and continue game play. Similarly, in some embodiments, game controller <b>160</b> may resume a paused game if the remaining scheduled time for the game would be insufficient to complete all of the remaining scheduled questions in the game if game play were not resumed.
Registering a Client Device with the Game System
0137In order for client device <b>110</b> to be able to participate in a live hosted multiplayer online game, client device <b>110</b> initializes software corresponding to a game client on the client device and then registers with game server <b>130</b> in order to participate in the live hosted multiplayer online game. <figref idref="DRAWINGS">FIG. 6</figref> depicts a flow diagram of a process for connecting client device <b>110</b> to a live hosted online multiplayer game according to one embodiment of the present invention. Process <b>600</b> starts with step <b>615</b> where the user optionally places game media in a media reader of client device <b>110</b>. In some embodiments, the client program code is not located in a removable media and may be resident in a persistent memory of client device <b>110</b>. In yet other embodiments, the client program code may be downloaded from game server <b>130</b>. In step <b>620</b>, the user initializes the client software on client device <b>110</b>. The client device then establishes a connection to game server <b>130</b> in step <b>640</b>. In step <b>645</b>, the user is registered with the live hosted multiplayer online game <b>645</b>. In some embodiments, the user may have to wait for the game to begin while other users connect (step <b>655</b>). In step <b>655</b>, the live hosted multiplayer online game begins. The registration process (step <b>600</b>) then ends at step <b>660</b>.
Live Player Feedback
0138A live player feedback mechanism is provided in some embodiments of the present invention. The live player feedback mechanism allows players to provide feedback regarding game content, such as whether players found game content to be humorous or interesting. In some embodiments, live player feedback also allows players to make suggestions regarding game content, such as potential trivia questions, particular themes for future games, guests of interest that players would like to see host and/or participate in a game show, or news topics of interest that players would like included in game show content.
0139In some embodiments, players provide feedback via the plurality of client devices <b>110</b> and the player feedback is received by game server <b>130</b> and/or game controller <b>160</b>. In other embodiments, players may submit feedback in text format such as via email through the plurality of client devices <b>110</b> and/or via alternate communications methods such as email from a personal computer or other networked consumer electronic device and/or text messages from a mobile phone or other communications device. In yet other embodiments, players may submit audio and/or video feedback which may be captured by a microphone and/or camera coupled to the plurality of video game clients <b>110</b>.
0140In some embodiments, a game show host may view player feedback via a user interface of live host console <b>140</b>. Player may feedback may be viewed by a game show host during the course of a live-hosted game, or may, in other embodiments be archived and viewed at a later time. In yet other embodiments, player feedback may also be viewed via a user interface of offline administration console <b>180</b>.
Ghost Players
0141Ghost players are provided in some embodiments of the present invention. Ghost players allow a single player to appear in a plurality of virtual game rooms found within the game system. Virtual game rooms allow for a subset of the plurality of players of an online multiplayer game system to participate in a game independently from the remainder of the plurality of players. Virtual game rooms may, for example, be used to limit the number of players in a particular live-hosted multiplayer online game. Virtual game rooms may also be used to allow multiple live-hosted multiplayer online games with different content to be played at the same time. For example, two trivia challenge game shows may be scheduled for the same time. However, a first trivia challenge game show may comprise sports-related trivia content, while a second trivia challenge game show comprises geography-related trivia content.
0142Players ordinarily would be assigned to a single virtual game room. In some embodiments, a player may be assigned to a virtual game room based upon which game the player selects. In other embodiments, players may also automatically be assigned to virtual game rooms by the game system (game server <b>130</b> in some embodiments and game controller <b>160</b> in other embodiments) in order to limit the number of players in a particular game (once a first instance of a game in a first virtual game room fills up, the system would create a second instance in a second virtual game room).
0143Ghost players, however, may appear in a plurality of virtual game rooms. Ghost players may, in some embodiments, be an in-studio special guest, such as a celebrity or sports star, that participates in hosting a plurality of live-hosted online multiplayer games. In some embodiments, live host console <b>140</b> provides an interface for controlling ghost players, while in other embodiments a separate user interface is provided for controlling ghost players. Ghost players may monitor the progress of a game in one or more virtual game rooms and provide feedback to the players assigned to those virtual rooms. For example, a ghost player may provide feedback to players in a virtual game room in the form of text messages, ticker messages, images, audio and/or video content. The feedback provided by a ghost player may be displayed on all client devices <b>110</b> associated with a particular live-hosted multiplayer game, or may be displayed on only those client devices associated with a selected subset of client devices <b>110</b> associated with one or more virtual game rooms. Thus, ghost players advantageously create the appearance that in-studio guests are interacting with players in the more intimate setting of a virtual game room, while allowing the in-studio guests to interact with as large a number of players as possible.
Interactive Karaoke
0144In some embodiments of the present invention, the game show host may coordinate an interactive karaoke experience from live host console <b>140</b>. The interactive karaoke experience allows players to participate by singing songs, acting as judges and/or acting as audience members. Audience members listen to and/or view other players singing songs. Audio and/or video content is transmitted by game controller <b>160</b> and/or game server <b>130</b> to each player's video game client <b>110</b>. Furthermore, client device <b>110</b> may transmit audio and/or video content from players selected to sing a song, players selected as judges, or players participating as audience members. In some embodiments, song lyrics and/or additional audio or video content, such as background music, may also be broadcast to each player's video game client <b>110</b>.
0145In some embodiments, a game show host publishes an invitation to join an interactive karaoke experience from live host console <b>140</b> to the plurality of client devices <b>110</b> and video game clients may join the interactive karaoke experience by sending a request to join to game controller <b>160</b> and/or game server <b>130</b>. In other embodiments, the karaoke experience is a scheduled event and the plurality of video game clients <b>110</b> may join the scheduled event by sending a request to join to game controller <b>160</b> and/or game server <b>130</b>.
0146In an embodiment, players send a request to sing a song from their video game clients <b>110</b>. The requests are received by game server <b>130</b> and forwarded to game controller <b>160</b>. Game controller <b>160</b> forwards the requests to sing to live host controller <b>140</b> so that the game show host may view the list of requests to sing. In some embodiments, a game show host selects a next player to sing a song from the live host controller. In other embodiments, requests to sing a song are placed in a request queue and a player that has placed a request to sing is provided the opportunity to sing a song once the player's request reaches the front of the request queue.
Celebrity Stock Market Simulation
0147In some embodiments of the present invention, a celebrity stock market simulation is provided. The simulation allows players to buy and/or sell “stock” associated with a set of celebrities. Players may buy and/or sell shares of stock for tokens and/or points and/or other game currency. An initial per-share value of the shares of stock associated with a particular celebrity may initially be set by a game show production team. However, the per-share value of the stock for each celebrity may then change over time based upon a number predetermined factors. For example, the per-share value of a stock for a particular celebrity may vary, for example, on a daily basis. Fluctuations in the per-share value of a celebrity's stock may, for example, be determined by tallying the number of times that the celebrity appears in publications in a set of one or more specified news outlets. In some embodiments, negative news treatment may decrease the per-share value of the stock, while positive news treatment may increase the per-share value of the stock. The tallying of the number of times that a celebrity appears in publications may be automated in some embodiments, for example, as a set of executable scripts and/or software programs. In alternative embodiments, a game show producer may manually adjust a celebrity's per-share value via a user interface of offline administration console <b>180</b> and/or via live host console <b>140</b>. Furthermore, in yet other embodiments, the per-share value of a stock may also be affected by the number of trades of a particular stock within a period of time. For example, if a large number of players sell a particular stock during a predetermined period of time, the value of the stock may decrease accordingly.
0148Players may buy and/or sell shares of stock to other players in some embodiments and/or in to a central bank in yet other embodiments. A player selling stock would receive a credit for the current per-share value of the stock multiplied by the number of shares being sold. The per-share value may be represented as a number of points, a number of tokens and/or other game currency. Players purchasing shares of stock would be debited the per-share value of the stock multiplied by the number of shares to be purchased.
Live Fantasy Sports Games
0149In some embodiments of the present invention, live fantasy sports games are provided. A live fantasy sports game allows players to compete against one another by building sports teams, such as football or basketball teams, that compete against one another. Players may select real-world sports players in order to construct a fantasy sports team. In some embodiments, players compete against one another in a draft where players take turns drafting individual real-world players onto their fantasy sports teams. Furthermore, in some embodiments, players may be traded from one team to another during the course of a game.
0150The performance of a fantasy sports team may, for example, be determined by accumulating player statistics for the real-world sports players included in the fantasy sports team. A number of points may be awarded to a fantasy sports team based upon the performance of the individual players associated with the team. The better the performance of the real-world players associated with a fantasy sports team, the more points that the team will be awarded.
0151Winners of the fantasy sports game may be determined by overall team performance over a predetermined period of time. For example, a fantasy football game may be active for the length of the National Football League season, and those players whose fantasy teams that have the highest number of points at the end of the season will be the winners. Winners may be awarded tokens, points, and/or pieces of flair such a badges or trophies. Furthermore, top performing teams for predefined time periods, such as a day, week, or month may also be awarded prizes such as tokens, points, and/or pieces of flair such a badge or trophies.
0152In some embodiments, a game show host may interactively discuss picks that the game show host believes may be top performers for the week and/or day, etc. Players may also interact with the game show host to provide feedback regarding the game show host's picks for the week and/or day, etc., as described above in the Live Player Feedback section. As described above, players may interact with the game show host through in various ways such as text messages, emails, and audio and/or video commentary. Also, in some embodiments, a game show host may also publish player polls and/or conduct raffles during a fantasy sports game session.
0153While the embodiments described above may make reference to specific hardware and software components, those skilled in the art will appreciate that different combinations of hardware and/or software components may also be used and that particular operations described as being implemented in hardware might also be implemented in software or vice versa.
0154Computer programs incorporating various features of the present invention may be encoded on various computer readable media for storage and/or transmission; suitable media include magnetic disk or tape, optical storage media such as compact disk (CD) or DVD (digital versatile disk), flash memory, and the like. Such programs may also be encoded and transmitted using carrier signals adapted for transmission via wired, optical, and/or wireless networks conforming to a variety of protocols, including the Internet. Computer readable media encoded with the program code may be packaged with a compatible device or provided separately from other devices (e.g., via Internet download).
0155Thus, although the invention has been described with respect to specific embodiments, it will be appreciated that the invention is intended to cover all modifications and equivalents within the scope of the following claims.
Contents4
8 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| WO2013059945A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2014351865A1 | Cited by | United States of America | Pre-grant |
| US2017064014A1 | Cited by | United States of America | Search report |
| US10857466B2 | Cited by | United States of America | Search report |
| US10163306B2 | Cited by | United States of America | Search report |
| US2018069598A1 | Cited by | United States of America | Search report |
| US9704346B2 | Cited by | United States of America | Applicant |
| US2016127288A1 | Cited by | United States of America | Search report |
| US2017309129A1 | Cited by | United States of America | Pre-grant |
| US11032329B2 | Cited by | United States of America | Search report |
| WO2010042775A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US11301447B2 | Cited by | United States of America | Search report |
| US9058724B2 | Cited by | United States of America | Applicant |
| US2017063970A1 | Cited by | United States of America | Search report |
| US11568714B2 | Cited by | United States of America | Applicant |
| US10425654B2 | Cited by | United States of America | Applicant |
| US2009125819A1 | Cited by | United States of America | Pre-grant |
| US9118968B2 | Cited by | United States of America | Search report |
| US8795086B2 | Cited by | United States of America | Applicant |
| US8840475B2 | Cited by | United States of America | Search report |
| US9361752B2 | Cited by | United States of America | Applicant |
| US8845428B2 | Cited by | United States of America | Applicant |
| US2008004122A1 | Cited by | United States of America | Pre-grant |
| US8140982B2 | Cited by | United States of America | Search report |
| US2018069598A1 | Cited by | United States of America | Pre-grant |
| US9147194B1 | Cited by | United States of America | Applicant |
| US8490133B1 | Cited by | United States of America | Applicant |
| US10127735B2 | Cited by | United States of America | Applicant |
| US2017106292A1 | Cited by | United States of America | Pre-grant |
| US2016127288A1 | Cited by | United States of America | Search report |
| US10595124B2 | Cited by | United States of America | Applicant |
| US2009209348A1 | Cited by | United States of America | Pre-grant |
| WO2019099202A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2020244711A1 | Cited by | United States of America | Search report |
| US8303413B2 | Cited by | United States of America | Search report |
| US8413189B1 | Cited by | United States of America | Applicant |
| US2008311970A1 | Cited by | United States of America | Pre-grant |
| CN102422292A | Cited by | China | Search report |
| US8793313B2 | Cited by | United States of America | Applicant |
| US2008195238A1 | Cited by | United States of America | Pre-grant |
| US11601374B2 | Cited by | United States of America | Search report |
| US2010306825A1 | Cited by | United States of America | Pre-grant |
| US2015321101A1 | Cited by | United States of America | Pre-grant |
| US2009187936A1 | Cited by | United States of America | Pre-grant |
| US10848836B2 | Cited by | United States of America | Search report |
| CN104584575A | Cited by | China | Search report |
| US2008275767A1 | Cited by | United States of America | Pre-grant |
| US10855683B2 | Cited by | United States of America | Applicant |
| US9782670B2 | Cited by | United States of America | Applicant |
| US10155167B2 | Cited by | United States of America | Search report |
| US8715073B2 | Cited by | United States of America | Applicant |
| US2008201251A1 | Cited by | United States of America | Pre-grant |
| US11439910B2 | Cited by | United States of America | Applicant |
| US2015065236A1 | Cited by | United States of America | Pre-grant |
| US8392206B2 | Cited by | United States of America | Search report |
| US2016127288A1 | Cited by | United States of America | Pre-grant |
| US2016127288A1 | Cited by | United States of America | Search report |
| CN103390095A | Cited by | China | Search report |
| US2010203936A1 | Cited by | United States of America | Pre-grant |
| US8498946B1 | Cited by | United States of America | Applicant |
| US2017064014A1 | Cited by | United States of America | Search report |
| US2009031883A1 | Cited by | United States of America | Pre-grant |
| US11501607B2 | Cited by | United States of America | Applicant |
| WO2012050638A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US10086285B2 | Cited by | United States of America | Search report |
| US2015065236A1 | Cited by | United States of America | Search report |
| US9294210B2 | Cited by | United States of America | Applicant |
| CN106487576A | Cited by | China | Search report |
| US10388070B2 | Cited by | United States of America | Applicant |
| US9723319B1 | Cited by | United States of America | Applicant |
| WO2012064375A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| EP3288651A4 | Cited by | European Patent Office (EPO) | Search report |
| US9525463B2 | Cited by | United States of America | Search report |
| US2020213678A1 | Cited by | United States of America | Search report |
| US2011082807A1 | Cited by | United States of America | Pre-grant |
| US8409010B2 | Cited by | United States of America | Search report |
| US9636572B2 | Cited by | United States of America | Search report |
| US2009253517A1 | Cited by | United States of America | Search report |
| US11290790B2 | Cited by | United States of America | Search report |
| US11165596B2 | Cited by | United States of America | Search report |
| US10142728B2 | Cited by | United States of America | Applicant |
| US2009307608A1 | Cited by | United States of America | Pre-grant |
| US10328336B1 | Cited by | United States of America | Search report |
| US8137197B2 | Cited by | United States of America | Search report |
| US2022210522A1 | Cited by | United States of America | Search report |
| US10298668B2 | Cited by | United States of America | Search report |
| US2009253517A1 | Cited by | United States of America | Pre-grant |
| US10878636B2 | Cited by | United States of America | Applicant |
| US2013130792A1 | Cited by | United States of America | Pre-grant |
| US2016184708A1 | Cited by | United States of America | Pre-grant |
| WO2019118465A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2010099496A1 | Cited by | United States of America | Pre-grant |
| US8834268B2 | Cited by | United States of America | Search report |
| US9819397B2 | Cited by | United States of America | Search report |
| US2015005076A1 | Cited by | United States of America | Pre-grant |
| US11451617B2 | Cited by | United States of America | Search report |
| US11064034B2 | Cited by | United States of America | Search report |
| US11061688B2 | Cited by | United States of America | Applicant |
| US10293261B2 | Cited by | United States of America | Applicant |
| WO2010053427A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
4 members in 2 offices
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 61306006 | United States of America | A | |
| US20060613060 | – | – | – |
Members4
| Document | Office | Kind | |
|---|---|---|---|
| US2008146342A1 | United States of America | A1 | |
| WO2008079623A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2008079623A3 | World Intellectual Property Organization (WIPO) | A3 | |
| US7824268B2 | United States of America | B2 |
49 transactions on the USPTO file
Allowed after 2 non-final rejections, 1 final rejection and 1 RCE.
- Non-final rejections
- 2
- Final rejections
- 1
- RCEs
- 1
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Mail Advisory Action (PTOL - 303)MCTAV | MCTAV | |
| Advisory Action (PTOL-303)CTAV | CTAV | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Final ActionA.NE | A.NE | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Withdraw Flagged for 5/25W525 | W525 | |
| Flagged for 5/25F525 | F525 | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Application Is Now CompleteCOMP | COMP | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
5 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| Maintenance fee paymentMAFP | MAFP | |
| Fee paymentFPAY | FPAY | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication
- 20080146342
- Publication, DOCDB
- 2008146342
- Publication, EPODOC
- US2008146342
- Application
- 11613060
- Application, DOCDB
- 61306006
- Application, EPODOC
- US20060613060
Titles
- English
- LIVE HOSTED ONLINE MULTIPLAYER GAME
Classification
- CPC, 8
- A63F13/10
- A63F13/352
- A63F13/12
- A63F2300/50
- A63F2300/57
- A63F2300/572
- A63F13/45
- A63F13/30
- IPC, 1
- A63F13 00
- USPC, 1
- 463042000