# Patent

## Title
Video game voice chat with amplitude-based virtual ranging

## Abstract

The amplitude of a video game player's voice determines how far his or her message is carried to other players in the game. The range a message carries is based on the relative virtual proximity of avatars associated with said players within the virtual game environment.

## Background
CROSS-REFERENCES TO RELATED APPLICATIONS
This case is related to commonly assigned copending patent application Ser. No. 10/901,452, entitled “Voice-To-Text Conversion For Remote Video Game Play”, incorporated herein by reference.
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
Not applicable.
FIELD
The technology herein relates to remote or networked video game play, and more particularly to networked video game play wherein remote users can communicate with one another via chat capabilities. In still more detail, the technology herein relates to method and apparatus providing remote video game play wherein a player's speech is converted into text and formatted for textual display or other indication at a remote player site.
BACKGROUND AND SUMMARY
Networked or remote video game play has become increasingly popular. For several years now, game players using personal computers have played Doom, Quake and other multiplayer networked games over the Internet. Such multiplayer games can involve a number of different game players from all over the country or the world. One especially interesting genre of remote video games uses a team approach where the various players align themselves in teams and work together to accomplish a particular objective (defeat another team, beat another team in locating a treasure or fulfilling some other quest, etc.).
It is useful in such video game play contexts to allow the various game players to communicate with one another during game play. For example, members of the same team may wish to strategize so they can work together more effectively. Sometimes, players on opposite sides of a challenge may need to communicate information or otherwise coordinate their game play. Additionally, adding an inter-player communications capability may raise the fun factor substantially. Rather than simply sitting alone in front of a computer or television set moving a game character on a screen, the game play experience becomes much more interactive and personal when one is communicating with a group of friends or acquaintances.
While some game players are known to talk together on the telephone at the same time as they are involved in remote game play, many in the gaming industry have sought to provide a chat capability as a part of or adjunct to video game software. Early approaches, especially on PC games, provided a text chat capability allowing players to send text messages to one another. A player would use the keyboard to type in an instant message which could then be sent over the same communications medium carrying interactive game play information back and forth. Such text messages could be replied to by other players to provide interactive text “chat” communications. The effectiveness of such text chat capabilities depended on the type of game. For a relatively slow-moving long term adventure game, text chat could be quite effective in allowing players to coordinate their activities while at the same time communicating other fun and interesting information about themselves.
It has been known in the past to simulate certain real-world voice characteristics using text chat. For example, certain role playing games give players the option of qualifying their text chat with either a “whisper” command or a “shout” command. Under normal conditions, all human players receive all chats. In some games, avatars and associated human players outside of the neighborhood of the avatar making the chat declaration will not receive the chat. Qualifying the text chat declaration with a “shout” command allows all avatars to receive the chat text. Qualifying the chat declaration with a “whisper” command restricts distribution of the chat declaration to only a single specified avatar and associated human player.
To take advantage of the relatively higher communications bandwidths now available to most gamers via DSL, cable or other communications means, several software developers and game companies have developed voice chat capabilities for use in remote video game play. To use voice chat, the game players typically put on headsets that include both earphones and a microphone. Software and hardware within the personal computer or gaming platform digitizes voice picked up by the microphone and transmits the resulting digital information to other game players. At the remote side, received digitized speech signals are converted back into audio, amplified and played back through remote game player's headsets. Such voice chat eliminates the need for game players to use a keyboard while providing nearly instantaneous inter-player communications and coordination.
While much work has been done in this area in the past, further improvements are possible and desirable.
In one example illustrative non-limiting implementation, the amplitude of a game player's voice determines how far the game player's chat message is carried to other players in the virtual game environment. The other players either hear the message originator's actual voice (via voice chat) or see a text translation of the speech. For example, if a game player speaks at a normal volume level, those players and characters within a certain virtual distance range within the game environment will be able to see/hear what the player is saying. If the player shouts, players and characters further away can also hear/see. If the player whispers, only the players and characters within a smaller virtual distance range can see/hear.
In accordance with a further illustrative non-limiting example implementation, the game player can obtain power-ups in a game that extends the distance of speech (e.g., a megaphone, a microphone, an amplifier, etc.). Similarly, power-ups in the game can be used to encode speech—only those with the appropriate decoder can understand what the player is saying, though others might be able to hear/see that something was being said. The virtual distance can be determined by a physical analysis of the environment around a game character—e.g., in-game geometry, material properties, ambient temperature, ambient noise and other virtual environmental affects can be taken into consideration in determining the path and reach of the message. For example in a very noisy virtual environment, the game player may need to shout in order to have his or her message seen/heard.
In another non-limiting example implementation, the game player does not manually select which other player or players can or can't hear his or her speech. Just like in real life, any virtual game characters within certain virtual distance range (within the game) of the human player's character or avatar will be able to hear the speech. Players may attempt to control the audience for the message by varying the volume and direction of their voice. Even if player A whispers to player B who is standing right next to player A, other players may still be able to hear what player A is saying, and player A might not necessarily know this fact (again, just like real life). Player C might be able to hear what player A is saying if he or she is close enough to player B and if player A's speech amplitude is high enough to have not attenuated to an inaudible level by the time it travels the in-game distance from player A to player C. In another exemplary illustrative non-limiting implementation, the game environment may be able to provide visual cues showing the speaker how far his or her voice is traveling. For example, concentric circles on the ground or other virtual surface in an overlaid fashion could be used. This would provide a good cue for the speaker to determine if a given player that is visible on-screen can hear what the player is saying.



BRIEF DESCRIPTION OF THE DRAWINGS
These and other features and advantages will be better and more completely understood by referring to the following detailed description in conjunction with the drawings of which:
FIG. 1 shows an example illustrative non-limiting schematic illustration of virtual distance ranging based on detected speech amplitude;
FIG. 2 shows an example illustrative non-limiting multi-player game system;
FIG. 3 is a flowchart of an example illustrative non-limiting amplitude detection and virtual range setting; and
FIG. 4 shows an example illustrative non-limiting implementation of a program instruction storage medium.



DETAILED DESCRIPTION
FIG. 1 shows an example schematic implementation of an illustrative non-limiting exemplary virtual distance ranging chat system for video games and other applications. In the example shown, an avatar labeled “me” speaks into a microphone to provide voice chat. An amplitude detector automatically detects how loud the human player is speaking. If the human player controlling the “me” avatar is speaking at a low amplitude (e.g., a whisper), then only those human players (player A) whose avatars are within a limited virtual range within the game will be able to hear or see the chat. This is indicated by the inner circle C1. If the “me” player speaks a bit louder, then the higher detected speech amplitude will allow the chat message to be carried to a further, more extensive virtual distance range within the game so that both player A and player B (but not player C) will be able to hear the message. This is indicated by the outer circle C2 shown in FIG. 1. If the “me” player speaks still louder (e.g., by shouting), the higher detected amplitude will allow the message to be carried outside of the C2 circle to each player C in addition to player B and player A.
The location of a human players' avatars within the game may for example have no relationship to physical locations of the human players who are controlling those avatars. For example, human players controlling avatars A and C could be in the same apartment building in Seattle whereas the human player controlling avatar B could be in Washington D.C. To game players immersed in the game, the in-game locations of their avatars, characters or other objects are quite real, so therefore exemplary illustrative non-limiting implementations of the technology herein use these “in-game” locations and distances for sound/text chat attenuation calculations. Thus, in the illustrative example shown, the distances are the virtual distances of characters within a virtual 2D or 3D video game environment. For example, in the game, the “me” player and player A might be located within the same room, landscape, level or other virtual physical proximity to one another. Player B might be located in a different room, a different part of the landscape, on a different level, etc. Player C may be located in a still further virtual location such as in a different building, a different virtual location altogether, etc. The proximity calculations and analysis may in general depend on and be specific to the particular virtual game environment of the game.
FIG. 2 schematically shows an example non-limiting illustrative implementation of a multi-player gaming system 10. In the example implementation shown, video game player 12(1) plays a video game against another video game player 12(2) (any number of players can be involved).
In one example illustrative implementation, video game players 12(1) and 12(2) may be remotely located, with communications being provide between them via a network 14 such as the Internet or any other signal path capable of carrying game play data or other signals. In the example system 10 shown, each game player 12 has available to him or her electronic video game playing equipment 16. In the example shown, video game playing equipment 16 may comprise for example a home video game platform such as a NINTENDO GAMECUBE system connected to a handheld game controller 18 and a display device 20 such as a home color television set. In other examples, game playing equipment 16 could comprise a handheld networked video game platform such as a NINTENDO DS or GAMEBOY ADVANCE, a personal computer including a monitor and appropriate input device(s), a cellular telephone, a personal digital assistant, or any other electronic or other appliance.
In the example system 10 shown, each of players 12 has a headset 22 including earphones 24 and a microphone 26. Earphones 24 receive audio signals from game playing equipment 16 and play them back into the player 12's ears. Microphone 26 receives acoustical signals (e.g., speech spoken by a player 12) and provides associated audio signals to the game playing equipment 16. In other exemplary implementations, microphone 26 and earphones 24 could be separate devices or a loud speaker and appropriate feedback-canceling microphone could be used instead. In the example shown in FIG. 2, both of players 12(1) and 12(2) are equipped with a headset 22, but depending upon the context it may be that only some subset of the players have such equipment.
In the example system 10 shown, each of players 12 interacts with video game play by inputting commands via a handheld controller 18 and watching a resulting display (which may be audio visual) on a display device 20. Software and/or hardware provided by game playing platforms 16 produce interactive 2D or 3D video game play and associated sound. In the example shown, each instance of game playing equipment 16 provides appropriate functionality to produce local video game play while communicating sufficient coordination signals for other instances of the game playing equipment to allow all players 12 to participate in the “same” game.
Generally, in one exemplary illustrative non-limiting implementation, each human player is represented by an avatar or game character. For example, in a “dungeons and dragons” type role playing game, one player could be represented by a wizard avatar (i.e., a character who has the appearance and characteristics of a wizard), another player might be represented by a knight avatar, yet another player might be represented by an elf character, etc. In a sports game, one player might be represented by a basketball player on a first team, and another player might be represented by a basketball player on another team. Generally, the human player controls his or her avatar by operating a handheld game controller 18. In some contexts, the video game could be a multiplayer first person shooter, driving, sports or any other genre of video game wherein each of players 12 can manipulate an associated character or other display object by inputting commands via handheld controllers 18. For example, in a sports game, one player 12(1) could control the players of one team, while another player 12(2) could control the players on an opposite team. In a driving game, each of players 12(1), 12(2) could control a respective car or other vehicle. In a flight or space simulation game, each of players 12 may control a respective aircraft. In a multi-user role playing game, each of players may control a respective avatar that interacts with other avatars within the virtual environment provided by the game. Any number of players may be involved depending upon the particular game play.
As will be seen in FIG. 2, a game server 28 may optionally be provided to coordinate game play. For example, in the case of a complex multiplayer role playing game having tens or even hundreds of players 12 who can play simultaneously, a game server 28 may be used to keep track of the master game playing database and to provide updates to each instance of game playing equipment 16. In other game playing contexts, a game server 28 may not be necessary with all coordination being provided directly between the various instances of game playing equipment 16.
In the particular example system 10 shown in FIG. 2, a voice-to-voice text chat capability is provided. As can be seen, player 12(1) in this particular example is speaking the following words into his or her microphone 26:
“I'm going to blast you.”
In response to this statement, game playing equipment 16 and/or game server 28 converts the spoken utterance into data representing associated text. The text can be used by itself or in conjunction with the digitized voice to provide a text chat or text-and-voice chat. In another exemplary illustrative implementation, only voice chat is provided and the speech-to-text conversion is not used.
FIG. 3 shows an example illustrative non-limiting flowchart. In the example shown, speech uttered by one of the players is analyzed and its amplitude is determined. In one illustrative exemplary non-limiting implementation, the amplitude detection is performed by using an analog-to-digital converter to convert the speech (which may be inputted via a microphone) into a digital signal, and the amplitude of the resulting digital signal may be measured and averaged. The measured amplitude is then tested to determine if the distance between the speaking player and an additional speaker is less than a level function which is a function of the amplitude. If the distance is below this calculated value, then the speech is passed to the human player that is controlling player C, e.g., by providing a streaming voice chat audio signal to that human player and/or by displaying a voice-to-text conversion of the message to that player. If the virtual distance between the speaking player and the other player in question is not less than the calculated level, then the message is not passed or provided to that other player.
More complex, dynamic ranging calculations based on actual in-game distances as compared with a logarithmic or other functions modeling the attenuation of sound in various media (air, water, etc.) could be used. Factors that could be taken into account in determining virtual chat range could include for example:

    
    
        ambient sound level within game environment
        ambient acoustical reflection, diffraction and/or absorption within game environment
        temperature gradients within game environment
        wind velocity within game environment
        humidity within game environment
        proximity to virtual water surface within game environment (sound carries longer distances over water)
        sound pitch
        echoes and reverberation within game environment
        characteristics of avatars (e.g., dog avatars may have more sensitive hearing than human avatars, and wizard or other magical avatars may hear more than non-magical avatars)
        direction speaking avatar is facing when speaking
        availability of any “power up” capabilities to speaking avatar (e.g., virtual megaphone, virtual amplified microphone, virtual radio communications devices, virtual telepathy, etc.)
    
    


See for example Ballou, Handbook for Sound Engineers (3d Ed. Focal Press) and JBL Sound System Design Reference Manual for various physical sound propagation behaviors that can be modeled in the context of a video game and the technology herein. Further, such sound attenuation modeling functions could be used to distort or otherwise render messages only partially intelligible just like in real life.
Note that in a multi-player game environment, the process shown in FIG. 3 may be performed for each of the various characters or avatars based upon their own virtual distance within the gaming environment from the player who is speaking. In one exemplary illustrative non-limiting implementation, software associated with every player calculates the sound function and makes the comparison whenever any other player is speaking. In the example shown, the level is a function of the amplitude but of course other calculations (e.g., fixed thresholds, etc.) could be used instead. The calculation, as mentioned above, could in some implementations take into account additional factors of the virtual game environment such as for example, obstructions between the players such as walls or floors, ambient game noise, or any other desired factor.
While the description above refers to virtual distance within a game environment, it would be possible to use actual physical distance between human communicators. For example, if the communications platforms were cellular, it would be possible using GPS or other technology to calculate how much distance lies between the different users' physical locations.
Each of the publications mentioned above are incorporated herein by reference.
While the technology herein has been described in connection with exemplary illustrative non-limiting embodiments, the invention is not to be limited by the disclosure. The invention is intended to be defined by the claims and to cover all corresponding and equivalent arrangements whether or not specifically disclosed herein.

## Claims

1. A video game system comprising:
an audio transducer that receives acoustical information including speech;
an amplitude detector that detects the amplitude of said received acoustical information; and
a messaging arrangement that selectively messages other players of said video game as a function of (a) said received acoustical information, (b) said detected amplitude, and (c) the respective relative virtual proximity of avatars within said video game that represent said players.

2. A video game playing method comprising:
receiving acoustical information including speech;
detecting the amplitude of said received acoustical information; and
selectively messaging other players of said video game as a function of (a) said received acoustical information, (b) said detected amplitude, and (c) the respective relative virtual proximity of avatars within said video game representing said players.

3. A multiplayer video game play system comprising:
means for receiving acoustical information including speech;
means for detecting the amplitude of said received acoustical information; and
means for selectively messaging other players of said video game as a function of (a) said received acoustical information, (b) said detected amplitude, and (c) the respective relative virtual proximity of avatars within said video game representing said players.

4. A storage medium comprising:
a first storage area that stores instructions for receiving acoustical information including speech;
a second storage area that stores instructions for detecting the amplitude of said received acoustical information; and
a third storage area that stores instructions for selectively messaging other players of said video game as a function of (a) said received acoustical information, (b) said detected amplitude, and (c) the respective relative virtual proximity of avatars within said video game representing said players.