U.S. Pat. No. 10,821,364
ENHANCED ITEM DISCOVERY AND DELIVERY FOR ELECTRONIC VIDEO GAME SYSTEMS
AssigneeElectronic Arts Inc.
Issue DateSeptember 20, 2018
Illustrative Figure
Abstract
Systems and methods are provided for enhanced item discovery and delivery for electronic video game systems. An example method includes establishing connections with a plurality of user devices, the user devices executing respective game engines associated with an electronic game, with each user device being controlled by a respective player of a same game world and presenting a respective view of the game world associated with a respective character within the game world. Information indicating that a wishlist associated with a first player is to be updated is received, with updating including associating a particular item with the wishlist, the particular item being equipped by a second character of a second player within the game world. Information is obtained which indicates that the particular player has provided user input to cause ordering of the particular item. In response to determining satisfaction of one or more constraints, access to the particular item by the first player is enabled, with the first character of the first player being configured to equip the particular item, and with the particular item being rendered on the first character within the game world.
Description
Like reference numbers and designations in the various drawings indicate like elements. DETAILED DESCRIPTION Overview This specification describes techniques to enhance player access to items within an example electronic game. The electronic game described herein is an example of an online game, such as a game in which multitudes of players utilize respective user devices to control characters within a same game world of the online game. As will be described, an example system described herein (e.g., the electronic game server100) can be in communication with the user devices and enable a consistent game state associated with the game world. Therefore, the players may control respective characters within the same game world, for example interacting with aspects of the game world and/or other characters. The electronic game may enable player utilization of different items. For example, these items may be utilized by the players for their characters. As described herein, items may include any game element which can be associated with a player's character. Example items may be cosmetic items, such as accessories, clothing, tattoos, skins, facial hair, and so on. Example items may further be non-cosmetic items, such as parts to construct game objects, objects (e.g., objects which can interact with players or the game world, such as keys, weapons, and so on), potions, gestures (e.g., to be performed by characters), abilities, and so on. It should be appreciated that electronic games may disperse items throughout one or more of its game worlds, with the items being associated with respective rarities (e.g., respective probabilities that players may locate the items). An example scheme to disperse items includes placing containers (herein referred to as ‘virtual item containers’) within the game worlds. The virtual item containers may contain (e.g., within the game world) different items. For example, the system may select ...
Like reference numbers and designations in the various drawings indicate like elements.
DETAILED DESCRIPTION
Overview
This specification describes techniques to enhance player access to items within an example electronic game. The electronic game described herein is an example of an online game, such as a game in which multitudes of players utilize respective user devices to control characters within a same game world of the online game. As will be described, an example system described herein (e.g., the electronic game server100) can be in communication with the user devices and enable a consistent game state associated with the game world. Therefore, the players may control respective characters within the same game world, for example interacting with aspects of the game world and/or other characters. The electronic game may enable player utilization of different items. For example, these items may be utilized by the players for their characters. As described herein, items may include any game element which can be associated with a player's character. Example items may be cosmetic items, such as accessories, clothing, tattoos, skins, facial hair, and so on. Example items may further be non-cosmetic items, such as parts to construct game objects, objects (e.g., objects which can interact with players or the game world, such as keys, weapons, and so on), potions, gestures (e.g., to be performed by characters), abilities, and so on.
It should be appreciated that electronic games may disperse items throughout one or more of its game worlds, with the items being associated with respective rarities (e.g., respective probabilities that players may locate the items). An example scheme to disperse items includes placing containers (herein referred to as ‘virtual item containers’) within the game worlds. The virtual item containers may contain (e.g., within the game world) different items. For example, the system may select (e.g., randomly) items to be included in each virtual item container (e.g., from a set of available of items). The virtual item containers may additionally be randomly generated by the system, and/or randomly placed within the game worlds. To place the virtual item container within a game world, the system may update information associated with the game world. For example, the system may update a game state to reflect the inclusion of virtual item containers within game worlds accessible to players of the online game.
A player may therefore control a character within the online game, and during gameplay may identify a virtual item container within the character's field of view. For example, a user device being utilized by the player (e.g., a laptop, tablet, mobile device, wearable device, and so on) may present user interface information associated with the online game. In this example, the user interface information may include a representation of a game world in which the player's character is moving about. For example, the representation may be a view associated with the player's character. Example views may include a first-person view of the game world, a third-person view of the game world, a top-down view of the game world, and so on. Upon identifying the virtual item container, the player may cause the character (e.g., via user input to the user device) to access the virtual item container. Since the virtual item container is configured to contain one or more items, the player's character may thus obtain the items. For example, the system may update game state information associated with the player. As another example, the player's user device may update locally stored information (e.g., profile information, game state information) to reflect the obtained items. Therefore, the player may utilize the items, such as via causing his/her character to equip the item. With respect to the item being a hat, the character may wear the hat during the online game.
During gameplay, an example player's character may therefore have an item equipped, or otherwise utilized, which was obtained from a virtual item container. With respect to the example of a hat described above, the visual representation of the character may thus be wearing a hat. As other players control respective characters in the game world, these players may view the hat equipped on the example player's character. For example, the players' characters may be in a game world, or a portion thereof, in which the characters can interact socially (herein referred to as a ‘social hub’). While in the social hub, the players may communicate with each other. Optionally, players may be unable to harm each other's characters. As will be described, the players may advantageously utilize the social hub to view, or receive information indicating, the items associated with the characters within the social hub. As described above, certain items may be more rare than other items. Thus, the hat may represent an item which is uncommon (e.g., contained in virtual item containers at less than a threshold percentage). In contrast to other schemes, in which the players would need to search for virtual item containers which may contain the hat, the players may instead include the item in respective wishlists. As will be described below, a wishlist identifies items which a player desires to utilize or own.
To include an item on a wishlist, for example the hat described above, a first player may control a first character to inspect a second character controlled by a second player. For example, the first player may move the first character proximate to the second character (e.g., the first player may be required to be within a threshold distance of the second character). As will be described below, the first player may cause presentation of the items equipped, or otherwise utilized, by the second character. As an example, the first player may provide user input to his/her user device requesting an inspection of the second character. This user input may then be provided to the system described herein, which can access the items associated with the second character. The system may then cause a user interface presented on the first player's user device to reflect the accessed items. An example of a user interface is described below, and illustrated inFIG. 1Bwith respect to user interface130.
Using the above-described user interface, the first player may review the items associated with the second character. Optionally, the first player may select a particular item presented in the user interface and indicate the selected item is to be included in the first player's wishlist. Optionally, the system may then determine whether one or more constraints are satisfied. If the constraints are satisfied, the system can enable the first player to equip, or otherwise utilize, the selected item. An example constraint may include a user experience level of the first player's character exceeding a threshold. Another example constraint may include one or more game missions, goals, and so on, which need to be completed. Another example constraint may include requiring a threshold quantity of in-game currency (e.g., points, gold, coin, cryptocurrency, and so on) be utilized by the first player.
Upon satisfaction of the constraints, the system may provide access to the selected item. Optionally, the system may cause the first player to wait a threshold amount of time (e.g., 24 hours, 36 hours, 48 hours, and so on) prior to being able to utilize the selected item. Thus, in this example access to the selected item may be temporarily constrained. As described herein, this threshold amount of time may be referred to as a ‘construction time’ or ‘shipping time’ associated with the selected item. Optionally, the threshold amount of time may vary according to the selected item. As an example, the threshold amount of time may vary according to rarity of the selected item. In addition to constraining access according to time, the system may ensure that a player has performed certain mission goals or objectives. As an example, the player's character may have to obtain certain in-game items associated with constructing the selected item. As another example, the player's character may have to complete certain portions of the electronic game (e.g., completing one or more levels, achieving an objective, beating a boss, interacting with certain non-playable characters, and so on).
Optionally, and as will be described below with respect toFIG. 5, a player may add items to a wishlist based on viewing a video of a third-party player's gameplay. The video may be, for example, a live video of the third-party player's character. For example, the system may generate a view as seen by the third-party player on his/her user device. In this example, the system may enable access to this generated view. As another example, the third-party player's user device may upload the view presented on the user device to a video streaming web site. The video may also be, for example, previously recorded and being viewed by the player via a streaming web site, within the electronic game (e.g., in a theater room in which the player's character can sit), and so on. Based on viewing the video, the player may request the items associated with the third-party player's character. For example, with respect to the example of a streaming web page, metadata associated with the stream may indicate the items. As another example, with respect to the player viewing the video within the electronic game, the player may provide user input associated with requesting the items. Similar to the above-description regarding wishlists, the player may then include one or more of the items in his/her wishlist.
FIG. 1Ais a block diagram illustrating an example electronic game server100enabling access by user devices110A-110N to a social hub102, according to some embodiments of the present disclosure. As described above, the user devices110A-N may be utilized by players to play a particular electronic game. For example, the electronic game may be an online game enabling the players to control characters within a game world (e.g., the persistent virtual world described below). The electronic game server100may communicate with the user devices110A-N to ensure that the characters can properly be controlled within the game world. For example, the electronic game server100may maintain game state information indicating locations of characters, locations of objects or enemies, and so on.
For example, the electronic game server100can include one or more application host systems (e.g., systems of one or more computers, or one or more virtual machines executing on systems of one or more computers) and one or more databases (e.g., database103) storing user account, or user profile, information associated with the players. The electronic game server100may include one or more computing systems configured to execute a portion of the electronic game and/or application host systems. For example, the electronic game server100may execute instances of server-side software associated with the electronic game. In some embodiments, the one or more application host systems can include one or more computing devices, such as servers and databases that may host and/or execute a portion of one or more instances of the electronic game. In certain embodiments, instead of, or in addition to, executing a portion of the electronic game, the application host systems may execute another application, which may complement and/or interact with the electronic game application.
The electronic game server100may enable multiple user devices110A-11N to access a portion of the electronic game executed or hosted by the electronic game server100. In some embodiments, the portion of the electronic game executed by the electronic game server100may create a persistent virtual world. This persistent virtual world may enable one or more users to interact with the virtual world and with each other in a synchronous and/or asynchronous manner. In some cases, multiple instances of the persistent virtual world may be created or hosted by the electronic game server100. A set of users may be assigned to or may access one instance of the persistent virtual world while another set of users may be assigned to or may access another instance of the persistent virtual world. In some embodiments, the electronic game server100may execute a hosting system for executing various aspects of a game environment. For example, in one embodiment, the electronic game may be a competitive game, such as a first-person shooter or sports game, and the electronic game server100can provide a dedicated hosting service for hosting multiplayer game instances or facilitate the creation of game instances hosted by user devices110A-110N. In some embodiments, the electronic game server100can provide a lobby or other environment (e.g., the social hub102) for users to virtually interact with one another. Such environments may include environments for conducting transactions between players, such as an auction house or type of environment for facilitating transactions.
As illustrated inFIG. 1A, each user device110A-N may comprise a game execution engine112A-N associated with the electronic game. The game execution engine112A-N may cause presentation of user interface information associated with the electronic game. For example, the user interface information may include a view as seen by a character controlled by a player of a user device. As another example, the user interface information may include a heads-up display (a ‘HUD’), menus, and so on. Additionally, the game execution engine112A-N may provide user-side information to the electronic game server100. For example, the user-side information may comprise user input114A-N provided to the user devices110A-N (e.g., by players). As another example, the user-side information may comprise update information generated by the user devices110A-N. The update information may reflect updates to the game world caused by actions of a user device. For example, a user device may provide updates regarding locations of characters, actions performed by a player on the user device, and so on. In this way, the electronic game server100may ensure that the views presented on the user devices110A-N are of the same consistent game world.
The game execution engine112A-N may represent software, or other executable code, obtained as a download to the user devices110A-110N. For example, the game execution engine112A-N may be obtained from an online repository of electronic games. Once obtained, the game execution engine112A-N may be installed on the respective user devices110A-N. As another example, the game execution engine112A-N may represent an application obtained from an online application store (e.g., an ‘app’). In the above-described examples, the game execution engine112A-N may render a user interface associated with the electronic game for presentation on the user devices110-N. For example, the game execution engine112A-N may access locally stored user interface information, such as representations of game worlds, characters, and so on. The game execution engine112A-N may present this locally stored information, and augment the rendered information based on the game station information104A-N obtained from the electronic game server100. Optionally, the user devices110A-N may represent thin clients, and the electronic game may be accessed via a browser executing on the user devices110A-N. In this example, the electronic game server100may implement a web application. The user devices110A-N may provide user input114-N to the electronic game server100for processing. The electronic game server100may then update the user interface presented within respective browsers on the user devices110A-N.
A representation of a social hub102is illustrated inFIG. 1A. The social hub102can represent a game world, or a portion thereof, in which players may control characters106A-N. The social hub102may disallow certain actions by players, such as harming other player-controlled characters. Additionally, the social hub102may enable, or otherwise encourage, a social aspect to the electronic game. For example, a player of user device110A may provide verbal input (e.g., via a microphone), or text input, and the electronic game server100may route the input to one or more remaining user devices. In this way, the players may communicate with each other in the social hub102.
As described above, the characters106A-N may be associated with respective items. An example association may include a character106B equipping an item (e.g., a hat), such that the item may be visually depicted on the character106N. Another example association may include the character106B otherwise utilizing the item (e.g., the item may represent a gesture, and the character106B may perform the gesture based on user input). These items may be obtained from within the game world, for example from virtual item containers. Thus, in the social hub102the characters106A-N may be depicted as wearing, or otherwise equipping, certain items. As will be described below, with respect toFIG. 1B, a player may cause an item equipped by a different player's character to be included in a wishlist. The player may then cause the included item to be enabled for his/her character's use.
While the example figure illustrates a social hub102, it should be understood that the techniques described herein may be utilized in arbitrary game worlds. For example, the techniques described herein may be utilized in game worlds, or portions thereof, in which players may fight other players.
FIG. 1Bis a block diagram illustrating an example user device110A presenting a user interface130to include an item108in a wishlist. As described above, a first player may cause an item108associated with a second character106B controlled by a second player to be included in a wishlist. As illustrated in the social hub102, a first character106A (e.g., controlled by the first player) is located proximate to the second player106B. A user device110A presenting a view of the social hub102, for example associated with the first player, may therefore include a view of the second character106B. As illustrated in the social hub, an item108is presented on the second character106B. In the example ofFIG. 1B, the first player106A has requested that user interface130be presented to inspect the second character's106B items.
To cause inspection of the second character106B, the first player may provide specific user input to his/her user device110A. For example, the first player may access a menu presented on the user device110A, and request an inspection. As another example, the first player may view the second character106B on the user device110A and select the second character106B. For example, the first player may utilize a mouse or keyboard to cause selection of the second character106B. With respect to a mobile device, such as a device including a touch-screen, the first player may touch a portion of the screen depicting the second character106B.
The user device110A may therefore provide a request associated with inspecting the second character106B to the electronic game server100. The electronic game server100may then access game state information, and obtain indications of the items associated with the second character106B. User interface130may then be presented on user device110A, which indicates, at least, the items associated with the second character106B. For example, the game execution engine112A may cause rendering of the user interface130, and include the information received from the electronic game server100regarding the items. Optionally, the electronic game server100may request the indications of items from a user device being controlled by the second player. The electronic game server100may obtain the indications, and cause user interface130to be presented.
As illustrated in user interface130, user profile information associated with the second character106B is presented. For example, a name132of the second character may be included along with game information (e.g., a level of the second character, experience points, and so on). Additionally, user interface130may include selectable options associating with different actions. An example action134may include inviting the second character106B to a group. For example, the request may cause the second player to enter a chat room with the first player, or may cause the second character to form a team with the first player (e.g., to play subsequent missions or goals). Another example action136may include viewing a detailed profile of the second character106B. The detailed profile may include achievements earned by the second player, friends of the second player, and so on.
User interface130further indicates items associated with the second character106B. For example, a costume equipped by the second character106B is presented. Additionally, different abilities (e.g., Ability A-C) of the second character106B are presented. The items equipped by the second character106B are also presented. With respect to item108(e.g., a hat), the first player may view the item108in detail. Optionally, for certain items which may produce a non-cosmetic result (e.g., increased armor, magic, and so on), the first player may view detailed information related to these non-cosmetic results. Optionally, the first player may request information indicating a composition of the first item. For example, certain electronic games may enable crafting of items. Thus, the first player may request the elements, or game aspects, which are required to cause crafting of item108.
A selectable option138to add item108to the first player's wishlist is illustrated in user interface130. As will be described in more detail below, the first player may utilize a slot within his/her wishlist to include the item108. For example, the wishlist may include a threshold number of available slots (e.g., 3, 4, 5, 8, and so on). The wishlist may store items which the first player desires to acquire, but has not yet acquired. Additionally, the wishlist may enable the first player to receive one or more items included in the wishlist. As an example described in more detail below, the first player may select an item included in his/her wishlist. The first player may then request that the selected item be constructed, or ordered, for utilization by the first character106A. This request may incur a fee, such as via payment of a soft in-game currency (e.g., generated through gameplay) or a hard in-game currency (e.g., a coin, or other currency, for which players may utilize money). With respect to the first player including item108in his/her wishlist, the electronic game server100may then enable access to item108. Optionally, the first player may be required to wait a threshold amount of time (e.g., 24 hours, 32 hours, 48 hours) before the first character106A may equip the item108.
It should be appreciated that certain items may be unable to be included in a wishlist. For example, certain items may only be obtained, learned, through completion of different tasks, goals, achievements, and so on. As another example, certain items may be obtained from virtual item containers which are not configured to be included in a wishlist. Example items may include legendary, or other rare, items. When viewing user interface130, these items may be indicated as not being items which can be included in a wishlist. For example, the items may be adjusted in color (e.g., greyed out), or otherwise made inaccessible to add to the wishlist.
FIG. 2is a flowchart of an example process200for enabling selection of an item for inclusion in a wishlist of an electronic game. For convenience, the process200will be described as being performed by an electronic game application executing on a user device of one or more processors (e.g., the user device110A).
At block202, the user device establishes a connection to a game server. As described inFIG. 1A, the user device may connect to a game server to play an online game (e.g., via a network, such as the internet). The user device may provide authentication, or authorization information, to the game server. For example, the user device may provide a user name, password, and so on which is associated with a user account of a player utilizing the user device.
At block204, the user devices cause entry of the player into a social hub. As depicted inFIGS. 1A-1B, a social hub may represent a virtual game world in which characters can interact socially. Since the social hub may disallow certain actions, such as characters harming each other, enemies harming characters, and so on, the social hub may enable the characters to communicate with each other. Additionally, the social hub can provide a platform for players to depict their favorite items. For example, a particular player may cause his/her character to equip a rare item. In this way, the particular player may ‘show off’ the rare item within the social hub.
At block206, the user device receives user input associated with inspecting a particular character. As described inFIG. 1B, the player associated with the user device may provide user input to cause inspection of the particular character. For example, the player's character may be within a threshold proximity of the particular character. The player may then indicate that the particular character's items are to be presented on the user device.
At block208, the user device presents items associated with the particular character. As illustrated in user interface130, the user device may present the items equipped, or otherwise associated with, the other character.
At block210, the user device receives user input indicating selection of item to be included in a wishlist. The player associated with the user device may provide user input to cause inclusion of a presented item in his/her wishlist. The wishlist may optionally be maintained by the electronic game server, such that the electronic game server may update stored information associated with the player (e.g., profile information). In this way, the wishlist may be accessible whenever the player joins the electronic game (e.g., by different user devices). Optionally, the wishlist may be maintained by the user device of the player. The wishlist may optionally be synchronized with the electronic game server upon any modification to the wishlist. In this way, the electronic game server may obtain the current items within the wishlist. As will be described below, the player may cause one or more items included in the wishlist to be enabled for utilization by the player's character.
FIG. 3Ais a flowchart of an example process300for enabling access to an item included in a player's wishlist. For convenience, the process300will be described as being performed by an electronic game application executing on a user device of one or more processors (e.g., the user device110A).
At block302, the user device presents a user interface illustrating the player's wishlist. As described above, the player may traverse a game world associated with an electronic game, and cause inclusion of certain items into his/her wishlist. The wishlist may optionally have a threshold number of slots, such that the player may be required to remove an item to include a new item. The user device may receive indications of the items included in the wishlist from an electronic game server associated with the electronic game. For example, the user device may receive graphical representations of the items along with descriptions. Reference will be made toFIG. 3B, which includes an example of the user interface.
FIG. 3Bis an example user interface310illustrating an item314included in a wishlist312being ordered (e.g., requested for access). As illustrated, the wishlist312includes three items which the player previously included in the wishlist. Additionally, the wishlist312includes five slots in which items may be included. Optionally, player may increase the number of slots by earning experience points, provide a fee (e.g., in-game currency), or perform other actions to cause an increase in the number of slots.
At block304, the user device receives user input indicating ordering of a particular item. As illustrated inFIG. 3B, the player has selected an item314(e.g., a chicken hat) for ordering. Information associated with the order is also presented, such as a time316associated with delivery of the order. As described above, the player may be required to wait a threshold amount of time until the player may utilize the item314on his/her character. In this example, the player is required to wait four days before the player can equip the chicken hat on the player's character. Additionally, a fee318associated with ordering the item314is included. In this example, the fee is 50,000 coins, which may represent a soft in-game currency. Optionally, the user interface310may indicate different times which are associated with different fees. Thus, the player may increase the fee to reduce the time. Additionally, the player may utilize an in-game currency to reduce the time.
At block306, the user device optionally determines whether one or more constraints are satisfied. Upon ordering the item314, the user device may optionally receive the item from the electronic game server. For example, the electronic game server may provide a graphical representation of the item to the user device. Receiving the item may further comprise enabling server-side access to the item. In this way, the player may equip the item, and the electronic game server may cause the visual representation of the player's character to include the item314. With respect to the electronic game server providing the item, the item may be locked for use until constraints are satisfied. An example constraint may relate to time. For example, the user device may disallow utilization of the item314until the threshold time (e.g., 4 days) has passed.
FIG. 3Cis an example user interface illustrating delivery of an item from a player's wishlist. The player may monitor a status associated with the selected item. For example, user interface320indicates that the item has been ‘shipped’. Thus, a count-down may occur (e.g., by the electronic game server) which can represent a construction time or shipping time. As illustrated, at a time when the player checked the status, the player had 23 hours remaining until he/she could utilize the item.
At block308, the user device enables access to the item. As described in block306, the user device may receive a graphical representation of the item to be equipped on the player's character. The electronic game server may also indicate that the item can be equipped. For example, the electronic game server may authorize the player's character to equip the item. The player may then be able to access one or more menus of the electronic game and cause the item to be equipped on his/her character.
FIG. 4is a flowchart of an example process400for delivering an item to a player for utilization in the electronic game. For convenience, the process400will be described as being performed by a system of one or more computers (e.g., the electronic game server100).
At block402, the system establishes communications with user devices. As described inFIG. 1A, the system may be a central server associated with an electronic game (e.g., an online game). The system may comprise multitudes of game servers, and a subset of user devices may connect to each of the game servers. Thus, the social hub illustrated inFIGS. 1A-1Bmay optionally include characters associated with user devices connected to a same game server.
At block404, the system receives information indicating a player's wishlist is to be updated. As described inFIG. 2, a player may request items associated with a different player's character. The system may therefore cause presentation of the items on the player's user device. The player may then select from among the presented items, and include one or more items in the player's wishlist.
At block406, the system updates the maintained wishlist. The system may receive indications of the selected items and update information associated with the player (e.g., profile information).
At block408, the system receives information indicating ordering of an item. The player may request that a particular item included in the player's wishlist be ordered. The system may validate that one or more constraints are satisfied prior to enabling placement of the order. For example, the player may be required to provide a certain fee associated with the order. The player may also be required to obtain certain other items within the electronic game, such as respective threshold quantities of raw materials or goods which may form (e.g., within the game world) the materials or goods utilized to craft the item.
At block410, the system enables player access to the ordered item. As described inFIG. 3A, the player may utilize the ordered item optionally after a threshold amount of time has passed. The system may then allow the player to equip, or otherwise utilize, the item. With respect to a cosmetic item, the player may cause his/her character to include the item on the representation of the character. With respect to a non-cosmetic item, such as a gesture, the player may enable the character to perform the gesture.
FIG. 5is a flowchart of an example process500for updating a wishlist based on a video associated with gameplay of the electronic game. The process500may be performed by a user device of one or more processors (e.g., user device110A), a system of one or more computers (e.g., the electronic game server100), or a combination thereof as will be described. For convenience, the process500will be described as being performed by a user device.
At block502, the user device presents video associated with gameplay of an electronic game. A user of the user device may access the video via a streaming web site. For example, the streaming web site may present live, or previously recorded, video of gameplay of the electronic game. Optionally, the video may be presented by an application associated with the electronic game. For example, the application may cause access to a streaming web site hosted by a system in communication with an electronic game server. As described above, the electronic game server (e.g., server100) may coordinate amongst user devices to act as a central game server for the electronic game. Thus, as another example the video may be presented on the user device within a game world associated with the electronic game. For example, a user's character (e.g., a user associated with the user device) may view the video on an in-game movie screen, or the user may request that the video be presented on the user device (e.g., via in-game menu options).
At block504, the user device receives user input requesting items associated with a player in the video. As the user of the user device views the video, the user may notice a particular item on a particular character included in the video. The user may then provide user input requesting the items associated with the particular character. For example, the request may be to inspect the particular character as described above.
With respect to the example of the streaming web site, the streaming web site may optionally include metadata associated with players and/or items. For example, the streaming web site may receive metadata from the electronic game server. With respect to a live video of gameplay, the electronic game server may (e.g., in substantially real-time) provide the metadata to the streaming web site. Optionally, the streaming web site may present the video along with indications of the players and/or items included in each frame of video. The presented indicates may be based on the streamed metadata. The user may then select a particular item and cause it to be included in his/her wishlist. As an example, the user's web browser may include a toolbar, or application, that causes the electronic game server to update the user's wishlist.
As another example, the streaming web site may include a link (e.g., hyperlink) that when selected causes the electronic game server to update the user's wishlist. The link may direct the user to an outside system, for example associated with the electronic game server or which is the electronic game server, hosting a web site. Via the web site, the user can update his/her wishlist. Optionally, the user may be required to log-into his/her user account (e.g., as described in block402). Optionally, a cookie or token (e.g., an OAuth token) may be stored on the user's user device, and the cookie or token may authenticate the user.
With respect to recorded video, the streaming web site may store previously generated metadata. For example, the previously generated metadata may comprise timestamps associated with times at which players are included in the video. Thus, the user may select a particular character of interest. The streaming web site may optionally provide information to the electronic game server, and the server may provide indications of the items associated with the character. The streaming web site may then cause presentation of these items for the user's selection. Optionally, the metadata may comprise the items associated with the players. In this way, the streaming web site may avoid requesting the items from the server.
Optionally, in some implementations a system may be trained to identify items from video. For example, the system may implement one or more machine learning techniques to label the items as imaged in the video. An example machine learning technique may comprise a neural network trained on image data associated with the items. Thus, the system may present information identifying an item (e.g., an item selected by the user). As described above, the user may then utilize a tool bar, or a hyperlink, to cause the item to be included in his/her wishlist. The system may optionally be the electronic game server or may be associated with the streaming web site.
With respect to the example of the user viewing the video within the electronic game, the electronic game server may identify items associated with one or more characters. For example, if the user is viewing recorded video then electronic game server may obtain stored information identifying the characters within the recorded video. Thus, the electronic game server may access the items associated with the characters. These items may then be presented to the user.
At block506, the user device enables updating of wishlist. As described above, the user may obtain indications of items associated with certain characters included in the video. With respect to the streaming web site, the user may utilize a toolbar associated with the user's browser to update the wishlist. For example, the toolbar may receive information from the electronic game server. The toolbar may further cause presentation of a user interface similar to user interface130(e.g., illustrated inFIG. 1B). As another example, the streaming web site may include a selectable link which causes access to a web site associated with the electronic game server. Via this website, the user may then update his/her wishlist. Optionally, the streaming web site may identify an item according to name and/or unique identifier. In this example, the user may directly enter the name and/or unique identifier within the electronic game.
With respect to the video being presented in the electronic game, the user may utilize the techniques described above with respect toFIGS. 2-3C. For example, the user may provide user input to cause inclusion of an item into his/her wishlist.
Overview of Computing Device
FIG. 6illustrates an embodiment of computing device610according to the present disclosure. Other variations of the computing device610may be substituted for the examples explicitly presented herein, such as removing or adding components to the computing device610. The computing device610may include a game device, a smart phone, a tablet, a personal computer, a laptop, a smart television, a car console display, a server, and the like. The computing device610may also be distributed across multiple geographical locations. For example, the computing device610may be a cluster of cloud-based servers.
As shown, the computing device610includes a processing unit620that interacts with other components of the computing device610and also external components to computing device610. A game media reader622is included that communicates with game media612. The game media reader622may be an optical disc reader capable of reading optical discs, such as CD-ROMs or DVDs, or any other type of reader that can receive and read data from game media612. One or more of the computing devices may be used to implement one or more of the systems disclosed herein.
Computing device610may include a separate graphics processor624. In some cases, the graphics processor624may be built into the processing unit620. In some such cases, the graphics processor624may share Random Access Memory (RAM) with the processing unit620. Alternatively or additionally, the computing device610may include a discrete graphics processor624that is separate from the processing unit620. In some such cases, the graphics processor624may have separate RAM from the processing unit620. Computing device610might be a handheld game application device, a dedicated game console computing system, a general-purpose laptop or desktop computer, a smart phone, a tablet, a car console, or other suitable system.
Computing device610also includes various components for enabling input/output, such as an I/O632, a user I/O634, a display I/O636, and a network I/O638. I/O632interacts with storage element640and, through a device642, removable storage media644in order to provide storage for computing device610. Processing unit620can communicate through I/O632to store data, such as game state data and any shared data files. In addition to storage640and removable storage media644, computing device610is also shown including ROM (Read-Only Memory)646and RAM648. RAM648may be used for data that is accessed frequently, such as when a video game is being played.
User I/O634is used to send and receive commands between processing unit620and user devices, such as game controllers. In some embodiments, the user I/O634can include a touchscreen input. The touchscreen can be capacitive touchscreen, a resistive touchscreen, or other type of touchscreen technology that is configured to receive user input through tactile inputs from the player. Display I/O636provides input/output functions that are used to display images from the game being played. Network I/O638is used for input/output functions for a network. Network I/O638may be used during execution of a game, such as when a game is being played online or being accessed online, application of fraud detection, and/or generation of a fraud detection model.
Display output signals produced by display I/O636comprise signals for displaying visual content produced by computing device610on a display device, such as graphics, user interfaces, video, and/or other visual content. Computing device610may comprise one or more integrated displays configured to receive display output signals produced by display I/O636. According to some embodiments, display output signals produced by display I/O636may also be output to one or more display devices external to computing device610.
The computing device610can also include other features that may be used with a video game, such as a clock650, flash memory652, and other components. An audio/video player656might also be used to play a video sequence, such as a movie. It should be understood that other components may be provided in computing device610and that a person skilled in the art will appreciate other variations of computing device610.
Program code can be stored in ROM646, RAM648or storage640(which might comprise a hard disk, other magnetic storage, optical storage, other non-volatile storage or a combination or variation of these). Part of the program code can be stored in ROM that is programmable (ROM, PROM, EPROM, EEPROM, and so forth), and part of the program code can be stored in storage640, and/or on removable media such as game media612(which can be a CD-ROM, cartridge, memory chip or the like, or obtained over a network or other electronic channel as needed). In general, program code can be found embodied in a tangible non-transitory signal-bearing medium.
Random access memory (RAM)648(and possibly other storage) is usable to store variables and other game and processor data as needed. RAM648is used and holds data that is generated during the execution of an application and portions thereof might also be reserved for frame buffers, application state information, and/or other data needed or usable for interpreting user input and generating display outputs. Generally, RAM648is volatile storage and data stored within RAM648may be lost when the computing device610is turned off or loses power.
As computing device610reads game media612and provides an application, information may be read from game media612and stored in a memory device, such as RAM648. Additionally, data from storage640, ROM646, servers accessed via a network (not shown), or removable storage media644may be read and loaded into RAM648. Although data is described as being found in RAM648, it will be understood that data does not have to be stored in RAM648and may be stored in other memory accessible to processing unit620or distributed among several media, such as game media612and storage640.
It is to be understood that not necessarily all objects or advantages may be achieved in accordance with any particular embodiment described herein. Thus, for example, those skilled in the art will recognize that certain embodiments may be configured to operate in a manner that achieves or optimizes one advantage or group of advantages as taught herein without necessarily achieving other objects or advantages as may be taught or suggested herein.
All of the processes described herein may be embodied in, and fully automated, via software code modules executed by a computing system that includes one or more computers or processors. The code modules may be stored in any type of non-transitory computer-readable medium or other computer storage device. Some or all the methods may be embodied in specialized computer hardware.
Many other variations than those described herein will be apparent from this disclosure. For example, depending on the embodiment, certain acts, events, or functions of any of the algorithms described herein can be performed in a different sequence or can be added, merged, or left out altogether (for example, not all described acts or events are necessary for the practice of the algorithms). Moreover, in certain embodiments, acts or events can be performed concurrently, for example, through multi-threaded processing, interrupt processing, or multiple processors or processor cores or on other parallel architectures, rather than sequentially. In addition, different tasks or processes can be performed by different machines and/or computing systems that can function together.
The various illustrative logical blocks and modules described in connection with the embodiments disclosed herein can be implemented or performed by a machine, such as a processing unit or processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A processor can be a microprocessor, but in the alternative, the processor can be a controller, microcontroller, or state machine, combinations of the same, or the like. A processor can include electrical circuitry configured to process computer-executable instructions. In another embodiment, a processor includes an FPGA or other programmable device that performs logic operations without processing computer-executable instructions. A processor can also be implemented as a combination of computing devices, for example, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Although described herein primarily with respect to digital technology, a processor may also include primarily analog components. For example, some or all of the signal processing algorithms described herein may be implemented in analog circuitry or mixed analog and digital circuitry. A computing environment can include any type of computer system, including, but not limited to, a computer system based on a microprocessor, a mainframe computer, a digital signal processor, a portable computing device, a device controller, or a computational engine within an appliance, to name a few.
Conditional language such as, among others, “can,” “could,” “might” or “may,” unless specifically stated otherwise, are understood within the context as used in general to convey that certain embodiments include, while other embodiments do not include, certain features, elements and/or steps. Thus, such conditional language is not generally intended to imply that features, elements and/or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without user input or prompting, whether these features, elements and/or steps are included or are to be performed in any particular embodiment.
Disjunctive language such as the phrase “at least one of X, Y, or Z,” unless specifically stated otherwise, is understood with the context as used in general to present that an item, term, etc., may be either X, Y, or Z, or any combination thereof (for example, X, Y, and/or Z). Thus, such disjunctive language is not generally intended to, and should not, imply that certain embodiments require at least one of X, at least one of Y, or at least one of Z to each be present.
Any process descriptions, elements or blocks in the flow diagrams described herein and/or depicted in the attached figures should be understood as potentially representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or elements in the process. Alternate implementations are included within the scope of the embodiments described herein in which elements or functions may be deleted, executed out of order from that shown, or discussed, including substantially concurrently or in reverse order, depending on the functionality involved as would be understood by those skilled in the art.
Unless otherwise explicitly stated, articles such as “a” or “an” should generally be interpreted to include one or more described items. Accordingly, phrases such as “a device configured to” are intended to include one or more recited devices. Such one or more recited devices can also be collectively configured to carry out the stated recitations. For example, “a processor configured to carry out recitations A, B and C” can include a first processor configured to carry out recitation A working in conjunction with a second processor configured to carry out recitations B and C.
It should be emphasized that many variations and modifications may be made to the above-described embodiments, the elements of which are to be understood as being among other acceptable examples. All such modifications and variations are intended to be included herein within the scope of this disclosure.
Claims
- A computer-implemented method comprising: by a system of one or more computers executing computer-readable instructions, establishing connections with a plurality of user devices, each of the plurality of user devices being controlled by a player of a plurality of players, the user devices executing respective game engines associated with an electronic game, and the user devices device being controlled by a respective player of a same game world and presenting respective views of a game world of the electronic game, wherein the views are associated with respective virtual characters character of the plurality of players within the game world, and wherein the virtual characters comprise a first virtual character of a first player of the plurality of players and a second virtual character of a second player of the plurality of players;receiving information indicating that a wishlist associated with the first player is to be updated, wherein updating comprises associating a particular item with the wishlist, the particular item being equipped by the second virtual character of a second player positioned, at least, within a threshold proximity of the first virtual character of the first player within the game world;causing presentation, via a first user device controlled by the first player, of a user interface associated with ordering the particular item, the user interface identifying a plurality of different time periods, wherein each time period is an amount of time the first player is constrained to wait until the particular item is accessible by the first virtual character;obtaining information identifying selection of a first time period of the plurality of time periods indicating that a particular player has provided user input to cause ordering of the particular item;and in response to determining that the first time period has been exceeded satisfaction of one or more constraints, enabling access to the particular item within the game world by the first player, wherein the first virtual character of the first player is configured to equip the particular item, and wherein the particular item is rendered on the first virtual character within the game world.
- The method of claim 1 , further comprising: receiving, from the first user device associated with the first player, a request associated with inspecting the second virtual character;accessing information indicating items equipped by the second virtual character;and causing user interface information to be presented on the first user device associated with the indicated items.
- The method of claim 2 , wherein receiving information indicating that the wishlist is to be updated comprises: receiving selection of an item presented in the user interface, the item being the particular item.
- The method of claim 1 , wherein the wishlist is associated with items which the first player has viewed in the game world, and wherein the wishlist comprises a threshold number of slots for which one or more of the items may be associated.
- The method of claim 1 , wherein each time period of the plurality of time periods is determined based on a respective threshold quantity of in-game currency required to be utilized.
- The method of claim 1 , wherein the plurality of time periods represent different times associated with constructing or shipping the particular item, and wherein the plurality of time periods are based on a rarity associated with the particular item.
- The method of claim 1 , further comprising: receiving, from the first user device associated with the first player, a request associated with a status of the ordering of the particular item;determining a remaining time associated with the first time period;and causing presentation, on the first user device, of a user interface identifying the remaining time.
- The method of claim 1 , wherein enabling access comprises updating user profile information associated with the first player, such that the first player is authorized to equip the particular item.
- A system comprising one or more computers and computer storage media storing instructions that, when executed by the system, cause the system to perform operations comprising: establishing connections with a plurality of user devices, each of the plurality of user devices being controlled by a player of a plurality of players, the user devices executing respective game engines associated with an electronic game, and the user devices device being controlled by a respective player of a same game world and presenting respective views of a game world of the electronic game, wherein the views are associated with respective virtual characters character of the plurality of players within the game world, and wherein the virtual characters comprise a first virtual character of a first player of the plurality of players and a second virtual character of a second player of the plurality of players;receiving information indicating that a wishlist associated with the first player is to be updated, wherein updating comprises associating a particular item with the wishlist, the particular item being equipped by the second virtual character of a second player positioned, at least, within a threshold proximity of the first virtual character of the first player within the game world;causing presentation, via a first user device controlled by the first player, of a user interface associated with ordering the particular item, the user interface identifying a plurality of different time periods, wherein each time period is an amount of time the first player is constrained to wait until the particular item is accessible by the first virtual character;obtaining information identifying selection of a first time period of the plurality of time periods indicating that a particular player has provided user input to cause ordering of the particular item;and in response to determining that the first time period has been exceeded satisfaction of one or more constraints, enabling access to the particular item within the game world by the first player, wherein the first virtual character of the first player is configured to equip the particular item, and wherein the particular item is rendered on the first virtual character within the game world.
- The system of claim 9 , wherein the operations further comprise: receiving, from a first user device associated with the first player, a request associated with inspecting the second virtual character;accessing information indicating items equipped by the second virtual character;and causing user interface information to be presented on the first user device associated with the indicated items.
- The system of claim 10 , wherein receiving the information indicating that the wishlist is to be updated comprises: receiving selection of an item presented in the user interface, the item being the particular item.
- The system of claim 9 , wherein the plurality of time periods represent different times associated with constructing or shipping the particular item, and wherein the plurality of time periods are based on a rarity associated with the particular item.
- The system of claim 9 , wherein the operations further comprise: receiving, from a first user device associated with the first player, a request associated with a status of the ordering of the particular item;determining a remaining time associated with the first time period;and causing presentation, on the first user device, of a user interface identifying the remaining time.
- The system of claim 9 , wherein enabling access comprises updating user profile information associated with the first player, such that the first player is authorized to equip the particular item.
- A computer-implemented method comprising: by a user device of one or more processors, causing execution of a game engine associated with an electronic game, wherein the game engine is in communication with an electronic game server configured to communicate with a plurality of user devices, wherein players of the respective user devices control virtual characters within a game world of the electronic game, and wherein the game engine presents a view of the game world associated with a virtual character within the game world;receiving user input associated with control of the virtual character included in the game world, the virtual character being configured to move about the game world;presenting information indicating one or more items, of a plurality of items, which are equipped by a different virtual character within the game world, the different virtual character being included in the view of the game world;receiving information indicating that a wishlist is to be updated, wherein updating comprises associating a particular item with the wishlist, the particular item being equipped by the different virtual character, and wherein receiving the information comprises presenting a user interface associated with ordering the particular item, the user interface identifying a plurality of time periods specifying respective times until the virtual character is configured to access the particular item, and receiving selection of a particular time period of the plurality of time periods;and providing, to the electronic game server, the received information, and, upon expiration of the particular time period, receiving information indicating access to the particular item, wherein the virtual character is configured to equip the particular item, and wherein the particular item is rendered on the virtual character within the game world.
- The method of claim 15 , wherein the particular item is included in a subset of virtual item containers included in the game world, and wherein access to the particular item is constrained to either locating a virtual item container which includes the particular item or associating the particular item with the wishlist.
- The method of claim 16 , wherein the wishlist is associated with the particular item based on validation that the virtual character is within a threshold distance of the different virtual character within the game world.
- The method of claim 16 , wherein the particular item is associated with a rarity, such that virtual item containers included in the game world include the particular item with a likelihood based on the rarity.
- The method of claim 15 , further comprising: receiving user input associated with inspection of the different virtual character;receiving, from the electronic game server, indications of the items equipped by the different virtual character, wherein the user device presents the indicated items along with a selectable option to update the wishlist;and in response to receiving user input associated with the selected option, updating the wishlist to be associated with the particular item.
- The method of claim 15 , wherein the wishlist comprises a threshold number of slots for which items of the plurality of items may be associated, and wherein the game engine is configured to present user interface information identifying the wishlist.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.