U.S. Pat. No. 10,398,974

SYSTEMS AND METHODS FOR INTERACTIVE ELECTRONIC GAMES HAVING SCRIPTED COMPONENTS

AssigneeConsolidated Wonder LLC

Issue DateOctober 17, 2018

Illustrative Figure

Abstract

Systems and methods for providing an interactive gaming experience. The system is configured to generate a virtual game space accessible by at least two player devices, provide access of the virtual game space to the at least two player devices, receive one or more commands for controlling objects in the virtual game space from among the at least two player devices, aggregate actions taken by the objects in the virtual game space responsive to the received one or more commands, determine that the aggregate of the actions corresponds to a trigger event, identify that the trigger event corresponds to progression to a next phase of the multiplayer game, update the virtual game space to include one or more sets of game attributes corresponding to the next phase, generate an updated game display, and transmit the updated game display to the at least two player devices.

Description

DETAILED DESCRIPTION The present disclosure is directed towards systems and methods for providing an interactive and social gaming experience in connection with scripted programs (e.g., broadcast programming). For example, the present disclosure provides an interactive gaming platform that is configured to host one or more virtual game spaces, with each virtual game space representing a virtual environment in which the play of a game takes place. An interactive gaming platform of the present disclosure may be configured to provide an interactive environment that creates a more natural story experience. Conventional multiplayer gaming environments suffer from one or more limitations. For example, in conventional systems, the more decisions the players get to make, the more varied the required responses from characters in the story are, resulting in a greater amount of programming and media required for each interaction. Decision trees that provide the backbone for storytelling in conventional systems tend to grow exponentially. As a result, it is increasingly difficult for conventional multiplayer systems to support a more natural story experience, as adding interactive characters only increases the story tree, which becomes near-impossible to manage. The one or more techniques and systems described herein provide an improved interactive gaming platform that addresses the limitations of conventional multiplayer systems. In particular, the interactive gaming platform of the present disclosure includes intelligent character systems that implement a node-based story map. Characters in the game can respond to user actions and video/audio input, while using the current state of the game, prior player actions, character “goals” to select a response to player input. Characters may be designed to act like characters in a story. Specifically, the interactive gaming platform may include a set of rules for each individual character that the individual character obeys in responding to player behavior and dialogue. By implementing a ...

DETAILED DESCRIPTION

The present disclosure is directed towards systems and methods for providing an interactive and social gaming experience in connection with scripted programs (e.g., broadcast programming). For example, the present disclosure provides an interactive gaming platform that is configured to host one or more virtual game spaces, with each virtual game space representing a virtual environment in which the play of a game takes place.

An interactive gaming platform of the present disclosure may be configured to provide an interactive environment that creates a more natural story experience. Conventional multiplayer gaming environments suffer from one or more limitations. For example, in conventional systems, the more decisions the players get to make, the more varied the required responses from characters in the story are, resulting in a greater amount of programming and media required for each interaction. Decision trees that provide the backbone for storytelling in conventional systems tend to grow exponentially. As a result, it is increasingly difficult for conventional multiplayer systems to support a more natural story experience, as adding interactive characters only increases the story tree, which becomes near-impossible to manage.

The one or more techniques and systems described herein provide an improved interactive gaming platform that addresses the limitations of conventional multiplayer systems. In particular, the interactive gaming platform of the present disclosure includes intelligent character systems that implement a node-based story map. Characters in the game can respond to user actions and video/audio input, while using the current state of the game, prior player actions, character “goals” to select a response to player input. Characters may be designed to act like characters in a story. Specifically, the interactive gaming platform may include a set of rules for each individual character that the individual character obeys in responding to player behavior and dialogue. By implementing a node-based story map, the interactive gaming platform may create complex and flexible stories that conventional systems are unable to produce.

Further, through use of an artificial intelligence server, characters in the game may change over time, by having a different rule sets for each character for different parts of the story. For example, a character may be unhelpful and gruff in speech at the beginning of a game session and then, after surviving many adventures with the player and exchanging dialog, the character might risk their “life” to save the player in some peril, reflecting their now closer relationship to the player. In another example, a character may be reluctant to join the player in attacking aliens at the beginning of a game session and then, after seeing their beloved moon destroyed, may demonstrate through dialogue choices, reckless spaceship piloting and other behaviors that reflect a change in their behavior from one of caution to a desire for revenge. In both examples, the character has changed as a result of things that have happened to him or her. Accordingly, at every point in the story (i.e., storypoint node), each character may have a specific rule set. As such, when the character progresses from a first storypoint node to a second storypoint node, the character's rule sets, dialogue, and/or goals may change. In other words, with the interactive gaming platform of the present disclosure, a string of “triggers” may occur in shared gameplay that may trigger a character change. Because the trigger(s) may result from one or more events, the interactive gaming platform may control character settings/behavior to make it appear as if the experience of the event(s) may affect the character, similar to how events may affect a person in the real world.

In some embodiments, the one or more techniques and systems described herein may allow players to customize the gaming experiences. For example, each virtual game space may include one or more elements that are “made” by viewers and incorporated into the overall story of the game. It is envisioned that this may allow for increased viewer ownership of the game as well as increased loyalty, retention and revenue.

Further, the present disclosure describes systems and methods where multiple players in the same physical space (e.g., a living room) may access and play a game in the same virtual game space. As will be discussed further, players may command objects in the virtual game space to perform tasks cooperatively within the virtual game space. Aggregation of player actions may move the storyline of the virtual game forward by, for example, satisfying one or more triggering events that progress the game from a first phase of the story to a second phase. In this manner, the gaming experiences provided by the systems and methods described herein are both interactive and social.

In some embodiments, the systems and methods described herein may be applied to situational comedies (sitcoms), procedurals, epic series, mini-series, and the like. In one embodiment, the interactive and social TV programming provided by the systems and methods described herein may be referred to as a TV Gameisode. Accordingly, one or more embodiments disclosed herein enable players to participate in TV shows (for instance), much as they might a video game—that is in first-person, affecting outcomes, in conjunction with other players both in their living room and around the world—both socially and interactively. TV Gameisodes may include elements that are scripted (like TV shows) as well as elements that are related to 2D or 3D gaming.

FIG. 1is a functional block diagram illustrating a computing system100, according to example embodiments. Computing system100may be used for interactive and social gaming experiences. As illustrated, computing system100may include at least an initiating player device102, one or more non-initiating player devices1061,1062, and106n(generally “non-initiating player device106”), and interactive gaming platform104communicating over network105.

Network105may be of any suitable type, including individual connections via the Internet, such as cellular or Wi-Fi networks. In some embodiments, network105may connect terminals, services, and mobile devices using direct connections, such as radio frequency identification (RFID), near-field communication (NFC), Bluetooth™, low-energy Bluetooth™ (BLE), Wi-Fi™, ZigBee™, ambient backscatter communication (ABC) protocols, USB, WAN, or LAN. Because the information transmitted may be personal or confidential, security concerns may dictate one or more of these types of connection be encrypted or otherwise secured. In some embodiments, however, the information being transmitted may be less personal, and therefore, the network connections may be selected for convenience over security.

Network105may include any type of computer networking arrangement used to exchange data. For example, network105may include any type of computer networking arrangement used to exchange information. For example, network105may be the Internet, a private data network, virtual private network using a public network and/or other suitable connection(s) that enables components in computing environment100to send and receiving information between the components of system100.

Initiating player device102may be operated by a user (or customer). Initiating player device102may be a mobile device, a tablet, a desktop computer, or any computing system having the capabilities described herein. For example, initiating player device102may be representative of a mobile device such as tablet computers (e.g., Apple iPad, Samsung Galaxy Tab, etc.), a smart phone (e.g., Apple iPhone, Blackberry Phone, Android Phone, etc.), a gaming device (e.g., Playstation, Xbox), a smart watch (e.g., Apple Watch, etc.), a Personal Digital Assistant (PDA), a Personal Computer device (PCs; through a web browser and installable software) and other similar devices. Initiating player device102may belong to or be provided to a user (or customer) or may be borrowed, rented, or shared. Customers may include individuals such as, for example, subscribers, clients, prospective clients, or customers of an entity associated with interactive gaming platform104, such as individuals who have obtained will obtain, or may obtain a product, service, or consultation from an entity associated with interactive gaming platform104.

Initiating player device102may include at least application108. Application108may be representative of a web browser that allows access to a website or a stand-alone application. Initiating player device102may access application108to access one or more functionalities of interactive gaming platform104. Initiating player device102may communicate over network105to request, for example, a web page from interactive gaming platform104. For example, initiating player device102may be configured to execute application108to access content managed by interactive gaming platform104. The content that is displayed to initiating player device102may be transmitted from interactive gaming platform104to initiating player device102, and subsequently processed by application108for display.

In some embodiments, initiating player device102may be associated with one or more audio/visual input/output devices. For example, initiating player device102may be associated with display110and, in some examples, camera112. Although not shown, initiating player device102may also include at least one microphone for capturing audio and/or at least loudspeaker for outputting audio Display110may be any suitable display, such as, but not limited to a touchscreen of a personal computing device, a monitor associated with a computing device, a television, and the like. Display110may be configured, for example, to display one or more graphical user interfaces (GUIs) transmitted to initiating player device102from interactive gaming platform104. Camera112(in some examples, in conjunction with at least one microphone) may be configured to capture one or more streams of audio (e.g., via at least one microphone) and/or visual frames of information and transmit the one or more streams of audio and/or visual frames to interactive gaming platform104for processing.

Non-initiating player device106may be operated by a user (or customer). For example, non-initiating player device106may be a mobile device, a tablet, a desktop computer, or any computing system having the capabilities described herein. Non-initiating player device106may belong to or be provided to a customer or may be borrowed, rented, or shared. Customers may include individuals, such as, for example, subscribers, clients, prospective clients, or customers of an entity associated with interactive gaming platform104, such as individuals who have obtained, will obtain, or may obtain a product, service, or consultation from an entity associated with interactive gaming platform104.

Non-initiating player device106may include at least application114. Application114may be representative of a web browser that allows access to a website or a stand-alone application. Non-initiating player device106may access application114to access one or more functionalities of interactive gaming platform104. Non-initiating player device106may communicate over network105to request a webpage, for example, from interactive gaming platform104. For example, non-initiating player device106may be configured to execute application114to access content managed by interactive gaming platform104. The content that is provided to non-initiating player device106may be transmitted from interactive gaming platform104to non-initiating player device106, and subsequently processed by application114for display.

In some embodiments, non-initiating player device106, similar to initiating player device104, may be associated with one or more audio/visual input/output devices. For example, initiating player device106may be associated with display116and, in some examples, camera118. Although not shown, initiating player device102may also include at least one microphone for capturing audio and/or at least loudspeaker for outputting audio. Display116may be any suitable display, such as, but not limited to a touchscreen of a personal computing device, a monitor associated with a computing device, a television, and the like. Display116may be configured, for example, to display one or more graphical user interfaces (GUIs) transmitted to non-initiating player device106from interactive gaming platform104. Camera118(in some examples, in conjunction with at least one microphone) may be configured to capture one or more streams of audio (e.g., via at least one microphone) and/or visual frames of information and transmit the one or more streams of audio and/or visual frames to interactive gaming platform104for processing.

In some embodiments, computing system100may further include a separate display device111. Display device111may be referred to herein as a shared screen. Display device111may be associated with a controller115. In some embodiments, controller115may be integrated with display device111(e.g., smart TV). In some embodiments, controller115may be associated with display device111. For example, controller115may be representative of a digital media device coupled with controller115either wirelessly or wired. Exemplary digital media devices may include, but are not limited to, AppleTV, FireTV, Android TV, Google Chromecast, Roku, and the like. Generally, controller115may be configured to request and/or receive one or more webpages from interactive gaming platform104for rendering and display.

In some embodiments, initiating player device102and one or more non-initiating player devices106(and in some cases, display device111) may be physically present in the same location and intend to play the same game. In some embodiments, initiating player device102and at least one non-initiating player device106may be physically separated in two different locations, while still playing the same game.

Interactive gaming platform104may be configured to generate and manage an interactive and social gaming experience for end users. Interactive gaming platform104may be representative of one or more computing devices. For example, interactive gaming platform104may be representative of a distributed computing system, wherein each device of the distributed computing system may act as a host for one or more virtualization elements (e.g., operating system (OS)-level virtualization elements, hardware-level virtualization elements) that include one or more modules or engines for facilitating and managing the interactive social gaming experience for end users.

Interactive gaming platform104may host one or more virtual game spaces150. Each game space150may represent a virtual environment in which the play of a game takes place. In some embodiments, each game space150may host one or more of a two-dimensional game, a three-dimensional game, a video-based game, etc. Each game space150may include one or more rules or parameters associated therewith. For example, each games pace150may include one or more metrics or rules associated with how users (e.g., initiating player device102, non-initiating player device106) may interact with avatars or characters in a gaming world.

In operation, initiating player device102may register and/or login with interactive gaming platform104to gain access to a virtual game space150. Upon registering and/or logging in, initiating player device102may be matched to particular virtual game space150in interactive platform104. Interactive platform104may further transmit an identification code that corresponds to the particular virtual game space150to initiating player device102. The identification code may be used by one or more non-initiating player devices106to join initiating player device102in the virtual game space. For example, initiating player device102may provide one or more non-initiating player devices106with the identification code such that the one or more non-initiating player devices106may join the game space.

To join initiating player device102in the particular virtual game space150, non-initiating player device106may register and/or log into interactive gaming platform104, by transmitting the identification code to interactive gaming platform104. For example, non-initiating player device106may download and/or execute application114to transmit the identification code to interactive gaming platform104. After non-initiating player device106provides the identification code to interactive gaming platform104, interactive gaming platform104may provide non-initiating player device106with access to the particular virtual game space150, where all the players present in the virtual game space150are participants in the same game.

In some embodiments, interactive gaming platform104may prompt non-initiating player device106to select a role to play within the virtual game space150. For example, in a combat focused game, interactive gaming platform104may prompt non-initiating player device to select a role, such as, but not limited to, a pilot, bombardier, navigator, and the like. The players may then collaborate together to complete the game. The term “couch coop” or “couch cooperative” may refer to the manner in which players (e.g., initiating player device102and non-initiating player device106) may collaborate in the virtual game space while at the same time being located in a common physical space in real-life.

Gameplay in each virtual game space150may be driven, for example, by both direct and indirect control. In direct control, a player (e.g., initiating player device102, non-initiating player device106) may directly control an object or character. For example, the player may fly a ship, drop a bomb, or swing a sword. By contrast, in indirect control, a player may issue commands to an onscreen character in order to control an object or character. For example, a player may communicate with a fire-team leader and instruct the fire-team leader to enter a building. In an additional example, a player may instruct the engine room to make the ship advance at flank speed.

In some embodiments, the indirectly controlled objects and characters within virtual game space150may have independent agency. For example, the indirectly controlled objects and characters may reject the commands issued by the player and/or talk back to the player. When an object or character talks back to a player, the object or character may play a pre-recorded video. The use of indirect control may mitigate the delays associated with network communication between initiating player device102, non-initiating player device106, and interactive gaming platform104.

In some embodiments, gameplay in virtual game space150may be driven by direct control when the game is played by a single player on an initiating player device102. A game driven by direct control may be configured for fast responses to player activity and fast-action gameplay such as first-person shooter games, flying games, real-time sports and the like.

In some embodiments, gameplay in a virtual game space150may be driven by indirect control when the game is played by multiple players, with one or more players operating an initiating player device102and the remainder of the players operating non-initiating player devices106. Initiating player device102may be configured to communicate with the interactive gaming platform104via a local area network using wireless or hardwired connections to the Internet. By contrast, non-initiating player devices106may be configured to communicate with the interactive game platform104via wireless communication protocols (e.g., Wi-Fi™, long-term evolution (LTE), 3G, and other cellular data networks). Accordingly, the connection speed and communication between the non-initiating player devices106and the interactive gaming platform104may be slower than that between the initiating player device102and interactive gaming platform104. As such, indirect control of objects within the game may be preferred, such that the latency between indirect control and direct control (on the order of about 50-300 milliseconds) does not impact the perceived smoothness of the game, allowing all players to control objects within the game on an equal timescale.

Interactive gaming platform104may further be configured with two separate video capabilities. In a first capability, interactive gaming platform104may facilitate video chat among participants to a virtual game space150. In such embodiments, interactive gaming platform104may serve as a mediator between all users in a particular virtual game space150(i.e., all players communicatively coupled to the multiplayer server204). For example, during gameplay, players may record videos of themselves using their respective user devices (i.e., non-initiating player device106and/or initiating player device102). The recorded videos may be processed on the user device and then transmitted to the interactive gaming platform104for transmittal to the intended recipients' user device(s). In some embodiments, interactive gaming platform104may transmit the video to controller115.

In a second capability, interactive gaming platform104may facilitate character videos configured for inclusion into a game's storyline. Character videos may be uploaded by players and/or fans to interactive gaming platform104. When users are playing, the videos may be called by the game upon game events and streamed onto a display associated with initiating player device102or non-initiating player device106, or on display device111. Accordingly, interactive gaming platform104may enable players to generate and upload character videos after the game is created. This may result in stories and/or characters that are different than those envisioned when the game is first developed.

Generally, displaying the game on one or more of player devices102,106and/or display device115may include a depiction of the state of the game, including, but not limited to, audio and/or text descriptions of the game.

FIG. 2is a functional block diagram illustrating one or more components of interactive gaming platform104in more detail, according to example embodiments. Gaming platform104may include at least one matchmaking server (MMS)202, at least one multiplayer server (MPS)204, video server (VS)206, and web client application server210. In some embodiments, interactive gaming platform104may further include advertisement server208and artificial intelligence (AI) server210.

As shown, matchmaking server202, multiplayer server204, video server206, advertisement server208, web client application server210, and AI server212may communicate via network205(which may be configured similarly to network105). In some embodiments, one or more of matchmaking server202, multiplayer server204, video server206, advertisement server208, web client application server210, and AI server212may be representative of one or more physical computing devices. In some embodiments, one or more of matchmaking server202, multiplayer server204, video server206, advertisement server208, web client application server210, and AI server212may be virtual servers embodied across one or more virtualization elements executing on one or more physical computing devices.

Matchmaking server202may be configured to manage one or more connections among initiating player device102, non-initiating player device106, and one or more servers of multiplayer server204. Matchmaking server202may include at least matching algorithm214. Matchmaking server202may be associated with database216. Generally, for each game instance managed by interactive gaming platform104, there may be a corresponding matchmaking server202. Matchmaking server202may be configured to receive an initiation request from one or more player devices (e.g., initiating player device102, non-initiating player device106), and match each player device (102,106) to particular virtual game space150. Matchmaking server202may be configured to maintain a list of servers, locations, vacancies, and the like on database216in order to match an initiating player or a non-initiating player to virtual game space150. For example, matchmaking server202may maintain a list of servers (instances of multiplayer server204), their corresponding game spaces (including number of players, player information, and the like), the episodes running in the game space, and other factors such as ping and network location. The data maintained by matchmaking server202may be used to match a player to the most desirable virtual game space150or a server instance of multiplayer server204. In some examples, a ‘most desirable virtual space’ may refer to the instance of multiplayer server204that most closely is represented by the application specific data set provided by the server and the application specific player request. For example, an instance that is desirable may have a rank of 1 and an instance that is undesirable may have a rank of 0. When all instances of multiplayer server204are ranked, the first instance with the highest rank may be chosen as the most desirable virtual space.

In some embodiments, matchmaking server202may leverage matching algorithm214to match an initiating player device102to a particular instance of multiplayer server204and assign initiating player device102to a particular game space. Matching algorithm214may include a series of cascading checks for one or more matching features. Matching features may include items such as clan affiliation, rankings, equipment, and the like. In some embodiments, variables for matching features may be added at any time during the game. In some embodiments, matchmaking server202may allow for game specific code modules to be added, that may allow game specific logic to be used to filter what matches players are assigned.

Matching algorithm214may include a series of tests that may be completed to match a player device102,106to a particular instance of multiplayer server204. Matching algorithm214may leverage, for example, two sets of data to rank the priority of one or more instances of multiplayer server204. The first set of data may be provided by a player device102,106, and may be directed to what a player would like in a server; the second set of data may be provided by each instance of multiplayer server204to identify a current state of each instance. The custom data field is where each instance may store its application specific data set (e.g., number of players in a game).

When a player device (e.g.,102and/or106) attempts to find a matching server instance of multiplayer server204, the player device may send custom data in its request. The data that may be provided in the request may be dependent on application specific logic. For example, player device102and/or106may want to join a server instance that has no other players, or a server instance that is almost full of players. The request may be used to pass a custom JSON file with the player's desired joining selection.

Matchmaking server202may also be extensible with a set of custom filters that are used in ranking each server. The filters take in the JSON provided by the player, and compare it with each server registered in database216.

The filter may be in the form ‘float filterResult(string serverJSON,float currentRank)’. In this way, interactive gaming platform104may chain together basic filters to form more elaborate pipelines of logic.

As one example, assume there is an instance of multiplayer server204that takes two custom parameters: currentPlayers and maximumPlayers. These values may represent the number of players in the server instance, and the number of players allowed in a server instance.

A player device (102,106) may send a request for a server instance, with custom data fields named desiredOccupancy. This field may represent the normalized target ‘fullness’ of a server, described as currentPlayers/maximumPlayers.

When matchmaking server202receives the player request, matchmaking server202may generate a filter named rankByFullness which tests the normalized values against each other (desiredOccupancy against currentPlayers/maximumPlayers). Matchmaking server202may generate values between 0 and 1 with how close the desiredOccupancy and currentPlayers/maximumPlayers values are. If the value is very close, the returned value may be 1. If the value is too low, the returned value may be 0 (with a gradient of values between).

The returned value may represent the rank of server, with 1 being desirable and 0 being undesirable. When chained together, multiple filters can achieve advanced ranking combinations.

In the case in which a player device (102,106) seeks a near full server, matchmaking server202may take in the JSON from the instance of multiplayer server204, and read (e.g., compare) the number of players that exist against the maximum number of players allowed.

Each instance of multiplayer server204may register with matchmaking server202by passing an initial set of data. Each instance of multiplayer server204may continually update this data with a heartbeat of synchronizations. The set of data may include, but is not limited to, a unique identifier, an internet protocol (IP) address, a port, custom data field, and the like.

Matchmaking server202may further assign each non-initiating player device106to a particular sever instance of multiplayer server204. For example, matchmaking server202may receive from non-initiating player device106a unique identification code. Based on the unique identification code, matchmaking server202may transmit to the non-initiating player device106an internet protocol (IP) address for the particular server of multiplayer server204associated with the particular game space corresponding to the unique identification code.

Multiplayer server204may be configured to control and/or manage one or more multiplayer game spaces. For example, multiplayer server204may be configured to track player actions (e.g., of initiating player device102, of non-initiating player device106) throughout the game, and update the game accordingly. Multiplayer server204may include game play handler218, video module220, and advertisement (Adv.) module222.

Game play handler218may be configured to monitor user activity during game play. In some embodiments, the multiplayer server204may execute custom scripts that run in the background of each virtual game space150to track user activity during game play. For example, game play handler218may execute a third party daemon program (e.g., FireDaemon) to ensure that the custom scripts and game instances continue to execute. Using a specific example, should the game in virtual game space150crash, the third party daemon program may identify the crash and restart the game. Game play handler218may further manage character actions, as well as the location, velocity, and character damage of each character in the game space. Game play handler218may be configured to hold a definitive version of the game state, and the games running on the initiating player device102and/or non-initiating player device106may update to match the game state on multiplayer server204.

Game play handler218may be configured to identify one or more key moments (or events) during game play. For example, at key moments of the game, game play handler218may instruct non-initiating player devices106and initiating player devices102to request one or more videos from video server206and/or advertisements from advertisement server208. The requested videos and/or advertisements may be streamed and replayed on a display screen associated with initiating player device102and/or a display screen associated with non-initiating player device106. In some embodiments, game play handler218may instruct non-initiating player device(s)106and/or initiating player device102to request a specific video from video server206. In other words, game play handler218may instruct initiating player device102and/or non-initiating player devices106to contact video server206to request a video with specific features, such as, for example, a particular episode, phase, role, and/or action.

Video module220may be configured to manage one or more videos uploaded to interactive gaming platform104from initiating player device102and non-initiating player devices106. For example, initiating player device102and/or non-initiating player device106may capture one or more streams of audio and/or visual data, process the audio and/or visual data on the respective device (e.g., converted from a video to compressed GIF's streamed audio and visual data, etc.) and then transmit the video(s) to interactive gaming platform104for display. Video recording module220may store the received video in database226managed by video server206.

Upon receiving a video from a player device non-initiating player device106, initiating player device102), multiplayer server204may transmit the video to one or more players within the same multi-player game space150. In some embodiments, as default, multiplayer server204may always transmit the video to initiating player device102and/or one or more non-initiating player devices106that is communicatively coupled to display device111.

In some embodiments, multiplayer server204may make received videos available to third party administrators prior to transmitting the video to one or more player devices102,106or shared screen111. For example, multiplayer server204may provide the received recorded videos to an administrator device (not shown) such that the recorded videos may be screened (by either human or by algorithm) for objectionable content.

Multiplayer server204may further facilitate character videos configured for inclusion into a game's storyline. For example, video module220may be configured to include character videos that are uploaded by players and/or fans into the game's storyline. When users are playing, the uploaded character videos may be called by video module220in response to one or more game events and transmitted to at least one of the player devices102,106and/or on display device111. In this way, character videos that are generated and uploaded by players after the game is created and initiated may communicate stories and character roles that differ from stories and character roles envisioned when the game was first developed. By allowing users to alter both the storyline and character roles, interactive gaming platform104may allow users to continue to play within the same virtual game space150, while simultaneously ensuring that users may not be tied to the same storyline.

Advertisement module222may be configured to manage one or more advertisements for inclusion in virtual game space150. For example, advertisement module222may work in conjunction with advertisement server208to display one or more advertisements to one or more players in virtual game space150(e.g., via player device102, player device(s)106and/or display device111). In some embodiments, the displayed advertisements may prompt players to click on information, advertisements, and/or a purchasing process for the items displayed.

In some embodiments, database216may further maintain information related to instances of multiplayer server204that have registered with matchmaking server202. Database216may be an open source, in-memory data structure store such as Redis®. Database216may also include a customized application that allows for flexible data management. Database216may include a back-end system that is built on a hypertext preprocessor (PHP) configured to sort through incoming traffic, and interface with database216to update database216with live information corresponding to multiplayer server204. Furthermore, the customized application and back-end system may be configured such that all instances of multiplayer server204may easily communicate with matchmaking server101.

In some embodiments, a player device (102,106) may leave virtual game space150or stop participating by unregistering from multiplayer server204. The onscreen character corresponding to the leaving player device (102,106) may disappear from all other player devices (102,106), and/or display device111. In some embodiments, a player who respawns (i.e., a player corresponding to a character that has been killed in the video game appears again in the game after some time) may not be unregistered from multiplayer server204. Instead, the player's game state may be changed, and the game may be configured to have a time-delay, where the player is unable to move the game's storyline forward. Players may be treated differently based on the game. For example, if multiple players form a single character (i.e., a spaceship) or many characters (i.e., a team of firefighters). In space based video game, a space ship that is destroyed may be placed in a holding area such as a launch tube until the time-delay is passed. In a military based video game, where a player corresponds to a single character of a larger team, the character may disappear due to a critical injury and reappear once the time-delay is passed, while the remaining characters of the team may continue gameplay.

Video server206may be configured to manage one or more videos for inclusion in one or more virtual game spaces150. In some examples, video server206may be a Wowza streaming server or a Content Delivery Network (CDN) server made available to users of each virtual game space150. Video server206may include video handler224. Video server206may be associated with database226. Video handler224may be configured to work in conjunction with video module220of multiplayer server204. For example, upon game play handler218identifying one or more triggering actions during game play in virtual game space150, game play handler218may instruct video handler224to retrieve one or more videos from database226.

In some embodiments, video files may be temporarily stored in a storage location until the videos are approved by an administrator. For example, an administrator may process videos for quality, size, audio, and blank space, transcript, and add user reputation and identify information and add video filters. After approval by an administrator, the video files may be stored in database226. Videos stored in the database226may include video information such as Phase, Role (i.e., which roles should see it), Trigger event (i.e., what causes the video to play), Creator (i.e., who created the video), and the like. Videos stored in the database226may be edited, replaced, updated, and deleted.

Database226may further include one or more key-value pairs. A key-value pair may associate a video with a particular phase of the game, as determined by the game time or key events. In some embodiments, a particular game may have a fixed number of key-values, and as a new video is uploaded they may be associated with one of the fixed number of key-values. For example, there may be five key-values associated with a first phase of a game. If a player, fan, or administrator attempts to upload a sixth video, one of the existing videos may be replaced with the sixth video. In some embodiments, a game may be updated by providing one or more videos having existing key-values. The key-value pairs may be maintained in database226and downloaded from video server206to each player device102,106and/or controller115associated with display device111before each game session.

In operation, during key moments of gameplay, multiplayer server204may instruct player devices102,106and/or controller115to call one or more videos from video server206. Game play handler218may choose the video based on, for example, a phase, role, trigger event, and creator. For example, the key moments of gameplay may indicate a particular trigger event that corresponds to one or more videos stored in database226. Game play handler218may identify a video that meets the trigger event requirement. In some embodiments, game play handler218may further limit its search to videos created by a player to the virtual game space150. Accordingly, game play handler218may interface with video module220, such that video module220can instruct one or more player devices102,106and/or controller115to request the identified video from video server206.

In some embodiments, the trigger event may be the result of a player's action during gameplay. In some embodiments, one or more videos corresponding to one or more trigger events may be pre-loaded on player devices102,106and/or display device111. Accordingly, when game play handler218identifies the corresponding trigger event, video module220may instruct player devices102,106and/or display device111to retrieve the corresponding video from local storage. In some embodiments, trigger events may include one or more end trigger events. Each end trigger event may be a specific kind of trigger that ends one phase of the game (or story in the game) and moves to a new phase. Generally, at each phase of the game are one or more potential next phases. The specific next phase that is trigger may depend on the aggregate activity of all player devices102,106in the game.

In some embodiments, the videos stored in database226may include videos generated by interactive gaming platform104and one or more videos injected into one or more game spaces150by players to each respective games space150. Accordingly, videos that may be provided to the players may vary after the game is published. For example, videos containing new characters and stories may be added to a particular game space150by including such new characters and stores in one or more videos stored in database226. Such functionality may occur after game space150is initiated.

Advertisement server208may be configured to manage one or more advertisements for inclusion in virtual game space150. Advertisement server208may include advertisement (Adv.) handler228and advertisement database230. Advertisement module222of multiplayer server204may interface with advertisement server208to provide one or more advertisements to one or more of player devices102,106and/or controller115for display. Upon game play handler218identifying one or more triggering actions during game play in virtual game space150, for example, advertisement module222may instruct advertisement handler228to retrieve one or more videos from advertisement database230.

In some embodiments, advertisement server208may be provided by a third party network (e.g., AdMob, UnityAds) separate from interactive gaming platform104. In some embodiments, advertisement server208may be integrated with interactive gaming platform104. In some examples, advertisement handler228may receive and/or retrieve one or more advertisements from advertisement database230on a third party network. Advertisement database230may include advertisements from multiple advertisers.

In some embodiments, advertisement module222may choose an advertisement based on a weighting of advertisers stored in a file related to interactive gaming platform104. In some embodiments, the weighting may be stored on advertisement server208in extensible markup language (XML) format.

In operation, advertisement module222may instruct one or more player devices102,106and/or controller115to request one or more advertisements from advertisement handler228, such that the one or more advertisements may be integrated into the particular game space150. In some embodiments, advertisement module222may instruct one or more player devices102,106and/or controller115to request one or more advertisements from multiple advertisement servers208in a cascading manner.

In some embodiments, advertisement server208may interface with one or more advertisement providers. For example, upon receiving an advertisement request, advertisement handler228may access a list of advertisement providers and ping the advertisement provider for one or more advertisements. If, for example, a first advertisement provider does not provide the requested advertisement, advertisement handler228may be configured to ping the next advertisement provider on the list for the requested advertisement. The advertisement provider list may be updated at every load of the game.

In some embodiments, each advertisements may include one or more uniform resource locators (URLs) that are actionable by each end user. Accordingly, an advertisement may prompt end users to click on the displayed advertisement. In operation, advertisements may be requested after a player respawns, after a story video plays, or after an advertisement trigger occurs.

Web client application server210may be configured to provide a web site interface that links one or more player devices102,106and/or controller115to interactive gaming platform104. Web client application server210may include, for example, one or more web pages232and handler234. Handler234may be configured to serve one or more web pages232to one or more player devices102,106and/or controller115based on a received hyperlink transfer protocol request.

One or more player devices102,106and/or controller115may request one or more web pages232from web client application server210. Via one or more web pages232, an end user may upload one or more videos to a particular interactive game space150. Further, via one or more web pages232, end users may modify or edit the one or more videos. For example, end users may record, load, edit, and apply effects to one or more videos via web page232. Such exemplary effects may include, but are not limited to, video scan lines, tints, adding graphical elements like targeting reticules and science fiction jargon, sepia tone and the like. The effects may be used to make user videos fit with the aesthetics of the game. The effects may be applied such that the player generated video may be integrated into the video effects of the other videos in the database226.

In some embodiments, one or more web pages232may be representative of a Wiki page corresponding to a game or interactive game space150. Accordingly, end users may access one or more web pages232to upload content to a Wiki page, or a website that allows collaborative editing of its content and structure by its users. Uploaded content may include, for example, storylines, characters, world concepts, scripts, videos, and the like. An administrator may compile the uploaded content and develop story arcs, phases, computer code, and graphics that may be adapted into the storyline presented by interactive gaming platform.

Changes in the game state may be communicated by multiplayer server204to player devices102,106as well as display device111. In one embodiment, multiplayer server204may use techniques such as dead reckoning in order to determine the location of player-controlled objects in advance of multiplayer server204communicating changes in game state to player devices102,106and display device111.

AI server212may be configured to manage a storyline and one or more characters or avatars in each interactive game space150. AI server212may include at least character development (dev.) module236and story map module238. Character development module236and story map module238may work in conjunction to manage a story being conveyed by a game in interactive game space150.

Character development module236may be configured to generate one or more characters to be included in interactive game space150. Conventionally, systems use bots to populate its servers with opponents to play against. In conventional systems, gaming storylines have the tendency to repeat themselves, because characters are limited to a fixed number of responses to different activation triggers. Character module236addresses this limitation of conventional systems by generating characters that are configured to respond to user voice and actions and changes in the game world, with a range of behaviors and dialogue in situations that may not have been anticipated by developers and to do so in such a way as to reveal their characters and the world the inhabit in a consistent fashion. The game may be structured into a series of storypoint nodes. Each storypoint node may include media (and associated triggers), game state and character changes, as well as one or more end triggers. For each storypoint node, each character may have a rule set. A rule set may include potential character behavior, dialogue, and personal goal set the character uses in determining which behavior and/or dialogue to utilize. In response to player device102,106actions and/or voice input (and any other changes to virtual game space150), characters may select from their behaviors based on their goal set, and couple the selected behavior with dialogue chosen from the rule set.

Each character may be individually designed to represent a character in the story, including how the character behaves in response to user input and the state of the game, and in the creation of dialogue and pre-rendered video communications, giving characters physical and behavioral characteristics and goals in the game. Character development module236may also design characters to remember past events and alter their behaviors based on prior user action, success of particular actions, and the like. In other words, character development module236may generate characters that are capable of responding intelligently to end user input. Much like players, characters may control objects in virtual game space150and deliver dialogue through one or more video files retrieved from video server206and delivered to one or more player devices102,106.

Character responses may not be tied to a particular player device102,106input, but rather, may be selected based on a determination of player device's102,106intent from voice input and/or other actions. Character development module236may leverage a character algorithm to select which of its available behaviors (and related) are most likely to accomplish its current goal set. Character development module236may design character goals to create conflict and reveal character backstories as player devices102,106interact with the characters. As a result, player devices102,106may learn about the world represented in virtual game space150from characters' actions and dialogue, which may be initiated by the protagonists' journey through the world. Such storytelling is similar to that in a novel, movie, television show, and the like. However, in virtual game space150, each player device102,106may be a protagonist in the story; rather than merely an observer, as in traditional storytelling.

Story map module238may generate a backbone or structure of the interactive game space150. In other words, story map module238may be configured to generate a story terrain map which encompasses one or more story structures, each a storypoint node, based on aggregate player actions in the game world. Generally, each story may include one or more phases and one or more storypoint nodes, wherein completion of a given phase results in the start of another storypoint node. The story terrain map differs from conventional gaming stories in that phases of the story terrain map do not include a single end condition; rather, each phase may include a series of end-triggers, each of which may lead to a subsequent storypoint node, and so on. Taken together, storypoint nodes may dictate the narrative and gameplay possibilities available at each phase of the game. Storypoint nodes may be chained together by end-triggers, with multiple possible end triggers within each storypoint node, thereby creating a web of pathways through all possible storylines in the game. The complete set of storypoint nodes in a game, and the manner in which they are connected, may be represented in the story terrain map. Story terrain maps, including the selection of nodal connections between particular storypoint nodes, may allow traditional storytelling structures to be combined with free-form gameplay. For example, multiple storypoint nodes, each with difficult challenges and character reveals, may connect in a hub and spoke formation to a lower-action storypoint node in order to build rising action that leads to a narrative climax regardless of which “spoke” is activated. As groups of players initiate end-triggers and traverse the story terrain map together in a game session, the players may experience a set of changing game play and character response conditions resulting in a highly structured story that, nevertheless, reflects their free-form multiplayer game play within each storypoint node or phase.

Story map module238may mark phases by changes in the state of the game, but also by changes in the state of every character in interactive game space150. For example, based on a user action, a character's dialog sets, abilities, and behaviors may change. In some embodiments, the character's goals for a given phase may also change. In this way, story map module238may create one or more ways in which characters may evolve and reveal themselves in unexpected ways, while, at the same time, goals for a particular phase may be designed to drive end user experience in a particular direction. Accordingly, the outcome of a phase or the overall game may be variable, based on one or more of end user action, character action, which characters and end users are playing, prior end user action, and the like. Further, a pairing between each end user and each character may alter the experiences of the story, which may lead to high replayability of the game.

The story terrain map generated by story map module238differs from traditional interactive story decision trees in that the story terrain map enables the characters in virtual game space150to response to unanticipated situations with behaviors and dialogue that are not predetermined, while maintaining a consistent characterization. Unanticipated situations that may arise during game play may be logged and reported by, for example, matchmaking server202, AI server212, etc., thereby enabling developers to create new storypoint nodes, rule sets, and dialogue which contribute to the growth of characters and the world in response to player device102,106activity. Additionally, by moving the game to different storypoint nodes in response to multiple player devices'102,106combined actions in the game (i.e., storypoint end triggers), and changing each characters' configuration at each node shift, characters and the story may be seen to evolve in response to multiple player devices'102,106action and dialogue, while remaining true to the author's (or developer's) intent.

FIG. 10is an example story terrain map1000, according to example embodiments. Story terrain map1000is an exemplary map illustrating a storyline that may be a backbone of a game in virtual game space150. As illustrated, story terrain map1000may include one or more storypoint nodes1002. Stemming from each storypoint node1002, may be one or more paths1004that a player device (102,106) may choose to take. As illustrated, each storypoint node1002may have several paths1004, which may lead to several different storypoint nodes1002. Accordingly, the aggregate actions of all player devices102,106at a storypoint node1002early in the storyline may lead to a different path through the story terrain map and greatly affect the storyline. Nevertheless, each path1004may represent a structured story with consistent, evolving characters and may reveal different aspects of a consistent story world. Iterating through each possibility may provide end users with a high rate of game replayability.

It is important to note how interactive gaming platform104is configured differently from conventional multiplayer gaming systems. First, consider massive multiplayer online games (MMOs). MMOs typically use quests/missions to create an exposition. Generally, in an MMO, the environment (or world) does not change; however, in some MMOs a trigger (e.g., a location based like riding into a new town and meeting a new character) may initiate an activity that might include an interstitial or monologue from a character to set up a scene, and a set of goals (for the player) to “win” the interaction. Within the interaction, the player is typically scored against the mission goals, and dialogue from characters proceeds deterministically based on user action, dialogue, and, in some cases, utilizing a log of previous user actions. When the quest is complete, there is typically a closing interstitial or dialogue, and players may proceed to finding the next mission. The heart of the game is in locating and completing quests and experiencing the world through dialog and behavior of characters within these quests.

While conceivably quests may be chained together to create complex narratives, it becomes increasingly complex to manage storylines in an MMO as each point of dialogue becomes a potential influence on future events and character attitudes. This is because decision trees become impossibly broad as users take different paths through a story—a problem which is increased in the massive multiplayer environment in which players' every action must be considered in determining story direction at the end of a long tale. It would simply be impossible or near impossible to write and create media for a complex story with multiple characters, multiple storylines, and multiple simultaneous players.

Accordingly, current MMO methods are limited as story vehicles due to internal complexity as stories scale in depth and number of players. As a consequence, exposition and character are often done in interstitials and monologues (i.e., not in gameplay, but in the traditional linear movies sections.) While character may react to user actions in game, they are limited to a narrow set of responses to player activity.

Interactive gaming platform104addresses the limitations of traditional multiplayer systems, by providing an environment backed by an improved story terrain map that includes AI characters that may not only participate in a predefined storyline, but are also able to flexibly respond to game state and human input. In this way, players may impact the interactive game space150through their own actions, but all elements work together to ensure events illuminate a crafted story world, rather than rending the story with actions inconsistent with or impossible in the world.

Using a specific example, interactive gaming platform104may be able to efficiently respond to an aggressive game play (e.g., a player slaughtering innocent characters). In conventional systems, players who do something out of character might be summarily killed by the system in a dens ex machina way. In another example, such as that in MMO systems, the platform may punish that activity lowering the player's “moral rating” or similar. Such issues would not present themselves in virtual game space150. For example, if the authors had not anticipated an event like this, the character development module236may flag unanticipated activities and a new “storypoint” can be crafted and inserted into the story map module238. Accordingly, the new storypoint may be made available to all users without a new download of software. As a result of such action, in virtual game space150, characters may now be able to respond in-character and a natural storyline would emerge from such an event. Continuing with the example above, for instance, a player might now be given a red laser sword by a mysterious Evil Mentor and led on a journey; other players would hear rumors of a new wicked apprentice and characters may begin hording magic power crystals. This new storyline may create narrative and gameplay conditions for all players using devices102,106and/or display device111connected to the game, thereby improving player experiences in response to unanticipated player action.

Referring back toFIG. 2, interactive gaming platform104is able to achieve such functionality through AI server212. Character development module236may develop AI characters that respond to player activity independently and not as a complex whole decision tree involving multiple characters at once. The independent AI characters may be configured with various dialogue and behaviors, and can choose among them by reference to “goals.” The interaction between independent AI characters may create conflict and story, which may result in opportunities to discuss and reveal elements of virtual game space150. By creating multiple storypoint outcomes (each a storypoint triggered by a set of end-conditions defined at each storypoint) interactive gaming platform104may allow multiple users interacting with the world to move a story forward in a way that is natural, reveals new elements of a pre-authored world, and that reflects their actions within the story.

FIG. 3is a signal flow diagram300illustrating example communication among one or more components of the computing system100ofFIG. 1, according to example embodiments. Signal flow diagram300may represent one or more operations that may be involved in initiating player device102and non-initiating player device106gaining access to virtual game space150.

At operation302, initiating player device102may register and/or log-in to an account with interactive gaming platform104. As illustrated, initiating player device102may request access to virtual game space150. For example, initiating player device102may request access to virtual game space from matchmaking server (MMS)202. In some embodiments, initiating player device102may gain access to interactive gaming platform104via application114executing thereon.

At operation304, matchmaking server202may match initiating player device102to a particular games space150. Matchmaking server202may leverage matching algorithm214to match initiating player device102to a particular instance of multiplayer server (MPS)204and assign initiating player device102to a particular game space150. Matchmaking server202may request from multiplayer server204an identification code associated with the identified instance of multiplayer server204.

At operation306, multiplayer server204may identify the identification code associated with the identified instance of multiplayer server204. In other words, the identification code may correspond to the particular virtual game space150assigned to initiating player device102. Multiplayer server204may transmit the unique identification code associated with the identified server instance.

At operation308, matchmaking server202may transmit the received identification code to initiating player device102. The identification code may be used by initiating player device102to allow one or more non-initiating player devices106to gain access to virtual game space150.

At operation310, initiating player device102may transmit the received identification code to one or more non-initiating player devices106. In some embodiments, initiating player device102may electronically transmit the received identification code to one or more non-initiating player devices106. In some embodiments, an end user associated with initiating player device102may verbally transmit the identification code to one or more end users associated with one or more non-initiating player devices106.

At operation312, non-initiating player device106may attempt to join virtual game space150. In some embodiments, such as that shown, non-initiating player device106may communicate directly with multiplayer server204to join the particular virtual game space150. In some embodiments, non-initiating player device106may communicate indirectly with multiplayer server204, by communicating with matchmaking server202. Non-initiating player devices106may join interactive game space150by providing multiplayer server204with the received identification code. In some embodiments, the identification code is representative of a server (e.g., serverID). In some embodiments, the identification code is representative of controller115rendering a main screen for a unit or team (e.g., unitID) (e.g., on display111). For example, the serverID may link to a game space where each player device102,106is playing the same military game, while the unitID may link to a particular military fire team within virtual game space150.

At operation314, multiplayer server204may process the request from non-initiating device106. For example, multiplayer server204may parse the received identification code to determine how to provide access to non-initiating device106. In some embodiments in which the identification code is representative of a controller, multiplayer server204may associate non-initiating player device106with a unit or team associated with the identification code. In some embodiments in which the identification code is representative of a server, multiplayer server204may more generally associate non-initiating player device106with interactive games space150.

At operation316, multiplayer server204may provide initiating player device102with access to interactive game space150. For example, multiplayer server204may transmit an internet protocol (IP) address to initiating player device102, which corresponds to a specific server instance associated with interactive game space150.

At operation318, multiplayer server204may provide non-initiating player device106with access to interactive game space150. For example, multiplayer server204may transmit an IP address to non-initiating player device106, which corresponds to a specific server associated with interactive game space150.

FIG. 4is a signal flow diagram400illustrating example communication among one or more components of the computing system100ofFIG. 1, according to example embodiments. Signal flow diagram400may represent one or more operations that may be taken while initiating player device102and non-initiating player device106interact within virtual game space150.

At operation402, multiplayer server204may instruct initiating player device102to request one or more videos from video server (VS)206. For example, multiplayer server204may determine that a trigger event has occurred and, as a result, a video corresponding to the trigger event should be played. In some embodiments, multiplayer server204may instruct initiating player device102to request a specific video from video server206. In some embodiments, multiplayer server204may instruct initiating player device102to request a type of video from video server206. Exemplary triggers may be, for example:Act 1Video(TriggerX, RoleY)Video(TriggerX, RoleZ)Video(TriggerY, RoleY)Video(TriggerZ, RoleY)Act 2Video(TriggerX, RoleY)Video(TriggerX, RoleZ)Video(TriggerY, RoleY)Video(TriggerZ, RoleY)

At operation404, multiplayer server204may instruct non-initiating player device106to request one or more videos from video server206. For example, multiplayer server204may determine that a trigger event has occurred and, as a result, a video corresponding to the trigger event should be played. In some embodiments, multiplayer server204may instruct non-initiating player device106to request a specific video from video server206. In some embodiments, multiplayer server204may instruct non-initiating player device106to request a type of video from video server206. In some embodiments, the instructions transmitted to non-initiating player device106may differ from the instructions transmitted to initiating plyer device102. In other words, multiplayer server204may instruct initiating player device102to request a video that differs from the video non-initiating player device106was instructed to request. A similar operation may be performed when a character in virtual game space150initiates video playback (e.g., a character speaks with a player device102,106). AI server212may send an instruction to initiate a similar action, e.g., instruct initiating player device102and/or non-initiating player device106to request one or more videos from video server206.

At operation406, initiating player device102may request one or more videos from video server206. For example, initiating player device102may request one or more videos from video server206in accordance with instructions received at operation402.

At operation408, non-initiating player device102may request one or more videos from video server206. For example, initiating player device102may request one or more videos from video server206in accordance with instructions received at operation404.

At operation410, video server206may process the request from initiating player device102. For example, video handler224may parse the request to identify one or more videos in the request. Video handler224may query database226to retrieve the one or more videos. Video server206may transmit the one or more videos to initiating player device102for rendering and display.

At operation412, video server206may process the request from non-initiating player device106. For example, video handler224may parse the request to identify one or more videos in the request. Video handler224may query database226to retrieve the one or more videos. Video server206may transmit the one or more videos to non-initiating player device106for rendering and display.

At operation414, multiplayer server204may continually monitor non-initiating player device106and initiating player device102during game play. For example, multiplayer server204may aggregate one or more actions by non-initiating player device106and/or initiating player device102during a phase or level of the game. Such actions may relate to, for example, interactive game space150having a player who takes the role of a captain that is responsible for steering a spaceship, another player may take the role of a navigator that is responsible for providing the captain with the coordinates for the spaceship, and yet another player may take the role of a weapons specialist that is responsible for selecting the proper weapon, etc. Together the players must perform their individual tasks/actions associated with their role properly in order for the aggregate of the actions to meet a trigger event such as destroying an enemy spaceship.

At operation416, multiplayer server204may continually aggregate and analyze one or more actions performed during gameplay to determine whether the actions correspond to satisfying a trigger event. Continuing with the above example, the trigger event may be destroying the enemy ship.

After the trigger event is met (e.g., the enemy spaceship is destroyed), multiplayer server204may provide player devices102,106with a new portion of the game's storyline. The new portion of the game's storyline may be accompanied by a new set of videos retrieved from video server206. In some embodiments, the new portion of the game's storyline may include a video that is configured to be displayed on display device111so that it is viewed by all the players participating in virtual game space150. The new portion of the game's storyline may also include targeted videos that are configured to be displayed on the displays of the player devices in accordance with their respective roles. For example, a player that takes the role of Spiderman may receive a video from Mary Jane. While each of the players participating in the game space may receive and view a different video on their player device, the received videos may be consistent with each other and present aspects of a single coherent storyline (corresponding to the game space) in various points-of-view. The displayed videos may summarize the player's accomplishments and inform and motivate the players to continue with the next phase of the storyline.

Accordingly, at operation418, multiplayer server204may instruct initiating player device102to request one or more videos from video server206. For example, multiplayer server204may determine that the trigger event has occurred and, as a result, a video corresponding to the trigger event should be played. In some embodiments, multiplayer server204may instruct initiating player device102to request a specific video from video server206. In some embodiments, multiplayer server204may instruct initiating player device102to request a type of video from video server206.

At operation420, multiplayer server204may instruct non-initiating player device106to request one or more videos from video server206. For example, multiplayer server204may determine that the trigger event has occurred and, as a result, a video corresponding to the trigger event should be played. In some embodiments, multiplayer server204may instruct non-initiating player device106to request a specific video from video server206. In some embodiments, multiplayer server204may instruct non-initiating player device106to request a type of video from video server206. In some embodiments, the instructions transmitted to non-initiating player device106may differ from the instructions transmitted to initiating plyer device102. In other words, multiplayer server204may instruct initiating player device102to request a video that differs from the video non-initiating player device106was instructed to request.

At operation422, initiating player device102may request one or more videos from video server206. For example, initiating player device102may request one or more videos from video server206in accordance with instructions received at operation402.

At operation424, non-initiating player device102may request one or more videos from video server206. For example, initiating player device102may request one or more videos from video server206in accordance with instructions received at operation402.

At operation426, video server206may process the request from initiating player device102. For example, video handler224may parse the request to identify one or more videos in the request. Video handler224may query database226to retrieve the one or more videos. Video server206may transmit the one or more videos to initiating player device102for rendering and display.

At operation428, video server206may process the request from non-initiating player device106. For example, video handler224may parse the request to identify one or more videos in the request. Video handler224may query database226to retrieve the one or more videos. Video server206may transmit the one or more videos to non-initiating player device106for rendering and display.

FIG. 5Ais a signal flow diagram500illustrating example communication among one or more components of the computing system100ofFIG. 1, according to example embodiments. Signal flow diagram500may represent one or more operations that may be performed while initiating player device102and non-initiating player device106interact within virtual game space150.

At operation502, initiating player device102may capture a video using camera112associated therewith. In some embodiments, the video may include one or more sets of audio and or visual data corresponding to a message directed to one or more end users associated with virtual game space150. In other words, the video may correspond to a video message with one or more intended recipients. In some embodiments, initiating player device102may process the video, such that the video is compatible with video server206. For example, initiating player device102may convert the video from an .mp4 format to a graphics interchange format (GIF).

At operation504, initiating player device102may transmit the video to multiplayer server204. In some embodiments, initiating player device102may transmit the video to multiplayer server204via web client application server210. The video transmission may include one or more parameters associated with the video. Such parameters may include, for example, one or more intended recipients.

At operation506, multiplayer server204may, optionally, analyze the video to determine whether the video includes any sensitive material. For example, multiplayer server204may make the video available to a third party administrator such that the third party administrator may watch the video, to ensure that the video is appropriate for its intended audience.

At operation508, multiplayer server204may transmit the video to video server206for storage. For example, video module220may instruct video handler224to store the received video in database226.

At operation510, multiplayer server204may instruct non-initiating player device106(e.g., the intended recipient) to request the video from video server206. At operation512, non-initiating player device102may request the video from video server206. At operation514, video server206may process the request from non-initiating player device106. For example, video handler224may parse the request to identify the video in the request. Video handler224may query database226to retrieve the video. Video server206may transmit the video to non-initiating player device106for rendering and display.

In some embodiments, player devices102,106that receive a recorded video may display a notification that a video has been sent to the player, and the player may be prompted to elect whether they wish to accept or reject the video. Only after a player has elected to accept the video, may a video be displayed and viewed on the player device102,106and/or display device111. In some embodiments, player devices102,106may include software allowing a player to report inappropriate content on a received video to interactive gaming platform104.

FIG. 5Bis a signal flow diagram550illustrating example communication among one or more components of the computing system100ofFIG. 1, according to example embodiments. Block diagram550may represent one or more operations that may be performed while initiating player device102and non-initiating player device106interact within virtual game space150.

At operation552, initiating player device102may capture a video using camera112associated therewith. In some embodiments, the video may include one or more sets of audio and or visual data corresponding to a message directed to one or more end users associated with virtual game space150. In other words, the video may correspond to a video message with one or more intended recipients. In some embodiments, initiating player device102may process the video, such that the video is compatible with video server206. For example, initiating player device102may convert the video from an .mp4 format to a graphics interchange format (GIF).

At operation554, initiating player device102may transmit the video to multiplayer server204. In some embodiments, initiating player device102may transmit the video to multiplayer server204via web client application server210. The video transmission may include one or more parameters associated with the video. Such parameters may include, for example, one or more triggering conditions associated with the video. Accordingly, the user's recorded video may be included in virtual game space150upon activation of a trigger event.

At operation556, multiplayer server204may, optionally, analyze the video to determine whether the video includes any sensitive material. For example, multiplayer server204may make the video available to a third party administrator, such that the third party administrator may watch the video to ensure that the video is appropriate for its intended audience.

At operation558, multiplayer server204may transmit the video to video server206for storage. For example, video module220may instruct video handler224to store the received video in database226.

At operation560, multiplayer server204may continually monitor non-initiating player device106and initiating player device102during game play. For example, multiplayer server204may aggregate one or more actions by non-initiating player device106and/or initiating player device102during a phase or level of the game.

At operation562, multiplayer server204may continually aggregate and analyze one or more actions performed during gameplay to determine whether the actions correspond to satisfying a trigger event. After the trigger event is met, multiplayer server204may provide player devices102,106with a new portion of the game's storyline. The new portion of the game's storyline may be accompanied by a new set of videos retrieved from video server206. Included in the new set of videos may be the video generated by the user in operation552.

At operation564, multiplayer server204may instruct initiating player device102to request the uploaded video from video server206. For example, multiplayer server204may determine that the trigger event associated with the uploaded video has occurred and, as a result, the video corresponding to the trigger event should be played.

At operation566, multiplayer server204may instruct non-initiating player device106to request the uploaded video from video server206. For example, multiplayer server204may determine that the trigger event associated with the uploaded video has occurred and, as a result, the video corresponding to the trigger event should be played.

At operation568, initiating player device102may request the uploaded video from video server206. For example, initiating player device102may request the uploaded video from video server206in accordance with instructions received at operation564.

At operation570, non-initiating player device102may request the uploaded video from video server206. For example, initiating player device102may request the uploaded video from video server206in accordance with instructions received at operation566.

At operation572, video server206may process the request from initiating player device102. For example, video handler224may parse the request to identify video in the request. Video handler224may query database226to retrieve the uploaded video. Video server206may transmit the uploaded video to initiating player device102for rendering and display.

At operation574, video server206may process the request from non-initiating player device106. For example, video handler224may parse the request to identify the video in the request. Video handler224may query database226to retrieve the uploaded video. Video server206may transmit the uploaded video to non-initiating player device106for rendering and display.

FIG. 6is a signal flow diagram600illustrating example communication among one or more components of the computing system100ofFIG. 1, according to example embodiments. Signal flow diagram600may represent one or more operations that may be performed while initiating player device102and non-initiating player device106interact within virtual game space150.

At operation602, multiplayer server204may submit an advertisement call to advertisement server (AS)208. The advertisement call may include a request to receive an advertisement from advertisement server208. In some embodiments, the advertisement call may include one or more parameters. Such parameters may include a type of advertisement, a vendor associated with the advertisement, a size of the advertisement, and the like.

At operation604, advertisement server208may process the advertisement call received from multiplayer server204. For example, advertisement server208may identify the one or more parameters specified by multiplayer server204in the advertisement call. In some embodiments, advertisement server208may retrieve an advertisement, locally, from database230. In some embodiments, advertisement server208may request an advertisement from a third party advertisement system.

At operation606, advertisement server208may transmit an advertisement to multiplayer server204. The advertisement may satisfy the one or more parameters associated in the advertisement call.

At operation608, multiplayer server204may transmit the advertisement to initiating player device102. At operation610, multiplayer server204may transmit the advertisement to non-initiating player device106.

FIG. 7is a flow diagram illustrating a method700of managing an interactive game space, which may be implemented by interactive gaming platform104, according to example embodiments.FIG. 7is described with respect toFIGS. 1 and 2. Method700may begin at step702.

At step702, interactive gaming platform104may register initiating player device102. For example, matchmaking server202may receive a request from initiating player device102to gain access to or create a particular interactive game space150. Matchmaking server202may register or match initiating player device102with a particular instance of multiplayer server204corresponding to the particular interactive game space150.

At step704, interactive gaming platform104may generate an identification code corresponding to the particular interactive gaming space150. In some embodiments, matchmaking server202may generate the identification code corresponding to the interactive game space150. In some embodiments, multiplayer server204may generate the identification code. In some embodiments, the identification code is representative of a server (e.g., serverID). In some embodiments, the identification code is representative of controller115rendering a main screen (e.g., on display111) for a unit or team (e.g., unitID). For example, the serverID may link to virtual game space150where each player device102,106is playing the same military game, while the unitID may link to a particular military fire team within virtual game space150. The identification code may be subsequently used by non-initiating player device106to join initiating player device102in virtual game space150.

At step706, interactive gaming platform104may receive one or more requests to join interactive game space150from one or more non-initiating player devices106. The one or more requests may generally include at least the identification code communicated from initiating player device102to one or more non-initiating player devices106.

At step708, interactive gaming platform104may associate each player devices102,106with a particular role or character in virtual game space150. In some embodiments, multiplayer server204may assign each player device102,106a particular role. For example, based on computing specifications of a particular player device (102,106), interactive gaming platform104may assign each player device102,106a direct or non-direct role. In some embodiments, multiplayer server204may prompt each player device102,106to choose a role and/or character in virtual game space150.

At step710, interactive gaming platform104may provide player devices102,106with access to the game space. For example, multiplayer server204may initiate the game represented by virtual game space150, by transmitting one or more frames of the game to player devices102,106(and/or to controller115) for rendering and display.

At step712, interactive gaming platform104may receiving one or more commands for controlling objects in virtual game space150. For example, multiplayer server204may continually monitor non-initiating player device106and initiating player device102during game play. Multiplayer server204may identify one or more commands for controlling one or more objects in virtual game space150from one or more of player devices102,106.

At step714, interactive gaming platform may aggregate one or more actions taken by the objects in virtual game space150. For example, multiplayer server204may continually aggregate and analyze one or more actions performed during gameplay to determine whether the actions correspond to satisfying a trigger event.

At step716, interactive gaming platform104may determine whether a trigger event has been met. If, at step716, interactive gaming platform104determines that a trigger event is not met, then step716proceeds to step712.

If, however, interactive gaming platform104determines that the trigger event has been met, at step718, multiplayer server204may generate an updated game display to provide player devices102,106with a new portion of the game's storyline. The new portion of the game's storyline may be accompanied by a new set of videos retrieved from video server206. At step720, interactive gaming platform104may transmit the updated game display to each of player devices102,106(and, in some examples, controller115).

For example, if the players in virtual game space150collaborate to destroy an enemy spaceship, a video may appear depicting a fictional character from the game. Within the multiplayer game space, the multiplayer server104may aggregate the actions taken by each individual player and determine whether the aggregate of the actions may meet a trigger action (e.g., event). For example, the game may correspond to a space epic adventure and a triggering action (event) may include when a space station is destroyed by an enemy. In this example, the videos on the video server206including the space station and the characters who lived on the space station are no longer necessary for the space epic adventure, as they have been destroyed by the enemy. Accordingly, multiplayer server204may provide a motivational video to one or more of player devices102,106encouraging the players to seek revenge and provide a new objective to the players. For example, in connection with the space epic adventure, the players object may change from defending the space station to attacking the enemy with superior lasers, or retreating. Multiplayer server204may also display new videos on each player device corresponding with each player's role in the game space and the new phase of the game (that is responsive to the triggering action (event) of the space station being destroyed by an enemy). In this manner, triggering actions (events) may move the story line of the game forwards, and result in the display of a second set of videos.

FIG. 8is a functional block diagram illustrating an exemplary computing system802, according to example embodiments. Computing system802may be representative of initiating player device102and non-initiating player device106.

Computing system802may include processor804, memory806, storage808, and network interface810. In some embodiments, computing system802may be coupled to one or more I/O device(s)812. I/O devices812may include display824and camera826. Although not shown, in some examples, computing system802may also include at least one microphone for capturing audio and/or at least one loudspeaker for outputting audio).

Processor804may retrieve and execute program code820(i.e., programming instructions) stored in memory806. Processor804may also retrieve application data from application822, stored in memory822. Processor804may be included to be representative of a single processor, multiple processors, a single processor having multiple processing cores, and the like. Network interface810may be any type of network communications allowing computing system802to communicate externally via a computing network (e.g., network105). For example, network interface810may be configured to enable external communication with interactive gaming platform104.

Storage808may be, for example, a disk storage device. Although shown as a single unit, storage808may be a combination of fixed and/or removable storage devices, such as fixed disk drives, removable memory cards, optical storage, network attached storage (NAS), storage area network (SAN), and the like.

Memory806may include web browser816, operating system818, program code820, and application822. Program code820may be accessed by processor804for processing (i.e., executing program instructions). Program code820may include, for example, executable instructions for communicating with other computing devices to display one or more pages of a website, via web browser816. Application822may enable a user of computing system802to access a functionality of interactive gaming platform104. For example, application822may access content managed by interactive gaming platform104, such as a particular virtual game space150. The content that is displayed to a user of computing system802may be transmitted from interactive gaming platform104to computing system802, and subsequently processed by application822for display through a graphical user interface (GUI) of computing system802.

FIG. 9illustrates a functional block diagram of a machine in the example form of computer system900, within which a set of instructions for causing the machine to perform any one or more of the methodologies, processes, or functions discussed herein may be executed. In some examples, the machine may be connected (e.g., networked) to other machines as described above. The machine may operate in the capacity of a server or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be any special-purpose machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine for performing the functions describe herein. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein. In some examples, each of servers202-212of interactive gaming platform104, initiating player device102, non-initiating player device(s)106, controller115, and display device111may be implemented by the example machine shown inFIG. 9(or a combination of two or more of such machines).

Example computer system900may include processing device901, memory905, data storage device909, and communication interface911, which may communicate with each other via data and control bus917. In some examples, computer system900may also include display device913and/or user interface915.

Processing device901may include, without being limited to, a microprocessor, a central processing unit, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP) and/or a network processor. Processing device901may be configured to execute processing logic903for performing the operations described herein. In general, processing device901may include any suitable special-purpose processing device specially programmed with processing logic903to perform the operations described herein.

Memory905may include, for example, without being limited to, at least one of a read-only memory (ROM), a random access memory (RAM), a flash memory, a dynamic RAM (DRAM) and a static RAM (SRAM), storing computer-readable instructions907executable by processing device901. In general, memory905may include any suitable non-transitory computer readable storage medium storing computer-readable instructions907executable by processing device901for performing the operations described herein. Although one memory device905is illustrated inFIG. 9, in some examples, computer system900may include two or more memory devices (e.g., dynamic memory and static memory).

Computer system900may include communication interface device911, for direct communication with other computers (including wired and/or wireless communication), and/or for communication with a network. In some examples, computer system900may include display device913(e.g., a liquid crystal display (LCD), a touch sensitive display, etc.). In some examples, computer system900may include user interface915(e.g., an alphanumeric input device, a cursor control device, etc.).

In some examples, computer system900may include data storage device909storing instructions (e.g., software) for performing any one or more of the functions described herein. Data storage device909may include any suitable non-transitory computer-readable storage medium, including, without being limited to, solid-state memories, optical media, and magnetic media.

While the present disclosure has been discussed in terms of certain embodiments, it should be appreciated that the present disclosure is not so limited. The embodiments are explained herein by way of example, and there are numerous modifications, variations and other embodiments that may be employed that would still be within the scope of the present disclosure.

Claims

  1. A system comprising: at least two player devices;and an interactive gaming platform comprising a processor and a memory, the interactive gaming platform communicatively coupled to the at least two player devices via at least one network, the interactive gaming platform configured to generate a virtual game space accessible by the at least two player devices, the virtual game space representing a multiplayer game comprising one or more phases, wherein each phase comprises one or more trigger events, the interactive gaming platform configured to: provide access of the virtual game space to the at least two player devices;receive one or more commands for controlling objects in the virtual game space from among the at least two player devices;aggregate actions taken by the objects in the virtual game space responsive to the received one or more commands;determine that the aggregate of the actions taken by the objects in the virtual game space corresponds to a trigger event;identify that the trigger event corresponds to progression to a next phase of the multiplayer game;update the virtual game space to include one or more sets of game attributes corresponding to the next phase of the multiplayer game;generating an updated game display depicting the next phase of the multiplayer game;and transmit the updated game display to the at least two player devices.
  1. The system of claim 1 , wherein the system further comprises a video server, the multiplayer server being configured to: identify one or more videos corresponding to a next phase of the multiplayer game when the aggregate of the actions corresponds to the trigger event;and instruct each of the at least two player devices to request the one or more videos from the video server.
  2. The system of claim 1 , wherein the interactive gaming platform is further configured to: register the at least two player devices prior to providing access to the virtual game space.
  3. The system of claim 1 , wherein the interactive gaming platform is further configured to: receive, from a first player device of the at least two player devices, a video recorded by the first player device for transmittal to a second player device of the at least two player device;and transmit the video to the second player device during gameplay.
  4. The system of claim 1 , wherein the system further comprises a video server, the interactive gaming platform is further configured to: receive a recorded video comprising one or more parameters defining a triggering condition associated with the video;receive one or more further commands for controlling objects in the virtual game space from among the at least two player devices;aggregate further actions taken by the objects in the virtual game space responsive to the received one or more further commands;identify that the further actions satisfy the triggering condition associated with the video;and instruct at least one or more of a second player device and a first player device among the at least the two player devices to request the video from the video server.
  5. The system of claim 1 , wherein the multiplayer game comprises a node-based story map that represents the one or more phases of the multiplayer game.
  6. The system of claim 1 , wherein the at least two player devices comprise an initiating player device and one or more non-initiating player devices.
  7. The system of claim 1 , wherein the at least two player devices are not co-located.
  8. The system of claim 1 , wherein the interactive gaming platform comprises an advertisement server, the interactive gaming platform configured to: instruct the advertisement server associated with the interactive gaming platform to provide an advertisement to the virtual game space.
  9. The system of claim 1 , wherein the interactive gaming platform is further configured to: assign a role in the multiplayer game to each of the at least two player devices.
  10. A method of managing a virtual game space, comprising: providing, by an interactive game platform, access to a virtual game space to at least two player devices, the virtual game space represents a multiplayer game comprising one or more phases, wherein each phase comprises one or more trigger events;receiving, by the interactive gaming platform, one or more commands for controlling objects in the virtual game space from among the at least two player devices;aggregating, by the interactive gaming platform, actions taken by the objects in the virtual game space responsive to the received one or more commands;determining, by the interactive gaming platform, that the aggregate of the actions taken by the objects in the virtual game space corresponds to a trigger event;identifying, by the interactive gaming platform, that the trigger event corresponds to progression to a next phase of the multiplayer game;updating, by the interactive gaming platform, the virtual game space to include one or more sets of game attributes corresponding to the next phase of the multiplayer game;generating an updated game display depicting the next phase of the multiplayer game;and transmitting, by the interactive gaming platform, the updated game display to the at least one player device.
  11. The method of claim 11 , further comprising: identifying, by the interactive gaming platform, one or more videos corresponding to a next phase of the multiplayer game when the aggregate of the actions corresponds to the trigger event;and instructing, by the interactive gaming platform, each of the at least two player devices to request the one or more videos from the video server.
  12. The method of claim 11 , further comprising: registering, by the interactive gaming platform, the at least two player devices prior to providing access to the virtual game space.
  13. The method of claim 11 , further comprising: receiving, by the interactive gaming platform from a first player device of the at least two player devices, a video recorded by the first player device for transmittal to a second player device of the at least two player device;and transmitting, by the interactive gaming platform, the video to the second player device during gameplay.
  14. The method of claim 11 , further comprising: receiving a recorded video comprising one or more parameters defining a triggering condition associated with the video;receiving, by the interactive gaming platform, one or more further commands for controlling objects in the virtual game space from among the at least two player devices;aggregating, by the interactive gaming platform, further actions taken by the objects in the virtual game space responsive to the received one or more further commands;identifying, by the interactive gaming platform, that the further actions satisfy the triggering condition associated with the video;and instructing, by the interactive gaming platform, at least one or more of a second player device and a first player device of the two or more player devices to request the video from the video server.
  15. The method of claim 11 , wherein the multiplayer game comprises a node-based story map that represents the one or more phases of the multiplayer game.
  16. The method of claim 11 , wherein the at least two player devices comprise an initiating player device and one or more non-initiating player devices.
  17. The method of claim 11 , wherein the at least two player devices are not co-located.
  18. The method of claim 11 , further comprising: instructing, by the interactive gaming platform, an advertisement server associated with the interactive gaming platform to provide an advertisement to the virtual game space.
  19. The method of claim 11 , further comprising: assigning, by the interactive gaming platform, a role in the multiplayer game to each of the at least two player devices.
  20. A non-transitory computer readable medium including one or more sequences of instructions, which, when executed by one or more processors, cause the one or more processors to perform operations, comprising: providing access to a virtual game space to at least two player devices, the virtual game space represents a multiplayer game comprising one or more phases, wherein each phase comprises one or more trigger events;receiving one or more commands for controlling objects in the virtual game space from among the at least two player devices;aggregating actions taken by the objects in the virtual game space responsive to the received one or more commands;determining that the aggregate of the actions taken by the objects in the virtual game space corresponds to a trigger event;identifying that the trigger event corresponds to progression to a next phase of the multiplayer game;updating the virtual game space to include one or more sets of game attributes corresponding to the next phase of the multiplayer game;generating an updated game display depicting the next phase of the multiplayer game;and transmitting the updated game display to the at least two player devices.
  21. The non-transitory computer readable medium of claim 21 , wherein the operations further comprise: identifying one or more videos corresponding to a next phase of the multiplayer game when the aggregate of the actions corresponds to the trigger event;and instructing each of the at least two player devices to request the one or more videos from the video server.
  22. The non-transitory computer readable medium of claim 21 , wherein the operations further comprise: registering the at least two player devices prior to providing access to the virtual game space.
  23. The non-transitory computer readable medium of claim 21 , wherein the operations further comprise: receiving, from a first player device of the at least two player devices, a video recorded by the first player device for transmittal to a second player device of the at least two player device;and transmitting the video to the second player device during gameplay.
  24. The non-transitory computer readable medium of claim 21 , wherein the operations further comprise: receiving a recorded video comprising one or more parameters defining a triggering condition associated with the recorded video;receiving one or more further commands for controlling objects in the virtual game space from among the at least two player devices;aggregating further actions taken by the objects in the virtual game space responsive to the received one or more further commands;identifying that the further actions satisfy the triggering condition associated with the recorded video;and instructing at least one or more of a second player device and the first player device of the two or more player devices to request the recorded video from the video server.
  25. The non-transitory computer readable medium of claim 21 , wherein the multiplayer game comprises a node-based story map that represents the one or more phases of the multiplayer game.
  26. The non-transitory computer readable medium of claim 21 , wherein the at least two player devices comprise an initiating player device and one or more non-initiating player devices.
  27. The non-transitory computer readable medium of claim 21 , wherein the at least two player devices are not co-located.
  28. The non-transitory computer readable medium of claim 21 , wherein the operations further comprise: instructing an advertisement server associated with the interactive gaming platform to provide an advertisement to the virtual game space.
  29. The non-transitory computer readable medium of claim 21 , wherein the operations further comprise: assigning a role in the multiplayer game to each of the at least two player devices.

Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.