Systems and methods of processing player interactions in a multiplayer virtual game space
A computer system is provided that enables players to play an online multiplayer game. When collisions are detected in the game, energy objects are created. These objects may be acquired by players during the game to increase a special ability meter. Activation of the special ability meter allows players to be provided with one or more benefits during the multiplayer video game. In some examples, the benefit may include moving a player object to a second track within the multiplayer racing game.
1 . A computer system for processing a multiplayer game, the system comprising:
a data storage system configured to store player records for each player, the player records including a skill parameter;
at least one hardware processor configured to perform operations comprising:
receiving requests to join a multiplayer game from a plurality of computing devices, each of the computing devices associated with at least one player;
generating a new instance of the multiplayer game for a plurality of players;
for each corresponding player of the plurality of players that is included in the instance of the multiplayer game, dynamically generating a group of rival players by selecting multiple ones of the plurality of players, wherein the multiple ones are selected based on a comparison of the skill parameter of the corresponding player to the skill parameter of other players, wherein as a result of the dynamic generation, different groups of rival players are assigned to different ones of the plurality of players that are included in the multiplayer game, wherein a total number for each group of rival players is smaller than a total number of the plurality of players included in the multiplayer game;
communicating, to those computing devices associated with each of the plurality of players, data including the dynamically generated group of rival players for each corresponding player to carry out the multiplayer game;
during the multiplayer game:
1) receiving updates from each of the plurality of computing devices,
2) updating, based on the received updates, gameplay data for the multiplayer game, and
3) communicating, to each of the plurality of computing devices, client updates configured to cause, upon reception thereof and based on the dynamically generated group of rival players communicated to a corresponding computing device, graphical renderings that graphically differentiate the dynamically generated group of rival players from other players that are rendered within the multiplayer game;
determining results of the multiplayer game; and
calculating, for at least some of the plurality of players, an update to the skill parameter, wherein the skill parameter is updated based on how each of the at least some of the plurality of players performed in the multiplayer game in comparison to the dynamically generated group of rival players.
2 . The computer system of claim 1 , wherein the operations further comprise:
sorting the plurality of players based on the skill parameter associated with each corresponding player.
3 . The computer system of claim 2 , wherein the selection of the multiple ones for each group of rival players includes at least one player with a skill parameter(s) below the skill parameter of the corresponding player and at least one player with a skill parameter above the skill parameter of the corresponding player.
4 . The computer system of claim 3 , wherein
the skill parameter of the at least one player below the skill parameter of the corresponding player is immediately below the skill parameter of the corresponding player, and
the skill parameter of the at least one player above the skill parameter of the corresponding player is immediately above the skill parameter of the corresponding player.
5 . The computer system of claim 1 , wherein the player records include a second parameter, wherein the operations further comprise:
calculating, for a first player, a game result value that is based on: 1) a game result placement among all other players in the multiplayer game; 2) a rival result that is based on a rival placement result among the first player and the group of rival players; and
updating the second parameter based on the calculated game result value.
6 . The computer system of claim 1 , wherein the multiplayer game includes a plurality of races, wherein the group of rival players for a first user is selected for a first one of the plurality of races,
wherein the operations further comprise:
for a second one of the plurality of races, dynamically generating a new group of rival players based on a ranking placement of players from the first one of the plurality of races.
7 . The computer system of claim 1 , wherein the group of rivals that is selected for each corresponding user is unique across the plurality of players.
8 . The computer system of claim 1 , wherein the comparison of the skill parameter includes ordering the plurality of players according to each respective skill parameter and selecting each group of rivals based on the ordering.
9 . A computer program product stored to a non-transitory computer readable storage medium, the computer program product comprising instructions that are configured to cause at least one hardware processor of a computing system to perform operations comprising:
storing, to a data storage system, player records for each player, the player records including a skill parameter;
receiving requests to join a multiplayer game from a plurality of computing devices, each of the computing devices associated with at least one player;
generating a new instance of the multiplayer game for a plurality of players;
for each corresponding player of the plurality of players that is included in the instance of the multiplayer game, dynamically generating a group of rival players by selecting multiple ones of the plurality of players, wherein the multiple ones are selected based on a comparison of the skill parameter of the corresponding player to the skill parameter of other players, wherein as a result of the dynamic generation, different groups of rival players are assigned to different ones of the plurality of players that are included in the multiplayer game, wherein a total number for each group of rival players is smaller than a total number of the plurality of players included in the multiplayer game;
communicating, to those computing devices associated with each of the plurality of players, data including the dynamically generated group of rival players for each corresponding player to carry out the multiplayer game;
during the multiplayer game:
1) Receiving updates from each of the plurality of computing devices,
2) updating, based on the received updates, gameplay data for the multiplayer game, and
3) Communicating, to each of the plurality of computing devices, client updates configured to cause, upon reception thereof and based on the dynamically generated group of rival players communicated to a corresponding computing device, graphical renderings that graphically differentiate the dynamically generated group of rival players from other players that are rendered within the multiplayer game;
determining results of the multiplayer game; and
calculating, for at least some of the plurality of players, an update to the skill parameter, wherein the skill parameter is updated based on how each player performed in the multiplayer game in comparison to the dynamically generated group of rival players.
10 . The computer program product of claim 9 , wherein the operations further comprise:
sorting the plurality of players based on the skill parameter associated with each corresponding player.
11 . The computer program product of claim 10 , wherein the selection of the multiple ones for each group of rival players includes at least one player with a skill parameter(s) below the skill parameter of the corresponding player and at least one player with a skill parameter above the skill parameter of the corresponding player.
12 . The computer program product of claim 11 , wherein the
skill parameter of the at least one player below the skill parameter of the corresponding player is immediately below the skill parameter of the corresponding player, and
the skill parameter of the at least one player above the skill parameter of the corresponding player is immediately above the skill parameter of the corresponding player.
13 . The computer program product of claim 9 , wherein the player records include a second parameter, wherein the operations further comprise:
calculating, for a first player, a game result value that is based on: 1) a game result placement among all other players in the multiplayer game; 2) a rival result that is based on a rival placement result among the first player and the group of rival players; and
updating the second parameter based on the calculated game result value.
14 . The computer program product of claim 9 , wherein the multiplayer game includes a plurality of races, wherein the group of rival players for a first user is selected for a first one of the plurality of races,
wherein the operations further comprise:
for a second one of the plurality of races, dynamically generating a new group of rival players based on a ranking placement of players from the first one of the plurality of races.
15 . The computer program product of claim 9 , wherein the comparison of the skill parameter includes ordering the plurality of players according to each respective skill parameter and selecting each group of rivals based on the ordering.
16 . A method for processing a multiplayer game, the method comprising:
storing, to a data storage system, player records for each player, the player records including a skill parameter;
receiving requests to join a new instance of a multiplayer game from a plurality of computing devices, each of the computing devices associated with at least one player;
generating a new instance of the multiplayer game for a plurality of players;
for each corresponding player of the plurality of players that is included in the instance of the multiplayer game, dynamically generating a group of rival players by selecting multiple ones of the plurality of players, wherein the multiple ones are selected based on a comparison of the skill parameter of the corresponding player to the skill parameter of other players, wherein as a result of the dynamic generation, different groups of rival players are assigned to different ones of the plurality of players that are included in the multiplayer game, wherein a total number for each group of rival players is smaller than a total number of the plurality of players included in the multiplayer game;
communicating, to those computing devices associated with each of the plurality of players, data including the dynamically generated group of rival players for each corresponding player to carry out the multiplayer game;
during the multiplayer game:
1) Receiving updates from each of the plurality of computing devices,
2) Updating, based on the received updates, gameplay data for the multiplayer game, and
3) Communicating, to each of the plurality of computing devices, client updates configured to cause, upon reception thereof and based on the dynamically generated group of rival players communicated to a corresponding computing device, graphical renderings that graphically differentiate the dynamically generated group of rival players from other players that are rendered within the multiplayer game;
determining results of the multiplayer game; and
calculating, for at least some of the plurality of players, an update to the skill parameter, wherein the skill parameter is updated based on how each player performed in the multiplayer game in comparison to the dynamically generated group of rival players.
17 . The method of claim 16 , further comprising:
sorting the plurality of players based on the skill parameter associated with each corresponding player.
18 . The method of claim 17 , wherein the selection of the multiple ones for each group of rival players includes at least one player with a skill parameter(s) below the skill parameter of the corresponding player and at least one player with a skill parameter above the skill parameter of the corresponding player.
19 . The method of claim 16 , wherein
skill parameter of the at least one player below the skill parameter of the corresponding player is immediately below the skill parameter of the corresponding player, and
the skill parameter of the at least one player above the skill parameter of the corresponding player is immediately above the skill parameter of the corresponding player.
20 . The method of claim 16 , wherein the player records include a second parameter, the method further comprising:
calculating, for a first player, a game result value that is based on: 1) a game result placement among all other players in the multiplayer game; 2) a rival result that is based on a rival placement result among the first player and the group of rival players; and
updating the second parameter based on the calculated game result value.