Applying proxy attributes in multiple games
Claim Score by NHIP
Abstract
Systems and methods to generate proxies for players in a game are described. In some embodiments, a method accesses social network information associated with a player of a first game and a second game. The player controls a first player character in the first game and controls a second player character in the second game. The method accesses profile information of a friend of the player controlling a third player character in the first game. The method creates a proxy based on the third player character having multiple attributes based on the profile information of the friend of the player. A event outcome is determined based on an attribute of the first player character and at least one proxy attribute. Another game event outcome is determined based on an attribute of the second player character and at least one proxy attribute.

Term
Projected expiry 12 August 2030.
- Priority
- Filed
- Published
- Today
- Projected expiry
20 claims: 3 independent, 17 dependent
- 1Broadest claimClaim Score 40, average(NHIP)A computer-implemented method comprising:accessing social network information associated with a player of a first online multiplayer game and a second online multiplayer game, the player controlling a first player character in the first online multiplayer game and controlling a second player character in the second online multiplayer game, the first player character and the second player character each having respective associated character attributes;accessing profile information associated with a friend of the player, the friend of the player controlling a third player character in the first online multiplayer game;creating, using one or more processors, a proxy based on the third player character, the proxy having a plurality of proxy attributes based on the profile information associated with the friend of the player;determining, with respect to the first online multiplayer game, a first game event outcome associated with the first player character based on one or more of the first player character attributes and on at least one proxy attribute;and determining, with respect to the second online multiplayer game, a second game event outcome associated with the second player character based on one or more of the second player character attributes and on at least one proxy attribute.
- 12A computer-implemented method comprising:accessing social network information associated with a player of an online multiplayer game, the player controlling a first player character in the online multiplayer game, the first player character having associated attributes;accessing profile information associated with a first friend of the player, the first friend of the player controlling a second player character in the online multiplayer game;creating, using one or more processors, a first proxy based on the second player character, the first proxy having a plurality of first proxy attributes based on the profile information associated with the first friend of the player;accessing profile information associated with a second friend of the player, the second friend of the player controlling a third player character in the online multiplayer game;creating, using one or more processors, a second proxy based on the third player character, the second proxy having a plurality of second proxy attributes based on the profile information associated with the second friend of the player;and determining a game event outcome associated with the first player character based on the first player character attributes, at least one first proxy attribute, and at least one second proxy attribute.
- 16An apparatus comprising:an interface to communicate with players of online multiplayer games;a memory to store data associated with the online multiplayer games;and one or more processors coupled to the interface and the memory, the one or more processors configured to: access social network information associated with a player of a first online multiplayer game and a second online multiplayer game, the player controlling a first player character in the first online multiplayer game and controlling a second player character in the second online multiplayer game, the first player character and the second player character each having respective associated character attributes;access profile information associated with a friend of the player, the friend of the player controlling a third player character in the first online multiplayer game;create a proxy based on the third player character, the proxy having a plurality of proxy attributes based on the profile information associated with the friend of the player;determine, with respect to the first online multiplayer game, a first game event outcome associated with the first player character based on one or more of the first player character attributes and on at least one proxy attribute;and determine, with respect to the second online multiplayer game, a second game event outcome associated with the second player character based on one or more of the second player character attributes and on at least one proxy attribute.
Independent claims3
92 paragraphs in 5 sections, as filed
CLAIM OF PRIORITY
0001This application is a continuation of and claims the benefit of priority under 35 U.S.C. §120 to U.S. patent application Ser. No. 12/855,536, filed on Aug. 12, 2010, which claims the benefit of priority under 35 U.S.C. §119(e) to U.S. Provisional Patent Application Ser. No. 61/233,751, filed on Aug. 13, 2009, the benefit of priority of each of which is claimed hereby, and each of which are incorporated by reference herein in its entirety.
TECHNICAL FIELD
0002The present disclosure relates to games and applications in general and in particular to computer-implemented online games, such as online role-playing games, playable by more than one person from more than one location.
BACKGROUND
0003In many games, there is a virtual world or some other imagined playing space where a player of the game controls one or more player characters (herein “characters,” “player characters,” or “PCs”). Player characters can be considered in-game representations of the controlling player. As used here, the terms player, user, entity, and friend may refer to the in game player character controlled by that player, user, entity, or friend, unless context suggests otherwise. A game display can display a representation of the player character. A game engine accepts inputs from the player, determines player character actions, decides outcomes of events, and presents the player with a game display illuminating what happened.
0004In some games, there are multiple players, wherein each player controls one or more player characters. In such games, when multiple persons are playing together, there may be game events and operations that can only be done, or are more successful, when multiple players are engaged in the task or operation.
0005In addition to characters actively managed by players (i.e., PCs), the game engine might also manage non-player characters (“NPCs”). A non-player character gets its movements, actions, decisions, etc. from the game engine, as opposed to getting them from inputs of a player.
0006An electronic social networking system typically operates with a social networking server or servers providing interaction between users such that a user can specify other users of the social networking system as “friends.” Alternatively, some social networking systems programmatically select certain users to be “friends” (e.g., those in the same geographic area). As should be apparent, a collection of users and the “friend” connections between users can form a social graph that can be traversed to find second, third and more remote connections between users, much like a graph of nodes connected by edges can be traversed.
BRIEF DESCRIPTION OF THE DRAWINGS
0007<figref idref="DRAWINGS">FIG. 1</figref> depicts a schematic of a social network.
0008<figref idref="DRAWINGS">FIG. 2</figref> depicts an example Proxy Attributes Page.
0009<figref idref="DRAWINGS">FIG. 3</figref> depicts an example game scene and character interactions and associations.
0010<figref idref="DRAWINGS">FIG. 4</figref> depicts an example proxy list and a scheme for attributing a player character in-game benefits.
0011<figref idref="DRAWINGS">FIG. 5</figref> shows a flowchart illustrating an example method for generating a proxy.
0012<figref idref="DRAWINGS">FIG. 6</figref> illustrates an example network environment.
0013<figref idref="DRAWINGS">FIG. 7</figref> depicts a schematic of a system and data flow for operating an online multiplayer game.
0014<figref idref="DRAWINGS">FIG. 8</figref> illustrates an example computer system architecture.
0015<figref idref="DRAWINGS">FIG. 9</figref> depicts a schematic of an in-game social network and an out-of-game social network.
0016<figref idref="DRAWINGS">FIG. 10</figref> depicts a schematic of operating an online multiplayer game.
0017<figref idref="DRAWINGS">FIG. 11</figref> shows a flowchart illustrating an example method for resolving an in-game event.
0018<figref idref="DRAWINGS">FIG. 12</figref> depicts a schematic for determining game event decisions.
DESCRIPTION OF EXAMPLE EMBODIMENTS
Game Systems, Social Networks, and Social Graphs
0019In an online multiplayer game, players control player characters (PCs), a game engine controls non-player characters (NPCs), and the game engine also manages player character state and tracks state for currently active (i.e., online) players and currently inactive (i.e., offline) players. A player character can have a set of attributes and a set of friends associated with the player character. As used herein, the terms “state” and “attributes” can be used interchangeably to refer to any in-game characteristic of a player character, such as location, assets, levels, condition, health, status, inventory, skill set, name, orientation, affiliation, specialty, and so on. The game engine uses player character state to determine the outcome of game events, sometimes also considering set or random variables. Generally, an outcome is more favorable to a current player character (or player characters) when the player character has a better state. For example, a healthier player character is less likely to die in a particular encounter relative to a weaker player character or non-player character.
0020A game event may be an outcome of an engagement, a provision of access, rights and/or benefits or the obtaining of some assets (e.g., health, money, strength, inventory, land, etc.). A game engine determines the outcome of a game event according to game rules (e.g., “a character with less than 5 health points will be prevented from initiating an attack”), based on character state and possibly also interactions of other current player characters and possibly also a random calculation. Engagements can include simple tasks (e.g., cross the river, shoot at an opponent), complex tasks (e.g., win a battle, unlock a puzzle, build a factory, rob a liquor store), or other events.
0021A game engine can interface with a social graph. Social graphs are models of connections between entities (e.g., individuals, users, contacts, friends, players, player characters, non-player characters, businesses, groups, associations, concepts, etc.). These entities are considered “users” of the social graph; as such, the terms “entity” and “user” may be used interchangeably when referring to social graphs herein. The social graph has a node for each entity, and edges to represent relationships between entities. A node in a social graph can represent any entity. The present disclosure assumes that at least one entity of a social graph is a player or player character in an online multiplayer game, though the present disclosure is intended to cover all types of social graph users.
0022The minimum number of edges required to connect a player (or player character) to another user is considered the degree of separation between them. For example, where the player and the user are directly connected (one edge), they are deemed to be separated by one degree of separation. The user would be a so-called “first degree friend” of the player. Where the player and the user are connected through one other user (two edges), they are deemed to be separated by two degrees of separation. This user would be a so-called “second-degree friend” of the player. Where the player and the user are connected through N edges (or N−1 other users), they are deemed to be separated by N degrees of separation. This user would be a so-called “N-degree friend.”
0023In one embodiment, the social graph is managed by the game networking system <b>620</b><i>b </i>managed by the game operator. In another embodiment, the social graph is part of a social networking system <b>620</b><i>a </i>managed by a third-party (e.g., Facebook, Friendster, Myspace, etc.). In yet another embodiment, a player has a social graph on both the game networking system <b>620</b><i>b </i>and the social networking system <b>620</b><i>a</i>, wherein the player can have a social network on the game networking system <b>620</b><i>b </i>that is a subset, superset, or independent of the player's social network on the social networking system <b>620</b><i>a</i>. In such combined systems, the game network system <b>620</b><i>b </i>can maintain social graph information with edge type attributes that indicate whether a given friend is an “in-game friend,” a “social network friend,” or both. The various embodiments disclosed herein are operable when the social graph is managed by a social networking system <b>620</b><i>a</i>, a game networking system <b>620</b><i>b</i>, or both.
0024Within the social graph, each player (or player character) has a social network. A player's social network includes all users in the social graph within N<sub>max </sub>degrees of the player, where N<sub>max </sub>is the maximum degree of separation allowed by either the social networking system <b>620</b><i>a </i>or the multiuser game engine <b>620</b><i>b</i>. In some embodiments, N<sub>max </sub>is unlimited and the player's social network is coextensive with the social graph. Unless otherwise specified, the term “friend” means any user in the social graph who is separated from the player by no more than N<sub>max </sub>degree of separation.
0025In a game system according to aspects of the present disclosure, in determining the outcome of a game event in a game being played by a player (or a group of more than one player), the game engine may take into account the state of the player character (or group of PCs) that is playing, but also the state of one or more PCs of offline/inactive players who are connected to the current player (or PC, or group of PCs) through the game social graph but are not necessarily involved in the game at the time.
0026For example, Player A with six friends on his team (e.g., the friends that are listed as being in the player's mob/gang/set/army/business/crew/etc. depending on the nature of the game) can be playing the online game and choose to confront Player B who has 20 friends on her team. In some embodiments, each player may only have first-degree friends on his or her team. In other embodiments, each player may also have second-degree and higher degree friends on his or her team. To resolve the game event, in some embodiments the game engine could total up the weapon strength of the seven members of Player A's team and the weapon strength of the 21 members of Player B's team and decide an outcome of the confrontation based on a random variable applied to a probability distribution that favors the side with the greater total. In some embodiments, all of this can be done without any other current active participants other than Player A (i.e., Player A's friends, Player, B, and Player B's friends could all be offline or inactive). In some embodiments, the friends in each player's team may see a change in their state as part of the outcome of the game event (e.g., if it goes well, they might share in the rewards or if it does not, they might suffer a loss of assets, such as health). In some embodiments, the game play mechanics might limit the downside (so that a player who plays eight hours a day benefiting off of their friends' assets does not totally kill off friends' characters where those friends might only infrequently play). In some embodiments, the state (assets, condition, level) of friends beyond the first degree are taken into account.
0027Details and descriptions of various aspects and advantages of the ability to associate with characters developed by associated members of an online social networking system within the constructs of an online multiplayer game when the associated members are not logged in to the online multiplayer game are described below.
0028<figref idref="DRAWINGS">FIG. 1</figref> is a schematic of a social network <b>100</b> within a social graph according to various embodiments of the present disclosure. As shown, Player <b>105</b> can be associated, connected or linked to various other users, or “friends,” within the social network <b>100</b>. These associations, connections or links can track relationships between users within the social network <b>100</b> and are commonly referred to as online “friends” or “friendships” between users. Each friend or friendship in a particular user's social network within a social graph is commonly referred to as a “node,” The details of social network <b>100</b> will be described in relation to an original or first Player <b>105</b>. As used herein, the terms “player” and “user” can be used interchangeably and can refer to any user or character in an online multiuser game system or social networking system. As used herein, the term “friend” means any node within a player's social network.
0029As shown in <figref idref="DRAWINGS">FIG. 1</figref>, Player <b>105</b> has direct connections with several friends. When Player <b>105</b> has a direct connection with another individual that connection is referred to as a first-degree friend. In social network <b>100</b>, Player <b>105</b> has six first-degree friends. That is, Player <b>105</b> is directly connected to Friend <b>1</b><sub>1 </sub><b>110</b>, Friend <b>2</b><sub>1 </sub><b>115</b>, Friend <b>3</b><sub>1 </sub><b>120</b>, Friend <b>4</b><sub>1 </sub><b>125</b>, Friend <b>5</b><sub>1 </sub><b>130</b>, and Friend <b>6</b><sub>1 </sub><b>135</b>. In a social graph, it is possible for individuals to be connected to other individuals through their first-degree friends (i.e., friends of friends). As described above, each edge required to connect a player to another user is considered the degree of separation. For example, <figref idref="DRAWINGS">FIG. 1</figref> shows that Player <b>105</b> has four second-degree friends to which he is connected via his connection to his first-degree friends, Friend <b>1</b><sub>1 </sub><b>110</b> and Friend <b>5</b><sub>1 </sub><b>130</b>. Second-degree Friend <b>3</b><sub>2 </sub><b>150</b> is connected to Player <b>105</b> via his first-degree Friend <b>5</b><sub>1 </sub><b>130</b>. The limit on the depth of friend connections, or the number of degrees of separation for associations, that Player <b>105</b> is allowed is typically dictated by the restrictions and policies implemented within social network <b>100</b> or a social graph.
0030In various embodiments, Player <b>105</b> can have Nth-degree friends connected to him through a chain of intermediary degree friends as indicated by the outlined chain of friends <b>180</b>. The outlined chain of friends <b>180</b>, in addition to the first-degree and second-degree friends described above, has 3rd-degree (Friend <b>1</b><sub>3 </sub><b>160</b>), 4th-degree (Friend <b>1</b><sub>4 </sub><b>165</b>), and Nth-degree (Friend <b>1</b><sub>N </sub><b>175</b>) friends. Various embodiments take advantage of and utilize the distinction between the various degrees or level of friendship relative to Player <b>105</b>. For example, the degree of separation between Player <b>105</b> and another user may dictate how much of an in-game benefit Player <b>105</b> derives from connecting or associating with that particular user. In various embodiments, the in-game benefit is established passively, requiring only that Player <b>105</b> be connected with some number of first-degree friends.
0031Connections between Player <b>105</b> and other entities in the social graph can be built in several ways. In some embodiments, Player <b>105</b> can invite various entities into his first-degree level friends category within the infrastructure of a social network website or other server. In other embodiments, Player <b>105</b> can invite entities to join a social graph or network from within an online multiplayer game. In other embodiments, Player <b>105</b> can invite anyone from his social network <b>100</b> within the infrastructure of a social network to join a separate or connected online multiuser game.
0032In some embodiments, a player (or player character) can have a social graph within an online multiplayer game that is maintained by the game engine and another social graph maintained by a separate social networking system. <figref idref="DRAWINGS">FIG. 9</figref> depicts a schematic example of an in-game social network and an out-of-game social network. In this example, Player <b>105</b> has out-of-game connections <b>955</b> to a plurality of friends, forming an out-of-game social network <b>950</b>. Here, Friend <b>1</b><sub>1 </sub><b>110</b> and Friend <b>5</b><sub>1 </sub><b>130</b> are first-degree friends with Player <b>105</b> in Player <b>105</b>'s out-of-game social network <b>950</b>. In this example, Player <b>105</b> also has in-game connections <b>965</b> to a plurality of players, forming an in-game social network <b>960</b>. Here, Friend <b>5</b><sub>1 </sub><b>130</b>, Friend <b>7</b><sub>1 </sub><b>910</b>, and Friend <b>8</b><sub>1 </sub><b>915</b> are first-degree friends with Player <b>105</b> in Player <b>105</b>'s in-game social network <b>960</b>. In some embodiments, it is possible for a friend to be in both the out-of-game social network <b>950</b> and the in-game social network <b>960</b>. Here, Friend <b>5</b><sub>1 </sub><b>130</b> has both an out-of-game connection <b>955</b> and an in-game connection <b>965</b> with Friend <b>105</b>, such that Friend <b>5</b><sub>1 </sub>is in both Player <b>105</b>'s in-game social network <b>960</b> and Player <b>105</b>'s out-of-game social network <b>950</b>.
0033As with other social networks, Player <b>105</b> has second-degree and higher-degree friends in both his in-game and out of game social networks. In some embodiments, it is possible for Player <b>105</b> to have a friend connected to him both in his in-game and out-of-game social networks, wherein the friend is at different degrees of separation in each network. For example, if Friend <b>2</b><sub>2 </sub><b>145</b> had a direct in-game connection with Player <b>105</b>, Friend <b>2</b><sub>2 </sub><b>145</b> would be a second-degree friend in Player <b>105</b>'s out-of-game social network, but a first-degree friend in Player <b>105</b>'s in-game social network.
0034A multiuser online game can access both in-game social networks <b>960</b> and out-of-game social networks <b>950</b>, and the embodiments disclosed herein are operable using either or both.
0000In-Game Benefits Derived from in-Game Associations
0035In some embodiments, when Player <b>105</b> has established a social network <b>100</b> within a particular online multiuser game, Player <b>105</b> can be granted various in-game rewards or benefits. For example, for each entity invited to play an online multiuser game, Player <b>105</b> is granted the ability to associate with that entity within the online multiuser game, thereby creating a directly link between Player <b>105</b> and that entity in the social network <b>100</b>. This association can have its own benefits and drawbacks. In some embodiments, Player <b>105</b> may be required to be associated with a certain number of entities before being allowed to engage in various game events within the game (e.g., quests, missions, etc.). For example, Player <b>105</b> may be required to be associated with at least ten other entities before he will be allowed to undertake the next level of game events. In other embodiments, Player <b>105</b> may not be required to fulfill a minimum number of associated entities to engage in a particular game event; however, Player <b>105</b> will receive incremental in-game benefits or distribute in-game damages based on the number of in-game associations Player <b>105</b> has with other entities playing the game. For example, a game task may involve moving a heavy object. If Player <b>105</b> attempts to complete this task alone, he might have a small percentage chance to complete this task based on his strength attribute. However, if Player <b>105</b> is associated with other entities in the game, their strength attributes can be added to Player <b>105</b>'s either directly or fractionally, thereby increasing the percentage chance of completing the task.
Group Tasks
0036Game events can be any kind of action, mission, fight, problem or puzzle attempted or executed in an online multiplayer game. Game events can include, but are not limited to, simple single-action tasks, extended missions comprising multiple individual tasks, journeys, and level-defining fights.
0037The ability of Player <b>105</b> to attempt, undertake, engage or complete game events can be facilitated or enhanced by forming or being assigned to groups that include one or more NPCs. Just as game events can be completed more easily with real-time online cooperation with live players pooling their assets and abilities, a single player (or player character) associated with various NPCs can utilize the various attributes of those NPCs to complete event tasks at that time.
Associating Players for Asynchronous Game Play
0038In various embodiments, Player <b>105</b> can take advantage of the assets and abilities of a friend in his social network in an asynchronous fashion. For example, Friend <b>3</b><sub>1 </sub><b>120</b> may have developed or acquired certain skills or assets that may be helpful to Player <b>105</b>'s successful completion of a game event undertaken in a particular online multiplayer game. Such skills can include, but are not limited to, the ability to pick locks in the game space or the ability to be invisible or speak different languages within the game space. Similarly, Friend <b>3</b><sub>1 </sub><b>120</b> may have acquired assets or attributes including, but not limited to, increased health, increase stamina, in-game currency or special items. While playing the game, Player <b>105</b> can associate himself with Friend <b>3</b><sub>1 </sub><b>120</b>, regardless of whether Friend <b>3</b><sub>1 </sub><b>120</b> is currently also playing the game, and thereby take advantage of the assets and abilities of Friend <b>3</b><sub>1 </sub><b>120</b>.
0039In some embodiments, Player <b>105</b> can reassociate himself with Friend <b>3</b><sub>1 </sub><b>120</b> each time Player <b>105</b> logs on to play the game and thereby take advantage of changes in Friend <b>3</b><sub>1 </sub><b>120</b>'s assets and abilities. For example, while Player <b>105</b> is off-line, Friend <b>3</b><sub>1 </sub><b>120</b> can evolve and change according to the friend's own individual game play. Friend <b>3</b><sub>1 </sub><b>120</b> may participate in or play a particular multiplayer online game while Player <b>105</b> is not. During Friend <b>3</b><sub>1 </sub><b>120</b>'s independent game play, Friend <b>3</b><sub>1 </sub><b>120</b> can advance through the game and thus acquire additional experience points, health, stamina or other in-game benefits and assets. When Player <b>105</b> logs on to play the game again and associates himself again with Friend <b>3</b><sub>1 </sub><b>120</b>, Player <b>105</b> will be able to take advantage of any of the new attributes (e.g., assets, abilities) that Friend <b>3</b><sub>1 </sub><b>120</b> has acquired since the last time Player <b>105</b> logged on.
0040In some embodiments, the sharing of character attributes can occur in both directions. That is when Player <b>105</b> associates with one of his friends in his social graph <b>100</b>, both players can benefit from the attributes of one another's characters. For example, Friend <b>3</b><sub>1 </sub><b>120</b> can benefit from the attributes Player <b>105</b>. In other embodiments, Friend <b>3</b><sub>1 </sub><b>120</b> can permanently gain or share in various in-game benefits or advancements, such as in-game currency or increased experience points, achieved by Player <b>105</b>'s game play. In other embodiments, Friend <b>3</b><sub>1 </sub><b>120</b> can also share or absorb any potential in-game detriments or damage. Such embodiments will be described in more detail below in regards to distributed damage.
0041in other embodiments, Friend <b>3</b><sub>1 </sub><b>120</b> can choose whether to benefit his character based on the game play of Player <b>105</b>. This allows the friends of Player <b>105</b> to control how their characters evolve. For instance, some embodiments may allow the friends of Player <b>105</b> to determine which benefits or detriments they would like to risk. Additionally, certain risk can be assigned when Player <b>105</b> opts to take advantage of any potential benefits by making the associated friend susceptible to potential damage or detriments. For instance, if Friend <b>3</b><sub>1 </sub><b>120</b> would like to receive a share of any in-game currency acquired while Friend <b>3</b><sub>1 </sub><b>120</b> is associated with Player <b>105</b>'s game play, then Friend <b>3</b><sub>1 </sub><b>120</b> may also be susceptible to absorbing any damage or detriments that his character may be exposed to while it is associated in Player <b>105</b>'s game play.
0042In some embodiments, the friend that Player <b>105</b> wants to associate with can have an opportunity to accept or decline such association. In some embodiments, a single association request will cover all future in-game activities performed by Player <b>105</b>, allowing Player <b>105</b> to continuously share benefits and detriments with the friend. In other embodiments, each game event performed by Player <b>105</b> for which he would like to be associated with the character of a friend can require an individual request and subsequent approval for that task.
Proxies
0043One way that a player (or player character) can take advantage of the attributes of his friends (or the friends' PCs) is through the use of computer-controlled NPCs that represent his friends. The amount or degree of in-game advantages or benefits that Player <b>105</b> derives from each of his friends can depend on the attributes of his friends (or the attributes of their PCs). In some embodiments, Player <b>105</b> can derive in-game benefits from associations with his friends even if they are not logged in or playing the game in real time with Player <b>105</b>. In such embodiments, the friend can act like a NPC associate controlled by game engine. When a friend's character is used to derive in-game benefits in this manner, the associated player's character is referred to as a “friend proxy automated character” or simply as a “proxy.” A proxy is a type of NPC and is controlled by the game engine, however it differs from regular NPCs in that the proxy is based on another user within the game, and it can maintain a relationship with that user. The proxy can be created by the game engine and run by the player regardless of whether the friend the proxy is based on is actively using the game.
0044In some embodiments, where a player and a friend are playing in real time with each other, the game engine can create a proxy of the friend as soon as the friend logs off from the game, such that the player can continue play without losing the benefits derived from playing with his friend. For example, Player <b>105</b> and Friend <b>3</b><sub>1 </sub><b>120</b> can play together in a multiuser online game at the same time and thereby assist each other within the game. If Friend <b>3</b><sub>1 </sub><b>120</b> logs off from the game, the game engine can immediately create a proxy of Friend <b>3</b><sub>1 </sub><b>120</b>, wherein this proxy is controlled by the game engine as an NPC and can continue to assist Player <b>105</b> in his game play. In some embodiments, this process is opaque to Player <b>105</b>, such that he does not realize that the game engine has taken control of his adventuring companion.
0045<figref idref="DRAWINGS">FIG. 2</figref> illustrates a proxy attributes page <b>200</b> according to various embodiments of the present disclosure. The proxy's attributes are determined, at least in part, by the corresponding attributes of the friend (or the friend's PC) the proxy is based on. In some embodiments, the proxy's attributes are determined, at least in party, by the degree of separation between the player and the friend. In the example illustrated by <figref idref="DRAWINGS">FIG. 2</figref>, the Proxy <b>5</b><sub>1 </sub><b>230</b> is described by proxy attributes page <b>200</b>. Proxy <b>5</b><sub>1 </sub><b>230</b>'s attributes are based, at least in part, on Friend <b>5</b><sub>1 </sub><b>130</b>. Proxy <b>5</b><sub>1 </sub><b>230</b> is owned by Player <b>105</b>, who is a first-degree friend with Friend <b>5</b><sub>1 </sub><b>130</b>. Proxy attributes page <b>200</b> comprises information about a number of proxy attributes. For example, information <b>225</b> includes the name, source, owner, orientation, specialty, and education. Proxy attributes page <b>200</b> can also include a listing of the proxy's assets <b>215</b> such as its weapons, tools, cash, powers and gifts/favors. In some embodiments, proxy attributes page <b>200</b> can include a recent activity list <b>220</b>. The recent activity list <b>220</b> can include, for example, information about updates to Proxy <b>5</b><sub>1 </sub><b>230</b>'s attributes, and recent activities or tasks Proxy <b>5</b><sub>1 </sub><b>230</b> has completed with Player <b>105</b>. The foregoing list of possible pieces of information that can be included in the proxy attributes page <b>200</b> is not exhaustive, Any or all other useful information regarding Proxy <b>5</b><sub>1 </sub><b>230</b> can be included in the proxy attributes page <b>200</b>.
0046Proxy attributes page <b>200</b> can also include relevant dates and news about the day Proxy <b>5</b><sub>1 </sub><b>230</b> was created, the date Friend <b>5</b><sub>1 </sub><b>130</b> was last logged on, the last time Proxy <b>5</b><sub>1 </sub><b>230</b> was updated by Player <b>105</b>, as well as any other news regarding the proxy. News regarding Proxy <b>5</b><sub>1 </sub><b>230</b> or Friend <b>5</b><sub>1 </sub><b>130</b> can include any developments, evolution or advancements made by Friend <b>5</b><sub>1 </sub><b>130</b> to the attributes of Proxy <b>5</b><sub>1 </sub><b>230</b>.
0047In some embodiments, the proxy can evolve according to the player (or PC) who owns the proxy or the friend (or the friend's PC) the proxy is based on. For example, if either Player <b>105</b> or Friend <b>5</b><sub>1 </sub><b>130</b> increases their skills, assets, proficiency, or level, Proxy <b>5</b><sub>1 </sub><b>230</b>'s attributes can also increase, according to the game logic. In some embodiments, the evolution of Proxy <b>5</b><sub>1 </sub><b>230</b> occurs asynchronously with the game play of Player <b>105</b>. In other embodiments, Proxy <b>5</b><sub>1 </sub><b>230</b>'s attributes can be frozen in time at the moment Player <b>105</b> adds the proxy to his proxy list <b>400</b>. In yet other embodiments, Proxy <b>5</b><sub>1 </sub><b>230</b>'s attributes page <b>200</b> is initialized with the attributes of Friend <b>5</b><sub>1 </sub><b>130</b> at the time Player <b>105</b> adds Friend <b>5</b><sub>1 </sub><b>130</b> to his social graph, however the attributes of Proxy <b>5</b><sub>1 </sub><b>230</b> can evolve in response to the game play of Player <b>105</b> and Friend <b>5</b><sub>1 </sub><b>130</b>. As such, even though multiple proxies based on Friend <b>5</b><sub>1 </sub><b>130</b> exist (each owned by a different player), each proxy of Friend <b>5</b><sub>1 </sub><b>130</b> is unique to its owner. In this example, Proxy <b>5</b><sub>1 </sub><b>230</b> is unique to Player <b>105</b>. Other players (or PCs) may have proxies based on Friend <b>5</b><sub>1 </sub><b>130</b> that are unique to them, and the attributes of these proxies can evolve depending on the game play of each of their respective owners, developing independently of Player <b>105</b>'s Proxy <b>5</b><sub>1 </sub><b>230</b>.
Association of Friend Proxy Automated Character
0048In various embodiments, the proxy attributes page <b>200</b> can be one of many proxy attributes pages representing proxies based on multiple friends (of PCs of friends) within Player <b>105</b>'s social network <b>100</b>. In such embodiments, it is possible for Player <b>105</b> to select various proxies representing various friends (or their PCs) within Player <b>105</b>'s social network <b>100</b> to be included in a group tailored to or conceived with a particular game event in mind.
0049<figref idref="DRAWINGS">FIG. 5</figref> shows a flowchart of an example method for generating a proxy according to various embodiments of the present disclosure. In some embodiments, the group of proxies can be assembled by accessing <b>502</b> Player <b>105</b>'s social network <b>100</b> and selecting <b>504</b> one or more friends (or their PCs) from the social network according to a computer-implemented game logic. In this embodiment, the friends could be selected by Player <b>105</b> or by the game engine. In either case, the selection of friends could be deter at least in part, by the degree of connections between Player <b>105</b> and the selected friends, as well as by the type of connection between Player <b>105</b> and the selected friends (e.g., whether Player <b>105</b> and the selected friend have an in-game connection <b>965</b> or an out-of-game connection <b>955</b> or both). The game engine could then retrieve <b>506</b> the profile information of the selected friends from the social networking system <b>620</b><i>a </i>and create <b>508</b> a proxy attributes pages <b>200</b> of the proxies associated with the selected friends. These proxies could then be stored in a proxy list <b>400</b>, which could be later referenced and used in the game. At this point <b>510</b>, game play can continue or more friends can be selected to generate more proxies. In other embodiments, the group of proxies can be assembled in advance by the game engine and stored for reference. The game engine could create proxies of any or all friends in Player <b>105</b>'s social network.
0050To resolve some game events, Player <b>105</b> might use all the proxies in his proxy list. To resolve other events, the game rules might only allow Player <b>105</b> to utilize a subset of his proxy list. For example, Player <b>105</b> could select this subset of proxies by checking or clicking the associated selection box or radio button <b>205</b> within the proxy attributes pages <b>200</b> of each proxy that Player <b>105</b> would like to include in the group.
0051In some embodiments, a group of proxies assembled by Player <b>105</b> can have inherent positions, roles or ranks. Proxies can be assigned to these positions/roles/ranks by Player <b>105</b> or by the game engine according to a game logic. For example, position/rank box <b>210</b> can be used by Player <b>105</b> to indicate which role (e.g., bodyguard), position (e.g., center midfielder), or rank (e.g., fifth) he wishes a particular proxy to occupy within the group. Position/rank box <b>210</b> can also be used to indicate or assign how damage or benefits will be distributed or how assets or abilities will be shared in a whole or fractional manner. A more detailed description of distributed damage and benefits and shared assets and abilities will be discussed below.
0052In some embodiments, a player's proxies and proxy list remain associated with the player across games. For example, Player <b>105</b> may play gangster-style online role-playing game (“RPG”), wherein he has various proxies associated with him that are stored in a proxy list <b>400</b>. Player <b>105</b> may also play a fantasy-style online RPG, wherein the game networking system for the fantasy-style online RPG can access Player <b>105</b>'s proxy list <b>400</b> from the gangster-style online RPG. This allows Player <b>105</b> to use the same proxies and proxy list <b>400</b> in both the gangster-style online RPG and the fantasy-style online RPG.
0053<figref idref="DRAWINGS">FIG. 3</figref> depicts a scenario <b>300</b> in which Player <b>105</b> can interact with and be associated with other players (or PCs), proxies, and regular NPCs. As shown in <figref idref="DRAWINGS">FIG. 3</figref>, Player <b>105</b> can be associated with Friend <b>5</b><sub>1 </sub><b>130</b>, Friend <b>3</b><sub>2 </sub><b>150</b>, and NPC <b>0</b><b>310</b>. This association is represented by circle <b>305</b> and can be referred to as a team, group, troop, gang, mob or any other appropriate designation that would indicate the association between Player <b>105</b> and the other characters. Player <b>105</b> can interact with computer-controlled NPCs, such as NPC <b>1</b><b>330</b> and NPC <b>2</b><b>325</b>. Interactions between Player <b>105</b> and computer-controlled NPCs can be a mechanism within the game with which to assign tasks, missions, fights, or other game events to association <b>305</b>.
0054In addition, Player <b>105</b> and association <b>305</b> can interact with other players (or PCs) within the online multiplayer game space, such as Player X <b>320</b> and Player Y <b>315</b>. In various embodiments, Player X <b>320</b> and Player Y <b>315</b> can be associated with their own teams or be associated onto the same team. Furthermore, Player X <b>320</b> and Player Y <b>315</b> can each be associated with their own team of proxies and regular NPCs. Scenario <b>300</b> depicted in <figref idref="DRAWINGS">FIG. 3</figref> illustrates avatar or icon-based game play within an online multiplayer game. However, various embodiments can also include spreadsheet, other text or graphics-based online multiplayer game environments.
Distributed Benefits and Detriments Fractional Benefits and Detriments
0055In various embodiments, proxies can be used by Player <b>105</b> to distribute in-game damage or detriment incurred by Player <b>105</b>. For example, Player <b>105</b> may have a health value of 100 and Proxy <b>5</b><sub>1 </sub><b>230</b> may also have a health value of 100. Collectively, Player <b>105</b> and Proxy <b>5</b><sub>1 </sub><b>230</b> would have a health value of 200. In a scenario in which Player <b>105</b> is involved in a battle and absorbs 90 points of damage, that damage can be distributed, either in whole or partially, to Proxy <b>5</b><sub>1 </sub><b>230</b>.
0056The degree to which a proxy associated with Player <b>105</b> absorbs damage, expends in-game currency, depletes in-game special items, or decreases his health value can depend on the degree of separation between Player <b>105</b> and the friend the proxy is based on. For example, if Friend <b>5</b><sub>1 </sub><b>130</b> is a first-degree friend of Player <b>105</b>, then Proxy <b>5</b><sub>1 </sub><b>230</b> may absorb ½ of any damage or detriment incurred by Player <b>105</b>, or in terms of the example given above absorb a decrease of 45 in health value. In another example, if the Friend <b>1</b><sub>N </sub><b>175</b> is an Nth-degree friend, then Proxy <b>1</b><sub>N </sub><b>476</b> might absorb 1/(1+N) of the damaged incurred by Player <b>105</b>. In some embodiments, the damage or detriment suffered by a proxy is also suffered by the friend the proxy is based on. As with the proxy, the degree to which a friend's character suffers damage or detriment inflicted on a proxy can depend on the degree of separation between the friend and the player using the proxy based on the friend. For example, in the above example where Proxy <b>5</b><sub>1 </sub><b>230</b> absorbs 45 points of damage, Friend <b>5</b><sub>1 </sub><b>130</b> may also suffer 45 points of damage. Similarly, against using the above example, Friend <b>1</b><sub>N </sub><b>175</b> might only suffer 90/(1+N) points of damage. One of ordinary skill in the art will recognize that various algorithms, schemes, and formulas can be used to determine distributed damage and detriments to various degrees of separation for proxies associated with Player <b>105</b>.
0057Similarly, the degree to which a proxy associated with Player <b>105</b> acquires in-game benefits can also depend on the degree of separation between Player <b>105</b> and the friend (or the friend's PC) the proxy is based on. <figref idref="DRAWINGS">FIG. 4</figref> illustrates one scheme of attributing fractional benefits and detriments to Player <b>105</b>. Player <b>105</b>, having assets and abilities <b>405</b>, can have his abilities augmented by attributing a fractional portion of any or all proxies associated with Player <b>105</b>. For instance, Player <b>105</b>'s team <b>180</b> consists of Friend <b>5</b><sub>1 </sub><b>130</b>, Friend <b>3</b><sub>2</sub>, <b>150</b>, Friend <b>1</b><sub>1 </sub><b>160</b>, Friend <b>1</b><sub>4 </sub><b>165</b> (not shown in <figref idref="DRAWINGS">FIG. 4</figref>), and Friend <b>1</b><sub>N </sub><b>175</b>. These friends, via their proxies, can share in-game benefits or detriments with Player <b>105</b> according to the scheme depicted in <figref idref="DRAWINGS">FIG. 4</figref>. In some embodiments, the number of proxies associated with Player <b>105</b> can be limited, while in other embodiments, the number of associated proxies can be unlimited and include proxies based on any friend (or PC of a friend) within Player <b>105</b>'s social network <b>100</b>. Depending on the game logic, some or all of the proxies in Player <b>105</b>'s proxy list <b>400</b> can be utilized for a specific task. In the example shown in <figref idref="DRAWINGS">FIG. 4</figref>, only Proxy <b>5</b><sub>1 </sub><b>230</b>, Proxy <b>3</b><sub>2 </sub><b>451</b>, and Proxy <b>1</b><sub>N </sub><b>475</b> have been selected for use.
0058As shown in <figref idref="DRAWINGS">FIG. 4</figref>, each of the proxies associated with Player <b>105</b> has a corresponding list of assets and abilities listed in a proxy attributes page. For example, Proxy <b>5</b><sub>1 </sub><b>230</b> has assets and abilities <b>235</b> listed in attributes page <b>200</b>. Proxy <b>3</b><sub>2 </sub><b>451</b> has assets and abilities <b>452</b> listed in attributes page <b>421</b>. Proxy <b>1</b><sub>3 </sub><b>461</b> has assets and abilities <b>462</b> listed in attributes page <b>426</b>. Proxy <b>1</b><sub>N </sub><b>476</b> has assets and abilities <b>477</b> listed in attributes page <b>230</b>.
0059Player <b>105</b> can augment his assets and abilities <b>405</b> by adding the assets and abilities of the selected proxies. In various embodiments, assets and abilities <b>405</b> can be augmented by adding a fraction of each of the assets and abilities of the selected proxies. <figref idref="DRAWINGS">FIG. 4</figref> illustrates a scheme for distributing or collecting fractional in-game benefits and detriments from the selected proxies. For example, in <figref idref="DRAWINGS">FIG. 4</figref>, the assets and abilities <b>405</b> of Player <b>105</b> can be augmented by adding 1/m of Proxy <b>5</b><sub>1 </sub><b>230</b>'s assets and abilities <b>235</b>, 1/n of Proxy <b>3</b><sub>2 </sub><b>451</b>'s assets and abilities <b>452</b>, and 1/q of Proxy <b>1</b><sub>N </sub><b>476</b>'s assets and abilities <b>477</b>. Similarly, when benefit or detriment is conveyed to Player <b>105</b>, the benefit or detriment can be fractionally distributed to the proxy by the same fraction. In some embodiments, the benefit or detriment fractionally distributed to a proxy can also be fractionally distributed to the friends (or their PCs) those proxies are based on. For example, in the above example, if Proxy <b>5</b><sub>1 </sub><b>230</b> receives 1/m of the benefit received by Player <b>105</b>, Friend <b>5</b><sub>1 </sub><b>130</b> may also receive 1/m of the same benefit.
0060In some embodiments, the values of in, n, and q are equal. In other embodiments, the values of m, n, and q vary, at least in part, according to the degrees of separation between Player <b>105</b> and the friend associated with the respective proxy. In yet other embodiments, the values of m, n, and q can be set arbitrarily, correspond to some other game state or dictated by Player <b>105</b>'s assets and abilities <b>405</b>. Some, all, or none of the fractions of each of the assets and abilities of the proxy's can be the same. In further embodiments, the values of m, n, and q can be equal to the number of proxies selected <b>495</b>. For example, in the arrangement illustrated in <figref idref="DRAWINGS">FIG. 4</figref>, values of m, n, and q can be equal to 3, corresponding to the three proxies selected by Player <b>105</b>. One of ordinary skill in the art will recognize that various algorithms, schemes, and formulas can be used to determine these fractions.
Systems and Methods
0061In various example embodiments, one or more described web pages may be associated with a social networking system or game networking system. However, alternate embodiments may have application to the retrieval and rendering of structured documents hosted by any type of network addressable resource or web site. Additionally, as used herein, a “user” may be an individual, a group, or another entity (such as a business or third party application).
0062Particular embodiments may operate in a wide area network environment, such as the Internet, including multiple network addressable systems. <figref idref="DRAWINGS">FIG. 6</figref> illustrates an example network environment, in which various example embodiments may operate. Network cloud <b>660</b> generally represents one or more interconnected networks, over which the systems and hosts described herein can communicate. Network cloud <b>660</b> may include packet-based wide area networks (such as the Internet), private networks, wireless networks, satellite networks, cellular networks, paging networks, and the like. As <figref idref="DRAWINGS">FIG. 6</figref> illustrates, particular embodiments may operate in a network environment comprising social networking system <b>620</b><i>a</i>, multiuser game networking system <b>620</b><i>b</i>, and one or more client devices <b>30</b>. However, a social networking system separate from the multiuser game networking system is not necessary. It is possible for the systems to be combined, such that the social networking system and the multiuser game networking system are part of the same system. Consequently, hereinafter, social networking systems <b>620</b><i>a </i>and multiuser game networking system <b>620</b><i>b </i>may be referred to simply as networking system <b>620</b>. Client devices <b>30</b> are operably connected to the network environment via a network service provider, a wireless carrier, or any other suitable means.
0063In one example embodiment, networking system <b>620</b> comprises computing systems that allow users to communicate or otherwise interact with each other and access content, such as a multiuser online game, game player profiles, social network profiles, and other content as described herein. Networking system <b>620</b> is a network addressable system that, in various example embodiments, comprises one or more physical servers <b>622</b> and data stores <b>624</b>. The one or more physical servers <b>622</b> are operably connected to computer network <b>660</b> via, by way of example, a set of routers and/or networking switches <b>626</b>. In an example embodiment, the functionality hosted by the one or more physical servers <b>622</b> may include web or HTTP servers, FTP servers, as well as, without limitation, web pages and applications implemented using Common Gateway Interface (CGI) script, PHP Hyper-text Preprocessor (PHP), Active Server Pages (ASP), Hyper Text Markup Language (HTML), Extensible Markup Language (XML), Java, JavaScript, Flash, ActionScript, Asynchronous JavaScript and XML (AJAX), and the like.
0064Physical servers <b>622</b> may host functionality directed to the operations of networking system <b>620</b>. By way of example, networking system <b>20</b> may host a website that allows one or more users, at one or more client devices <b>30</b>, to access a multiuser online game, access an online social network, as well as communicate and interact with one another via the website. Hereinafter servers <b>622</b> may be referred to as server <b>622</b>, although server <b>622</b> may include numerous servers hosting, for example, networking system <b>620</b>, as well as other content distribution servers, data stores, and databases. Data store <b>624</b> may store content and data relating to, and enabling, operation of the networking system as digital data objects. A data object, in particular implementations, is an item of digital information typically stored or embodied in a data file, database or record. Content objects may take many forms, including: text (e.g., ASCII, SGML, HTML), images (e.g., jpeg, tif and gif), graphics (vector-based or bitmap), audio, video (e.g., mpeg), or other multimedia, and combinations thereof, Content object data may also include executable code objects (e.g., games executable within a browser window or frame), podcasts, etc. Logically, data store <b>624</b> corresponds to one or more of a variety of separate and integrated databases, such as relational databases and object-oriented databases, that maintain information as an integrated collection of logically related records or files stored on one or more physical systems. Structurally, data store <b>624</b> may generally include one or more of a large class of data storage and management systems. In particular embodiments, data store <b>624</b> may be implemented by any suitable physical system(s) including components, such as one or more database servers, mass storage media, media library systems, storage area networks, data storage clouds, and the like. In one example embodiment, data store <b>624</b> includes one or more servers, databases (e.g., MySQL), and/or data warehouses.
0065Data store <b>624</b> may include data associated with different networking system <b>620</b> users and/or client devices <b>630</b>. In particular embodiments, the networking system <b>20</b> maintains a user profile for each user of the system <b>620</b>. User profiles include data that describe the users of a network, which may include, for example, proper names (first, middle and last of a person, a trade name and/or company name of a business entity, etc.), biographic, demographic, and other types of descriptive information, such as work experience, educational history, hobbies or preferences, geographic location, and additional descriptive data. By way of example, user profiles may include a user's birthday, relationship status, city of residence, and the like. The system <b>620</b> may further store data describing one or more relationships between different users. The relationship information may indicate users who have similar or common work experience, group memberships, hobbies, or educational history. A user profile may also include privacy settings governing access to the user's information is to other users.
0066Client device <b>630</b> is generally a computer or computing device including functionality for communicating (e.g., remotely) over a computer network. Client device <b>630</b> may be a desktop computer, laptop computer, personal digital assistant (PDA), in or out-of-car navigation system, smart phone or other cellular or mobile phone, or mobile gaming device, among other suitable computing devices. Client device <b>630</b> may execute one or more client applications, such as a web browser (e.g., Microsoft Internet Explorer, Mozilla Firefox, Apple Safari, Google Chrome, and Opera, etc.), to access and view content over a computer network. In particular implementations, the client applications allow a user of client device <b>630</b> to enter addresses of specific network resources to be retrieved, such as resources hosted by networking system <b>620</b>. These addresses can be Uniform Resource Locators, or URLs. In addition, once a page or other resource has been retrieved, the client applications may provide access to other pages or records when the user “clicks” on hyperlinks to other resources. By way of example, such hyperlinks may be located within the web pages and provide an automated way for the user to enter the URL of another page and to retrieve that page.
0067A webpage or resource embedded within a webpage, which may itself include multiple embedded resources, may include data records, such as plain textual information, or more complex digitally encoded multimedia content, such as software programs or other code objects, graphics, images, audio signals, videos, and so forth. One prevalent markup language for creating web pages is the Hypertext Markup Language (HTML). Other common web browser-supported languages and technologies include the Extensible Markup Language (XML), the Extensible Hypertext Markup Language (XHTML), JavaScript, Flash, ActionScript, Cascading Style Sheet (CSS), and, frequently, Java. By way of example, HTML enables a page developer to create a structured document by denoting structural semantics for text and links, as well as images, web applications and other objects that can be embedded within the page. Generally, a webpage may be delivered to a client as a static document, however, through the use of web elements embedded in the page, an interactive experience may be achieved with the page or a sequence of pages. During a user session at the client, the web browser interprets and displays the pages and associated resources received or retrieved from the website hosting the page, as well as, potentially, resources from other websites.
0068Networking system <b>620</b> may include a multitude of features with which users at remote clients <b>630</b> may interact during user sessions. In particular embodiments, these features may be implemented as web applications and may utilize JavaScript and CSS resources requested from servers <b>622</b> as well as other external servers or data stores. The web applications or resources may be embedded in various underlying or base web pages served to remote clients, such as in frames or iFrames, sections or “divs” and the like. By way of example, a computer-implemented game may be implemented as a FLASH object that is embedded into an HTML document and executable within the context of a client application, such as a browser.
0069In particular embodiments, the networking system <b>620</b> maintains in data store <b>624</b> a number of objects for the different kinds of items with which a user may interact while accessing networking system <b>620</b>. In one example embodiment, these objects include game network user profiles, social network user profiles, application objects, and message objects (such as for wall posts, emails and other messages). In one embodiment, an object is stored by the system <b>620</b> for each instance of its associated item. These objects and the actions discussed herein are provided for illustration purposes only, and it can be appreciated that an unlimited number of variations and features can be provided on a networking system <b>620</b>.
0070When a user at a client device (e.g., client device <b>630</b>) desires to view a particular web page (hereinafter also referred to as target structured document) hosted by networking system <b>620</b>, the user's web browser, or other document rendering engine or suitable client application, formulates and transmits a request to networking system <b>620</b>. The request generally includes a URL or other document identifier as well as metadata or other information. By way of example, the request may include information identifying the user, such as a user ID, as well as information identifying or characterizing the web browser or operating system running on the user's client computing device <b>630</b>. The request may also include location information identifying a geographic location of the user's client device or a logical network location of the user's client device. The request may also include a timestamp identifying when the request was transmitted.
0071<figref idref="DRAWINGS">FIG. 7</figref> depicts a schematic of system <b>700</b> and data flow between the components of system <b>700</b> for operating an online multiuser game. System <b>700</b> can include a client system <b>720</b>, a social network server <b>740</b> and multiuser game server <b>760</b>. Client system <b>720</b>, social network server <b>740</b> and multiuser game server <b>760</b> can each have a corresponding data store such as local storage medium <b>725</b>, user and social network storage medium <b>745</b> and game data storage medium <b>765</b>, respectively. Client system <b>720</b> can communicate with social network server <b>740</b> to receive web pages, messages, etc. Additionally, client system <b>720</b> can transmit data to and receive data from <b>723</b> (including game inputs, team displays, data transfers, etc.) multiuser game server <b>760</b>. In a similar fashion, multiuser game server <b>760</b> and social network server <b>740</b> can communicate HTTP packets <b>743</b> including data requests, invites, updates, etc. with social network server <b>740</b>. At some other time, or at the same time, social network server <b>740</b> can communicate social network data, page info, messages, etc. data <b>747</b> with multiuser game server <b>760</b>. As mentioned above, communication between client system <b>720</b>, social network server <b>740</b> and multiuser game server <b>760</b> can occur over any appropriate electronic communication medium.
0072<figref idref="DRAWINGS">FIG. 8</figref> illustrates an example computing system architecture, which may be used to implement a server <b>622</b> or a client device <b>630</b> (or each node of a distributed computing system). In one embodiment, hardware system <b>800</b> comprises a processor <b>802</b>, a cache memory <b>804</b>, and one or more executable modules and drivers, stored on a tangible computer readable medium, directed to the functions described herein. Additionally, hardware system <b>800</b> may include a high performance input/output (I/O) bus <b>806</b> and a standard I/O bus <b>908</b>. A host bridge <b>810</b> may couple processor <b>802</b> to high performance I/O bus <b>806</b>, whereas I/O bus bridge <b>812</b> couples the two buses <b>806</b> and <b>908</b> to each other. A system memory <b>814</b> and one or more network/communication interfaces <b>816</b> couple to bus <b>806</b>. Hardware system <b>800</b> may further include video memory (not shown) and a display device coupled to the video memory. Mass storage <b>818</b>, and I/O ports <b>820</b> couple to bus <b>808</b>. Hardware system <b>800</b> may optionally include a keyboard and pointing device, and a display device (not shown) coupled to bus <b>808</b>. Collectively, these elements are intended to represent a broad category of computer hardware systems, including but not limited to general purpose computer systems based on the x86-compatible processors manufactured by Intel Corporation of Santa Clara, Calif., and the x86-compatible processors manufactured by Advanced Micro Devices (AMD), Inc., of Sunnyvale, Calif., as well as any other suitable processor.
0073The elements of hardware system <b>800</b> are described in greater detail below. In particular, network interface <b>816</b> provides communication between hardware system <b>800</b> and any of a wide range of networks, such as an Ethernet (e.g., IEEE 802.3) network, a backplane, etc. Mass storage <b>818</b> provides permanent storage for the data and programming instructions to perform the above-described functions implemented in the servers <b>622</b>, whereas system memory <b>814</b> (e.g., DRAM) provides temporary storage for the data and programming instructions when executed by processor <b>802</b>. I/O ports <b>820</b> are one or more serial and/or parallel communication ports that provide communication between additional peripheral devices, which may be coupled to hardware system <b>800</b>.
0074Hardware system <b>800</b> may include a variety of system architectures; and various components of hardware system <b>800</b> may be rearranged. For example, cache <b>804</b> may be on-chip with processor <b>802</b>. Alternatively, cache <b>804</b> and processor <b>802</b> may be packed together as a “processor module,” with processor <b>802</b> being referred to as the “processor core.” Furthermore, certain embodiments may not require nor include all of the above components. For example, the peripheral devices shown coupled to standard I/O bus <b>908</b> may couple to high performance I/O bus <b>806</b>. In addition, in some embodiments, only a single bus may exist, with the components of hardware system <b>800</b> being coupled to the single bus. Furthermore, hardware system <b>800</b> may include additional components, such as additional processors, storage devices, or memories.
0075An operating system manages and controls the operation of hardware system <b>800</b>, including the input and output of data to and from software applications (not shown). The operating system provides an interface between the software applications being executed on the system and the hardware components of the system. Any suitable operating system may be used, such as the LINUX Operating System, the Apple Macintosh Operating System, available from Apple Computer Inc. of Cupertino, Calif., UNIX operating systems, Microsoft® Windows® operating systems, BSD operating systems, and the like. Of course, other implementations are possible. For example, the functions described herein may be implemented in firmware or on an application specific integrated circuit.
0076Furthermore, the above-described elements and operations can be comprised of instructions that are stored on storage media. The instructions can be retrieved and executed by a processing system. Some examples of instructions are software, program code, and firmware. Some examples of storage media are memory devices, tape, disks, integrated circuits, and servers. The instructions are operational when executed by the processing system to direct the processing system to operate in accord with various embodiments. The term “processing system” refers to a single processing device or a group of inter-operational processing devices. Some examples of processing devices are integrated circuits and logic circuitry. Those skilled in the art are familiar with instructions, computers, and storage media.
0077<figref idref="DRAWINGS">FIG. 10</figref> depicts a schematic example of data flow in a game engine for determining, recording and updating the results of an event decision according to one embodiment of the present disclosure. <figref idref="DRAWINGS">FIG. 11</figref> shows a flowchart illustrating an example method for resolving an in-game event. As discussed previously, a player (or PC) can derive benefit from associate proxies when resolving game events. The game engine can access <b>1102</b> the player's (or PC's) proxy list to identify proxies associated with the player. Proxies can then be selected <b>1104</b>, either by the player or by the game engine according to a game logic. The game engine can then retrieve <b>1106</b> the profile information of the proxies and resolve <b>1108</b> a game event based, at least in part, on the attributes of the selected proxies. At this point <b>1110</b>, if the event is resolved then the event can be completed; otherwise the player may have the option of selecting more proxies to aid him with the event. A game engine can consider various factors when resolving a game event <b>1108</b>. For example, the event decision <b>1020</b> may be the product of a game engine receiving and considering various factors and data. For example, event decision <b>1020</b> can be the result of a game engine considering factors such as the actions of other active players <b>1002</b>. Player <b>105</b>'s character state and actions <b>1004</b>, Player <b>105</b>'s selected proxies <b>495</b> character states and actions <b>1005</b>, random numbers <b>1006</b>, opponent condition <b>1008</b>, and game state <b>1010</b> (position of objects, NPCs, etc.), Once the game engine determines an event decision <b>1020</b>, the game engine will produce an event result <b>11030</b>. For example, where Player <b>105</b> is attempting to scale a castle wall, the game engine can consider: Player <b>105</b>'s strength attribute, the attributes of Player <b>105</b>'s selected proxies, that the wall (i.e., opponent) is 30 feet high and sheer, that the is slippery because it is raining, and that Player <b>105</b> is being helped with other active players. Considering these factors, the game engine might determine that Player <b>105</b> has only a 15% chance of success. To make the event decision, the game engine could then generate a random number. Here, the number is greater than 0.15, meaning that Player <b>105</b> failed to scale the castle wall.
0078Once the event decision <b>1020</b> and the event result <b>1030</b> are determined, the game engine can produce a game update <b>1040</b> to change the state of the game and the characters of the players and NPCs involved in the game event. Game update <b>1040</b> can include a reduction of Player <b>105</b>'s health value, NPCs can be moved to account for Player <b>105</b> falling, and game objects can be moved according to the movements and actions of player A and other players and NPCs within the game space. For example, the bushes that Player <b>105</b> fell on after falling from the castle wall might be smashed or broken, and Player <b>105</b>'s health value is reduced by 30 due to the impact.
0079<figref idref="DRAWINGS">FIG. 12</figref> depicts a schematic of data flow <b>1200</b> of various character states that a game engine can use to determine an event decision according to various embodiments of the present disclosure. As shown, a game engine can consider the character states and character actions of Player <b>105</b><b>1210</b> and any or all associated player characters, proxies and regular NPCs. In dataflow <b>1200</b>, the game engine can consider character states and character actions of not only active Player <b>105</b> and active Players X and Z, but also their respective proxies. In <figref idref="DRAWINGS">FIG. 12</figref>, active Player <b>105</b> has formed a team with his proxies because he has no friends in real life, where his team consists of Proxy <b>5</b><sub>1 </sub><b>230</b> and Proxy <b>3</b><sub>2 </sub><b>451</b>. Player X has also formed a team with Proxy Y and his friend, active Player Z. The game engine can consider all of the character states and character actions of all the active players and proxy players to determine the event decision <b>1270</b>. In the example shown in <figref idref="DRAWINGS">FIG. 12</figref>, the game engine considers Player <b>105</b>'s state and attributes <b>1210</b>, Proxy <b>5</b><sub>1 </sub><b>230</b>'s state and attributes <b>1220</b>, Proxy <b>3</b><sub>2 </sub><b>451</b>'s state and actions <b>1230</b>, Player X's state and actions <b>1240</b>, Proxy Y's state and actions <b>1250</b>, and Player Z's state and actions <b>1260</b> to make event decision <b>1270</b>. Here, the event result <b>1280</b> is that player X wins because Player <b>105</b>'s team <b>1215</b> is smaller in some relevant attribute (e.g., power) than the Player X's team <b>1245</b>.
Miscellaneous
0080One or more features from any embodiment may be combined with one or more features of any other embodiment without departing from the scope of the disclosure.
0081A recitation of “a”, “an,” or “the” is intended to mean “one or more” unless specifically indicated to the contrary.
0082The present disclosure encompasses all changes, substitutions, variations, alterations, and modifications to the example embodiments herein that a person having ordinary skill in the art would comprehend. Similarly, where appropriate, the appended claims encompass all changes, substitutions, variations, alterations, and modifications to the example embodiments herein that a person having ordinary skill in the art would comprehend.
0083For example, the processes described herein may be implemented using hardware components, software components, and/or any combination thereof. By way of example, while embodiments of the present disclosure have been described as operating in connection with a networking website, various embodiments of the present disclosure can be used in connection with any communications facility that supports web applications. Furthermore, in some embodiments the term “web service” and “website” may be used interchangeably and additionally may refer to a custom or generalized API on a device, such as a mobile device (e.g., cellular phone, smart phone, personal GPS, personal digital assistance, personal gaming device, etc.), that makes API calls directly to a server. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. It will, however, be evident that various modifications and changes may be made thereunto without departing from the broader spirit and scope of the disclosure as set forth in the claims and that the disclosure is intended to cover all modifications and equivalents within the scope of the following claims.
Contents5
12 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US12059624B2 | Cited by | United States of America | Search report |
| US11383167B2 | Cited by | United States of America | Search report |
| US8303416B1 | Cited by | United States of America | Search report |
| US8342967B2 | Cited by | United States of America | Applicant |
| US9757657B2 | Cited by | United States of America | Search report |
| WO2020214393A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US8771079B1 | Cited by | United States of America | Applicant |
| US9457278B2 | Cited by | United States of America | Applicant |
| US8231473B2 | Cited by | United States of America | Applicant |
| US11123643B2 | Cited by | United States of America | Applicant |
| US8348765B1 | Cited by | United States of America | Applicant |
| US10463972B2 | Cited by | United States of America | Applicant |
| JP2014071567A | Cited by | Japan | Search report |
| US9700803B2 | Cited by | United States of America | Applicant |
| US2012302354A1 | Cited by | United States of America | Pre-grant |
| US8226485B1 | Cited by | United States of America | Applicant |
| US2015367240A1 | Cited by | United States of America | Pre-grant |
7 members in 1 office
Priority claims10
| Document | Office | Kind | Date |
|---|---|---|---|
| 23375109 | United States of America | P | |
| 23375109 | United States of America | P | |
| 85553610 | United States of America | A | |
| 85553610 | United States of America | A | |
| 201113244902 | United States of America | A | |
| 12855536 | – | – | – |
| 61233751 | – | – | – |
| US20090233751P | – | – | – |
| US20100855536 | – | – | – |
| US201113244902 | – | – | – |
Members7
| Document | Office | Kind | |
|---|---|---|---|
| US2012015744A1 | United States of America | A1 | |
| US2012015745A1 | United States of America | A1 | |
| US2012015746A1 | United States of America | A1 | |
| US8226485B1 | United States of America | B1 | |
| US8226486B2 | United States of America | B2 | |
| US8226487B2 | United States of America | B2 | |
| US8231473B2 | United States of America | B2 |
15 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapsed due to failure to pay maintenance feeLapsedFP | FP | |
| Lapse for failure to pay maintenance feesLapsedPATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYLAPS | LAPS | |
| Information on status: patent discontinuationPATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362STCH | STCH | |
| Fee payment procedureMAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Fee paymentFPAY | FPAY | |
| Certificate of correctionCC | CC | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP |
Numbers
- Publication
- 20120015744
- Publication, DOCDB
- 2012015744
- Publication, EPODOC
- US2012015744
- Application
- 13244902
- Application, DOCDB
- 201113244902
- Application, EPODOC
- US201113244902
Titles
- English
- APPLYING PROXY ATTRIBUTES IN MULTIPLE GAMES
Classification
- CPC, 7
- A63F13/69
- A63F13/795
- A63F2300/5546
- A63F2300/556
- A63F2300/6009
- A63F13/335
- A63F13/822
- IPC, 1
- A63F9 24
- USPC, 1
- 463042000