U.S. patent application number 12/122284 was filed with the patent office on 2009-11-19 for adaptive live commentary in hosted game.
This patent application is currently assigned to MICROSOFT CORPORATION. Invention is credited to Jo Clowes, Marc R. Whitten.
Application Number | 20090286604 12/122284 |
Document ID | / |
Family ID | 41316677 |
Filed Date | 2009-11-19 |
United States Patent
Application |
20090286604 |
Kind Code |
A1 |
Clowes; Jo ; et al. |
November 19, 2009 |
ADAPTIVE LIVE COMMENTARY IN HOSTED GAME
Abstract
A live commentary experience is provided to a plurality of users
participating in a multiplayer game hosted by a gaming service. A
live output stream comprising live commentary on the game play is
providing by a human being from the gaming service. A gaming device
determines which of three types of commentary--pre-recorded game
commentary, periodic commentary and live commentary from a human
being--to provide to the user for a live commentary experience.
Inventors: |
Clowes; Jo; (Redmond,
WA) ; Whitten; Marc R.; (Sammamish, WA) |
Correspondence
Address: |
VIERRA MAGEN/MICROSOFT CORPORATION
575 MARKET STREET, SUITE 2500
SAN FRANCISCO
CA
94105
US
|
Assignee: |
MICROSOFT CORPORATION
Redmond
WA
|
Family ID: |
41316677 |
Appl. No.: |
12/122284 |
Filed: |
May 16, 2008 |
Current U.S.
Class: |
463/42 |
Current CPC
Class: |
A63F 13/335 20140902;
A63F 2300/69 20130101; A63F 2300/207 20130101; A63F 13/65 20140902;
A63F 2300/57 20130101; A63F 13/85 20140902; A63F 2300/407 20130101;
A63F 2300/572 20130101; A63F 13/79 20140902; A63F 2300/5533
20130101; A63F 13/12 20130101; A63F 13/54 20140902; A63F 2300/6081
20130101; A63F 2300/6009 20130101 |
Class at
Publication: |
463/42 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
Claims
1. A method for providing a live commentary experience in a video
game executing on a client device coupled to a network, comprising:
receiving game state information from the game that the game is in
a state requiring commentary on the game; determining whether a
stream of live commentary generated by a human viewing data about
the game is available via the network; determining whether to
provide the stream of live commentary or a source of pre-recorded
commentary to provide a commentary to the user responsive to the
game state information.
2. The method of claim 1 wherein the source of pre-recorded
commentary comprises one of temporally recent periodic content or
pre-recorded game event commentary.
3. The method of claim 2 wherein the temporally recent periodic
content comprises recorded comments reflecting real-world events
relevant to actions in the game which have occurred within a time
period prior to execution of the game.
4. The method of claim 2 further including retrieving a temporally
recent periodic content file at intervals defined by a game service
provider.
5. The method of claim 1 wherein the stream of live commentary is
generated by a gaming service provider receiving game state
information for a plurality of users all concurrently executing the
video game.
6. The method of claim 1 wherein the step of (c) comprises
determining whether the game state information requires a live
comment type, a temporally relevant content type or a pre-recorded
content type, and further includes determining whether network
bandwidth is available to retrieve the stream.
7. The method of claim 1 wherein the stream of live commentary
includes at least a first set of comments provided by a gaming
service provider relevant to the game and a second source of
comments provided by a third party, and the method further includes
determining whether to provide the second set of comments to the
user.
8. The method of claim 1 wherein a first group of users and a
second group of users are commonly executing the video game in a
common gaming experience, and the stream of live commentary
includes a first set of comments directed to a first group of users
and a second set of comments directed to a second group of users,
and the method further includes the step of determining membership
of the user in the first group or the second group and accessing a
set of comments based on said step of determining membership.
9. A method for providing a simulated live commentary gaming
experience in a multiplayer gaming environment, comprising:
receiving a periodic commentary data file; receiving a live
commentary data stream, the live commentary stream including
comments generated by a human being interacting with a multiplayer
game in progress; responsive to a call from an executing game
application to determine whether to provide a comment from the
periodic commentary data file, selecting a comment from the
pre-recorded commentary file, the live commentary data stream or a
pre-recorded game content file, and outputting the file to a
user.
10. The method of claim 9 wherein the temporally recent periodic
content comprises recorded comments reflecting real-world events
relevant to actions in the game which have occurred within a time
period prior to execution of the game.
11. The method of claim 10 wherein the stream of live commentary is
generated by a gaming service provider receiving game state
information for a plurality of users all concurrently executing the
video game.
12. The method of claim 11 wherein the step of selecting comprises
determining whether the game state information requires a live
comment type, a temporally relevant content type or a pre-recorded
content type, and further includes determining whether network
bandwidth is available to retrieve the stream.
13. The method of claim 12 wherein the stream of live commentary
includes at least a first set of comments provided by a gaming
service provider relevant to the game and a second source of
comments provided by a third party, and the method further includes
determining whether to provide the second set of comments to the
user.
14. The method of claim 12 wherein a first group of users and a
second group of users are commonly executing the video game in a
common gaming experience, and the stream of live commentary
includes a first set of comments directed to a first group of users
and a second set of comments directed to a second group of users,
and the method further includes the step of determining membership
of the user in the first group or the second group and accessing a
set of comments based on said step of determining membership.
15. A method for providing live commentary in a gaming experience,
comprising: receiving game status information for a plurality of
users participating in a multiplayer game environment, the
multiplayer game environment ensuring all users are participating
in the same game; generating a live commentary data stream, the
live commentary stream including comments provided by a live host
comprising human being interacting with a multiplayer game in
progress; recording at least one periodic commentary file including
temporal commentary for the multiplayer game; streaming the live
commentary data stream to a network, said plurality of users being
coupled to said network; outputting the periodic commentary file to
the network.
16. The method of claim 15 further including the step of
aggregating game status information according to one of a plurality
of statistical categories and providing said aggregated game status
to the live host.
17. The method of claim 15 wherein the temporally recent periodic
content comprises recorded comments reflecting real-world events
relevant to actions in the game which have occurred within a time
period prior to execution of the game, and wherein the method
further includes the step of outputting the periodic content file
at intervals defined by a game service provider.
18. The method of claim 15 wherein the game status information is
received from a console service hosting the game environment.
19. The method of claim 15 wherein the stream of live commentary
includes at least a first set of comments provided by a gaming
service provider relevant to the multiplayer game and a second
source of comments provided by a third party.
20. The method of claim 15 wherein a first group of users and a
second group of users are participating in the multiplayer game,
and the stream of live commentary includes a first set of comments
directed to the first group of users and a second set of comments
directed to the second group of users.
Description
BACKGROUND
[0001] Gaming systems have evolved from those which provided an
isolated gaming experience to networked systems providing a rich,
interactive experience which may be shared in real time between
friends and other gamers. With Microsoft's Xbox.RTM. video game
system and Xbox Live.RTM. online game service, users can now easily
communicate with each other while playing to share the gaming
experience.
[0002] Users can track their own and their friends' progress
through different games is through the concept of game scores and
achievements. Another innovation in current gaming systems is the
ability to quickly and easily download games. For example,
Microsoft introduced a gaming disc known as Microsoft Arcade which
is able to connect to a server through the Internet when the gaming
console is connected to the Internet. From the server site, the
Arcade gaming disc is able to enumerate full version games which
are available for download to the user's hard disc drive on the
XBox console.
[0003] Large scale or "massively multiplayer" games allow large
numbers of players to interact. Currently, console games are
generally limited to multi-user games hosted by one of the console
users.
[0004] Many games seek to inject "realistic" commentary into the
gameplay. This commentary typically includes pre-recorded content
stored with the game which is accessed and presented to the user at
appropriate events in the game or when the state of the game
reaches a certain point. After playing the game for some time, this
pre-recorded content becomes stale and repetitive.
SUMMARY
[0005] Technology is presented which provides a live commentary
experience to a plurality of users participating in a multiplayer
game hosted by a gaming service. A live output stream comprising
live commentary on the game play is providing by a human being from
the gaming service. A gaming device with which a user interacts to
participate in the game determines which of three types of
commentary--pre-recorded game commentary, periodic commentary and
live commentary from a human being--to provide to the user to
provide a live commentary experience.
[0006] In one embodiment, the technology provides a method for
providing a live commentary experience in a video game executing on
a client device. The method includes receiving game state
information from the game that the game is in a state requiring
commentary. Next, a determination is made as to whether a stream of
live commentary generated by a human game is available. Finally, a
determination is made as to whether to provide the stream of live
commentary, a comment from temporally recent periodic content, or a
comment from pre-recorded game content.
[0007] In another embodiment, a method allows a gaming service
provider to provide live commentary in a gaming experience. The
method includes receiving game status information for a plurality
of users participating in a multiplayer game environment. Live
commentary is generated into a data stream. The live commentary
stream includes comments provided by a live host comprising human
being interacting with a multiplayer game in progress. A periodic
commentary file is also recorded which includes temporal commentary
for the multiplayer game. The periodic commentary file is output at
intervals determined by the provider, while the live commentary is
streamed to users in the multiplayer game.
[0008] This Summary is provided to introduce a selection of
concepts in a simplified form that are further described below in
the Detailed Description. This Summary is not intended to identify
key features or essential features of the claimed subject matter,
nor is it intended to be used as an aid in determining the scope of
the claimed subject matter. The claimed subject matter is not
limited to implementations that solve any or all disadvantages
noted in the Background.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] FIG. 1 is an isometric view of an exemplary gaming and media
system.
[0010] FIG. 2 is an exemplary functional block diagram of
components of the gaming and media system shown in FIG. 1.
[0011] FIG. 3 is a block diagram of an exemplary operating
environment for rendering achievement information.
[0012] FIG. 4 is a flow diagram of a method for creating periodic
content.
[0013] FIG. 5 is a flow diagram illustrating the process of
selecting a commentary type for use in a gaming experience.
[0014] FIG. 6 is a flow diagram illustrating a method for filtering
group specific live commentary.
[0015] FIG. 7 is a flow diagram illustrating a method for providing
aggregated game information to a live host.
[0016] FIG. 8 is a flow diagram illustrating a method of filtering
for non-game commentary.
[0017] FIG. 9 illustrates a user interface for live hosting
tools.
DETAILED DESCRIPTION
[0018] The present system will now be described with reference to
FIGS. 1-9, which in general relate to technology providing a live
commentary experience in a shared gaming environment. The
technology selects from three types of commentary--pre-recorded
game commentary, periodic commentary and live commentary from a
human being--which is provided to users sharing a common game. This
provides the users with a more realistic live commentary experience
during play of the game.
[0019] FIG. 1 shows an exemplary gaming and media system 100. The
following discussion of FIG. 1 is intended to provide a brief,
general description of a suitable environment in which concepts
presented herein may be implemented. As shown in FIG. 1, gaming and
media system 100 includes a game and media console (hereinafter
"console") 102. In general, console 102 is one type of computing
system, as will be further described below. Console 102 is
configured to accommodate one or more wireless controllers, as
represented by controllers 104(1) and 104(2). Console 102 is
equipped with an internal hard disk drive (not shown) and a
portable media drive 106 that support various forms of portable
storage media, as represented by optical storage disc 108. Examples
of suitable portable storage media include DVD, CD-ROM, game discs,
and so forth. Console 102 also includes two memory unit card
receptacles 125(1) and 125(2), for receiving removable flash-type
memory units 140. A command button 135 on console 102 enables and
disables wireless peripheral support.
[0020] As depicted in FIG. 1, console 102 also includes an optical
port 130 for communicating wirelessly with one or more devices and
two USB (Universal Serial Bus) ports 110(1) and 110(2) to support a
wired connection for additional controllers, or other peripherals.
In some implementations, the number and arrangement of additional
ports may be modified. A power button 112 and an eject button 114
are also positioned on the front face of game console 102. Power
button 112 is selected to apply power to the game console, and can
also provide access to other features and controls, and eject
button 114 alternately opens and closes the tray of a portable
media drive 106 to enable insertion and extraction of a storage
disc 108.
[0021] Console 102 connects to a television or other display (such
as monitor 150) via A/V interfacing cables 120. In one
implementation, console 102 is equipped with a dedicated A/V port
(not shown) configured for content-secured digital communication
using A/V cables 120 (e.g., A/V cables suitable for coupling to a
High Definition Multimedia Interface "HDMI" port on a high
definition monitor 150 or other display device). A power cable 122
provides power to the game console. Console 102 may be further
configured with broadband capabilities, as represented by a cable
or modem connector 124 to facilitate access to a network, such as
the Internet. The broadband capabilities can also be provided
wirelessly, through a broadband network such as a wireless fidelity
(Wi-Fi) network.
[0022] Each controller 104 is coupled to console 102 via a wired or
wireless interface. In the illustrated implementation, the
controllers 104 are USB-compatible and are coupled to console 102
via a wireless or USB port 110. Console 102 may be equipped with
any of a wide variety of user interaction mechanisms. In an example
illustrated in FIG. 1, each controller 104 is equipped with two
thumbsticks 132(1) and 132(2), a D-pad 134, buttons 136, and two
triggers 138. These controllers are merely representative, and
other known gaming controllers may be substituted for, or added to,
those shown in FIG. 1.
[0023] In one implementation, a memory unit (MU) 140 may also be
inserted into controller 104 to provide additional and portable
storage. Portable MUs enable users to store game parameters for use
when playing on other consoles. In this implementation, each
controller is configured to accommodate two MUs 140, although more
or less than two MUs may also be employed.
[0024] Gaming and media system 100 is generally configured for
playing games stored on a memory medium, as well as for downloading
and playing games, and reproducing pre-recorded music and videos,
from both electronic and hard media sources. With the different
storage offerings, titles can be played from the hard disk drive,
from an optical disk media (e.g., 108), from an online source, or
from MU 140.
[0025] During operation, console 102 is configured to receive input
from controllers 104 and display information on display 150. For
example, console 102 can display a user interface on display 150 to
allow a user to select a game using controller 104 and display
achievement information as discussed below.
[0026] FIG. 2 is a functional block diagram of gaming and media
system 100 and shows functional components of gaming and media
system 100 in more detail. Console 102 has a central processing
unit (CPU) 200, and a memory controller 202 that facilitates
processor access to various types of memory, including a flash Read
Only Memory (ROM) 204, a Random Access Memory (RAM) 206, a hard
disk drive 208, and portable media drive 106. In one
implementation, CPU 200 includes a level 1 cache 210 and a level 2
cache 212, to temporarily store data and hence reduce the number of
memory access cycles made to the hard drive 208, thereby improving
processing speed and throughput.
[0027] CPU 200, memory controller 202, and various memory devices
are interconnected via one or more buses (not shown). The details
of the bus that is used in this implementation are not particularly
relevant to understanding the subject matter of interest being
discussed herein. However, it will be understood that such a bus
might include one or more of serial and parallel buses, a memory
bus, a peripheral bus, and a processor or local bus, using any of a
variety of bus architectures. By way of example, such architectures
can include an Industry Standard Architecture (ISA) bus, a Micro
Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video
Electronics Standards Association (VESA) local bus, and a
Peripheral Component Interconnects (PCI) bus also known as a
Mezzanine bus.
[0028] In one implementation, CPU 200, memory controller 202, ROM
204, and RAM 206 are integrated onto a common module 214. In this
implementation, ROM 204 is configured as a flash ROM that is
connected to memory controller 202 via a PCI bus and a ROM bus
(neither of which are shown). RAM 206 is configured as multiple
Double Data Rate Synchronous Dynamic RAM (DDR SDRAM) modules that
are independently controlled by memory controller 202 via separate
buses (not shown). Hard disk drive 208 and portable media drive 106
are shown connected to the memory controller 202 via the PCI bus
and an AT Attachment (ATA) bus 216. However, in other
implementations, dedicated data bus structures of different types
can also be applied in the alternative.
[0029] A three-dimensional graphics processing unit 220 and a video
encoder 222 form a video processing pipeline for high speed and
high resolution (e.g., High Definition) graphics processing. Data
are carried from graphics processing unit 220 to video encoder 222
via a digital video bus (not shown). An audio processing unit 224
and an audio codec (coder/decoder) 226 form a corresponding audio
processing pipeline for multi-channel audio processing of various
digital audio formats. Audio data are carried between audio
processing unit 224 and audio codec 226 via a communication link
(not shown). The video and audio processing pipelines output data
to an A/V (audio/video) port 228 for transmission to a television
or other display. In the illustrated implementation, video and
audio processing components 220-228 are mounted on module 214.
[0030] FIG. 2 shows module 214 including a USB host controller 230
and a network interface 232. USB host controller 230 is shown in
communication with CPU 200 and memory controller 202 via a bus
(e.g., PCI bus) and serves as host for peripheral controllers
104(1)-104(4). Network interface 232 provides access to a network
(e.g., Internet, home network, etc.) and may be any of a wide
variety of various wire or wireless interface components including
an Ethernet card, a modem, a wireless access card, a Bluetooth
module, a cable modem, and the like.
[0031] In the implementation depicted in FIG. 2, console 102
includes a controller support subassembly 240 for supporting four
controllers 104(1)-104(4). The controller support subassembly 240
includes any hardware and software components needed to support
wired and wireless operation with an external control device, such
as for example, a media and game controller. A front panel I/O
subassembly 242 supports the multiple functionalities of power
button 112, the eject button 114, as well as any LEDs (light
emitting diodes) or other indicators exposed on the outer surface
of console 102. Subassemblies 240 and 242 are in communication with
module 214 via one or more cable assemblies 244. In other
implementations, console 102 can include additional controller
subassemblies. The illustrated implementation also shows an optical
I/O interface 235 that is configured to send and receive signals
that can be communicated to module 214.
[0032] MUs 140(1) and 140(2) are illustrated as being connectable
to MU ports "A" 130(1) and "B" 130(2) respectively. Additional MUs
(e.g., MUs 140(3)-140(6)) are illustrated as being connectable to
controllers 104(1) and 104(3), i.e., two MUs for each controller.
Controllers 104(2) and 104(4) can also be configured to receive MUs
(not shown). Each MU 140 offers additional storage on which games,
game parameters, and other data may be stored. In some
implementations, the other data can include any of a digital game
component, an executable gaming application, an instruction set for
expanding a gaming application, and a media file. When inserted
into console 102 or a controller, MU 140 can be accessed by memory
controller 202.
[0033] A system power supply module 250 provides power to the
components of gaming system 100. A fan 252 cools the circuitry
within console 102.
[0034] An application 260 comprising machine instructions is stored
on hard disk drive 208. When console 102 is powered on, various
portions of application 260 are loaded into RAM 206, and/or caches
210 and 212, for execution on CPU 200, wherein application 260 is
one such example. Various applications can be stored on hard disk
drive 208 for execution on CPU 200.
[0035] Gaming and media system 100 may be operated as a standalone
system by simply connecting the system to monitor 150 (FIG. 1), a
television, a video projector, or other display device. In this
standalone mode, gaming and media system 100 enables one or more
players to play games, or enjoy digital media, e.g., by watching
movies, or listening to music. However, with the integration of
broadband connectivity made available through network interface
232, gaming and media system 100 may further be operated as a
participant in a larger network gaming community, as discussed
below in connection with FIG. 3.
[0036] FIG. 3 provides a block diagram of an environment for
implementing the present technology. In one example, multiple
consoles 300A-300X are coupled to a network 306 and can communicate
with a console service 302 having one or more servers 304 through
network 306. Also present and coupled to the network is a gaming
service provider 350 and one or more gaming service servers 375. In
one embodiment, network 306 comprises the Internet, though other
networks such as LAN or WAN are contemplated. Server(s) 304 include
a communication component capable of receiving information from and
transmitting information to consoles 300A-X and provide a
collection of services that applications running on consoles 300A-X
may invoke and utilize.
[0037] The console service 302 and the gaming service 375 may be
combined and offered by a single service provider and/or on a
single server. Alternatively, the service providers may be
different entities. In yet another embodiment, the gaming service
server may be provided as a product in the form of hardware and
software included on a non-volatile storage medium.
[0038] Consoles 300A-X may invoke user login service 308, which is
used to authenticate a user on consoles 300A-X. During login, login
service 308 obtains a gamer tag (a unique identifier associated
with the user) and a password from the user as well as a console
identifier that uniquely identifies the console that the user is
using and a network path to the console. The gamer tag and password
are authenticated by comparing them to user records 310 in a
database 312, which may be located on the same server as user login
service 308 or may be distributed on a different server or a
collection of different servers. Once authenticated, user login
service 308 stores the console identifier and the network path in
user records 310 so that messages and information may be sent to
the console.
[0039] User records 310 can include additional information about
the user such as game records and friends list. Game records 314
include information for a user identified by a gamer tag and can
include statistics for a particular game, achievements acquired for
a particular game and/or other game specific information as
desired.
[0040] Friends list 316 includes an indication of friends of a user
that are also connected to or otherwise have user account records
with console service 302. The term "friend" as used herein can
broadly refer to a relationship between a user and another gamer,
where the user has requested that the other gamer consent to be
added to the user's friends list, and the other gamer has accepted.
This may be referred to as a two-way acceptance. A two-way friend
acceptance may also be created where another gamer requests the
user be added to the other gamer's friends list and the user
accepts. At this point, the other gamer may also be added to the
user's friends list. While friends will typically result from a
two-way acceptance, it is conceivable that another gamer be added
to a user's friends list, and be considered a "friend," where the
user has designated another gamer as a friend regardless of whether
the other gamer accepts. It is also conceivable that another gamer
will be added to a user's friends list, and be considered a
"friend," where the other user has requested to be added to the
user's friends list, or where the user has requested to be added to
the other gamer's friends list, regardless of whether the user or
other gamer accepts in either case.
[0041] Friends list 316 can be used to create a sense of community
of users of console service 302. Users can select other users to be
added to their friends list 316 and view information about their
friends such as game performance, current online status, friends
list, etc.
[0042] User records 310 also include additional information about
the user including games that have been downloaded by the user and
licensing packages that have been issued for those downloaded
games, including the permissions associated with each licensing
package. Portions of user records 310 can be stored on an
individual console, in database 312 or on both. If an individual
console retains game records 314 and/or friends list 316, this
information can be provided to console service 302 through network
306. Additionally, the console has the ability to display
information associated with game records 314 and/or friends list
316 without having a connection to console service 302.
[0043] Server(s) 304 also include a message service 320 which
permits one console, such as console 300A, to send a message to
another console, such as console 300B. The message service 320 is
known, the ability to compose and send messages from a console of a
user is known, and the ability to receive and open messages at a
console of a recipient is known. Mail messages can include emails,
text messages, voice messages, attachments and specialized in-text
messages known as invites, in which a user playing the game on one
console invites a user on another console to play in the same game
while using network 306 to pass gaming data between the two
consoles so that the two users are playing from the same session of
the game. Friends list 316 can also be used in conjunction with
message service 320.
[0044] In accordance with the technology, a gaming service provider
375 may host a gaming service server 350 to allow a multitude of
users on consoles 300A-300.times.participate in a group game
environment. The group may be as small as two users and may include
hundreds of thousands of users. The gaming service server 350
obtains game data and state information from the console service,
which it uses to provide information to a live host 352 and period
relevant commentator 353 which in turn provides information back to
a local game client 300X. It will be understood that the gaming
service provider 375 and the console service 302 may be integrated
into a single service. Alternatively, the gaming service 375 may
not be managed by the same administrator of the console service
302.
[0045] The gaming service provider 375 employs live individuals
comprising a live host and a period relevant commentator 353. In
one embodiment, the live host and the period relevant commentator
may be the same individual. Gaming service provider 375 operates
one or more gaming service servers. The gaming service server
includes a set of live host tools 380 which aggregate information
from the console service with respect to game status for those
users participating in a group game. Generally, the gaming service
provider 375, in conjunction with the game application 360 and the
commentary controller 365, provides true live commentary a user
running the game application on consoles 300A-300X. The commentary
controller may be incorporated into the operating system of the
console, or may be a separate application running on the console,
having an application programming interface (API) which is
accessible by game applications 360 designed to work with a gaming
service 375 and the commentary controller 365. Generally, the
commentary controller chooses amongst available commentary types,
including live commentary specific to each shared game, to provide
a live commentary experience for those users who are members of a
group game hosted by the gaming service provider 375.
[0046] Console 300X illustrates functional components which may be
present on each of the consoles 300A-300X. Each console may be of a
type such as that illustrated in FIGS. 1 and 2, in which embodiment
the functional components may comprise one or more sets of
instructions or applications instructing the processor 200 to
perform the functions described herein.
[0047] In general, three types of commentary are available to a
game application 360: game specific pre-recorded commentary 362;
period relevant recorded commentary 364 and live commentary 385.
Game specific pre-recorded commentary is pre-recorded commentary
which accompanies a game application 360 which is generated by game
events 355 which occur in an executing game application 360 and
which the application plays to a user to simulate commentary on the
game. It generally comprises a bank of audio that uses random seeds
and weightings to select an audio clip from a database and play it
in the experience to appear somewhat live. Generally this
commentary is scripted purely to the experience and does not
contain references to real life events, unless the game is somewhat
period set so that it can be contextually relevant. Examples of
this kind of commentary today exist in sports games with the
commentator announcing the plays and players names, game variables
my weight the exact phrase chosen to allow for the excitement when
a player is nearing scoring or a win loss situation. For example,
when the game application is a golf game and the user makes a
particularly close shot, game specific pre-recorded commentary may
indicate "good shot" from a "professional" announcer who simulates
a broadcast announcer to the user. Normally, there are a limited
number of game specific pre-recorded commentaries which can be
returned to the user and after a certain number of repetitions of
the game, the user exhausts all of the game specific pre-recorded
commentary.
[0048] In accordance with the present technology, two additional
types of commentary are provided. Period relevant recorded
commentary 364 is commentary which is recorded by the game service
provider 375 based on information which is temporally relevant to
the game. Period relevant commentary brings in temporally relevant
events which may have occurred in the news relative to the game.
Examples of this type of commentary include, in the case of the
sports game example, reference to player's current stats in the
real world, something going on in the players life off the field,
or general news worthy items that may be relevant to the sport or
game activity. For example the commentary may reference a player's
girlfriend or that they had just broken up and it may be impacting
their play on the field. In the above golf game example, if one of
the golfers participating in the game as simulating, for example, a
professional golfer, and the professional golfer recently won a
tournament, period relevant commentary may insert a comment
relating to this recent tournament win at an appropriate point in
the game application. This type of commentary includes temporally
relevant real world events having a relation to the game
experience. In accordance with the technology, a period relevant
commentator 353 records period relevant commentary at regular
intervals and the period relevant commentary may be downloaded to
the local game client by the adaptive commentary controller 365 at
appropriate intervals.
[0049] The third type of commentary available to the game
application 360 is a live commentary stream 385. A live commentary
stream 385 is generated by a live host 352 employed by the gaming
service provider 375. Using live host tools 380, a live host 352
can monitor the status of a group game, and provide live commentary
which is converted to a stream of audio information by encoder 390
and streamed directly to a local game client 385. The live
commentary stream is truly live commentary which allows a live
human being to add comments into the game play experience that may
call out a particular players performance by gamer tag, or add
color commentary to team play, such as saying that East is
outperforming the West coast on a particular question in a trivia
game. In one embodiment, the encoder outputs the stream in Windows
Media Audio format.
[0050] Commentary provided by the live host 352 can take many
forms. In one example, the live host can monitor the status of a
golf game between, for example, a user on console 300A and a user
on console 300X. If one of the users makes a particularly good shot
in a golf game, and that user is trailing in a golf match, the live
commentator can note this fact and comment on the fact that the
good shot will increase the trailing user's chances of catching up
in the match. In this example, two users are described as playing a
golf game. An alternative embodiment exists where a larger number
of consoles and users are participating in a hosted game event. In
this case, because the number of users is exceeding large, the live
host tools 380 will aggregate game status information 320 provided
by the console service into more generalized categories for the
live host 352. In this example, the live host can initiate
commentary which is relevant to certain groups of users or trends
which may be occurring within the game. In one example, a quiz show
game may pit one user against a multitude of users, asking both the
multitude and the individual user a question with the results of
game play determined on the success of the individual user versus
the multitude of users. The live host tools can aggregate, for
example, age groups of people in the group game who were successful
or unsuccessful in answering a question, how successful people in a
particular geographic region were in answering the question, or
other factors which may be of interest to those people playing the
game. Commentary can then be generated which notes particular game
trends by region or age group, or other items of interest to a
level reflecting achievements of individual users in the current
game or other games.
[0051] Live commentary by the live host 352 will be recorded and
encoded by encoder 390 and output as a stream which is available to
the local game clients 300A-300X. As discussed below, when game
events 355 indicate that commentary is desirable for the executing
game application 360, the adaptive commentary controller will
choose between live commentary, period relevant commentary, or game
specific pre-recorded commentary based on a number of factors.
[0052] FIG. 4 illustrates a method for creating and outputting
periodic content information to the local game client 300. As
illustrated in FIG. 4, temporally relevant content events at 401
are aggregated over some period at step 403 until a threshold is
reached for recording the periodic content file. This threshold may
be a period of time such as a day, week or month, or may be based
on having a specific number of periodic content comments generated.
Once a sufficient number of periodic content has been accumulated,
or after a specific time interval, periodic content is recorded at
step 407 and a download file generated at step 409. At step 411,
the download file is output to each local game client and stored as
period relevant recorded commentary 364 on the console.
[0053] FIG. 5 illustrates the method performed by the adaptive
commentary controller 365 for choosing between the three types of
commentary available to a particular game application. Steps
occurring in FIG. 5 within box 450 are generally performed by the
application, while others are performed by the commentary
controller. However, all steps in FIG. 5 may be incorporated into
the application itself. At step 402, the adaptive commentary
controller will check to determine whether or not periodic content
is available for download. If a periodic content file 364 is
available for download, then it will download the periodic content
file at step 404. This process can operate at any point in time
when the local client is operating, and can operate irrespective of
whether the game application 360 is executing.
[0054] At some point before, during or after step 404, a game
application 360 executes at step 406. The game application in this
context will utilize the services of the console service to join a
shared game. Participants in the shared game need not be friends in
the context of the console service, but are all participating in a
group game while the game application is active on their console.
During game play, game events 355 will occur within the game and
will change the status of the game. At step 408, a game event which
changes the game status will occur. When the game reaches a
particular game status, a determination will be made by the game
application as to whether a comment is needed at step 410. As noted
above, the game application 360 is adapted to take advantage of the
availability of live commentary and periodic recorded commentary.
Hence, at step 412, the game will return whether the comment is
needed at step 410 and the type of comment--whether a live comment
type, period comment type or pre-recorded comment type, at step
412.
[0055] If a live comment is desirable at step 412, then at step
416, a determination is made as to whether or not the live stream
is available. The live stream may not be available for any number
of reasons. There may be no commentary being recorded, for example.
If the live stream is available at step 416, then a determination
will be made as to whether bandwidth is available to retrieve the
live stream at step 418. The bandwidth test at step 418 ensures
that the large number of people using the game is not straining the
bandwidth of the service provider. Alternatively, the gaming
console may become disconnected from the network, causing no
bandwidth to be available. If bandwidth is available, then that
commentary being streamed at that time will be presented to the
user at step 420. If the comment type is not a live comment type
(step 412), or if the live stream is not available (step 416) or
bandwidth is not available (step 418), then a determination will be
made as to whether or not a periodic commentary type is suitable at
step 414. If the periodic commentary type is suitable, then at step
422, a determination will be made as to whether or not the periodic
commentary is available. Situations may occur where the periodic
commentary is not available when the game is initialized for the
first time and periodic commentary has not been downloaded, or the
file has been deleted from permanent storage in the local game
client due to space considerations. If the periodic commentary is
available, it will be used at step 424. If not, or if the type of
commentary calls for pre-recorded commentary, pre-recorded
commentary will be used at step 422. Following use of the comment,
the process returns to step 408 to await the next status changing
event requiring commentary.
[0056] FIG. 6 illustrates a further embodiment of the technology
wherein a group filter is implemented so that live commentary can
be segregated to different groups in a gaming event. In the
embodiment shown in FIG. 6, an exemplary use would be to direct
specific messages to one of two groups who are competing against
each other. The group filter 510 allows one group to receive
comments directed to them, while filtering out comments from other
groups.
[0057] Group messaging in this context is controlled by the game
play status and by blocking or allowing live commentary based on
game status to individual groups. Depending on the type of
commentary required, periodic comments or pre-recorded comments can
be used as well. When a group specific game event occurs in a game
at step 508, then a determination is made at step 510 whether the
user playing the game is a member of the group for whom a message
is needed. If the user is not a member of the group, then the
method may return to step 508 to await another group specific
event. Alternatively, the method may proceed to step 424 to play
game selected period comment types or pre-recorded commentary.
[0058] If the user is a member of a designated group, and a comment
is desired at step 512 and the method proceeds to steps 416 and
418, which are equivalent to those in FIG. 5. If a live stream is
not available, then at step 424, a determination is made as to
whether it is appropriate to utilize other types of comments in
place of the live stream commentary. IF so, then pre-recorded or
periodic commentary is used at steps 420, 422,424, as in FIG. 5. At
step 426, the method waits for additional game events (step 408) or
group specific events (step 508).
[0059] FIG. 7 illustrates a method performed by the live host tools
380 to provide information to a live host 352. At step 702, game
play data is received from the console service. The game play data
can include specific events, or game state information by
individual user or for the aggregate of all users participating in
the hosted game provided by the gaming service provider. Filtering
of the information provided to the gaming service provider 375 can
occur by the console service, or by the gaming service provider. At
step 704, the live host tools aggregate game events and game status
by, for example, category, statistic, or common interest for users
in the group. For example, geographic information regarding the
game play of users in a particular geographic region, users for a
particular age group, or other common factors may be aggregated
into statistical output and provided to the live host 352. At step
706, a determination is made as to whether any of the factors, or
aggregate data, should generate commentary from the live host 352.
If live host determines that a comment is suitable, then at step
708 a live host 352 will provide a comment into the live data
stream. At step 710, the stream is encoded into, for example, WMA
format or other suitable formats, and output into a stream via the
network at step 712. The stream can be directed to a particular
port on the console and the adaptive commentary controller can seek
the stream at any of the aforementioned steps 416 when a live
comment is necessary from the stream.
[0060] In certain situations, the content provided into the live
commentary stream may be provided from alternative sources. For
example, the console service provider may seek to interject service
notifications into the stream, or an advertiser may seek to input
advertisements into the live commentary stream.
[0061] FIG. 8 illustrates a method performed by the adaptive
commentary controller to filter out live commentary which is not
suitable for use in the gaming environment being used. At step 802,
a determination will be as to whether or not the game state is in a
suitable status to receive commentary from another input source. If
the user is in the middle of a game, for example in the middle of
answering a question in a quiz game, then it is likely that the
user would not wish to receive live commentary at that particular
point in time. As a result, comments will be blocked at step 808
and the method will wait until game state is suitable for
alternative sourced comments. At step 802, if the game state is
suitable for alternative sourced comments, at step 804 the method
will determine whether or not the user or the game manufacturer,
has implemented a non-game commentary filter. A non-game commentary
filter can block non-game related comments from alternative
sources. The non-game filter can be active based on the gaming
service provider's 375 particular instructions, or the game
manufacturer's instructions. In one embodiment, the game
application will be downloaded specifically from the game service
provider 375 and instructions with respect to the non-game filter
being active or inactive can be set by the game service provider.
If the game service filter is active, then the commentary regarding
non-game activities will be blocked at step 808. If the non-game
commentary filter is not active, then at step 806 the method then
the method will determine whether the live stream is available. If
the live stream is available, then at step 814 the method will
determine whether bandwidth is available to receive the live
commentary and if so at step 816 will use live commentary. The
method then returns to wait for additional events at step 818.
[0062] FIG. 9 is a user interface illustrating the output of the
live host tools which may be presented to a live host 352. As
indicated in FIG. 9, the live host 352 may be presented with a
number of different data sets which are aggregates of information
provided by the live host tools as a result of the game status
information 320. For example, in FIG. 9, the live host 352 has
access to a list of all the individual users in a game (902), those
users which are the highest scoring users in the game (904), those
users scoring the last answer correctly (906), the users with the
most correct answers (908), the correct number or percentage of
answers by a particular geographic region (910), and/or the
incorrect answers by a particular geographic region (912).
Additionally, a user may select one of the individual users listed
in any of the aforementioned data sets 902, 904, 906, 908, 910,
912, and obtain additional information regarding the individual
game or tag information at 920. The game or tag information can
indicate that the user individual tag name, the individual's
avatar, and specific achievements which are saved in the user
account records 310 of the console service. The live hose 352 may
also the leader board service 318 of the present game or other
games in which a user or users may participate in a view pane 925
to determine to find out if the particular gamer has additional
achievements in other games. All this information can be utilized
to generate comments which result in commentary being provided into
the stream.
[0063] As a result of the aforementioned technology, a live
commentary experience is provided in a common gaming experience for
a plurality of users sharing the same game. As few as two and as
many as hundreds of thousands of users participating in the same
game will be receiving information which is up to date with respect
to the particular game they are playing. Advantageously, more
limited temporal comments such as identifying a particular region
which is scoring best in this particular game play, rather than
commentary on individual events, are best served by the present
technology.
[0064] While the technology has been described above with respect
to gaming consoles, it will be recognized that the technology does
not require specific gaming consoles and may be performed on
general purpose computing devices.
[0065] The foregoing detailed description of the inventive system
has been presented for purposes of illustration and description. It
is not intended to be exhaustive or to limit the inventive system
to the precise form disclosed. Many modifications and variations
are possible in light of the above teaching. The described
embodiments were chosen in order to best explain the principles of
the inventive system and its practical application to thereby
enable others skilled in the art to best utilize the inventive
system in various embodiments and with various modifications as are
suited to the particular use contemplated. It is intended that the
scope of the inventive system be defined by the claims appended
hereto.
* * * * *