US20120172098A1 - Suggesting game roles for different players based on a player's gaming statistics from other games - Google Patents

Suggesting game roles for different players based on a player's gaming statistics from other games Download PDF

Info

Publication number
US20120172098A1
US20120172098A1 US12/981,069 US98106910A US2012172098A1 US 20120172098 A1 US20120172098 A1 US 20120172098A1 US 98106910 A US98106910 A US 98106910A US 2012172098 A1 US2012172098 A1 US 2012172098A1
Authority
US
United States
Prior art keywords
player
game
role
generic
weights
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/981,069
Inventor
Nathan A. Baker
James D. Creasman
Barry J. Pellas
Adrian P. Vrouwenvelder
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to US12/981,069 priority Critical patent/US20120172098A1/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: VROUWENVELDER, ADRIAN P., PELLAS, BARRY J., CREASMAN, JAMES D., BAKER, NATHAN A.
Publication of US20120172098A1 publication Critical patent/US20120172098A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3225Data transfer within a gaming system, e.g. data sent between gaming machines and users
    • G07F17/3232Data transfer within a gaming system, e.g. data sent between gaming machines and users wherein the operator is informed
    • G07F17/3234Data transfer within a gaming system, e.g. data sent between gaming machines and users wherein the operator is informed about the performance of a gaming system, e.g. revenue, diagnosis of the gaming system
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3225Data transfer within a gaming system, e.g. data sent between gaming machines and users
    • G07F17/3232Data transfer within a gaming system, e.g. data sent between gaming machines and users wherein the operator is informed
    • G07F17/3237Data transfer within a gaming system, e.g. data sent between gaming machines and users wherein the operator is informed about the players, e.g. profiling, responsible gaming, strategy/behavior of players, location of players

Definitions

  • the present invention relates to computers and other data processing systems and software and, more specifically, to games in which different roles may be assigned to different players.
  • a method includes the following steps: Receiving a first plurality of game specific statistics for a first player, and a second plurality of game specific statistics for a second player. Receiving a plurality of weights, where each one of the plurality of weights is associated with one of the first plurality and the second plurality of game specific statistics, and each one of the plurality of weights has an associated one of a first plurality of generic attributes. Computing a first plurality of generic attribute scores for the first player using one of the first plurality of game specific statistics, and a corresponding one of the plurality of weights and the associated one of the first plurality of generic attributes.
  • an apparatus includes a storage device comprising computer executable program code and a processor coupled to the storage device.
  • the processor executes the computer executable program code to direct the apparatus to do the following: Receive a first plurality of game specific statistics for a first player, and a second plurality of game specific statistics for a second player. Receive a plurality of weights, where each one of the plurality of weights is associated with one of the first plurality and the second plurality of game specific statistics, and each one of the plurality of weights includes an associated one of a first plurality of generic attributes.
  • Compute a first plurality of generic attribute scores for the first player where each one of the first plurality of generic attribute scores is computed using one of the first plurality of game specific statistics, and a corresponding one of the plurality of weights and the associated one of the first plurality of generic attributes.
  • Compute a second plurality of generic attribute scores for the second player where each one of the second plurality of generic attribute scores is computed using one of the second plurality of game specific statistics, and a corresponding one of the plurality of weights and the associated one of the first plurality of generic attributes.
  • Receive a request to play a game and suggest a first role of the game for the first player and a second role of the game for the second player.
  • a computer program product includes a computer readable storage medium having computer readable program code embodied therewith.
  • the computer readable program code is configured to: Receive a first plurality of game specific statistics for a first player, and a second plurality of game specific statistics for a second player. Receive a plurality of weights, where each one of the plurality of weights is associated with one of the first plurality and the second plurality of game specific statistics, and each one of the plurality of weights includes an associated one of a first plurality of generic attributes. Compute a first plurality of generic attribute scores for the first player using one of the first plurality of game specific statistics, and a corresponding one of the plurality of weights and the associated one of the first plurality of generic attributes.
  • FIG. 1 is a block diagram of an exemplary computer or other data processing system in which various embodiments of the present invention may be implemented;
  • FIG. 2 is a flowchart of one embodiment of a process for generating generic attribute scores based on weights and generic attributes associated with game specific statistics
  • FIG. 3 is a flowchart of one embodiment of a process for suggesting and assigning different players to different roles of a game to be played by two or more players.
  • aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.”
  • aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon. Any combination of one or more computer readable medium(s) may be utilized.
  • the computer readable medium may be a computer readable signal medium or a computer readable storage medium.
  • a computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus or device, or any suitable combination of the foregoing.
  • a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus or device.
  • a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein; for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms including, but not limited to, electro-magnetic, optical or any suitable combination thereof.
  • a computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate or transport a program for use by or in connection with an instruction execution system, apparatus or device.
  • Program code embodied in a computer readable signal medium may be transmitted using any appropriate medium including, but not limited to, wireless, wire line, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
  • Computer program code for carrying out operations of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as JavaTM, Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. (Java and all Java-based trademarks and logos are trademarks of Sun Microsystems, Inc., in the United States, other countries or both.)
  • the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on a remote computer or server.
  • the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
  • LAN local area network
  • WAN wide area network
  • Internet Service Provider an Internet Service Provider
  • These computer program instructions may also be stored in a computer readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
  • the computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed in the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions that execute in the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
  • FIG. 1 is a block diagram of an exemplary computer or other data processing system in which various embodiments of the present invention may be implemented.
  • bus subsystem 102 interconnects the various components of data processing system 100 , such as processor 104 , memory 106 , persistent storage 108 , interface subsystem 110 and video subsystem 112 .
  • Bus subsystem 102 preferably includes one or more computer buses, and may also include one or more circuits to interconnect the various buses and components of data processing system 100 . These circuits may include memory controllers, input/output controllers, and bridge circuits that bridge from one bus technology to another.
  • bus and “bus subsystem” should be broadly interpreted to include other interconnect technologies or combinations thereof in which power, timing, data or other signals are transferred between the various components of a data processing system, or between two or more data processing systems.
  • technologies commonly classified as network and input/output, such as Ethernet and USB, and various wired, wireless, optical and infrared communication technologies may also be used to interconnect the various components of data processing system 100 .
  • Processor 104 is connected to bus subsystem 102 via bus 102 a , such as a well known Front Side Bus.
  • Processor 104 is, preferably, a well known integrated circuit, central processing unit (CPU), but it may be any data processing subsystem that processes data or executes computer program instructions, which are also known as computer executable code, computer readable program code, and similar terms. These computer program instructions and data are loaded into memory 106 , which is coupled to processor 104 via memory bus 102 b , bus subsystem 102 , and bus 102 a .
  • Processor 104 in combination with a memory controller circuit in bus subsystem 102 , fetches the data and program instructions stored in memory 106 .
  • Memory 106 may be any memory or storage device that is capable of storing and retrieving data or program instructions, but is preferably one or more semiconductor, random access memory (RAM) circuits.
  • RAM random access memory
  • Persistent storage 108 is used to store data, program instructions and other information on a more permanent or persistent basis than that of memory 106 , which typically uses a fast but volatile memory technology wherein all information is lost if the power to the memory is disrupted.
  • Persistent storage 108 is coupled to bus subsystem 102 via storage bus 102 c , examples of which include well known IDE, SATA and SCSI buses, although other bus technologies may also be used.
  • Data, program instructions and other information may be stored in persistent storage 108 , and loaded into memory 106 .
  • Persistent storage 108 is coupled to memory 106 via bus 102 c , an I/O controller circuit and a memory controller circuit in bus subsystem 102 , and memory bus 102 b.
  • Persistent storage may be any memory or information storage device that is capable of storing data, program instructions or other information. Examples of typical persistent storage devices include magnetic storage devices (such as a hard disk drive), optical storage devices (such as a CD-ROM) and semiconductor storage devices (such as EEPROMs and flash memory). Persistent storage 108 may also include drives, connectors or other devices that accept removable storage media, such as floppy magnetic disks, optical disks and semiconductor flash memory. Persistent storage 108 , as well as memory 106 , may be internally located within data processing system 100 , or externally located and coupled to the data processing system through Interface subsystem 110 or otherwise.
  • Interface subsystem 110 is coupled to bus subsystem 102 via bus 102 d .
  • Interface subsystem 110 may include one or more input/output (I/O) and network ports to which devices, systems and networks that are external to data processing system 100 can be connected. Examples of such devices, systems and networks include keyboards, pointing devices (such as a mouse), printers, scanners, storage devices, local area networks (LANs), wide area networks (WANs), and other data processing systems.
  • I/O and network ports may be implemented in a different I/O or network technology, examples of which include Universal Serial Bus (USB), Ethernet, IEEE 1394 (FireWire), Small Computer System Interface (SCSI) and IEEE 802.11 (wireless LAN).
  • USB Universal Serial Bus
  • Ethernet Ethernet
  • IEEE 1394 FireWire
  • SCSI Small Computer System Interface
  • IEEE 802.11 wireless LAN
  • portions of interface subsystem 110 may be implemented in an I/O controller circuit that is part of bus subsystem 102 .
  • FIG. 1 illustrates exemplary Ethernet, USB and IEEE 1394 ports of interface subsystem 110 , but other ports and port technologies may be included.
  • Video subsystem 112 the output of which may be connected to a video display, is coupled to bus subsystem 102 via video bus 102 e .
  • Examples of video bus technologies include Accelerated Graphics Port (AGP) and PCI Express, although other bus technologies may be used to implement video bus 102 e.
  • AGP Accelerated Graphics Port
  • PCI Express PCI Express
  • a computer program product 120 includes computer readable program code 122 embodied in a computer readable medium 124 , which may be a storage medium or a signal medium.
  • Computer readable medium 124 may include memory 106 , persistent storage 108 or any storage device, including a storage device that is external to data processing system 100 .
  • An external storage device may be coupled to data processing system 100 through interface subsystem 110 or otherwise.
  • Computer readable medium 124 may also be a removable storage medium that is capable of being inserted into an internal or external drive or other device that is adapted to read the removable storage medium.
  • Other examples, variations and details of a computer program product, a computer readable medium and computer program code are described above.
  • FIG. 2 is a flowchart of one embodiment of a process for generating Generic Attribute Scores based on weights and Generic Attributes associated with Game Specific Statistics.
  • the process starts at step 202 .
  • the variables X, Y and Z are set to 1.
  • the variable “X” is used to specify a particular Player
  • the variable “Y” is used to specify a particular Game
  • the variable “Z” is used to specify a particular Game Specific Statistic (“GSS”).
  • the Game Specific Statistics are, as the name implies, specific to each game. For example, a basketball game may have Game Specific Statistics for various positions that a player has previously played, such as guard, point guard, forward and center. Each Game Specific Statistic will have an associated numeric value (“q”) to indicate the player's quantitative proficiency relative to that particular Game Specific Statistic, as well an identification of the particular statistic (“STAT”).
  • the Game Specific Statistic can be viewed as an ordered pair of a numeric value and the associated statistic: (q, STAT).
  • the specific statistic is “Point Guard” and the player's cumulative quantitative proficiency for previous games played as Point Guard is 0.75.
  • the Game Specific Statistic of “Point Guard” would map to the Generic Attribute of “Reaction Time” and the weighting factor “w” is 0.5.
  • the same Game Specific Statistic could also be mapped to a different Generic Attribute by the specification of an additional and different Weight. Weights may be subjectively assigned (both the weight “w” and the Generic Attribute “GA” portions of a Weight) to each Game Specific Statistic and may be stored in a database for access by various players.
  • a Generic Attribute Score (“GAS”) is computed based on the weight and associated Generic Attribute that correspond to Game Specific Statistic Z.
  • GAS Generic Attribute Score
  • a particular Game Specific Statistic may have more than one weight and associated Generic Attribute associated with it, in which case multiple Generic Attribute Scores may be calculated for that Game Specific Statistic and player.
  • the process of computing a Generic Attribute Score may be accomplished by multiplying the weight (“w”) by the associated numeric value (“q”) of the Game Specific Statistic to obtain the score “s”, and the Generic Attribute portion of the Generic Attribute Score is the same as the Generic Attribute that is associated with the weight. Stated mathematically:
  • the Generic Attribute Score for Player X is stored. On successive times through the loop, different Generic Attribute Scores will be calculated and stored for various Game Specific Statistics, for various games, and for different players. It should be noted that it is possible and maybe likely that there will be more than one Generic Attribute Score calculated for the same Generic Attribute of the same player. In such a situation, the various Generic Attribute Scores for the same Generic Attribute can be combined by some process such as averaging, although any other process for achieving a single score from a plurality of scores may be suitable.
  • step 214 the process checks to determine if Z is the last Game Specific Statistic for Game Y. If it is not, then the process branches to step 216 wherein Z is incremented to point to the next Game Specific Statistic for Game Y and Player X. Then the process jumps from step 216 back to step 210 . However, if this is the last Game Specific Statistic, the process branches to step 218 .
  • step 218 the process checks to determine if Y is the last game for Player X. If it is, the process branches to step 222 . If it is not the last game, then the process branches to step 220 where Y is incremented to point to the next game for Player X, and Z is set to equal 1.
  • step 222 the process checks to determine if X is pointing to the last player. If it is not, the process branches to step 224 , where X is incremented to point to the next player. However, if X is pointing to the last player, then the process branches to step 226 where the process ends.
  • FIG. 3 is a flowchart of one embodiment of a process for suggesting and assigning different players to different roles of a game to be played by two or more players.
  • the process starts at step 302 .
  • a request is received from two or more players to play a game.
  • a determination is made as to the Generic Attributes that correspond to each role of the game to be played.
  • the Generic Attributes that correspond to the various roles of the game to be played may be subjectively assigned and stored in a database.
  • each player's Generic Attribute Scores (for example, as calculated by the process of FIG. 2 ) are obtained.
  • step 310 for each Generic Attribute of each role of a game, the corresponding Generic Attribute Scores of each player are compared, and a role for each player is suggested.
  • the corresponding Generic Attributes might be “reaction time”, “accuracy” and “leadership.” So the Generic Attribute Scores corresponding to “reaction time”, “accuracy” and “leadership” for Player 1 are obtained and accumulated, such as by adding or averaging all three of these Generic Attribute Scores to produce an accumulated score for Player 1 in the role point guard. This is then repeated for each player, until each player has an accumulated score for the role of point guard.
  • These accumulated scores for each player are then compared, and one player is suggested to assume the role of point guard, which may be the player with the higher accumulated score for a role, although other methods of suggesting a player for a particular role may be used.
  • step 312 each player has an opportunity to accept or reject their suggested role.
  • Players who accept their suggested role are considered to be “assigned players”, while those players who reject their suggested role are considered to be “unassigned players.”
  • Unassigned players who have rejected the role that was suggested have an opportunity in step 314 to request a specific role.
  • the process then jumps back to step 310 , where new role suggestions are made for all unassigned players.
  • step 316 were the roles are assigned and the game may be played.
  • step 318 once the game is completed, each player's skills are saved and the process ends in step 320 .
  • Players may be compared to other players of the same game, such as a player's ranking, which may be expressed as a percentile.
  • the number of games played by each of the players both the number of games played of the same game, as well as games of a similar genre. For the later, the number of games played can be weighted more for certain games and less for others.
  • Players may also be compared in terms of game achievements for the same game or games of a similar genre.
  • the time to achieve a certain objective in a game may also be used as a Generic Attribute, where the lower the time the better the Generic Attribute Score. Head-to-head matchups, such as in a racing game where Player 1 and Player 2 are racing against one another. In such a situation, each player's win/loss ratio can be used as a Generic Attribute Score.
  • FIG. 2 and FIG. 3 can be implemented in a data processing system, such as the one illustrated in FIG. 1 .
  • a request is received from two or more players to play a game that has more than one role.
  • Generic Attributes corresponding to each role of the game are obtained. These Generic Attributes may be subjectively determined and stored in a database, which may be accessed at the time the players make the request to play the game.
  • Game Specific Statistics are received for each game that each player has previously played and for which these statistics are available. These Game Specific Statistics may include an identification of a particular statistic, as well as a numeric value to indicate the player's proficiency with respect to that particular statistic.
  • a weight and a corresponding Generic Attribute are associated with each of these Game Specific Statistics. The weight may be a number, while the associated Generic Attribute may be a class of attribute.
  • Each Game Specific Statistic may have more than one weight and Generic Attribute associated with it.
  • one or more Generic Attribute Scores is calculated based on the corresponding weight and Generic Attribute.
  • One way to calculate the numeric portion of the Generic Attribute Score would be to multiple the weight by the numeric value of the Game Specific Statistic.
  • the corresponding Generic Attribute Scores of each player are compared, and a role for each player is suggested. Each player then has an opportunity to accept or reject their suggested role. A player who has rejected a suggested role may request a specific role, and new roles are suggested for all players who have not accepted a role. Once all players have accepted a role, the roles are assigned and the game may be played.
  • each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing a specified logical function.
  • the functions noted in the block might occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.

Abstract

In one embodiment of the invention, game specific statistics for previously played games are obtained for each player of a game. Weights and corresponding generic attributes are associated with each game specific statistic. For each game specific statistics, a generic attribute score is computed based on the corresponding weight and generic attribute. In response to a request to play a game, generic attributes are determined for each role of the game. For each generic attribute of each role of the game, the generic attribute scores of each player are compared and a specific role is suggested for each player. If all the players accept their respective and suggested roles, then those roles are assigned to the players. If one or more players rejects a suggested role, that player may request a different role and another role will be suggested for that player.

Description

    BACKGROUND
  • The present invention relates to computers and other data processing systems and software and, more specifically, to games in which different roles may be assigned to different players.
  • Many electronic games maintain a profile of each player that holds various statistics regarding each players prior performance of the game. These statistics are usually updated as the game is being played. For games that include a variety of roles, these statistics are often collected and stored on a role-by-role basis. Thus, one player may have one set of game specific statistics for one role, and another set of statistics for the same game but a different role. These game specific statistic can often be accessed by other systems.
  • SUMMARY
  • According to one embodiment of the present invention, a method includes the following steps: Receiving a first plurality of game specific statistics for a first player, and a second plurality of game specific statistics for a second player. Receiving a plurality of weights, where each one of the plurality of weights is associated with one of the first plurality and the second plurality of game specific statistics, and each one of the plurality of weights has an associated one of a first plurality of generic attributes. Computing a first plurality of generic attribute scores for the first player using one of the first plurality of game specific statistics, and a corresponding one of the plurality of weights and the associated one of the first plurality of generic attributes. Computing a second plurality of generic attribute scores for the second player using one of the second plurality of game specific statistics, and a corresponding one of the plurality of weights and the associated one of the first plurality of generic attributes. Receiving a request to play a game, and suggesting a first role of the game for the first player and a second role of the game for the second player.
  • According to another embodiment of the present invention, an apparatus includes a storage device comprising computer executable program code and a processor coupled to the storage device. The processor executes the computer executable program code to direct the apparatus to do the following: Receive a first plurality of game specific statistics for a first player, and a second plurality of game specific statistics for a second player. Receive a plurality of weights, where each one of the plurality of weights is associated with one of the first plurality and the second plurality of game specific statistics, and each one of the plurality of weights includes an associated one of a first plurality of generic attributes. Compute a first plurality of generic attribute scores for the first player, where each one of the first plurality of generic attribute scores is computed using one of the first plurality of game specific statistics, and a corresponding one of the plurality of weights and the associated one of the first plurality of generic attributes. Compute a second plurality of generic attribute scores for the second player, where each one of the second plurality of generic attribute scores is computed using one of the second plurality of game specific statistics, and a corresponding one of the plurality of weights and the associated one of the first plurality of generic attributes. Receive a request to play a game, and suggest a first role of the game for the first player and a second role of the game for the second player.
  • According to another embodiment of the present invention, a computer program product includes a computer readable storage medium having computer readable program code embodied therewith. The computer readable program code is configured to: Receive a first plurality of game specific statistics for a first player, and a second plurality of game specific statistics for a second player. Receive a plurality of weights, where each one of the plurality of weights is associated with one of the first plurality and the second plurality of game specific statistics, and each one of the plurality of weights includes an associated one of a first plurality of generic attributes. Compute a first plurality of generic attribute scores for the first player using one of the first plurality of game specific statistics, and a corresponding one of the plurality of weights and the associated one of the first plurality of generic attributes. Compute a second plurality of generic attribute scores for the second player, using one of the second plurality of game specific statistics, and a corresponding one of the plurality of weights and the associated one of the first plurality of generic attributes. Receive a request to play a game, and suggest a first role of the game for the first player and a second role of the game for the second player.
  • BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
  • FIG. 1 is a block diagram of an exemplary computer or other data processing system in which various embodiments of the present invention may be implemented;
  • FIG. 2 is a flowchart of one embodiment of a process for generating generic attribute scores based on weights and generic attributes associated with game specific statistics; and
  • FIG. 3 is a flowchart of one embodiment of a process for suggesting and assigning different players to different roles of a game to be played by two or more players.
  • DETAILED DESCRIPTION
  • As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.”
  • Aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon. Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus or device.
  • A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein; for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms including, but not limited to, electro-magnetic, optical or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate or transport a program for use by or in connection with an instruction execution system, apparatus or device. Program code embodied in a computer readable signal medium may be transmitted using any appropriate medium including, but not limited to, wireless, wire line, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
  • Computer program code for carrying out operations of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java™, Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. (Java and all Java-based trademarks and logos are trademarks of Sun Microsystems, Inc., in the United States, other countries or both.) The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
  • Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus, systems and computer program products according to various embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
  • These computer program instructions may also be stored in a computer readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed in the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions that execute in the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
  • FIG. 1 is a block diagram of an exemplary computer or other data processing system in which various embodiments of the present invention may be implemented. Referring to this figure, bus subsystem 102 interconnects the various components of data processing system 100, such as processor 104, memory 106, persistent storage 108, interface subsystem 110 and video subsystem 112. Bus subsystem 102 preferably includes one or more computer buses, and may also include one or more circuits to interconnect the various buses and components of data processing system 100. These circuits may include memory controllers, input/output controllers, and bridge circuits that bridge from one bus technology to another.
  • The terms “bus” and “bus subsystem” should be broadly interpreted to include other interconnect technologies or combinations thereof in which power, timing, data or other signals are transferred between the various components of a data processing system, or between two or more data processing systems. For example, technologies commonly classified as network and input/output, such as Ethernet and USB, and various wired, wireless, optical and infrared communication technologies may also be used to interconnect the various components of data processing system 100.
  • Processor 104 is connected to bus subsystem 102 via bus 102 a, such as a well known Front Side Bus. Processor 104 is, preferably, a well known integrated circuit, central processing unit (CPU), but it may be any data processing subsystem that processes data or executes computer program instructions, which are also known as computer executable code, computer readable program code, and similar terms. These computer program instructions and data are loaded into memory 106, which is coupled to processor 104 via memory bus 102 b, bus subsystem 102, and bus 102 a. Processor 104, in combination with a memory controller circuit in bus subsystem 102, fetches the data and program instructions stored in memory 106. Memory 106 may be any memory or storage device that is capable of storing and retrieving data or program instructions, but is preferably one or more semiconductor, random access memory (RAM) circuits.
  • Persistent storage 108 is used to store data, program instructions and other information on a more permanent or persistent basis than that of memory 106, which typically uses a fast but volatile memory technology wherein all information is lost if the power to the memory is disrupted. Persistent storage 108 is coupled to bus subsystem 102 via storage bus 102 c, examples of which include well known IDE, SATA and SCSI buses, although other bus technologies may also be used. Data, program instructions and other information may be stored in persistent storage 108, and loaded into memory 106. Persistent storage 108 is coupled to memory 106 via bus 102 c, an I/O controller circuit and a memory controller circuit in bus subsystem 102, and memory bus 102 b.
  • Persistent storage may be any memory or information storage device that is capable of storing data, program instructions or other information. Examples of typical persistent storage devices include magnetic storage devices (such as a hard disk drive), optical storage devices (such as a CD-ROM) and semiconductor storage devices (such as EEPROMs and flash memory). Persistent storage 108 may also include drives, connectors or other devices that accept removable storage media, such as floppy magnetic disks, optical disks and semiconductor flash memory. Persistent storage 108, as well as memory 106, may be internally located within data processing system 100, or externally located and coupled to the data processing system through Interface subsystem 110 or otherwise.
  • Interface subsystem 110 is coupled to bus subsystem 102 via bus 102 d. Interface subsystem 110 may include one or more input/output (I/O) and network ports to which devices, systems and networks that are external to data processing system 100 can be connected. Examples of such devices, systems and networks include keyboards, pointing devices (such as a mouse), printers, scanners, storage devices, local area networks (LANs), wide area networks (WANs), and other data processing systems. Each of these I/O and network ports may be implemented in a different I/O or network technology, examples of which include Universal Serial Bus (USB), Ethernet, IEEE 1394 (FireWire), Small Computer System Interface (SCSI) and IEEE 802.11 (wireless LAN). In some data processing systems, portions of interface subsystem 110 may be implemented in an I/O controller circuit that is part of bus subsystem 102. FIG. 1 illustrates exemplary Ethernet, USB and IEEE 1394 ports of interface subsystem 110, but other ports and port technologies may be included.
  • Video subsystem 112, the output of which may be connected to a video display, is coupled to bus subsystem 102 via video bus 102 e. Examples of video bus technologies include Accelerated Graphics Port (AGP) and PCI Express, although other bus technologies may be used to implement video bus 102 e.
  • A computer program product 120 includes computer readable program code 122 embodied in a computer readable medium 124, which may be a storage medium or a signal medium. Computer readable medium 124 may include memory 106, persistent storage 108 or any storage device, including a storage device that is external to data processing system 100. An external storage device may be coupled to data processing system 100 through interface subsystem 110 or otherwise. Computer readable medium 124 may also be a removable storage medium that is capable of being inserted into an internal or external drive or other device that is adapted to read the removable storage medium. Other examples, variations and details of a computer program product, a computer readable medium and computer program code are described above.
  • FIG. 2 is a flowchart of one embodiment of a process for generating Generic Attribute Scores based on weights and Generic Attributes associated with Game Specific Statistics. Referring to this figure, the process starts at step 202. In step 204, the variables X, Y and Z are set to 1. The variable “X” is used to specify a particular Player, the variable “Y” is used to specify a particular Game, and the variable “Z” is used to specify a particular Game Specific Statistic (“GSS”).
  • In step 206, Game Specific Statistics are received for each game that Player X has previously played and for which Game Specific Statistics have been stored. These Game Specific Statistics may be stored on a server, uploaded to a website that stores game statistics, or otherwise made available to this process by any other storage and delivery device. The first time through the loop X=1, so Game Specific Statistics will initially be obtained for Player 1. The Game Specific Statistics are, as the name implies, specific to each game. For example, a basketball game may have Game Specific Statistics for various positions that a player has previously played, such as guard, point guard, forward and center. Each Game Specific Statistic will have an associated numeric value (“q”) to indicate the player's quantitative proficiency relative to that particular Game Specific Statistic, as well an identification of the particular statistic (“STAT”). Thus, the Game Specific Statistic can be viewed as an ordered pair of a numeric value and the associated statistic: (q, STAT). Using the basketball game and the point guard position as an example, an exemplary Game Specific Statistic would be: GSS=(0.75, Point Guard). Thus, in this example, the specific statistic is “Point Guard” and the player's cumulative quantitative proficiency for previous games played as Point Guard is 0.75.
  • In step 208, weights (“w”) and corresponding Generic Attributes (“GA”) are received. Each of these weights and corresponding Generic Attributes is associated with a particular Game Specific Statistic of a game that the player has previously played. The weight itself may be a number, while the Generic Attribute may be a class of attribute, such as “reaction time”, or “accuracy.” Collectively, the weight, the corresponding Generic Attribute and the associated Game Specific Statistic may be referred to as the Weight (capital “W”), which may be expressed as a triplet (3-tuple): W=(w, GA, GSS). Using the basketball game and reaction time as an example, an exemplary Weight would be: (0.5, Reaction Time, Point Guard). Thus, in this example, the Game Specific Statistic of “Point Guard” would map to the Generic Attribute of “Reaction Time” and the weighting factor “w” is 0.5. In addition to mapping this particular Game Specific Statistic to the Generic Attribute “Reaction Time”, it should be understood that the same Game Specific Statistic could also be mapped to a different Generic Attribute by the specification of an additional and different Weight. Weights may be subjectively assigned (both the weight “w” and the Generic Attribute “GA” portions of a Weight) to each Game Specific Statistic and may be stored in a database for access by various players.
  • In step 210, for Game Specific Statistic Z of Game Y of Player X, a Generic Attribute Score (“GAS”) is computed based on the weight and associated Generic Attribute that correspond to Game Specific Statistic Z. As the process makes successive loops through step 210, eventually all Generic Attribute Scores will be calculated for each Game Specific Statistic, for each game and for each player. If a particular Game Specific Statistics does not have an associated Weight, then no corresponding Generic Attribute Score will be calculated. Also, a particular Game Specific Statistic may have more than one weight and associated Generic Attribute associated with it, in which case multiple Generic Attribute Scores may be calculated for that Game Specific Statistic and player. A Generic Attribute Score includes both a numeric score (“s”), as well as a Generic Attribute (“GA”), and may also be thought of as an ordered pair: GAS=(s, GA). For example, GAS=(5.2, Accuracy).
  • The process of computing a Generic Attribute Score may be accomplished by multiplying the weight (“w”) by the associated numeric value (“q”) of the Game Specific Statistic to obtain the score “s”, and the Generic Attribute portion of the Generic Attribute Score is the same as the Generic Attribute that is associated with the weight. Stated mathematically:

  • GAS=(q*w,GA)
  • In addition to multiplication, other processes may be used to compute a Generic Atribute Score based on the weight “w” and the value “q.”
  • In step 212, the Generic Attribute Score for Player X is stored. On successive times through the loop, different Generic Attribute Scores will be calculated and stored for various Game Specific Statistics, for various games, and for different players. It should be noted that it is possible and maybe likely that there will be more than one Generic Attribute Score calculated for the same Generic Attribute of the same player. In such a situation, the various Generic Attribute Scores for the same Generic Attribute can be combined by some process such as averaging, although any other process for achieving a single score from a plurality of scores may be suitable.
  • In step 214, the process checks to determine if Z is the last Game Specific Statistic for Game Y. If it is not, then the process branches to step 216 wherein Z is incremented to point to the next Game Specific Statistic for Game Y and Player X. Then the process jumps from step 216 back to step 210. However, if this is the last Game Specific Statistic, the process branches to step 218.
  • In step 218, the process checks to determine if Y is the last game for Player X. If it is, the process branches to step 222. If it is not the last game, then the process branches to step 220 where Y is incremented to point to the next game for Player X, and Z is set to equal 1. Returning to step 222, the process checks to determine if X is pointing to the last player. If it is not, the process branches to step 224, where X is incremented to point to the next player. However, if X is pointing to the last player, then the process branches to step 226 where the process ends.
  • FIG. 3 is a flowchart of one embodiment of a process for suggesting and assigning different players to different roles of a game to be played by two or more players. Referring to this figure, the process starts at step 302. In step 304, a request is received from two or more players to play a game. In step 306, a determination is made as to the Generic Attributes that correspond to each role of the game to be played. As with the Weights as described above, the Generic Attributes that correspond to the various roles of the game to be played may be subjectively assigned and stored in a database. In step 308, each player's Generic Attribute Scores (for example, as calculated by the process of FIG. 2) are obtained.
  • In step 310, for each Generic Attribute of each role of a game, the corresponding Generic Attribute Scores of each player are compared, and a role for each player is suggested. For example, for a basketball game and the role of “point guard”, the corresponding Generic Attributes might be “reaction time”, “accuracy” and “leadership.” So the Generic Attribute Scores corresponding to “reaction time”, “accuracy” and “leadership” for Player 1 are obtained and accumulated, such as by adding or averaging all three of these Generic Attribute Scores to produce an accumulated score for Player 1 in the role point guard. This is then repeated for each player, until each player has an accumulated score for the role of point guard. These accumulated scores for each player are then compared, and one player is suggested to assume the role of point guard, which may be the player with the higher accumulated score for a role, although other methods of suggesting a player for a particular role may be used.
  • In step 312, each player has an opportunity to accept or reject their suggested role. Players who accept their suggested role are considered to be “assigned players”, while those players who reject their suggested role are considered to be “unassigned players.” Unassigned players who have rejected the role that was suggested have an opportunity in step 314 to request a specific role. The process then jumps back to step 310, where new role suggestions are made for all unassigned players. Once all the unassigned players have accepted a role in step 312, the process branches to step 316 were the roles are assigned and the game may be played. In step 318, once the game is completed, each player's skills are saved and the process ends in step 320.
  • Other ways are available to map Game Specific Statistics to Generic Attribute Scores, examples of which follow. Players may be compared to other players of the same game, such as a player's ranking, which may be expressed as a percentile. The number of games played by each of the players, both the number of games played of the same game, as well as games of a similar genre. For the later, the number of games played can be weighted more for certain games and less for others. Players may also be compared in terms of game achievements for the same game or games of a similar genre. The time to achieve a certain objective in a game may also be used as a Generic Attribute, where the lower the time the better the Generic Attribute Score. Head-to-head matchups, such as in a racing game where Player 1 and Player 2 are racing against one another. In such a situation, each player's win/loss ratio can be used as a Generic Attribute Score.
  • The processes described above and illustrated in FIG. 2 and FIG. 3 can be implemented in a data processing system, such as the one illustrated in FIG. 1. In operation, a request is received from two or more players to play a game that has more than one role. Generic Attributes corresponding to each role of the game are obtained. These Generic Attributes may be subjectively determined and stored in a database, which may be accessed at the time the players make the request to play the game.
  • Game Specific Statistics are received for each game that each player has previously played and for which these statistics are available. These Game Specific Statistics may include an identification of a particular statistic, as well as a numeric value to indicate the player's proficiency with respect to that particular statistic. A weight and a corresponding Generic Attribute are associated with each of these Game Specific Statistics. The weight may be a number, while the associated Generic Attribute may be a class of attribute. Each Game Specific Statistic may have more than one weight and Generic Attribute associated with it.
  • For each Game Specific Statistic for each game of each player, one or more Generic Attribute Scores is calculated based on the corresponding weight and Generic Attribute. One way to calculate the numeric portion of the Generic Attribute Score would be to multiple the weight by the numeric value of the Game Specific Statistic. For each Generic Attribute of each role of the game, the corresponding Generic Attribute Scores of each player are compared, and a role for each player is suggested. Each player then has an opportunity to accept or reject their suggested role. A player who has rejected a suggested role may request a specific role, and new roles are suggested for all players who have not accepted a role. Once all players have accepted a role, the roles are assigned and the game may be played.
  • The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing a specified logical function. It should also be noted that, in some alternative implementations, the functions noted in the block might occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
  • The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
  • The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.

Claims (18)

1. A method, comprising:
receiving a first plurality of game specific statistics for a first player, and a second plurality of game specific statistics for a second player;
receiving a plurality of weights, each one of the plurality of weights being associated with one of the first plurality and the second plurality of game specific statistics, each one of the plurality of weights comprising an associated one of a first plurality of generic attributes;
computing a first plurality of generic attribute scores for the first player, each one of the first plurality of generic attribute scores being computed using one of the first plurality of game specific statistics, and a corresponding one of the plurality of weights and the associated one of the first plurality of generic attributes;
computing a second plurality of generic attribute scores for the second player, each one of the second plurality of generic attribute scores being computed using one of the second plurality of game specific statistics, and a corresponding one of the plurality of weights and the associated one of the first plurality of generic attributes;
receiving a request to play a game; and
suggesting a first role of the game for the first player and a second role of the game for the second player.
2. The method of claim 1, further comprising:
determining a second plurality of generic attributes corresponding to the first and the second roles of the game; and
for each one of the second plurality of generic attributes, comparing the corresponding one of the first plurality of generic attribute scores for the first player to the corresponding one of the second plurality of generic attribute scores for the second player.
3. The method of claim 2, further comprising:
multiplying one of the first plurality of game specific statistics by a corresponding one of the plurality of weights to compute the corresponding one of the first plurality of generic attribute scores for the first player.
4. The method of claim 1, further comprising:
in response to the first player not accepting the first role and the first player requesting a third role, suggesting the third role for the first player.
5. The method of claim 1, further comprising:
in response to the first player accepting the first role and the second player accepting the second role, assigning the first role to the first player and the second role to the second player.
6. The method of claim 1, further comprising:
multiplying one of the first plurality of game specific statistics by a corresponding one of the plurality of weights to compute the corresponding one of the first plurality of generic attribute scores for the first player.
7. An apparatus, comprising:
a storage device comprising computer executable program code; and
a processor coupled to the storage device, where the processor executes the computer executable program code to direct the apparatus to:
receive a first plurality of game specific statistics for a first player, and a second plurality of game specific statistics for a second player;
receive a plurality of weights, each one of the plurality of weights being associated with one of the first plurality and the second plurality of game specific statistics, each one of the plurality of weights comprising an associated one of a first plurality of generic attributes;
compute a first plurality of generic attribute scores for the first player, each one of the first plurality of generic attribute scores being computed using one of the first plurality of game specific statistics, and a corresponding one of the plurality of weights and the associated one of the first plurality of generic attributes;
compute a second plurality of generic attribute scores for the second player, each one of the second plurality of generic attribute scores being computed using one of the second plurality of game specific statistics, and a corresponding one of the plurality of weights and the associated one of the first plurality of generic attributes;
receive a request to play a game; and
suggest a first role of the game for the first player and a second role of the game for the second player.
8. The apparatus of claim 7, where the processor further executes the computer executable program code to direct the apparatus to:
determine a second plurality of generic attributes corresponding to the first and the second roles of the game; and
for each one of the second plurality of generic attributes, compare the corresponding one of the first plurality of generic attribute scores for the first player to the corresponding one of the second plurality of generic attribute scores for the second player.
9. The apparatus of claim 8, where the processor further executes the computer executable program code to direct the apparatus to:
multiply one of the first plurality of game specific statistics by a corresponding one of the plurality of weights to compute the corresponding one of the first plurality of generic attribute scores for the first player.
10. The apparatus of claim 7, where the processor further executes the computer executable program code to direct the apparatus to:
in response to the first player not accepting the first role and the first player requesting a third role, suggest the third role for the first player.
11. The apparatus of claim 7, where the processor further executes the computer executable program code to direct the apparatus to:
in response to the first player accepting the first role and the second player accepting the second role, assign the first role to the first player and the second role to the second player.
12. The apparatus of claim 7, where the processor further executes the computer executable program code to direct the apparatus to:
multiply one of the first plurality of game specific statistics by a corresponding one of the plurality of weights to compute the corresponding one of the first plurality of generic attribute scores for the first player.
13. A computer program product comprising a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:
computer readable program code configured to receive a first plurality of game specific statistics for a first player, and a second plurality of game specific statistics for a second player;
computer readable program code configured to receive a plurality of weights, each one of the plurality of weights being associated with one of the first plurality and the second plurality of game specific statistics, each one of the plurality of weights comprising an associated one of a first plurality of generic attributes;
computer readable program code configured to compute a first plurality of generic attribute scores for the first player, each one of the first plurality of generic attribute scores being computed using one of the first plurality of game specific statistics, and a corresponding one of the plurality of weights and the associated one of the first plurality of generic attributes;
computer readable program code configured to compute a second plurality of generic attribute scores for the second player, each one of the second plurality of generic attribute scores being computed using one of the second plurality of game specific statistics, and a corresponding one of the plurality of weights and the associated one of the first plurality of generic attributes;
computer readable program code configured to receive a request to play a game; and
computer readable program code configured to suggest a first role of the game for the first player and a second role of the game for the second player.
14. The computer program product of claim 13, further comprising:
computer readable program code configured to determine a second plurality of generic attributes corresponding to the first and the second roles of the game; and
computer readable program code configured to, for each one of the second plurality of generic attributes, compare the corresponding one of the first plurality of generic attribute scores for the first player to the corresponding one of the second plurality of generic attribute scores for the second player.
15. The computer program product of claim 14, further comprising:
computer readable program code configured to multiply one of the first plurality of game specific statistics by a corresponding one of the plurality of weights to compute the corresponding one of the first plurality of generic attribute scores for the first player.
16. The computer program product of claim 13, further comprising:
computer readable program code configured to, in response to the first player not accepting the first role and the first player requesting a third role, suggest the third role for the first player.
17. The computer program product of claim 13, further comprising:
computer readable program code configured to, in response to the first player accepting the first role and the second player accepting the second role, assign the first role to the first player and the second role to the second player.
18. The computer program product of claim 13, further comprising:
computer readable program code configured to multiply one of the first plurality of game specific statistics by a corresponding one of the plurality of weights to compute the corresponding one of the first plurality of generic attribute scores for the first player.
US12/981,069 2010-12-29 2010-12-29 Suggesting game roles for different players based on a player's gaming statistics from other games Abandoned US20120172098A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/981,069 US20120172098A1 (en) 2010-12-29 2010-12-29 Suggesting game roles for different players based on a player's gaming statistics from other games

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/981,069 US20120172098A1 (en) 2010-12-29 2010-12-29 Suggesting game roles for different players based on a player's gaming statistics from other games

Publications (1)

Publication Number Publication Date
US20120172098A1 true US20120172098A1 (en) 2012-07-05

Family

ID=46381216

Family Applications (1)

Application Number Title Priority Date Filing Date
US12/981,069 Abandoned US20120172098A1 (en) 2010-12-29 2010-12-29 Suggesting game roles for different players based on a player's gaming statistics from other games

Country Status (1)

Country Link
US (1) US20120172098A1 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110275431A1 (en) * 2010-05-07 2011-11-10 Microsoft Corporation Role assignment in multiplayer games
US20150057084A1 (en) * 2013-08-22 2015-02-26 Riot Games, Inc. Systems and methods that enable customizable teams for multi-player online games
US9403093B2 (en) 2013-06-27 2016-08-02 Kabam, Inc. System and method for dynamically adjusting prizes or awards based on a platform
US9415301B2 (en) 2013-02-26 2016-08-16 Steelseries Aps Method and apparatus for processing control signals of an accessory
US9533226B2 (en) 2013-04-29 2017-01-03 Kabam, Inc. Dynamic adjustment of difficulty in an online game based on hardware or network configuration
US9555324B1 (en) 2013-07-02 2017-01-31 Kabam, Inc. Dynamic effectiveness for virtual items
US9901818B1 (en) 2016-02-19 2018-02-27 Aftershock Services, Inc. Systems and methods for regulating access to game content of an online game
US9919218B1 (en) 2016-02-19 2018-03-20 Aftershock Services, Inc. Systems and methods for providing virtual reality content in an online game
US10035068B1 (en) 2016-02-19 2018-07-31 Electronic Arts Inc. Systems and methods for making progress of a user character obtained in an online game via a non-virtual reality interface available in a virtual reality interface
US10096204B1 (en) 2016-02-19 2018-10-09 Electronic Arts Inc. Systems and methods for determining and implementing platform specific online game customizations
US10134227B1 (en) 2016-02-19 2018-11-20 Electronic Arts Inc. Systems and methods for making game content from a single online game accessible to users via multiple platforms
US10576379B1 (en) 2016-02-19 2020-03-03 Electronic Arts Inc. Systems and methods for adjusting online game content and access for multiple platforms
CN113244620A (en) * 2021-05-26 2021-08-13 陈丹 Role playing game implementation method and electronic equipment
US11213756B2 (en) * 2019-12-18 2022-01-04 Rovi Guides, Inc. Gaming content recommendation based on gaming performance

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020198033A1 (en) * 1998-09-22 2002-12-26 Shih-I Wen Computer-based growing simulation method and system
US20030207704A1 (en) * 2002-05-01 2003-11-06 Shinya Takahashi Game machine and game program
US6710713B1 (en) * 2002-05-17 2004-03-23 Tom Russo Method and apparatus for evaluating athletes in competition
US20060247808A1 (en) * 2005-04-15 2006-11-02 Robb Walter L Computer-implemented method, tool, and program product for training and evaluating football players
US20080086223A1 (en) * 2006-10-10 2008-04-10 Michael Pagliarulo System and method for evaluating a baseball player
US20090221374A1 (en) * 2007-11-28 2009-09-03 Ailive Inc. Method and system for controlling movements of objects in a videogame
US7711847B2 (en) * 2002-04-26 2010-05-04 Sony Computer Entertainment America Inc. Managing users in a multi-user network game environment
US20100129780A1 (en) * 2008-09-12 2010-05-27 Nike, Inc. Athletic performance rating system
US20100285858A1 (en) * 2009-05-05 2010-11-11 Microsoft Corporation Massively multiplayer game with shared gameplay experience
US20110162046A1 (en) * 2009-12-29 2011-06-30 International Business Machines Corporation Providing Secure Dynamic Role Selection and Managing Privileged User Access From a Client Device
US20110319148A1 (en) * 2010-06-24 2011-12-29 Microsoft Corporation Virtual and location-based multiplayer gaming
US20120142429A1 (en) * 2010-12-03 2012-06-07 Muller Marcus S Collaborative electronic game play employing player classification and aggregation

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020198033A1 (en) * 1998-09-22 2002-12-26 Shih-I Wen Computer-based growing simulation method and system
US7711847B2 (en) * 2002-04-26 2010-05-04 Sony Computer Entertainment America Inc. Managing users in a multi-user network game environment
US20030207704A1 (en) * 2002-05-01 2003-11-06 Shinya Takahashi Game machine and game program
US6710713B1 (en) * 2002-05-17 2004-03-23 Tom Russo Method and apparatus for evaluating athletes in competition
US20060247808A1 (en) * 2005-04-15 2006-11-02 Robb Walter L Computer-implemented method, tool, and program product for training and evaluating football players
US20080086223A1 (en) * 2006-10-10 2008-04-10 Michael Pagliarulo System and method for evaluating a baseball player
US20090221374A1 (en) * 2007-11-28 2009-09-03 Ailive Inc. Method and system for controlling movements of objects in a videogame
US20100129780A1 (en) * 2008-09-12 2010-05-27 Nike, Inc. Athletic performance rating system
US20100285858A1 (en) * 2009-05-05 2010-11-11 Microsoft Corporation Massively multiplayer game with shared gameplay experience
US20110162046A1 (en) * 2009-12-29 2011-06-30 International Business Machines Corporation Providing Secure Dynamic Role Selection and Managing Privileged User Access From a Client Device
US20110319148A1 (en) * 2010-06-24 2011-12-29 Microsoft Corporation Virtual and location-based multiplayer gaming
US20120142429A1 (en) * 2010-12-03 2012-06-07 Muller Marcus S Collaborative electronic game play employing player classification and aggregation

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8376834B2 (en) * 2010-05-07 2013-02-19 Microsoft Corporation Role assignment in multiplayer games
US20110275431A1 (en) * 2010-05-07 2011-11-10 Microsoft Corporation Role assignment in multiplayer games
US9808711B2 (en) 2013-02-26 2017-11-07 Steelseries Aps Method and apparatus for processing control signals of an accessory
US9415301B2 (en) 2013-02-26 2016-08-16 Steelseries Aps Method and apparatus for processing control signals of an accessory
US9757653B1 (en) 2013-04-29 2017-09-12 Kabam, Inc. Dynamic adjustment of difficulty in an online game based on hardware or network configuration
US9533226B2 (en) 2013-04-29 2017-01-03 Kabam, Inc. Dynamic adjustment of difficulty in an online game based on hardware or network configuration
US9721431B2 (en) 2013-06-27 2017-08-01 Kabam, Inc. System and method for dynamically adjusting prizes or awards based on a platform
US10629029B2 (en) 2013-06-27 2020-04-21 Kabam, Inc. System and method for dynamically adjusting prizes or awards based on a platform
US9403093B2 (en) 2013-06-27 2016-08-02 Kabam, Inc. System and method for dynamically adjusting prizes or awards based on a platform
US11847887B2 (en) 2013-06-27 2023-12-19 Kabam, Inc. System and method for dynamically adjusting prizes or awards based on a platform
US9959705B2 (en) 2013-06-27 2018-05-01 Kabam, Inc. System and method for dynamically adjusting prizes or awards based on a platform
US11308759B2 (en) 2013-06-27 2022-04-19 Kabam, Inc. System and method for dynamically adjusting prizes or awards based on a platform
US10127769B2 (en) 2013-06-27 2018-11-13 Kabam, Inc. System and method for dynamically adjusting prizes or awards based on a platform
US9555324B1 (en) 2013-07-02 2017-01-31 Kabam, Inc. Dynamic effectiveness for virtual items
US9687745B2 (en) * 2013-08-22 2017-06-27 Riot Games, Inc. Systems and methods that enable customizable teams for multi-player online games
US11478714B2 (en) 2013-08-22 2022-10-25 Riot Games, Inc. Systems and methods that enable customizable teams for multi-player online games
US20150057084A1 (en) * 2013-08-22 2015-02-26 Riot Games, Inc. Systems and methods that enable customizable teams for multi-player online games
US10086293B2 (en) 2013-08-22 2018-10-02 Riot Games, Inc. Systems and methods that enable customizable teams for multi-player online games
US10035068B1 (en) 2016-02-19 2018-07-31 Electronic Arts Inc. Systems and methods for making progress of a user character obtained in an online game via a non-virtual reality interface available in a virtual reality interface
US10183223B2 (en) 2016-02-19 2019-01-22 Electronic Arts Inc. Systems and methods for providing virtual reality content in an online game
US10232271B2 (en) 2016-02-19 2019-03-19 Electronic Arts Inc. Systems and methods for regulating access to game content of an online game
US10576379B1 (en) 2016-02-19 2020-03-03 Electronic Arts Inc. Systems and methods for adjusting online game content and access for multiple platforms
US10134227B1 (en) 2016-02-19 2018-11-20 Electronic Arts Inc. Systems and methods for making game content from a single online game accessible to users via multiple platforms
US10096204B1 (en) 2016-02-19 2018-10-09 Electronic Arts Inc. Systems and methods for determining and implementing platform specific online game customizations
US11383169B1 (en) 2016-02-19 2022-07-12 Electronic Arts Inc. Systems and methods for adjusting online game content and access for multiple platforms
US9919218B1 (en) 2016-02-19 2018-03-20 Aftershock Services, Inc. Systems and methods for providing virtual reality content in an online game
US9901818B1 (en) 2016-02-19 2018-02-27 Aftershock Services, Inc. Systems and methods for regulating access to game content of an online game
US11213756B2 (en) * 2019-12-18 2022-01-04 Rovi Guides, Inc. Gaming content recommendation based on gaming performance
US20220161143A1 (en) * 2019-12-18 2022-05-26 Rovi Guides, Inc. Gaming content recommendation based on gaming performance
US11845010B2 (en) * 2019-12-18 2023-12-19 Rovi Guides, Inc. Gaming content recommendation based on gaming performance
CN113244620A (en) * 2021-05-26 2021-08-13 陈丹 Role playing game implementation method and electronic equipment

Similar Documents

Publication Publication Date Title
US20120172098A1 (en) Suggesting game roles for different players based on a player's gaming statistics from other games
US9498715B2 (en) Speculative rendering using historical player data
US20170312640A1 (en) Method for creating a mini-game
US9104785B2 (en) Presenting unique search result contexts
US8495506B2 (en) Identifying mutual friends in online environments
US9956488B2 (en) System and method for video game skill level adjustment
US11426665B2 (en) Method, apparatus, computer program and recording medium for providing game service
US20140206440A1 (en) Game system and gaming method having identification function
US11497993B2 (en) Method and apparatus for providing game strategy guide
WO2014194668A1 (en) Systems and methods for equipping game props
US11250671B2 (en) Sportsbook odds optimization and correlated proposition bet analysis
CN109939436A (en) Game video-recording and playback method, apparatus, computer storage medium and electronic equipment
US11657680B2 (en) Sportsbook odds optimization and correlated proposition bet analysis
WO2017071553A1 (en) Method and device for processing game forum user data
US11810421B2 (en) Database game playing system based on pregenerated data
US11040280B2 (en) Game processing method and information processing device
CN113946604A (en) Staged go teaching method and device, electronic equipment and storage medium
KR20200070977A (en) Apparatus of estimating game property and operating method of thereof
KR101985852B1 (en) Apparatus of estimating game property and operating method of thereof
US20190371130A1 (en) System for and method of operating a gaming system
JP2019076193A (en) Electronic game supply apparatus and electronic game supply program
US20130303262A1 (en) Trick-taking card game with card replacement by auction winner

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BAKER, NATHAN A.;CREASMAN, JAMES D.;PELLAS, BARRY J.;AND OTHERS;SIGNING DATES FROM 20101222 TO 20110216;REEL/FRAME:025865/0800

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION