U.S. patent application number 11/413478 was filed with the patent office on 2007-11-15 for method, apparatus and computer program product for providing a consistent virtual entity.
This patent application is currently assigned to Nokia Corporation. Invention is credited to Juha Arrasvuori.
Application Number | 20070265093 11/413478 |
Document ID | / |
Family ID | 38685819 |
Filed Date | 2007-11-15 |
United States Patent
Application |
20070265093 |
Kind Code |
A1 |
Arrasvuori; Juha |
November 15, 2007 |
Method, apparatus and computer program product for providing a
consistent virtual entity
Abstract
An apparatus for providing a consistent virtual entity includes
a historical event element and a communication element. The
historical event element is configured to store historical
information based on previously played games related to a virtual
entity. The communication element is in communication with the
historical element and configured to receive an indication of a
particular game related event occurring in a particular game
application. The communication element is configured to provide a
message including template content and the historical information
to a player of the particular game application in response to
receipt of the indication.
Inventors: |
Arrasvuori; Juha; (Tampere,
FI) |
Correspondence
Address: |
ALSTON & BIRD LLP
BANK OF AMERICA PLAZA
101 SOUTH TRYON STREET, SUITE 4000
CHARLOTTE
NC
28280-4000
US
|
Assignee: |
Nokia Corporation
|
Family ID: |
38685819 |
Appl. No.: |
11/413478 |
Filed: |
April 28, 2006 |
Current U.S.
Class: |
463/42 |
Current CPC
Class: |
G07F 17/32 20130101;
G07F 17/3227 20130101; G07F 17/3223 20130101 |
Class at
Publication: |
463/042 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
Claims
1. A method comprising: receiving an indication of a particular
game related event occurring in a particular game application; and
providing a message to a player of the particular game application
in response to receipt of the indication, the message including
template content and historical information based on a previous
performance associated with a virtual entity.
2. A method according to claim 1, further comprising an initial
operation of receiving input to define a communication style of the
virtual entity.
3. A method according to claim 2, wherein receiving input to define
the communication style of the virtual entity comprises receiving
input defining a scaled value for each of a plurality of
communication dimensions.
4. A method according to claim 2, further comprising modifying the
communication style of the virtual entity during execution of the
particular game application.
5. A method according to claim 1, further comprising storing data
related to the particular game application for use as historical
information in future game applications.
6. A method according to claim 1, further comprising receiving one
of changes or additions to the template content.
7. A method according to claim 1, further comprising defining a
specific template content as being eligible for selection for
inclusion in the message in response to each particular game
related event.
8. A method according to claim 1, wherein providing the message
comprises providing the message including the historical
information defined by information related to past games involving
one of the player or the virtual entity independent of the
particular game application.
9. A method according to claim 1, further comprising selecting
particular items from preprogrammed content via a probabilistic
determination based on the communication style of the virtual
entity.
10. A computer program product comprising at least one
computer-readable storage medium having computer-readable program
code portions stored therein, the computer-readable program code
portions comprising: a first executable portion for receiving an
indication of a particular game related event occurring in a
particular game application; and a second executable portion for
providing a message to a player of the particular game application
in response to receipt of the indication, the message including
template content and historical information based on a previous
performance associated with a virtual entity.
11. A computer program product according to claim 10, further
comprising a third executable portion for an initial operation of
receiving input to define a communication style of the virtual
entity.
12. A computer program product according to claim 11, wherein the
third executable portion includes instructions for receiving input
defining a scaled value for each of a plurality of communication
dimensions.
13. A computer program product according to claim 11, further
comprising a fourth executable portion for modifying the
communication style of the virtual entity during execution of the
particular game application.
14. A computer program product according to claim 11, further
comprising a fourth executable portion for selecting particular
items from preprogrammed content via a probabilistic determination
based on the communication style of the virtual entity
15. A computer program product according to claim 10, further
comprising a third executable portion for storing data related to
the particular game application for use as historical information
in future game applications.
16. A computer program product according to claim 10, further
comprising a third executable portion for receiving one of changes
or additions to the template content.
17. A computer program product according to claim 10, further
comprising a third executable portion for defining a specific
template content as being eligible for selection for inclusion in
the message in response to each particular game related event.
18. A computer program product according to claim 10, wherein the
second executable portion includes instructions for providing the
message including the historical information defined by information
related to past games involving one of the player or the virtual
entity independent of the particular game application.
19. An apparatus comprising: a historical event element configured
to store historical information based on previously played games
related to a virtual entity; and a communication element in
communication with the historical element and configured to:
receive an indication of a particular game related event occurring
in a particular game application; and provide a message including
template content and the historical information to a player of the
particular game application in response to receipt of the
indication.
20. An apparatus according to claim 19, further comprising an
entity management element in communication with the communication
element and the historical event element receiving input to define
a communication style of the virtual entity.
21. An apparatus according to claim 20, wherein the entity
management element is capable of receiving input defining a scaled
value for each of a plurality of communication dimensions.
22. An apparatus according to claim 20, wherein the entity
management element is configured to enable modification of the
communication style of the virtual entity during execution of the
particular game application.
23. An apparatus according to claim 20, wherein the communication
element is configured to select particular items from preprogrammed
content via a probabilistic determination based on the
communication style of the virtual entity.
24. An apparatus according to claim 19, wherein the historical
event element is configured to store data related to the particular
game application for use as historical information in future game
applications.
25. An apparatus according to claim 19, wherein the communication
element is configured to receive one of changes or additions to the
template content.
26. An apparatus according to claim 19, wherein the communication
element is configured to enable definition of a specific template
content as being eligible for selection for inclusion in the
message in response to each particular game related event.
27. An apparatus according to claim 19, wherein providing the
message comprises providing the message including the historical
information defined by information related to past games involving
one of the player or the virtual entity independent of the
particular game application.
28. An apparatus according to claim 19, wherein the apparatus is
embodied as a mobile terminal and the message is capable of being
provided for a plurality of game applications related to the same
virtual entity.
29. An apparatus according to claim 19, wherein the apparatus is
embodied as a network device and the message is capable of being
provided via a plurality of host devices for a plurality of game
applications related to the same virtual entity.
30. An apparatus comprising: means for receiving an indication of a
particular game related event occurring in a particular game
application; and means for providing a message to a player of the
particular game application in response to receipt of the
indication, the message including template content and historical
information based on previous performance associated with a virtual
entity.
Description
TECHNOLOGICAL FIELD
[0001] Embodiments of the present invention relate generally to
gaming technology and, more particularly, relate to a method,
apparatus, and computer program product for providing a consistent
virtual entity such as a virtual opponent.
BACKGROUND
[0002] The modem communications era has brought about a tremendous
expansion of wireline and wireless networks. Computer networks,
television networks, and telephony networks are experiencing an
unprecedented technological expansion, fueled by consumer demand.
Wireless and mobile networking technologies have addressed related
consumer demands, while providing more flexibility and immediacy of
information transfer.
[0003] Current and future networking technologies continue to
facilitate ease of information transfer and convenience to users.
One area in which there is a demand to increase ease of information
transfer relates to the delivery of services to a user of a mobile
terminal. The services may be in the form of a particular media or
communication application desired by the user, such as a music
player, a game player, an electronic book, short messages, email,
etc. The services may also be in the form of interactive
applications in which the user may respond to a network device in
order to perform a task or achieve a goal. The services may be
provided from a network server or other network device, or even
from the mobile terminal such as, for example, a mobile telephone,
a mobile television, a mobile gaming system, etc.
[0004] Gaming applications have become common on mobile telephones
and other mobile terminals. Additionally, certain mobile terminals
such as mobile gaming systems specialize in delivery of gaming
applications to mobile terminal users. Users of such mobile
terminals may engage in games involving other human players,
computer players known as virtual players, or combinations of human
and virtual players. Such virtual players may be implemented, for
example, using artificial intelligence. In such gaming
applications, it is common for a user's enjoyment of a game to at
least partly be influenced by interaction with other players. For
example, human players have quite varied skill levels and styles of
play. Additionally, human players generally improve over time and
may even alter their style of play at any given time. Such variety
often improves the game playing experience.
[0005] Accordingly, when playing a game with one or more virtual
players, a significant aspect of the game playing experience may be
lost. In an attempt to rectify some of the shortcomings of virtual
players, current game developers have attempted to create more
complex virtual players by giving the virtual players a
"personality" which defines a style of play for the virtual
players. For example, some virtual players may be aggressive, while
others are conservative. Additionally, virtual players may improve
in skill as they continue to play. However, such virtual players
are often confined to a single game or platform. Additionally,
there are still other aspects of the gaming experience that such
virtual opponents are currently not able to mimic. For example,
human players might verbally (through text or audio) challenge,
complement, tease or otherwise engage the user in conversation
related to the gaming experience. Such conversation may be related
to past experiences with a particular player and often enriches the
game playing experience by adding to the interest level of those
involved in the game. Additionally, such conversation may impact
the game play since certain players may alter their style of play
based on the conversation. Virtual players typically lack such
conversational skills.
[0006] Accordingly, it may be desirable to develop a virtual
opponent that does not suffer from the limitations described above
in order to enrich the game playing experience of those human
players playing a particular game.
BRIEF SUMMARY
[0007] A method, apparatus and computer program product are
therefore provided to create a consistent virtual opponent which
can generate conversation related to past events involving a human
player. In particular, a method, apparatus and computer program
product are provided that allow a user, for example, of a mobile
terminal or other gaming device, to create a virtual player or
opponent that can be consistent throughout various different games
or even various gaming platforms. The virtual player can generate
communications directed at one or more human players which are
related to past events involving the one or more human players.
Accordingly, the game playing experience of human players may be
enriched.
[0008] In one exemplary embodiment, a method of providing a
consistent virtual opponent is provided. The method includes
receiving an indication of a particular game related event
occurring in a particular game application, and providing a message
to a player of the particular game application in response to
receipt of the indication. The message includes template content
and historical information related to a virtual entity.
[0009] In another exemplary embodiment, a computer program product
for providing a consistent virtual opponent is provided. The
computer program product includes at least one computer-readable
storage medium having computer-readable program code portions
stored therein. The computer-readable program code portions include
first and second executable portions. The first executable portion
is for receiving an indication of a particular game related event
occurring in a particular game application. The second executable
portion is for providing a message to a player of the particular
game application in response to receipt of the indication. The
message includes template content and historical information
related to a virtual entity.
[0010] In another exemplary embodiment, an apparatus for providing
a consistent virtual opponent is provided. The apparatus includes a
historical event element and a communication element. The
historical event element is configured to store historical
information based on previously played games related to a virtual
entity. The communication element is in communication with the
historical element and configured to receive an indication of a
particular game related event occurring in a particular game
application. The communication element is configured to provide a
message including template content and the historical information
to a player of the particular game application in response to
receipt of the indication.
[0011] In another exemplary embodiment, an apparatus for providing
a consistent virtual opponent is provided. The apparatus includes
means for receiving an indication of a particular game related
event occurring in a particular game application, and means for
providing a message to a player of the particular game application
in response to receipt of the indication. The message includes
template content and historical information related to a virtual
entity.
[0012] Embodiments of the invention may provide a method, apparatus
and computer program product for advantageous employment in a
gaming environment, such as on a mobile terminal capable of
executing gaming applications. As a result, for example, mobile
terminal users may enjoy an improved game playing experience.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)
[0013] Having thus described embodiments of the invention in
general terms, reference will now be made to the accompanying
drawings, which are not necessarily drawn to scale, and
wherein:
[0014] FIG. 1 is a schematic block diagram of a mobile terminal
according to an exemplary embodiment of the present invention;
[0015] FIG. 2 is a schematic block diagram of a wireless
communications system according to an exemplary embodiment of the
present invention;
[0016] FIG. 3 illustrates a block diagram of portions of a system
for providing a consistent virtual entity according to an exemplary
embodiment of the present invention; and
[0017] FIG. 4 is a block diagram according to an exemplary method
for providing a consistent virtual entity according to an exemplary
embodiment of the present invention.
DETAILED DESCRIPTION
[0018] Embodiments of the present invention will now be described
more fully hereinafter with reference to the accompanying drawings,
in which some, but not all embodiments of the invention are shown.
Indeed, embodiments of the invention may be embodied in many
different forms and should not be construed as limited to the
embodiments set forth herein; rather, these embodiments are
provided so that this disclosure will satisfy applicable legal
requirements. Like reference numerals refer to like elements
throughout.
[0019] FIG. 1 illustrates a block diagram of a mobile terminal 10
that would benefit from embodiments of the present invention. It
should be understood, however, that a mobile telephone as
illustrated and hereinafter described is merely illustrative of one
type of mobile terminal that would benefit from embodiments of the
present invention and, therefore, should not be taken to limit the
scope of embodiments of the present invention. While several
embodiments of the mobile terminal 10 are illustrated and will be
hereinafter described for purposes of example, other types of
mobile terminals, such as portable digital assistants (PDAs),
pagers, mobile televisions, gaming devices, laptop computers and
other types of voice and text communications systems, can readily
employ embodiments of the present invention.
[0020] In addition, while several embodiments of the method of the
present invention are performed or used by a mobile terminal 10,
the method may be employed by other than a mobile terminal.
Moreover, the system and method of embodiments of the present
invention will be primarily described in conjunction with mobile
communications applications. It should be understood, however, that
the system and method of embodiments of the present invention can
be utilized in conjunction with a variety of other applications,
both in the mobile communications industries and outside of the
mobile communications industries.
[0021] The mobile terminal 10 includes an antenna 12 in operable
communication with a transmitter 14 and a receiver 16. The mobile
terminal 10 further includes a controller 20 or other processing
element that provides signals to and receives signals from the
transmitter 14 and receiver 16, respectively. The signals include
signaling information in accordance with the air interface standard
of the applicable cellular system, and also user speech and/or user
generated data. In this regard, the mobile terminal 10 is capable
of operating with one or more air interface standards,
communication protocols, modulation types, and access types. By way
of illustration, the mobile terminal 10 is capable of operating in
accordance with any of a number of first, second and/or
third-generation communication protocols or the like. For example,
the mobile terminal 10 may be capable of operating in accordance
with second-generation (2G) wireless communication protocols IS-136
(TDMA), GSM, and IS-95 (CDMA), or with third-generation (3G)
wireless communication protocols, such as UMTS, CDMA2000, and
TD-SCDMA.
[0022] It is understood that the controller 20 includes circuitry
required for implementing audio and logic functions of the mobile
terminal 10. For example, the controller 20 may be comprised of a
digital signal processor device, a microprocessor device, and
various analog to digital converters, digital to analog converters,
and other support circuits. Control and signal processing functions
of the mobile terminal 10 are allocated between these devices
according to their respective capabilities. The controller 20 thus
may also include the functionality to convolutionally encode and
interleave message and data prior to modulation and transmission.
The controller 20 can additionally include an internal voice coder,
and may include an internal data modem. Further, the controller 20
may include functionality to operate one or more software programs,
which may be stored in memory. For example, the controller 20 may
be capable of operating a connectivity program, such as a
conventional Web browser. The connectivity program may then allow
the mobile terminal 10 to transmit and receive Web content, such as
location-based content, according to a Wireless Application
Protocol (WAP), for example.
[0023] The mobile terminal 10 also comprises a user interface
including an output device such as a conventional earphone or
speaker 24, a ringer 22, a microphone 26, a display 28, and a user
input interface, all of which are coupled to the controller 20. The
user input interface, which allows the mobile terminal 10 to
receive data, may include any of a number of devices allowing the
mobile terminal 10 to receive data, such as a keypad 30, a touch
display (not shown) or other input device. In embodiments including
the keypad 30, the keypad 30 may include the conventional numeric
(0-9) and related keys (#, *), and other keys used for operating
the mobile terminal 10. Alternatively, the keypad 30 may include a
conventional QWERTY keypad arrangement. The keypad 30 may also
include various soft keys with associated functions. In addition,
or alternatively, the mobile terminal 10 may include an interface
device such as a joystick or other user input interface. The mobile
terminal 10 further includes a battery 34, such as a vibrating
battery pack, for powering various circuits that are required to
operate the mobile terminal 10, as well as optionally providing
mechanical vibration as a detectable output.
[0024] The mobile terminal 10 may further include a universal
identity element (UIM) 38. The UIM 38 is typically a memory device
having a processor built in. The UIM 38 may include, for example, a
subscriber identity element (SIM), a universal integrated circuit
card (UICC), a universal subscriber identity element (USIM), a
removable user identity element (R-UIM), etc. The UIM 38 typically
stores information elements related to a mobile subscriber. In
addition to the UIM 38, the mobile terminal 10 may be equipped with
memory. For example, the mobile terminal 10 may include volatile
memory 40, such as volatile Random Access Memory (RAM) including a
cache area for the temporary storage of data. The mobile terminal
10 may also include other non-volatile memory 42, which can be
embedded and/or may be removable. The non-volatile memory 42 can
additionally or alternatively comprise an EEPROM, flash memory or
the like, such as that available from the SanDisk Corporation of
Sunnyvale, Calif., or Lexar Media Inc. of Fremont, Calif. The
memories can store any of a number of pieces of information, and
data, used by the mobile terminal 10 to implement the functions of
the mobile terminal 10. For example, the memories can include an
identifier, such as an international mobile equipment
identification (IMEI) code, capable of uniquely identifying the
mobile terminal 10.
[0025] Referring now to FIG. 2, an illustration of one type of
system that would benefit from embodiments of the present invention
is provided. The system includes a plurality of network devices. As
shown, one or more mobile terminals 10 may each include an antenna
12 for transmitting signals to and for receiving signals from a
base site or base station (BS) 44. The base station 44 may be a
part of one or more cellular or mobile networks each of which
includes elements required to operate the network, such as a mobile
switching center (MSC) 46. As well known to those skilled in the
art, the mobile network may also be referred to as a Base
Station/MSC/Interworking function (BMI). In operation, the MSC 46
is capable of routing calls to and from the mobile terminal 10 when
the mobile terminal 10 is making and receiving calls. The MSC 46
can also provide a connection to landline trunks when the mobile
terminal 10 is involved in a call. In addition, the MSC 46 can be
capable of controlling the forwarding of messages to and from the
mobile terminal 10, and can also control the forwarding of messages
for the mobile terminal 10 to and from a messaging center. It
should be noted that although the MSC 46 is shown in the system of
FIG. 2, the MSC 46 is merely an exemplary network device and
embodiments of the present invention are not limited to use in a
network employing an MSC.
[0026] The MSC 46 can be coupled to a data network, such as a local
area network (LAN), a metropolitan area network (MAN), and/or a
wide area network (WAN). The MSC 46 can be directly coupled to the
data network. In one typical embodiment, however, the MSC 46 is
coupled to a GTW 48, and the GTW 48 is coupled to a WAN, such as
the Internet 50. In turn, devices such as processing elements
(e.g., personal computers, server computers or the like) can be
coupled to the mobile terminal 10 via the Internet 50. For example,
as explained below, the processing elements can include one or more
processing elements associated with a computing system 52 (two
shown in FIG. 2), origin server 54 (one shown in FIG. 2) or the
like, as described below.
[0027] The BS 44 can also be coupled to a signaling GPRS (General
Packet Radio Service) support node (SGSN) 56. As known to those
skilled in the art, the SGSN 56 is typically capable of performing
functions similar to the MSC 46 for packet switched services. The
SGSN 56, like the MSC 46, can be coupled to a data network, such as
the Internet 50. The SGSN 56 can be directly coupled to the data
network. In a more typical embodiment, however, the SGSN 56 is
coupled to a packet-switched core network, such as a GPRS core
network 58. The packet-switched core network is then coupled to
another GTW 48, such as a GTW GPRS support node (GGSN) 60, and the
GGSN 60 is coupled to the Internet 50. In addition to the GGSN 60,
the packet-switched core network can also be coupled to a GTW 48.
Also, the GGSN 60 can be coupled to a messaging center. In this
regard, the GGSN 60 and the SGSN 56, like the MSC 46, may be
capable of controlling the forwarding of messages, such as MMS
messages. The GGSN 60 and SGSN 56 may also be capable of
controlling the forwarding of messages for the mobile terminal 10
to and from the messaging center.
[0028] In addition, by coupling the SGSN 56 to the GPRS core
network 58 and the GGSN 60, devices such as a computing system 52
and/or origin server 54 may be coupled to the mobile terminal 10
via the Internet 50, SGSN 56 and GGSN 60. In this regard, devices
such as the computing system 52 and/or origin server 54 may
communicate with the mobile terminal 10 across the SGSN 56, GPRS
core network 58 and the GGSN 60. By directly or indirectly
connecting mobile terminals 10 and the other devices (e.g.,
computing system 52, origin server 54, etc.) to the Internet 50,
the mobile terminals 10 may communicate with the other devices and
with one another, such as according to the Hypertext Transfer
Protocol (HTTP), to thereby carry out various functions of the
mobile terminals 10.
[0029] Although not every element of every possible mobile network
is shown and described herein, it should be appreciated that the
mobile terminal 10 may be coupled to one or more of any of a number
of different networks through the BS 44. In this regard, the
network(s) can be capable of supporting communication in accordance
with any one or more of a number of first-generation (I G),
second-generation (2G), 2.5G and/or third-generation (3G) mobile
communication protocols or the like. For example, one or more of
the network(s) can be capable of supporting communication in
accordance with 2G wireless communication protocols IS-136 (TDMA),
GSM, and IS-95 (CDMA). Also, for example, one or more of the
network(s) can be capable of supporting communication in accordance
with 2.5G wireless communication protocols GPRS, Enhanced Data GSM
Environment (EDGE), or the like. Further, for example, one or more
of the network(s) can be capable of supporting communication in
accordance with 3G wireless communication protocols such as
Universal Mobile Telephone System (UMTS) network employing Wideband
Code Division Multiple Access (WCDMA) radio access technology. Some
narrow-band AMPS (NAMPS), as well as TACS, network(s) may also
benefit from embodiments of the present invention, as should dual
or higher mode mobile stations (e.g., digital/analog or
TDMA/CDMA/analog phones).
[0030] The mobile terminal 10 can further be coupled to one or more
wireless access points (APs) 62. The APs 62 may comprise access
points configured to communicate with the mobile terminal 10 in
accordance with techniques such as, for example, radio frequency
(RF), Bluetooth (BT), infrared (IrDA) or any of a number of
different wireless networking techniques, including wireless LAN
(WLAN) techniques such as IEEE 802.11 (e.g., 802.11a, 802.11b,
802.11g, 802.1 in, etc.), WiMAX techniques such as IEEE 802.16,
and/or ultra wideband (UWB) techniques such as IEEE 802.15 or the
like. The APs 62 may be coupled to the Internet 50. Like with the
MSC 46, the APs 62 can be directly coupled to the Internet 50. In
one embodiment, however, the APs 62 are indirectly coupled to the
Internet 50 via a GTW 48. Furthermore, in one embodiment, the BS 44
may be considered as another AP 62. As will be appreciated, by
directly or indirectly connecting the mobile terminals 10 and the
computing system 52, the origin server 54, and/or any of a number
of other devices, to the Internet 50, the mobile terminals 10 can
communicate with one another, the computing system, etc., to
thereby carry out various functions of the mobile terminals 10,
such as to transmit data, content or the like to, and/or receive
content, data or the like from, the computing system 52. As used
herein, the terms "data," "content," "information" and similar
terms may be used interchangeably to refer to data capable of being
transmitted, received and/or stored in accordance with embodiments
of the present invention. Thus, use of any such terms should not be
taken to limit the spirit and scope of the present invention.
[0031] Although not shown in FIG. 2, in addition to or in lieu of
coupling the mobile terminal 10 to computing systems 52 across the
Internet 50, the mobile terminal 10 and computing system 52 may be
coupled to one another and communicate in accordance with, for
example, RF, BT, IrDA or any of a number of different wireline or
wireless communication techniques, including LAN, WLAN, WiMAX
and/or UWB techniques. One or more of the computing systems 52 can
additionally, or alternatively, include a removable memory capable
of storing content, which can thereafter be transferred to the
mobile terminal 10. Further, the mobile terminal 10 can be coupled
to one or more electronic devices, such as printers, digital
projectors and/or other multimedia capturing, producing and/or
storing devices (e.g., other terminals). Like with the computing
systems 52, the mobile terminal 10 may be configured to communicate
with the portable electronic devices in accordance with techniques
such as, for example, RF, BT, IrDA or any of a number of different
wireline or wireless communication techniques, including USB, LAN,
WLAN, WiMAX and/or UWB techniques.
[0032] An exemplary embodiment of the invention will now be
described with reference to FIG. 3, in which certain elements of a
system for providing a consistent virtual opponent are displayed.
The system of FIG. 3 may be employed, for example, on the mobile
terminal 10 of FIG. 1. However, it should be noted that the system
of FIG. 3, may also be employed on a variety of other devices, both
mobile and fixed, and therefore, embodiments of the present
invention should not be limited to application on devices such as
the mobile terminal 10 of FIG. 1. For example, the system of FIG. 3
may be employed on a network device such as a server, which may be
a game server. Alternatively, any network device of FIG. 2 may
employ embodiments of the invention. It should also be noted,
however, that while FIG. 3 illustrates one example of a
configuration of a system for providing a consistent virtual player
or entity, numerous other configurations may also be used to
implement embodiments of the present invention. Furthermore,
although FIG. 3 will be described in the context of a virtual
opponent, embodiments of the present invention need not necessarily
be practiced in the context of adversarial gaming, but instead
applies to gaming involving any virtual entity that may interact
with a human player during a gaming experience. Thus, embodiments
of the present invention may also be practiced in other exemplary
applications such as, for example, in the context of a virtual
assistant, teammate, dealer, referee, official, etc., and
communications originating at the virtual opponent should be
understood as being capable of origination from any of the virtual
entities above. Additionally, it should be noted that in an
exemplary embodiment, communications from the virtual opponent may
be made through, for example, text, video or audio.
[0033] Referring now to FIG. 3, a system for providing a consistent
virtual opponent is provided. The system described hereinafter may
be used, for example, with existing artificial intelligence schemes
in order to implement a consistent virtual entity across a
plurality of game applications or gaming platforms. The system
includes an entity management element 70, a historical event
element 72 and a communications element 74. Each of the entity
management element 70, the historical event element 72 and the
communications element 74 may be any device or means embodied in
either hardware, software, or a combination of hardware and
software capable of performing the respective functions associated
with each of the corresponding elements as described below. In an
exemplary embodiment, the entity management element 70, the
historical event element 72 and the communications element 74 are
embodied in software as instructions that are stored on a memory of
the mobile terminal 10 and executed by the controller 20. However,
each of the elements above may alternatively operate under the
control of a corresponding local processing element or a processing
element of another device not shown in FIG. 3. A processing element
such as those described above may be embodied in many ways. For
example, the processing element may be embodied as a processor, a
coprocessor, a controller or various other processing means or
devices including integrated circuits such as, for example, an ASIC
(application specific integrated circuit).
[0034] It should be noted that although FIG. 3 illustrates the
entity management element 70, the historical event element 72 and
the communications element 74 as being separate elements, any two
or all of the entity management element 70, the historical event
element 72 and the communications element 74 may also be collocated
or embodied in a single element or device capable of performing the
corresponding functions of the entity management element 70, the
historical event element 72 and the communications element 74.
Additionally, as stated above, embodiments of the present invention
are not limited to application in mobile terminals. Thus, the
entity management element 70, the historical event element 72 and
the communications element 74 may be disposed at any fixed or
mobile device capable of executing game applications, or at a
server or other mass storage device from which applications may be
executed by devices accessing the game applications at the server
or other mass storage device. Accordingly, any device or means
capable of performing the functions associated with each of the
elements above may employ the system of FIG. 3.
[0035] In general, the entity management element 70, the historical
event element 72 and the communications element 74 provide a
mechanism by which a virtual entity 76 associated with at least one
game application 78 may interact with a player of a particular game
application in response to an event associated with the particular
game application in which the interaction is based upon a
historical event associated with the player. The interaction may be
through communication such as, for example, text, video or audio
communication. The entity management element 70 enables user
interface in order to create, modify, import, delete or otherwise
control each virtual entity. In an exemplary embodiment, the
virtual entity 76 is a consistent virtual opponent that is
associated with the player and may engage the player in a plurality
of game applications over either a single platform or multiple
platforms. The historical event element 72 records historical
events associated with the player for incorporation into
communications from the virtual entity 76 to the player. The
historical events may relate to any of various game applications
with which the virtual entity 76 is capable of being utilized. As
such, the historical event element 72 may record, for example,
final game results, scores, or particular events which occur during
the course of any of the various game applications with which the
virtual entity is capable of being utilized. The communications
element 74 stores information such as communication templates for
integration with historical event information from previously
played games the player has participated in to form communications
with the player that are completed or selected when triggered by
occurrence of an event in a current game.
[0036] It should be noted that the game application 78 may be
stored, for example, at the mobile terminal 10 or any other fixed
or mobile gaming device. Alternatively, the game application 78 may
be stored at a network device, such as a game server, that is
accessible to the mobile terminal 10 or other fixed or mobile
gaming device.
[0037] The entity management element 70 is capable of providing a
user interface mechanism by which the user can setup, modify, or
otherwise manage the virtual entity 76. In this regard, the entity
management element 70 may be capable of managing a plurality of
virtual entities such as the virtual opponent, all of which may be
associated with a particular human player and are consistent across
various game applications and potentially consistent across various
platforms. In other words, the virtual entity 76 of an embodiment
of the present invention is associated with the particular human
player and can "follow" the particular human player to various
different game applications. As such, the particular human player
may encounter the virtual entity 76 as a virtual opponent, for
example, in each of the various different game applications.
Furthermore, in an embodiment in which the system of FIG. 3 is
employed at a network device, the particular human player may
encounter the virtual entity 76 in a game application hosted at one
of various different host devices or platforms which are capable of
accessing the game application at the network device.
[0038] In one embodiment, the entity management element 70 may
correspond directly to a particular human player and list all (if
more than one are present) of the virtual entities associated with
the single human player. For example, the particular human player
may create, import, or otherwise have an ability to modify
characteristics of a plurality of virtual entities. Alternatively,
the particular human player may create, import, or otherwise have
an ability to modify characteristics of one particular virtual
entity, such as the virtual entity 76. In this regard, the
particular human player may initially create or modify
characteristics related to the virtual entity 76 such as, for
example, name, skill, experience, playing style, etc., and in
particular the communication style of the virtual entity 76. In
situations where more than one virtual entity is associated with
the particular human player, the particular human player may have
an option to select one or more of the virtual entities to
participate in any given gaming application. For example, the
particular human player may select one or more of the virtual
entities to act as a virtual opponent and one or more of the
virtual entities may also be selected to act as a virtual
teammate.
[0039] Alternatively, the entity management element 70 may be
capable of providing multiple human players or users with an
ability to manage corresponding virtual entities. Each human player
may be identified, for example, by a user name or some other
identification mechanism. Accordingly, a first group of one or more
virtual entities may be associated with a first human player and a
second group of one or more virtual entities may be associated with
a second human player. Virtual entities in the first and second
groups may be exclusive to the first and second human players,
respectively. In other words, a particular virtual entity may not
be capable of inclusion in both the first and second groups. Thus,
each of the first and second human players may have the ability to
manage virtual entities (if more than one are desired) in their
corresponding groups. Alternatively, virtual entities may be shared
between players. For example, the virtual entity 76 may be in both
the first and second groups. In such a situation, for example, one
of the first and second human players may be designated as having
managing authority to alter or otherwise modify characteristics of
the virtual entity 76 while the other has only access privileges to
interact with the virtual entity 76. In any case, historical
information for each game application may be stored to be
associated with the virtual entity 76 and/or the respective human
player.
[0040] As yet another alternative, multiple entity management
elements may be stored on a particular platform or network device,
in which each of the entity management elements corresponds to a
particular player. Thus, one or more virtual entities may be stored
for each player in a corresponding entity management element.
However, as will be understood from the above exemplary
embodiments, the virtual entity 76 may be associated with one or
more players and thus, historical events related to game
experiences involving the virtual entity 76 may be recorded or
otherwise stored in association with the corresponding players for
use in communications via the communication element 74.
[0041] Identities and characteristics of each virtual entity may be
stored in a memory of the entity management element 70 or in a
memory device that is otherwise accessible to the entity management
element 70. In this regard, although the identities and
characteristics of each of the virtual entities may include any of,
for example, name, skill, experience, playing style, etc., in an
exemplary embodiment, the virtual entities include at least the
communication style of the virtual entity 76. The communication
style defines which types and degrees of communication the virtual
entity 76 may employ. In an exemplary embodiment, the communication
style of the virtual entity 76 may be scaled in any number of
communication dimensions such as, for example, tone of voice,
volume or projection, aggressiveness, formality, discretion, etc.
For example, the tone of voice dimension may be scaled from
"sarcastic" to "sincere", the volume dimension may be scaled from
"boisterous" to "shy", the assertiveness dimension may be scaled
from "aggressive" to "reserved", the formality dimension may be
scaled from "slang" to "proper", and the discretion dimension may
be scaled from "raunchy" to "sublime". It should be noted that the
preceding dimensions are merely exemplary and in no way limiting in
terms of types of dimensions and scaling within the dimensions.
Thus, for example, a numerical or other scale may also be employed.
The communication style may also define, at least in part, events
in response to which the virtual entity 76 communicates. For
example, an aggressive virtual entity 76 may be more likely to
comment immediately before a game begins or a hand is dealt with a
comment such as, "Are you ready to get beaten like last night?",
while a reserved virtual entity 76 may be more likely to comment
immediately after the game ends or the hand is played, "That
reminds me of how I beat you last night." In this regard,
communication from the virtual entity 76 may be drawn from
preprogrammed content, and selection of particular items from the
preprogrammed content may be made via a probabilistic determination
made by the communication element 74 based on the communication
style of the virtual entity 76.
[0042] Thus, in an exemplary embodiment, upon creation of the
virtual entity 76, the name, skill, experience, playing style, etc.
may be defined. At least the communication style of the virtual
entity 76 may also be defined using the entity management element
70. For example, the entity management element 70 may enable the
user to input such characteristics in various fields of an
information control console or other interface mechanism.
Furthermore, the entity management element 70 may enable the user
to make changes to a profile of an existing virtual entity either
upon importation of the virtual entity from the profile of another
player, from another platform, or from a network such as the
internet. Alternatively, changes may be made to an existing virtual
entity "on the fly" or during a particular game. In other words, if
the user is playing a game with a virtual opponent and the user
wishes to alter characteristics of the virtual opponent, such
changes may be made during the game. Accordingly, after changes are
made to characteristics of an existing virtual entity or a new
virtual entity is created, the existing or newly created virtual
entity may communicate via the communications element 74 in
accordance with the changed characteristics as defined by the
communication style of the virtual entity 76.
[0043] The entity management module 70 may be in communication with
the game application 78 in order to communicate with a human player
in response to events associated with the game application 78. In
an exemplary embodiment, the entity management module 70 may be
configured to communicate with each of a plurality of game
applications stored on or otherwise accessible at a particular
platform such as the mobile terminal 10. In an alternative
embodiment, the entity management module 70 may be configured to
communicate with a plurality of game applications stored on or
otherwise accessible at a particular server or network device. In
other words, the entity management module 70 may be configured to
communicate with a plurality of game applications over a plurality
of platforms. Since historical information may be gathered for each
game in which the virtual entity 76 is capable of interaction, the
virtual entity 76 may be consistent as between the various
platforms and game applications.
[0044] In order to generate communications in response to a
particular event or occurrence during a game application, the
communications element 74 sends a message 80 to human players via,
for example, text, video or audio. The message 80 has content
including historical information 82 from the historical event
element 72 and template content 84 which may be stored at the
communications element 74 or otherwise accessible to the
communications element 74, for example, from a memory device
external to the communications element 74.
[0045] The historical information 82 is information regarding past
events associated with the virtual entity 76 and/or the human
player from past game applications in which either or both of the
virtual entity 76 and the human player were involved. For example,
the historical information 82, which is stored in the historical
event element 72, may include such information as game results
(i.e., win or lose), game score, statistics related to player
performance, or particular events within a game such as results of
a particular hand in a card game, scoring of a game winning goal or
point, etc. In an exemplary embodiment, the historical information
82 may be related to past events associated with the human player
and the virtual entity 76. In other words, the virtual entity 76
may comment on experiences common to both the virtual entity 76 and
the human player such as, "I'm going to beat you just like I did
last night." However, in an alternative embodiment, the historical
information 82 may be related to past events associated with just
the human player, or with just the virtual entity 76 if the virtual
entity 76 is associated with the human player and one or more other
human players associated with the human player. For example, if a
first player and a second player each interact with the same
virtual entity, the virtual entity may produce a message 80 during
a game with the first player in which the message 80 includes
historical information 82 related to past events associated with
only the virtual entity such as, "That move was almost as poor as
the one `second player` made against me last night." As an
alternative example, the virtual entity may produce a message 80
during a game with the first player in which the message 80
includes historical information 82 related to-past events
associated with only the first player such as, "That move was
almost as poor as the one you made against `second player` made
last night."
[0046] Accordingly, the historical event element 72 may store
information related to past events in a storage device of or
otherwise accessible to the historical event element 72 during each
game associated with a game application with which the virtual
entity 76 is either capable of participating or actually selected
for participation. The stored information may then be accessed for
inclusion as historical information 82 in the message 80 sent by
the communication element 74. The historical event element 72 may
also store current game information 86 related to events,
statistics, etc. occurring in the current game application for use
as historical information in future game applications. It should
also be apparent that the message 80 may be sent during a game of a
first game application which includes historical information 82
that may have been gathered responsive to previous games of the
first game application, or of previous games of a second game
application. Furthermore, the first and second game applications
may be launched via either the same or different platforms. As
another alternative, historical information 82 could include past
events from a current game application which were previously stored
while playing the current game application.
[0047] As stated above, the communication element 74 may select a
particular communication in response to probabilistic
determinations made by the communication element 74 based on the
communication style of the virtual entity 76. In this regard, the
communication element 74 may construct the message 80 including the
historical information 82 and the template content 84. The template
content 84 may include various standard phrases with portions of
each standard phrase that are left blank in order to receive the
historical information 82 to complete the message 80. For example,
the template content 84 may include a standard phrase such as "So
(blank 1), are you ready to get beaten like you did (blank 2) in
(blank 3)?" Thus, blank 1 may be a reserved field for identity
information related to the player such as a name, user id, login,
etc. Meanwhile, blank 2 may be a reserved field for time
information, such as the date and/or time of a particular game
related event and blank 3 may be a reserved field for information
related to an identity of the particular game in which the game
related event occurred. Accordingly, an exemplary embodiment of the
message 80 may include the probabilistically selected template
content 84 above with historical information 82 randomly selected
from, for example, a database accessible to the historical event
element 72. Thus, the message 80 may be, for example, "So Player 1,
are you ready to get beaten like you did yesterday in poker."
[0048] As can be seen from the example above, each template of the
template content 84 may include predefined fields corresponding to
particular information stored in the historical event element 72.
Thus, for example, the historical event element 72, may store
information related to player identity, game identity, a particular
event, statistic or other information associated with the
identified game, and time information related to occurrence of the
particular event or other information associated with the
identified game. As such, all or portions of the stored information
may be included as the historical information 82 which is combined
with the template content 84 to form the message 80.
[0049] The message 80 may take any suitable form such as, for
example, text, audio, video or any combination of text, audio and
video. In this regard, in situations where the message 80 includes
audio, the message 80 may be produced via, for example, a
text-to-speech element. However, prerecorded template content and
synthetically produced audio historical information may also be
employed. In an exemplary embodiment, the template content 84 may
be divided or otherwise organized such that particular template
content may be associated with particular current game events. In
other words, a particular situation in a current game may be
associated with particular template content, such that the
particular template content is eligible for inclusion in a message
in response to the occurrence of the particular situation. For
example, in a card game, there may be particular template content
that may be eligible for inclusion in a message following the
dealing of a particular hand, while other particular template
content may be eligible for inclusion in a message in response to
completion of or beginning of the card game. In an exemplary
embodiment, the message 80 could take the form of haptic feedback
such as, for example, force feedback or causing vibrations in a
game controller.
[0050] In an exemplary embodiment, the template content 84 may be
preprogrammed such that with respect to messages, a predetermined
number of template content items may exist while the historical
information 82 may increase over time. Since the database or other
storage device maintaining the historical information 82 may have
limited storage space, the historical event element 72 may be
configured to delete older information in order to make room for
newer information on a routine basis, or in response to an
indication that the database lacks sufficient room to add the newer
information without deletion of the older information.
[0051] In an alternative exemplary embodiment, the template content
84 may be modified by players. For example, a player may create new
template content or customize existing template content.
Alternatively, a storage location for the template content 84, for
example, at a network device such as a server, may be accessed by
players to download additional template content which may be
created by network operators or other players having the capability
to author template content and store such authored content at the
storage location. In this way, a virtual entity such as the virtual
opponent may grow an expanding vocabulary which can reflect current
trends and the current vernacular.
[0052] FIG. 4 is a flowchart of a system, method and program
product according to exemplary embodiments of the invention. It
will be understood that each block or step of the flowcharts, and
combinations of blocks in the flowcharts, can be implemented by
various means, such as hardware, firmware, and/or software
including one or more computer program instructions. For example,
one or more of the procedures described above may be embodied by
computer program instructions. In this regard, the computer program
instructions which embody the procedures described above may be
stored by a memory device of the mobile terminal and executed by a
built-in processor in the mobile terminal. As will be appreciated,
any such computer program instructions may be loaded onto a
computer or other programmable apparatus (i.e., hardware) to
produce a machine, such that the instructions which execute on the
computer or other programmable apparatus create means for
implementing the functions specified in the flowcharts block(s) or
step(s). These computer program instructions may also be stored in
a computer-readable memory that can direct a computer or other
programmable apparatus to function in a particular manner, such
that the instructions stored in the computer-readable memory
produce an article of manufacture including instruction means which
implement the function specified in the flowcharts block(s) or
step(s). The computer program instructions may also be loaded onto
a computer or other programmable apparatus to cause a series of
operational steps to be performed on the computer or other
programmable apparatus to produce a computer-implemented process
such that the instructions which execute on the computer or other
programmable apparatus provide steps for implementing the functions
specified in the flowcharts block(s) or step(s).
[0053] Accordingly, blocks or steps of the flowcharts support
combinations of means for performing the specified functions,
combinations of steps for performing the specified functions and
program instruction means for performing the specified functions.
It will also be understood that one or more blocks or steps of the
flowcharts, and combinations of blocks or steps in the flowcharts,
can be implemented by special purpose hardware-based computer
systems which perform the specified functions or steps, or
combinations of special purpose hardware and computer
instructions.
[0054] In this regard, one embodiment of a method of providing data
clustering and mode selection, as shown in FIG. 4, includes
receiving an indication of a particular game related event
occurring in a particular game application at operation 110. The
particular game related event may be, for example, any occurrence,
situation or event occurring during execution of a particular game
application. At operation 120, a message including template content
and historical information related to a virtual entity is provided
to a player of the particular game application in response to
receipt of the indication. The historical information includes
information related to past performances or games involving one of
the player or the virtual entity. The past performances or games
may be related to the particular game application or any other game
application with which the virtual entity is associated. Thus, the
virtual entity may be consistent across a plurality of game
applications and/or a plurality of platforms capable of hosting the
game applications. In an exemplary embodiment, an initial operation
100 includes receiving input such as player input to define the
communication style of the virtual entity. The player input
received may include input defining a scaled value for each of a
plurality of communication dimensions. At optional operation 130,
data related to the particular game application may be stored for
use as historical information in future game applications. The
method may also include an optional operation 140 of defining a
specific template content as being eligible for selection for
inclusion in the message in response to each particular game
related event.
[0055] The above described functions may be carried out in many
ways. For example, any suitable means for carrying out each of the
functions described above may be employed to carry out embodiments
of the invention. In one embodiment, all or a portion of the
elements of the invention generally operate under control of a
computer program product. The computer program product for
performing the methods of embodiments of the invention includes a
computer-readable storage medium, such as the non-volatile storage
medium, and computer-readable program code portions, such as a
series of computer instructions, embodied in the computer-readable
storage medium.
[0056] Many modifications and other embodiments of the inventions
set forth herein will come to mind to one skilled in the art to
which these embodiments pertain having the benefit of the teachings
presented in the foregoing descriptions and the associated
drawings. Therefore, it is to be understood that the inventions are
not to be limited to the specific embodiments disclosed and that
modifications and other embodiments are intended to be included
within the scope of the appended claims. Although specific terms
are employed herein, they are used in a generic and descriptive
sense only and not for purposes of limitation.
* * * * *