U.S. Pat. No. 9,421,455
MULTIPLE USER SINGLE AVATAR VIDEO GAME INPUT SYSTEM
AssigneeInternational Business Machines Corporation
Issue DateDecember 28, 2015
Illustrative Figure
Abstract
An avatar in a video game is controlled based on input from multiple users. An input composition system receives a first input from a first user. The first user uses a first input source for controlling the avatar. The input composition system receives a second input from a second user. The second user users a second input source for controlling the avatar. The input composition system alters the first input based on a first user performance modifier. The input composition system alters the second input based on a second user performance modifier. The input composition system creates an avatar input value based on the first altered input and the second altered input. The input composition directs the avatar in the video game based on the avatar input value.
Description
While the invention is amenable to various modifications and alternative forms, specifics thereof have been shown by way of example in the drawings and will be described in detail. It should be understood, however, that the intention is not to limit the invention to the particular embodiments described. On the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. DETAILED DESCRIPTION Aspects of the present disclosure relate to multiplayer video games, more particular aspects relate to directing a single avatar based on multiple users in video games. While the present disclosure is not necessarily limited to such applications, various aspects of the disclosure may be appreciated through a discussion of various examples using this context. Video games (games) may have historically begun as a form of interactive entertainment for users to play in isolation. As the media of games has matured, multiplayer games (e.g., video games where multiple people play against and with each other) have come to predominate. More and more people may use video games to unwind and relax—both alone and with others. As games have become more popular, additional benefits may be seen beyond recreation. Many groups of people may benefit from games for health reasons (e.g., young children with cognitive impairments may practice in a virtual world of a game, elderly people with decreased social connections may game together, otherwise healthy adults recovering from a traumatic incident may face their fears safely in a video game, etc.). Playing a game socially may be difficult for these people because they may be unable to control their avatar in the game successfully. The game may be too difficult for them or when playing against other people there may be too large of a skill gap. The difficulties ...
While the invention is amenable to various modifications and alternative forms, specifics thereof have been shown by way of example in the drawings and will be described in detail. It should be understood, however, that the intention is not to limit the invention to the particular embodiments described. On the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.
DETAILED DESCRIPTION
Aspects of the present disclosure relate to multiplayer video games, more particular aspects relate to directing a single avatar based on multiple users in video games. While the present disclosure is not necessarily limited to such applications, various aspects of the disclosure may be appreciated through a discussion of various examples using this context.
Video games (games) may have historically begun as a form of interactive entertainment for users to play in isolation. As the media of games has matured, multiplayer games (e.g., video games where multiple people play against and with each other) have come to predominate. More and more people may use video games to unwind and relax—both alone and with others. As games have become more popular, additional benefits may be seen beyond recreation.
Many groups of people may benefit from games for health reasons (e.g., young children with cognitive impairments may practice in a virtual world of a game, elderly people with decreased social connections may game together, otherwise healthy adults recovering from a traumatic incident may face their fears safely in a video game, etc.). Playing a game socially may be difficult for these people because they may be unable to control their avatar in the game successfully. The game may be too difficult for them or when playing against other people there may be too large of a skill gap. The difficulties in games that may be conventionally motivating, may in actuality cause people to withdraw from using games. The withdrawal from multiplayer gaming may cause people to suffer from social isolation. Moreover, any health benefits from playing a game may be lost because of the negative association with a lack of success.
An input composition system may enable multiple users to take joint control of a single avatar of a video game. The input composition system may determine the skill of each of the users and direct the avatar based upon those skills. The input composition system may allow for one user to control certain aspects of the avatar and a second user to control separate aspects of the avatar. The input composition system may allow a group of users that are not skilled at a video game to direct an avatar against a second avatar being controlled by a single skilled user. The input composition system may enable users in different physical locations to control the same avatar. The input composition system may allow users to provide control at different times or simultaneously to control the avatar.
Certain games incorporating the input composition system may help people stay active physically and engaged socially. For example, a group of elderly hospital patients may have reduced motor functions. The patients may also be suffering from other maladies resulting from social isolation. Physical activity in the form of a cycling game may help the rehabilitation of the patients. A cycling game incorporating the input composition system may allow the patients to compete against an elite athlete. At the beginning of the week the elite athlete may use a first instance of the cycling game through a first exercise bike at a training facility to control a first avatar through a first race.
Continuing the example, the patients may each be assigned time-slots throughout a day to use a second instance of the cycling game with a second exercise bike as the controller at a care facility to control a second avatar. A first patient may use the cycling game for twenty-five minutes during a first timeslot of a first day. The game may record the effort of the first patient. A second patient may use the cycling game for fifteen minutes during a second timeslot of the first day. Throughout the week the first patient and the second patient may use the cycling game to control the second avatar. The input composition system may aggregate the effort of the first patient and the second patient into a summation of effort. The input composition system may direct the second avatar based on the aggregation such that the second avatar is competitive with the first avatar representing the elite athlete in the first race. The combined effort may prompt the first patient and the second patient to encourage each other and socialize about the game with caretakers and other patients.
Continuing the example further, at the beginning of a second week the elite athlete may use the first instance of the cycling game to control the first avatar through a second race. The input composition system may calculate a first average effort of the first patient based on the effort of the first patient throughout the first week (e.g., the duration, the intensity, the heart-rate, etc.). The input composition system may calculate a second average effort of the second patient based on the effort of the second patient throughout the first week. The first patient may again use the second controller of the cycling game, this time to bike on the first timeslot on the first day of the second week. The input composition system may compare this new input to the first average. The first patient may provide increased effort compared to the first average. The second patient may bike on the second timeslot on the first day of the second week and the input composition may compare this second new input to the second average. The second patient may provide similar effort compared to the second average. Because of the lack of increased effort of the second patient, the input composition system may provide more control to the second avatar to the second patient (and less to the first patient). The alteration of the control of the second avatar may be shown visually to both of the patients as the second avatar falling behind the first avatar (represented by the elite athlete). This visualization may prompt the first patient to encourage the second patient to exert more effort. Throughout the second week the second patient may exert more effort and the second avatar may respond by catching up to the first avatar. At the end of the second week, the second avatar representing the first patient and the second patient may come very close to beating the first avatar (represented by the elite athlete) in the second race.
FIG. 1depicts a multiplayer environment100integrating multiple inputs from multiple users, consistent with embodiments of the present disclosure. The environment may include a first physical location102(e.g., a home) and a second physical location104(e.g., a hotel room) connected through a network110(e.g., the Internet). In the first physical location102, a child120may be taken care of by a babysitter122. In the second physical location104, a mother124of the child120may be working at a conference located near the second physical location.
In location102, there may also be a first television130and a first video game console132(first console) electronically coupled to the first television. Coupled to the first console132may be a first controller134and a second controller136. The first console132may be playing a car racing video game140(car game). The car game140may be displayed by the first television130. The car game140may display an avatar142(e.g., a formula racing car) in a game-world144(e.g., a racetrack). The child120may utilize the first controller134to send input to the first console132and the first console132may manipulate the avatar142in response to the child's inputs. The child120may request assistance from the babysitter122and the babysitter may use the second controller136.
The first console132may execute an input composition system (not depicted) to integrate the input from the first controller134and the second controller136. The input composition system may be executed at an application level. The input composition system may be executed at a system or hypervisor level. In some embodiments, the input composition system may be executed by a server (not depicted) connected to the first console132by the network110. In some embodiments, some elements of the input composition system may be executed by the first console132and other elements of the input composition system may be executed by the server.
The child120may be recognized by the input composition system based upon user profiles stored on the first console132. The child120may be recognized by his input to the first controller134. The input composition system may recognize his input based on capabilities of the first controller134(e.g., the timing of input to a digital controller, the duration of input to a digital controller, the force of input to an analog controller, the degree of input to an analog controller, etc.). The child120may provide his skill level to the input composition system directly (e.g., selecting a profile representative of the child, choosing a “novice skill level”, etc.). The child120may provide his skill level to the input composition indirectly (e.g., by playing the car game140and having the console learn his skill level by evaluating the quality of his play).
The babysitter122may pause the car game140and join play by using the second controller136. The babysitter122may be recognized by the input composition system based upon the babysitter selecting a specific user profile on the first console132. The babysitter122may use the controller to select the skill level of himself and the child120. The input composition system may receive, alter, and generate input to the car game140based on the relative skill levels of the child120and the babysitter122. In detail, the input composition system, after receiving input from the child120and the babysitter122, may alter the input of the child120and the babysitter122based on the setting selected by the babysitter. For example, the input composition system may assign the input for steering for the child120to forty-five percent of the avatar142input and may assign the input for steering from the babysitter122to fifty-five percent of the avatar input, respectively. The input composition system may assign the input for acceleration and braking of the avatar142to an average of the input from the child120and the input from the babysitter122. The input composition system may perform interpolation to smooth large variations between the input from the child120and the input from the babysitter122(e.g., further refine an average to be closer to an optimum input).
As the child120and the babysitter122play the car game140, the input composition system may grade their performances (e.g., how accurate the inputs are in relation to the input required to properly manipulate the avatar142, how accurate the inputs are in relation to each other, how accurate the inputs are in relation to past performances). The input composition system may reassess the skill (if, for example, it detects that the child120is improving in relation to the babysitter122), such as by adjusting (or re-assigning) input for steering to fifty percent for the child and fifty percent for the babysitter.
The mother124may arrive after work at the second location104and join the car game140being displayed on a second television150. A second video game console152(second console) may be connected to the first console132to display the car game140through the network110. The mother124may provide input to the car game140through a third controller154. The input composition system may recognize the mother124when the second console152connects to the first console132. The second console may again alter the input to the avatar142in the car game140, this time in response to the mother124connecting. The mother124may have a much higher skill than the child120and the babysitter122and the input composition system may assign control based upon the higher skill (e.g., sixty percent of steering to the mother124, twenty percent of steering to the babysitter122, and twenty percent of steering to the child120). In another example, one or more inputs of braking from the babysitter122and the child120may be ignored (e.g., assign zero percent to the value). In some embodiments, the input composition system may override the assignment of skills. For example, the mother124may look away from the car game140and miss a turn. Both the input from the child120and the babysitter122may override the sixty percent steering bias to successfully navigate the game-world144of the car game140.
The car game140may provide an indicator146A and146B (collectively,146) to illustrate the amount of control assigned to the users120,122, and124. For example, the indicator146A may indicate that the child120and the babysitter122have a low amount of control over the car game140. The indicator146B may indicate that the mother124has a high amount of control over the car game140. The babysitter122may put down the second controller136to make dinner for the child120, while the child120and the mother124continue to play. The game may yet again assess the skill of the players and may detect that the second controller136has been put down. The game may yet again also alter the input to the avatar142such that input from only first controller134and the third controller154affect the car game140. The mother124may help the child120compete with and may beat other users (not depicted) controlling other avatars (not depicted). The performance of the avatar142may be recorded as controlled by the child120to share through the first console132to friends.
FIG. 2depicts an example method200for integrating input from multiple players into one avatar of a game, in accordance with embodiments of the present disclosure. For example, the game may be a musical band simulation game (band game) and the avatar may be a lead guitarist (guitarist) of the band in the band game. Method200may be executed by the game, or by one or more video game consoles running the game. In some embodiments, method200may be executed simultaneously by multiple devices, such as by some steps being executed by a first video game console and other steps being executed by a game server running in a datacenter. Method200may include more or less steps than those depicted. Method200may be executed many times rapidly (e.g., every sixteen milliseconds, every ten milliseconds).
From start205, the band game may receive user input from a first player at210. The input may be received at210from a first controller (e.g., a first guitar controller). At220the band game may receive user input from a second player from a second controller (e.g., a second guitar controller). The input received at210and the input received at220may be directed at the same avatar. For example, the first player may be a husband playing the band game with his wife and their daughter. The husband may control the guitarist with the first controller. The wife may control the guitarist with the second controller. The daughter may be playing with a third controller (e.g., a drum controller) controlling a second avatar (e.g., the drummer).
At230the band game may determine the skill of the players that are controlling the same avatar. The skill may be determined at230by comparing the input from the players against their respective past performance (e.g., comparing the husband to past performance of the husband, comparing the wife to past performance of the wife). The skill may be determined at230by analyzing the attributes of the input devices, such as the timing, force, and duration from the first guitar controller and the second guitar controller. The skill may be determined at230by comparing the attributes of the input devices against a model input (e.g., comparing the actual timing, force, and duration inputs to optimal inputs, such as those required to achieve a perfect score, achieve a good rating, or pass the level). At230a first skill may be determined for the husband and a second skill may be determined for the wife. One or more rankings may be assigned when the skill of the players is determined at230. In a first example, the husband may be taking a phone call and the wife may be focusing. The band game may assign the husband a ranking of two out of five and the wife a ranking of four out of five.
At240the band game may determine if there is a gap in skill between the first player and the second player. The game may determine there is a difference in skill, at240, by determining that the rankings of the players are different from each other. The game may determine there is a difference in skill, at240, if the skill of the players are more than a threshold value from each other (e.g., a first player has a ten percent more correct input than a second player). If there is a skill gap detected, at240, then the band game may alter input of the players at245. The band game may alter input, at245, by reducing or increasing the weight or relevance of one or more of the players. Continuing the first example, there may be a gap in skill detected at240because the husband may have a worse ranking than the wife. The husbands input may be altered, at245, by applying some mathematical formula to his input (e.g., by dividing his input by two, by multiplying his input by one tenth, etc.).
After altering the input of the players, at245, the band game may create avatar input (e.g., input for the lead guitarist) at250. The avatar input may be created at250, in some embodiments, by averaging the input of the players after they were altered at245. The avatar input may be created by selecting one of the two inputs after they were altered at245. The avatar input may be created at250by aggregating various components of the first player and the second player. For example, the strumming of the first guitar controller and the chord buttons of the second guitar controller may be used for the guitarist at250. If the game determined there was no skill gap, at240, the band game may create avatar input differently at250. If there was no skill gap found, at245, the game may create avatar input at250by averaging the unaltered input of the first and second player received at210and220, respectively. After creating avatar input at250the band game may direct the avatar based on the avatar input at260, and end at265.
In a second example of the band game that executes method200, husband and wife may again control the lead guitarist with a first controller and a second controller. Again the daughter may control the drummer with a third controller. At210the band game may receive the input from the husband, and at220the band game may receive the input from the wife. During gameplay, the wife may need to use the restroom and the husband may be talking on the phone. The wife may ask the husband to focus on the game while she takes a break and the husband may end the phone call and focus on the band game. The game may determine the skill of the wife after putting the second controller down, at230, by assigning a ranking to the wife of zero out of five. The game may determine the skill of the husband after focusing, at230, by assigning a rank to the husband of four out of five. At240the band game may determine there is a skill gap between the husband and wife, and may alter the input of the wife by ignoring her input (or lack thereof) at245. At250the game may use the input of the husband and not the input of the wife to create control for the lead guitarist. Thus, the band game may direct the avatar at260and the game may continue while the husband takes control of the guitarist for the wife. The band game may then be played with the daughter without pausing the game, which may interrupt flow, or without losing any points for the guitarist.
FIG. 3depicts the input subsystem300of a game engine utilizing an input composition system310in accordance with embodiments of the present disclosure. The input subsystem300may be a subsystem of a game engine and may receive controller input from multiple controllers302A,302B, and302C (collectively,302). In some embodiments, the input subsystem300may receive controller input from more or less controllers than those depicted. The input subsystem300may also take the input from one of the controllers302and direct or control an avatar through the avatar control304, based upon the input. The avatar may move in response to the avatar control304in a game generated by the game engine.
The input subsystem300may associate one of the controllers302with a user by way of a stored list of user profiles306. The user profiles306may contain play history of users from the game (e.g., high scores, accuracy of performance, a player rating that represents the skill of the player, achievements the player has completed, etc.). The input composition system310may reference a list of performance modifiers308. The list of performance modifiers308may be stored by the input subsystem300or by another subsystem of the game engine. In some embodiments, the list of performance modifiers308may be associated with the list of user profiles306, such that each user profile (representing a specific user) has a distinct performance modifier. The list of performance modifiers308may be created by the users (e.g., a user may specify that they are not good at the game and an entry into the list of performance modifier may indicate that they should have less control over the game).
The input composition system310may include the following: an input receiver320, an input modifier330, and an avatar control creator340. The input receiver320may retrieve the input from the users from the controllers302. The input system300may have associated the input from the controllers302with a user. For example, a first user may use the first controller302A to select a first user profile corresponding to the first user from the list of user profiles306. The input receiver320may associate the user profiles in the list of user profiles306with the controllers302(e.g., by assigning both each controller and user profile with a unique identifier). If the input from one of the controllers does not match any of the user profiles306, the input receiver320may create a temporary profile322.
The input modifier330may take the associated user input from the input receiver320and apply a performance modifier from the list of performance modifiers308. The performance modifier may amplify or reduce the amount of input a user input may receive. For example, the input may have an unaltered value in the range of ‘1’-‘9’. A performance modifier may be one-hundred percent of the input ‘9’, and the altered input from the input modifier330may be ‘9’. A performance modifier may be thirty-three percent of the input ‘9’, and the altered input from the input modifier may be ‘3’. A performance modifier may be one half of the input ‘9’, and the altered input from the input modifier may be ‘5’.
The avatar control creator340may generate a single control signal from the altered inputs of the input modifier330. The avatar control creator340may generate the control signal by averaging the altered inputs from the input modifier330. The avatar control creator340may generate the control signal by assigning differing activities of the avatar to different altered inputs (e.g., controller302A may be assigned steering, and controller302B may be assigned acceleration and braking). The assignment of differing activities may be done by the avatar control creator340to increase or decrease the difficulty of the game for the users. The avatar control creator340may need to do some interpolating to smooth the values of the altered inputs if they vary by too much. For example, a first input is ‘1’ at a first time and is ‘100’ at a second time, the avatar control creator340may ignore one of the inputs or average the first input at the first time and the second input at the second time. The avatar control creator340may generate the control signal by comparing the altered inputs with an ideal input that a computer controlled player may input. For example, a first user uses controller302A to provide a first input value of ‘127’ and a second user uses controller302B to provide a second input value of ‘147’ and the computer controlled player provides an input value of ‘180’, the avatar control creator340may ignore the first input value and utilize the second input value.
The avatar control creator340may override the alteration of the inputs that were performed by the input modifier330by accessing the list of performance modifiers308. For example, a steering value has a range of ‘0’-‘255’ indicating left to right steering in a racing game (‘0’ for maximum left steering, ‘255’ maximum right steering, and ‘125’-‘130’ indicating no steering). In a first turn, a computer controlled player performed a perfect turn by providing a steering value of ‘175’. A first user input a value of ‘190’ and a second user input a value of ‘182’. Based on the list of performance modifiers308, the input modifier330gave a lower weighting to the first user input and the second user input. The third user input a value of ‘85’ and the input modifier330gave a higher weighting to the third user input based on the list of performance modifiers308. The avatar control creator340might average the inputs to create the avatar input as follows: (190*0.20+182*0.20+85*0.60)=125.4.
The avatar control creator340may individually compare the values of user inputs individually to the value of the computer controlled player to detect a false input or to remove bias inputs. Based on the comparison the avatar control creator340may determine that the steering value from the third input is beyond a threshold, and is not relevant. The threshold may be the standard deviation of the steering values ‘190’, ‘182’, and ‘85’ (i.e., ‘47.7’). If the avatar control creator340determines that the third input is beyond the threshold, the avatar control creator may override that input and average the first and second input.
FIG. 4depicts the representative major components of an exemplary computer system001that may be used, in accordance with embodiments of the disclosure. It is appreciated that individual components may have greater complexity than represented inFIG. 4, components other than or in addition to those shown inFIG. 4may be present, and the number, type, and configuration of such components may vary. Several particular examples of such complexities or additional variations are disclosed herein. The particular examples disclosed are for exemplar purposes only and are not necessarily the only such variations. The computer system001may comprise a processor010, memory020, an input/output interface (herein I/O or I/O interface)030, and a main bus040. The main bus040may provide communication pathways for the other components of the computer system001. In some embodiments, the main bus040may connect to other components such as a specialized digital signal processor (not depicted).
The processor010of the computer system001may be comprised of one or more CPUs012A,012B,012C,012D (herein012). The processor010may additionally be comprised of one or more memory buffers or caches (not depicted) that provide temporary storage of instructions and data for the CPUs012. The CPUs012may perform instructions on input provided from the caches or from the memory020and output the result to caches or the memory. The CPUs012may be comprised of one or more circuits configured to perform one or methods consistent with embodiments of the invention. In some embodiments, the computer system001may contain multiple processors010typical of a relatively large system; however, in other embodiments the computer system may alternatively be a single processor with a singular CPU012.
The memory020of the computer system001may be comprised of a memory controller022and one or more memory modules024A,024B,024C,024D (herein024). In some embodiments, the memory020may comprise a random-access semiconductor memory, storage device, or storage medium (either volatile or non-volatile) for storing data and programs. The memory controller022may communicate with the processor010facilitating storage and retrieval of information in the memory modules024. The memory controller022may communicate with the I/O interface030facilitating storage and retrieval of input or output in the memory modules024. In some embodiments, the memory modules024may be dual in-line memory modules or DIMMs.
The I/O interface030may comprise an I/O bus050, a terminal interface052, a storage interface054, an I/O device interface056, and a network interface058. The I/O interface030may connect the main bus040to the I/O bus050. The I/O interface030may direct instructions and data from the processor010and memory020to the various interfaces of the I/O bus050. The I/O interface030may also direct instructions and data from the various interfaces of the I/O bus050to the processor010and memory020. The various interfaces may comprise the terminal interface052, the storage interface054, the I/O device interface056, and the network interface058. In some embodiments, the various interfaces may comprise a subset of the aforementioned interfaces (e.g., an embedded computer system in an industrial application may not include the terminal interface052and the storage interface054).
Logic modules throughout the computer system001—including but not limited to the memory020, the processor010, and the I/O interface030—may communicate failures and changes to one or more components to a hypervisor or operating system (not depicted). The hypervisor or the operating system may be allocate the various resources available in the computer system001and track the location of data in memory020and of processes assigned to various CPUs012. In embodiments that combine or rearrange elements, aspects of the logic modules capabilities may be combined or redistributed. These variations would be apparent to one skilled in the art.
The present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: 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), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions 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 the 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). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to 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 readable program instructions.
These computer readable 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 readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
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 instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may 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 illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
The descriptions of the various embodiments of the present disclosure have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments 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 described embodiments. The terminology used herein was chosen to explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.
Claims
- A method for manipulating control of an avatar in a video game based on input from multiple users, the video game being executed by a processor of a video game console, the method comprising: receiving, by the processor, a first input from a first user, the first user using a first input source for controlling the avatar in the video game;receiving, by the processor, a second input from a second user, the second user using a second input source for controlling the avatar in the video game;comparing, by the processor, the first input to an ideal input, wherein the ideal input is based on an input that a computer controlled user would provide to cause the avatar to perform a perfect result in the video game;comparing, by the processor, the second input to the ideal input;ignoring, by the processor and based on the first compared input and the second compared input, one of the first input or the second input;and directing, by the processor and based on the other of the first input or the second input, the avatar in the video game.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.