U.S. Pat. No. 7,828,657
SYSTEM AND METHOD FOR ENHANCING THE EXPERIENCE OF PARTICIPANT IN A MASSIVELY MULTIPLAYER GAME
AssigneeTurbine, Inc.
Issue DateMay 20, 2003
Illustrative Figure
Abstract
Methods and systems are provided for transforming music played by characters, objects and non-player characters in order to produce an enhanced audio experience for players within a massively multiplayer game.
Description
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The methods and systems to enhance the audio experience of a player participating in a MMP will now be described with respect to preferred embodiments; however, the methods and systems of the present invention are not limited to massively multiplayer games. Rather, the methods and systems can be used in any computer game or environment in which it is useful or enjoyable to provide context specific audio. Moreover, the skilled artisan will readily appreciate that the methods and systems described herein are merely exemplary and that variations can be made without departing from the spirit and scope of the invention. The present invention will be more completely understood through the following detailed description, which should be read in conjunction with the attached drawings. In this description, like numbers refer to similar elements within various embodiments of the present invention. System Architecture While the content and nature of MMPs is the key to their widespread success, it is important to understand the technological underpinnings of a typical MMP. While it is possible to host and play a computer game, and even an MMP, on a single computer, it is not preferred for MMPs. Accordingly, the following description of an exemplary system architecture is provided. FIG. 1illustrates a distributed computer system100in accordance with one embodiment of the present invention. The system100includes a server platform102and a client or player platform103. The server platform102can include a plurality of individual servers104,106,108. The client platform103can include a plurality of individual clients112,114,116,118. The number of clients is virtually limitless, constrained only by the physical characteristics of the server platform102, client platform103and a communications network110connecting the two. As will be appreciated, the system100is a distributed virtual environment tailored to facilitate MMPs. Each of the clients112,114,116,118preferably comprises a personal computer running client software ...
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The methods and systems to enhance the audio experience of a player participating in a MMP will now be described with respect to preferred embodiments; however, the methods and systems of the present invention are not limited to massively multiplayer games. Rather, the methods and systems can be used in any computer game or environment in which it is useful or enjoyable to provide context specific audio. Moreover, the skilled artisan will readily appreciate that the methods and systems described herein are merely exemplary and that variations can be made without departing from the spirit and scope of the invention.
The present invention will be more completely understood through the following detailed description, which should be read in conjunction with the attached drawings. In this description, like numbers refer to similar elements within various embodiments of the present invention.
System Architecture
While the content and nature of MMPs is the key to their widespread success, it is important to understand the technological underpinnings of a typical MMP. While it is possible to host and play a computer game, and even an MMP, on a single computer, it is not preferred for MMPs. Accordingly, the following description of an exemplary system architecture is provided.
FIG. 1illustrates a distributed computer system100in accordance with one embodiment of the present invention.
The system100includes a server platform102and a client or player platform103. The server platform102can include a plurality of individual servers104,106,108. The client platform103can include a plurality of individual clients112,114,116,118. The number of clients is virtually limitless, constrained only by the physical characteristics of the server platform102, client platform103and a communications network110connecting the two. As will be appreciated, the system100is a distributed virtual environment tailored to facilitate MMPs.
Each of the clients112,114,116,118preferably comprises a personal computer running client software which facilitates a player's operation of and interaction with the game. However, in other embodiments the clients112,114,116,118may also comprise other devices, including but not limited to, cellular telephones (such as the Motorola Inc. A388c), wireless or palmtop computers (such as the Series 7 by Psion PLC), portable digital assistants (such as the Tungsten C by Palm Inc.), handheld game systems (such as the Gameboy Advance by Nintendo of America Inc.), game consoles (such as the Play Station 2 by Sony Corporation of America), etc.
Each client112,114,116,118is generally responsible for displaying interacting objects (other players, terrain, non-player characters, etc.), displaying the game's interface, processing a player's inputs, playing music and sound and performing other CPU or bandwidth intensive operations.
Each of the servers104,106,108generally includes a computer system having a server platform portion of the game for communication, database storage, coordination, and overall control and administration of the game. The servers104,106,108generally maintain state information and coordinate client interaction with various objects in a virtual environment, including but not limited to other clients, vehicles, artificial intelligence, terrain, music and sound. Each server104,106,108provides additional functions, such as security, recording game goals and scoring and tracking each player's advancement towards those goals.
The clients112,114,116,118communicate with the server platform102via the communication network110. In the preferred embodiment, the communication network110depicted comprises the internet, but in other embodiments the communication network110could be an intranet, WAN or LAN, or any other type of network utilized for communicating between the server platform102and the client platform103. For example, the communications network110could include, without limitation, a wireless network, a cellular network or any other system which facilitates the transmission of data. Each client112,114,116,118has an associated communications link (or session) with one or more of the servers104,106,108. As shown inFIG. 1, client1112could communicate with server A104via a communications link122. Similarly, client2114could communicate with server B106via communications link124. The servers104,106,108are preferably interconnected via a communications network110. In the embodiment shown inFIG. 1, the communications network110is depicted as a dedicated network, but could also be a shared network such as the Internet.
During operation of the system100, a particular client, for example client1112, which desires to enter the game communicates through a communications link122with an allocated server A104. The determination of which specific server104,106,108a particular client is linked with will depend on a number of parameters, such as server load, number of clients, location of clients, status of client (e.g., position) within the game itself, and other parameters as are known to those skilled in the art. In the particular embodiment shown inFIG. 1, the number of servers104,106,108needed for allocation depends upon the number of clients.FIG. 1illustrates operation of the system100when a large number of clients112,114,116,118are logged onto a plurality of servers104,106,108.
When there are relatively few clients103participating in the game, only one server is typically needed to serve the clients103. During game operation, there is often no need for direct communication between clients. The server platform102communicates with each client its positional, status and event data (referred to as client or player data, or as a player's attributes) for every other player and object the client can see or interact with inside the virtual environment of the game. Such player data includes, but is not limited to, avatar attributes, type, physics modeling, scoring, position, orientation, motion vector, animation, background music, player music, inventory, vehicle, call sign, or other client or object attributes necessary for the particular game. Typically, the server includes a database of information that is maintained and updated as the players interact within the game. Through the interaction between the client platform103and the server platform102, the game is facilitated.
Virtual Environment of the Game
FIG. 2depicts a typical scene within the virtual environment of one embodiment of an MMP. As illustrated inFIG. 2, a number of objects are present within the scene. As described previously, each player is free to represent himself or herself in the virtual environment of the game through the use of an avatar. In the embodiment shown inFIG. 2, player1has chosen a small rabbit202(the “bunny”) as his avatar. Player2has chosen a young bird204(the “chick”) as his avatar. In the virtual environment of the game, each player sees his or her own avatars on the screen, and can interact with other players, non-player characters and objects through the avatars.
As shown inFIG. 2, the bunny202and the chick204are located with a mountain range context208. This context208defines many parameters of the game. Within the preferred embodiment of the claimed invention, these parameters can include characteristics such as temperature, ambient noises, musical selection, groove level, number and type of non-player characters, etc. For example, the temperature of the mountain range context might be lower than comfortable for the bunny202and the chick204. In order to continue playing, Player1and Player2can need to direct the bunny202and the chick204, respectively, to a warmer region such as a campfire (not illustrated). Alternately, the respective players can navigate the bunny202and the chick204to an area where they can obtain warm clothing (not illustrated). Should they find such an area, the bunny202and the chick204can either wear the warm clothing or add it to their personal storage spaces, or “inventories” for later use. In addition to storing clothing, a character's inventory can be used to store items and objects of various types, including weapons, armor and musical instruments.
Non-player characters can also be present within the context of the mountain range208. For example, a non-player dragon character206(the “dragon”) can reside within the mountain range208. The dragon206is not controllable by any player. Instead, the dragon206exists and interacts with other players, non-player characters, objects and contexts through the preprogrammed game logic. For example, the dragon206can seek to consume the chick204and the bunny202, should they venture within his portion of the mountain range208.
The “groove level” of a particular context is a variable affiliated with the amount of excitement or tension level of that specific context. The groove level increases as excitement or tension increases, and decreases as excitement or tension abates from a specific context. Each context is assigned a default groove level. As the game progresses, a variety of factors can affect the groove level for a given context, including, without limitation, the number of players in the context, the number of non-player characters in the context, objects in a context, and the interaction between players, non-player characters and objects in the context.
As an example, consider the groove level of the mountain range208. Preferably, the mountain range208has a default groove level γ. When the bunny202is alone within the mountain range208, the groove level remains at the default setting, γ, because there is not much tension in the context. Assuming that they bear no hostility towards each other, when the chick204joins the bunny202in the mountain range208, the groove level can be decreased by a predetermined amount, e.g., γ−1. However, when the bunny and dragon206appears in the mountain range208, the tension can be increased. Accordingly, the groove level can be increased by a predetermined amount, e.g., γ+1. Should a second dragon (not illustrated) or other non-player character enter the mountain range208, the groove level would be again modified by the predetermined amount. In this fashion, the number and type of objects, players, and non-player characters within a given context modifies the groove level of that particular context. One skilled in the art would recognize that alternate modifications of the groove level are equivalent to the illustrate example, including, without limitation, altering the groove level through multiplication and division, alphabetical shifting, integration and derivation, or even through a complex polynomial equation.
Audio Environment of the Game
In addition to providing the virtual environment and groove level described above, a context also preferably provides an enjoyable audio environment. Preferably, any time that the bunny202and the chick204are within the mountain range208, Player1and Player2will hear sounds and music associated with that particular context. For example, each player can hear one or more of the following:Context-only sounds: these are sounds which can only be heard by players in the same context.Loud sounds: these are sounds which can be heard by players in the context containing the sound, and all adjacent contexts to that context.Environmental sounds: sounds used to produce ambiance within a context or a group of contexts. These are sounds generally not associated with a specific position within a context (e.g. the wind, crickets chirping at night).Looping sounds: sounds that play continuously.Intermittent sounds: these are sounds that continually repeat, with a delay between each repetition. The delay can be random number generated from a specified range. This is used for repetitive sounds that occur occasionally, such as a bird chirping or a dog barking.Background themes: music which corresponds to the specific context in which the player's avatars are present. Background themes can include components comprising baseline chord progressions, percussion, melodies, harmonies, and any other musical element.
FIG. 3illustrates the chord progression component of a background theme associated with a specific context. In the preferred embodiment, the background theme is selected by the game's logic based upon (1) the context and (2) the groove level. InFIG. 3, three 4-bar themes are shown. A first theme302represents a first chord progression for the background theme at a groove level of γ. A second theme304represents a second chord progression for the background theme at a higher groove level. A third theme306represents a third chord progression for the background theme at a still higher groove level. The musical mode of the background theme can be selected from modes including, but not limited to, Ionian, Dorian, Phrygian, Lydian, Mixolydian, Aolian or Locrian. In addition, the selected mode can include chord progressions from major or minor triads including, but not limited to, those separated by either whole steps or half steps. In the case of the latter, the mode can be referred to as a “Half-Tone” mode. As should be evident to one skilled in the art, each of the chord progressions is a repeating sequence, and forms only one part of the total background theme for a given context.
Operation of the Preferred Embodiment
The operation of the preferred embodiment of the present invention is hereby described with reference toFIGS. 1-4.
In the preferred embodiment, the first theme302for the mountain range208contains a repeating chord progression based upon a groove level γ, comprising one bar each of the chords CDorian310, EDorian312, GDorian314, and returning to CDorian316. While a character, for example, the bunny202, is present in the mountain range208, this chord progression will loop indefinitely as an integral part of the background theme.
Upon the occurrence of an external event, the groove level is changed. In one embodiment, when the dragon206appears in the mountain range208, the groove level of the mountain range context208is increased to represent the increased tension that the bunny202must feel. Accordingly, at the end of the current iteration of the first theme302the background theme changes its chord progression to that of the second theme304. The second theme304contains a repeating chord progression based upon an increased groove level, comprising one bar each of the chords CPhrygian320, EPhrygian322, GPhrygian324, and returning to CPhrygian326.
Similarly, upon the occurrence of another external event, the groove level is again changed. When a second dragon (not shown) appears in the mountain range208, the groove level of the mountain range context208is increased to a still higher level to represent the additionally heightened tension that the bunny202must feel. Accordingly, at the end of the current iteration of the second theme304the background theme changes its chord progression again to that of the third theme306. The third theme306contains a repeating chord progression based upon the still higher groove level, comprising one bar each of the chords CHalf-Tone330, EHalf-Tone332, GHalf-Tone334, and returning to CHalf-Tone336.
Thus, in accordance with the preferred embodiment of the present invention, the chord progression underlying the background theme is transposed from a Dorian progression to a Half-Tone progression. Similarly, should the dragons be dispatched, or should a similarly tension-reducing event occur (e.g., the chick204entering the mountain range208), the groove level would revert to a lower level and the background theme would once again make use of the Dorian chord progression.
In addition to the context-sensitive background music, the preferred embodiment of the present invention allows players and non-player characters to play context-sensitive musical accompaniment to the background melody. Specifically, each player's character can play music in one of two ways. First, if a player's character has a musical instrument within its inventory, the character can use the instrument to play a melody of the player's choice, in order to put on a “performance”. Second, if a player's character does not have an instrument, that character can make percussion sounds with its body, or “beatbox.”
Although in the absence of a background melody, a player will hear his or her character's music as a solo performance, the preferred embodiment of the present invention provides a method and system for synchronizing and harmonizing a character's musical performance with both the background music and the musical performances of other players' characters, non-player characters and objects within a given context. Preferably, if a character is musically performing while in a context wherein there is background music, the game will change that character's music such that (1) the character's melody is transformed to harmonize with the background music's key, mode and pitch, and (2) the tempo of the character's melody will be increased or decreased to match that of the background music. In addition, the character's music will similarly be transformed to harmonize with any other performances currently occurring in the same context. Melody transposition and tempo matching can be performed by making calls to the DirectMusic Application Programming Interface, manufactured by Microsoft Corp. of Redmond, Wash.
FIG. 4is a flow chart which illustrates the synchronization of a player's performance with both the background theme and music of other characters. InFIG. 4, five steps illustrate the game's operation through the preferred embodiment. These steps are as follows:
In the first step402, the chick204is present within the context of the mountain range208. As the chick204is alone, the groove level for the mountain range208is at its default value γ. Accordingly, the background theme for the mountain range208is playing. While there, the chick204obtains from its inventory a cello (not shown), and begins a new musical performance. The game software automatically transforms the chick's204music to harmonize with the background theme and match the chick's204rhythm to that of the background theme.
In the second step404, the bunny202enters the mountain range208scene. The bunny's202appearance causes the groove level to decrease. Hearing the chick's204performance inspires the bunny to join in. However, as it has no instruments in its inventory, the bunny202must resort to beatboxing. The beatboxing bunny202begins its performance while the chick204continues playing its musical melody. The game software transforms both the chick's204music and the bunny's202beats to harmonize with the background theme and tempo at the revised groove level.
In the third step406, two non-player dragons206(only one is illustrated) appear at the mountain range208. Their appearance increases the tension within the mountain range context208and causes the groove level to increase. In addition, each dragon causes its own dragon theme to be played and, as necessary, transformed to harmonize with the background theme.
As part of its inventory, each dragon206carries a drumset. In the fourth step408, the two dragons206begin their own drum performances. Thereafter, the game software transforms the music and beats of the two dragons206, the chick204and the bunny202to harmonize with the background theme and tempo at the increased groove level.
In the fifth step410, the two dragons206are dispatched. In addition, the bunny202leaves the mountain range208. Accordingly, the groove level returns to its default level γ. The chick204ends its performance, and the sole remaining music is the background theme associated with the mountain region208.
The present invention can be provided as one or more computer-readable programs embodied on or in one or more articles of manufacture. The article of manufacture can be a floppy disk, a hard disk, a CD ROM, a flash memory card, a PROM, a RAM, a ROM, or a magnetic tape. In general, the computer-readable programs can be implemented in any programming language. Some examples of languages that can be used include C, C++, or JAVA. The software programs can be stored on or in one or more articles of manufacture as object code.
In this fashion, embodiments of the present invention transform music played by characters, objects and non-player characters in mode, tempo and key in order to produce symphonic sounds within a massively multiplayer game. It will be appreciated by those skilled in the art that various omissions, additions and modifications can be made to the methods and systems described above without departing from the scope of the invention, and all such modifications and changes are intended to fall within the scope of the invention, as defined by the appended claims.
Claims
- A computer-implemented method for enhancing the experience of a first player controlling a first avatar in a computer game by causing a speaker to play a theme, the method comprising the steps of: (a) causing a processor to determine a context for the first avatar based on a first avatar's location in a virtual world;(b) causing a processor to select a groove level responsive to characteristics of the first avatar's virtual location, wherein the groove level is indicative of one of an excitement and a tension level;(c) causing a processor to play, at a non-zero output level, through a speaker, a background theme based on the first avatar's location and the selected groove level;(d) causing a processor to receive first instructions from the first player, the first instructions causing the first avatar to play a first melody, the first melody being chosen by the first player from among a plurality of available melodies;(e) causing a processor to receive second instructions from a second player, the second instructions causing a second avatar to play a second melody, the second melody being chosen by the second player;and (f) causing a processor to transform the first melody in response to the background theme and to the second melody by carrying out one of melody transposition and tempo matching.
- The method of claim 1 , wherein step (a) comprises selecting the context from the group consisting of grasslands, plains, desert, forest, dungeon, crypt, graveyard, castle, keep, bog, shire, mountains, valley, swamp, sea and hills.
- The method of claim 1 , wherein step (b) comprises changing the groove level from an initial groove level to a subsequent groove level in response to the total number of characters present in the first avatar's context.
- The method of claim 3 , wherein changing the groove level comprises subtracting a predetermined number from the initial groove level in response to the total number of avatar characters present in the first avatar's context.
- The method of claim 1 , wherein step (b) comprises changing the groove level from an initial groove level to a subsequent groove level in response to the total number of non-avatar characters present in the first avatar's context.
- The method of claim 5 , wherein changing the groove level comprises adding a predetermined number from a baseline groove level in response to the number of non-avatar characters present in the first avatar's context.
- The method of claim 1 , further comprising causing a processor to select a mode for background music in response to the first avatar's context and the groove level.
- The method of claim 1 , further comprising causing a processor to select a background theme four bars in length and having a chord change at every bar.
- The method of claim 1 , wherein step (b) comprises selecting a higher groove level when at least one type of non-avatar character is present in the first avatar's context.
- The method of claim 1 , wherein step (b) comprises selecting a lower groove level when at least one other avatar is present in the first avatar's context.
- The method of claim 1 , wherein the first melody corresponds to an instrument controlled by the first avatar.
- The method of claim 1 , wherein the first melody is selected according to the current background theme.
- The method of claim 12 , wherein the first melody comprises notes having a selected harmonic relationship with the current background theme.
- The method of claim 1 , wherein the second melody corresponds to an instrument controlled by the second avatar.
- The method of claim 1 , wherein the second melody is selected according to the current background theme.
- The method of claim 1 , wherein the second melody comprises notes having a selected harmonic relationship with the current background theme.
- The method of claim 16 , wherein the second melody comprises notes having a selected harmonic relationship with the first melody.
- The method of claim 1 , wherein a non-avatar character plays a non-avatar melody having a selected harmonic relationship with the current background theme.
- The method of claim 18 , wherein the non-avatar melody has a selected harmonic relationship with the first melody.
- A system for enhancing the experience of a first player participating in a computer game, the system comprising: a context module for receiving, as input, coordinates specifying the location of a first avatar in a world, the first avatar being controlled by the first player, and for determining a context for the first avatar based on the coordinates;a groove module for selecting a groove level based on the number of other avatars present in the first avatar's context and the number of non-avatar characters present in the first avatar's context, wherein the groove level is indicative of one of an excitement and a tension level;a background theme database for storing a plurality of background themes;and a sound output module for selecting one of the plurality of background themes based on the first avatar's context and the groove level;wherein the system is configured to transform a first melody played by the first avatar in response to both the selected background theme a second melody played by a second avatar, wherein transformation of the first melody is carried out by one of melody transposition and tempo matching.
- The system of claim 20 , wherein the context module specifies a context from the group consisting of grasslands, plains, desert, forest, dungeon, crypt, graveyard, castle, keep, bog, shire, mountains, valley, swamp, sea and hills.
- The system of claim 20 , wherein the groove module changes the groove level for each other avatar present in the first avatar's context.
- The system of claim 20 , wherein the groove module changes the groove level for each non-avatar character present in the first avatar's context.
- The system of claim 20 , wherein the sound output module is configured to select a background theme written in Dorian mode when the groove level is within a first predetermined range.
- The system of claim 20 , wherein the sound output module is configured to select a background theme written in Phrygian mode when the groove level is within a second predetermined range.
- The system of claim 20 , wherein the sound output module is configured to select a background theme written in half-tone mode when the groove level is within a third predetermined range.
- The system of claim 20 , wherein the first melody corresponds to an instrument controlled by the first avatar.
- The system of claim 20 , wherein the first melody is selected according to the current background theme.
- The system of claim 28 , wherein the first melody comprises notes having a selected harmonic relationship with the current background theme.
- The system of claim 20 , wherein the second melody corresponds to an instrument controlled by the second avatar.
- The system of claim 20 , wherein the second melody is selected according to the current background theme.
- The system of claim 31 , wherein the second melody comprises notes transposed in response to the current background theme.
- The system of claim 32 , wherein the second melody comprises notes having a selected harmonic relationship with the first melody.
- The system of claim 20 , wherein a non-avatar character is allowed to play a non-avatar melody having a selected harmonic relationship with the current background theme.
- The system of claim 34 , wherein the non-avatar melody has a selected harmonic relationship with the first melody.
- The system of claim 20 , wherein the sound output module is configured to select a background theme written in a mode selected from the group consisting of Ionian mode, Lydian mode, Mixolydian mode, Aolian mode, and Locrian mode when the groove level is within a fourth predetermined range.
- A computer-implemented method for allowing two or more players controlling corresponding avatars in a computer game to participate in a game's musical environment by causing a speaker to play a background theme, the method comprising: causing a processor to select a groove level responsive to characteristics of the avatars' virtual locations, wherein the groove level is indicative of one of an excitement and a tension level;causing a processor to play, at a non-zero output level, through a speaker, a background theme based on the avatars' location and the selected groove level;causing a processor to receive, from the players, instructions for causing their corresponding avatars to each selectively generate a sound;and causing a processor to cause the selectively generated sounds to transform in response to each other and in response to the background theme wherein the transformation is carried out by one of melody transposition and tempo matching.
- The method of claim 37 , wherein causing a processor to receive instructions comprises receiving instructions for playing a melody, and wherein causing the selectively generated sounds to transform comprises causing melodies associated with the selectively generated sounds to have a selected harmonic relationship.
- A non-transitory computer-readable medium having encoded thereon software for enhancing the experience of a first player controlling a first avatar in a computer game, said software comprising instructions for: (a) determining a context for the first avatar based on a first avatar's location in a virtual world;(b) selecting a groove level responsive to characteristics of the first avatar's virtual location, wherein the groove level is indicative of one of an excitement and a tension level;(c) playing, at a non-zero output level, a background theme based on the first avatar's location and the selected groove level;(d) receiving first instructions from the first player, the first instructions causing the first avatar to play a first melody, the first melody being chosen by the first player from among a plurality of available melodies;(e) receiving second instructions from a second player, the second instructions causing a second avatar to play a second melody, the second melody being chosen by the second player;and (f) transforming the first melody in response to the background theme and to the second melody by carrying out one of melody transposition and tempo matching.
- A non-transitory computer-readable medium having encoded thereon software for allowing two or more players controlling corresponding avatars in a computer game to participate in a game's musical environment, said software comprising instructions for: selecting a groove level responsive to characteristics of the avatars' virtual locations, wherein the groove level is indicative of one of an excitement and a tension level;playing, at a non-zero output level, a background theme based on the avatars' location and the selected groove level;receiving, from the players, instructions for causing their corresponding avatars to each selectively generate a sound;and causing the selectively generated sounds to transform in response to each other and in response to the background theme by carrying out one of melody transposition and tempo matching.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.