U.S. patent application number 11/093364 was filed with the patent office on 2006-11-02 for system, game server, terminal, and computer program product for link point scaling in a multiplayer location-aware game.
This patent application is currently assigned to Nokia Corporation. Invention is credited to Jouka Mattila.
Application Number | 20060247053 11/093364 |
Document ID | / |
Family ID | 37052981 |
Filed Date | 2006-11-02 |
United States Patent
Application |
20060247053 |
Kind Code |
A1 |
Mattila; Jouka |
November 2, 2006 |
System, game server, terminal, and computer program product for
link point scaling in a multiplayer location-aware game
Abstract
A system for scaling a link point in a multiplayer
location-aware game comprises a plurality of clients capable of
executing a client-side game application and a network entity
capable of communicating with the plurality of clients. The
plurality of clients are capable of communicating across at least
one network to play a multiplayer location-aware game. The network
entity is capable of determining a number of clients participating
in the multiplayer location-aware game. The network entity is
capable of determining a location of each of the clients
participating in the multiplayer location-aware game. The network
entity is capable of determining a size of at least one link point
based on the number of clients and based on the location of each
client.
Inventors: |
Mattila; Jouka; (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
Espoo
FI
|
Family ID: |
37052981 |
Appl. No.: |
11/093364 |
Filed: |
March 30, 2005 |
Current U.S.
Class: |
463/42 |
Current CPC
Class: |
A63F 2300/407 20130101;
A63F 13/35 20140902; A63F 13/79 20140902; A63F 2300/50 20130101;
A63F 13/335 20140902; A63F 13/12 20130101; A63F 2300/406 20130101;
A63F 13/332 20140902; A63F 2300/5573 20130101 |
Class at
Publication: |
463/042 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
Claims
1. A system for scaling a link point in a multiplayer
location-aware game, the system comprising: a plurality of clients
capable of executing a client-side game application, the plurality
of clients being capable of communicating across at least one
network to play a multiplayer location-aware game; and a network
entity capable of communicating with the plurality of clients;
wherein the network entity is capable of determining a number of
clients participating in the multiplayer location-aware game;
wherein the network entity is capable of determining a location of
each of the clients participating in the multiplayer location-aware
game; and wherein the network entity is capable of determining a
size of at least one link point based on the number of clients and
based on the location of each client.
2. The system of claim 1, wherein the network entity is capable of
determining the size of the at least one link point based on a
predefined minimum number of clients per link point.
3. The system of claim 1, wherein the network entity is capable of
determining the size of the at least one link point based on a
predefined maximum number of link points between any two
clients.
4. The system of claim 1, wherein the network entity is capable of
determining the size of the at least one link point based on a
predefined maximum distance between any two clients.
5. The system of claim 1, wherein the network entity is capable of
determining the size of the at least one link point based on a
predefined minimum link point size and a predefined maximum link
point size.
6. The system of claim 5, wherein the predefined minimum link point
size and the predefined maximum link point size may vary based on a
geographic location of the at least one link point.
7. A network entity for scaling a link point in a multiplayer
location-aware game, the network entity comprising: a processor
capable of communicating with a plurality of clients capable of
executing a client-side game application and capable of
communicating across at least one network to play a multiplayer
location-aware game; wherein the processor is capable of
determining a number of clients participating in the multiplayer
location-aware game; wherein the processor is capable of
determining a location of each of the clients participating in the
multiplayer location-aware game; and wherein the processor is
capable of determining a size of at least one link point based on
the number of clients and based on the location of each client.
8. The network entity of claim 7, wherein the processor determines
the size of the at least one link point based on a predefined
minimum number of clients per link point.
9. The network entity of claim 7, wherein the processor determines
the size of the at least one link point based on a predefined
maximum number of link points between any two clients.
10. The network entity of claim 7, wherein the processor determines
the size of the at least one link point based on a predefined
maximum distance between any two clients.
11. The network entity of claim 7, wherein the processor determines
the size of the at least one link point based on a predefined
minimum link point size and a predefined maximum link point
size.
12. The network entity of claim 11, wherein the predefined minimum
link point size and the predefined maximum link point size may vary
based on a geographic location of the at least one link point.
13. A terminal for scaling a link point in a multiplayer
location-aware game, the terminal comprising: a processor capable
of executing a client-side game application, the processor being
capable of communicating with a network entity across at least one
network to play a multiplayer location-aware game with a plurality
of clients; wherein the processor is capable of interfacing with at
least one of the plurality of clients based on a size of at least
one link point determined by the network entity; and wherein the
processor is capable of interfacing with the network entity when
the network entity determines the size of the at least one link
point based on a number of clients and based on a location of each
client.
14. The terminal of claim 13, wherein the processor is capable of
interfacing with the network entity when the network entity
determines the size of the at least one link point based on a
predefined minimum number of clients per link point.
15. The terminal of claim 13, wherein the processor is capable of
interfacing with the network entity when the network entity
determines the size of the at least one link point based on a
predefined maximum number of link points between any two
clients.
16. The terminal of claim 13, wherein the processor is capable of
interfacing with the network entity when the network entity
determines the size of the at least one link point based on a
predefined maximum distance between any two clients.
17. The terminal of claim 13, wherein the processor is capable of
interfacing with the network entity when the network entity
determines the size of the at least one link point based on a
predefined minimum link point size and a predefined maximum link
point size.
18. The terminal of claim 13, wherein the predefined minimum link
point size and the predefined maximum link point size may vary
based on a geographic location of the at least one link point.
19. A computer program product for scaling a link point in a
multiplayer location-aware game, the 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 capable of determining a number of players
participating in the multiplayer location-aware game; a second
executable portion capable of determining a location of each of the
players participating in the multiplayer location-aware game; and a
third executable portion capable of determining a size of at least
one link point based on the number of players and based on the
location of each player.
20. The computer program product of claim 19, wherein the third
executable portion determines the size of the at least one link
point based on a predefined minimum number of players per link
point.
21. The computer program product of claim 19, wherein the third
executable portion determines the size of the at least one link
point based on a predefined maximum number of link points between
any two players.
22. The computer program product of claim 19, wherein the third
executable portion determines the size of the at least one link
point based on a predefined maximum distance between any two
players.
23. The computer program product of claim 19, wherein the third
executable portion determines the size of the at least one link
point based on a predefined minimum link point size and a
predefined maximum link point size.
24. The computer program product of claim 23, wherein the
predefined minimum link point size and the predefined maximum link
point size may vary based on a geographic location of the at least
one link point.
Description
FIELD OF THE INVENTION
[0001] The present invention generally relates to systems and
methods of operating a multiplayer electronic game and, more
particularly, relates to systems, network entities, terminals, and
computer program products for providing link point scaling in a
multiplayer location-aware game.
BACKGROUND OF THE INVENTION
[0002] Multiplayer electronic gaming is a popular pastime, and it
continues to grow in popularity as more devices, particularly
mobile devices, are created to facilitate this type of gaming.
Multiplayer gaming initially only involved using personal computers
connected via a wired interface to a network, such as the Internet.
As wireless networks and wireless Internet access became more
prevalent, multiplayer gaming took advantage of this wireless
capability. Cellular telephones and other mobile electronic devices
connected via wireless networks began offering gaming.
Additionally, dedicated wireless mobile gaming devices were
created. These wireless mobile gaming devices allow users to
participate in multiplayer gaming away from their personal computer
and wired network connection. For purposes of this application, the
term "gaming device" will be used to refer to all devices capable
of gaming over a network, whether the device is a personal
computer, a cellular telephone, a gaming console, a mobile gaming
device, or any other type of device, whether the network is the
Internet, a cellular telephone network, or any other type of
network, and whether the communication with the network is wired or
wireless.
[0003] A feature of many mobile electronic communication devices is
presence enabling, which allows users of these devices to determine
whether other users are online and available for communication.
Presence enabling is available to a certain extent in multiplayer
gaming systems. Presence enabling provides status information for a
player to other players of the gaming system. This status
information tells other players whether a particular player is able
to play a game at this particular time. This status information may
vary according to the type of gaming device. For example, for a
personal computer with a wired Internet connection, the status
information may include whether the player is online and whether
the player is currently participating in a particular game. For
cellular telephones or other mobile devices, the status information
may include the user's geographic location and the latency of the
network to which the mobile device is connected.
[0004] Similar to presence status, many mobile electronic devices
feature location awareness. Location awareness enables the mobile
electronic device, or a server with which the mobile electronic
device is communicating, to determine the approximate physical
location of the mobile electronic device. Several techniques are
known for determining the approximate physical location of a mobile
electronic device. One known technique uses a global positioning
system (GPS) receiver in the mobile electronic device. The GPS
receiver determines the approximate physical location by
triangulating signals received from at least three different GPS
satellites. Using another known technique termed cell ID, the
mobile electronic device determines the identification number of
the cellular tower through which the mobile electronic device is
communicating. By comparing the tower identification number with a
database of cellular towers, the location of the cellular tower,
and therefore the approximate location of the mobile electronic
device, can be obtained. The different techniques enable the
determination of physical location with different degrees of
accuracy. Cell ID typically enables determination of location to an
accuracy of approximately 200 to 300 meters. GPS typically enables
determination of location to an accuracy of approximately 10 to 20
meters.
[0005] Location awareness in mobile electronic devices has enabled
the development of location-aware multiplayer games. A
location-aware multiplayer gaming application typically executes on
a game server that is capable of determining the physical location
of the mobile communication devices that are being used to play the
game. The physical locations of each device, and therefore the
physical locations of each player, are used by the gaming
application to enable location-aware functionality that enhances
the gaming experience. For example, one player may create an
electronic note that is associated with a particular geographic
area, such that the note may be read by other players who enter
that same geographic area. Additionally, players who are
interacting through the gaming application and who are in physical
proximity to each other may meet in person to exchange game-related
items.
[0006] A location-aware multiplayer game may be played by a large
number of players physically located across a large geographic
area. For example, a popular multiplayer game may be played by
hundreds or even thousands of players from across the United
States. Because it is difficult or impossible for a player to
interact with or even just monitor that many players, a developer
of a location-aware multiplayer game will typically define small
subsets of the entire gaming area for purposes of restricting
certain activities within one or more of the small subsets. These
small subsets may be termed link points. The game developer will
typically predefine the location, size, shape, and number of link
points in a gaming area. For example, if the entire gaming area is
the United States, the game developer may define several thousand
link points over the United States. Typically, every part of a
gaming area will be defined to exist within one and only one link
point, such that no link point overlaps any other link point.
[0007] The game developer will typically predefine the shape of
each link point as a square, although other shapes, such as
hexagons, may be used. A typical size for a link point is 200
meters by 200 meters, although the game developer may predefine the
size of each link point to be any desired size. The game developer
may predefine different size link points for different geographic
areas, based on the anticipated number of game players in a
particular geographic area. For example, the game developer may
predefine relatively small link points for urban areas, larger link
points for suburban areas, and the largest link points for rural
areas. As such, the game developer may attempt to maintain a fairly
consistent number of players per link point.
[0008] One reason that a game developer may attempt to maintain a
consistent number of players per link point is that some game
features may only be utilized by players within the same link
point, within adjacent link points, or within link points that are
less than a predefined distance or number of link points away from
each other. For example, a gaming application may only permit a
player to view the locations and/or activities of other players who
are less than five link points away from the player. Limiting the
number of link points for which a player can view the locations
and/or activities of other players thereby limits the number of
other players that must be monitored and keeps the game from
becoming overly complex or difficult. Additionally, a gaming
application may only permit a player to participate in particular
interactions with players who are in the same link point. For
example, a player may only be permitted to exchange private
electronic correspondence with another player if both players are
in the same link point. Such a limitation encourages players to
travel from one link point to another, thereby enabling physical
interaction between the players.
[0009] Because the size of the link points is predefined by the
game developer, problems may occur if the game developer
incorrectly or inappropriately defines the size of the link points.
Because the size of the link points is typically defined based on
the anticipated number of players in a particular geographic area,
it is possible that the game developer will incorrectly anticipate
the number of players. If the number of players is smaller than
anticipated, the link points may be considered too large and
players may not be able to interact with enough other players to
consider the game interesting and fun. If the number of players is
larger than anticipated, the link points may be considered too
small and players may find it difficult to monitor or interact with
the large number of other players in the same and nearby link
points.
[0010] The problems that may occur when the game developer
incorrectly or inappropriately defines the size of the link points
are particularly troublesome in the time period immediately after
the initial release of a new game. In the initial days and weeks
that a new game is available, the number of players is typically
small and may be increasing slowly. It is important during this
time period for the players to enjoy the game such that the players
will recommend the game to other potential players, thereby
increasing the number of players. If the size of the link points is
predefined based on the anticipated long-term number of players,
then the link points will be too small in this initial time period.
As such, the interaction between players will be limited as
discussed above, and therefore the initial players will not enjoy
the game and will not recommend the game to other potential
players.
[0011] As such, there is a need for a system, network entity,
terminal, and computer program product that allow the initial
players of a new multiplayer location-aware game to interact with a
sufficient number of other players to facilitate an enjoyable
gaming experience, thereby increasing the likelihood that the
initial players will recommend the game to other potential
players.
BRIEF SUMMARY OF THE INVENTION
[0012] A system, network entity, terminal, and computer program
product are therefore provided that scale (i.e., change the size
of) the link points in a multiplayer location-aware game based on
predefined criteria, such as the number and location of the
players.
[0013] In this regard, a system for scaling a link point in a
multiplayer location-aware game comprises a plurality of clients
capable of executing a client-side game application and a network
entity capable of communicating with the plurality of clients. The
plurality of clients are capable of communicating across at least
one network to play a multiplayer location-aware game. The network
entity is capable of determining a number of clients participating
in the multiplayer location-aware game. The network entity is
capable of determining a location of each of the clients
participating in the multiplayer location-aware game. The network
entity is capable of determining a size of at least one link point
based on the number of clients and based on the location of each
client.
[0014] The network entity may determine the size of the at least
one link point based on a predefined minimum number of clients per
link point. Alternatively, the network entity may determine the
size of the at least one link point based on a predefined maximum
number of link points between any two clients. The network entity
may determine the size of the at least one link point based on a
predefined maximum distance between any two clients. The network
entity may determine the size of the at least one link point based
on a predefined minimum link point size and a predefined maximum
link point size, and the predefined minimum link point size and the
predefined maximum link point size may vary based on a geographic
location of the at least one link point.
[0015] In addition to the system for scaling a link point in a
multiplayer location-aware game as described above, other aspects
of the present invention are directed to corresponding network
entities, terminals, and computer program products for scaling link
points.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)
[0016] Having thus described the invention in general terms,
reference will now be made to the accompanying drawings, which are
not necessarily drawn to scale, and wherein:
[0017] FIG. 1 is a block diagram of one type of system that would
benefit from embodiments of the present invention;
[0018] FIG. 2 is a schematic block diagram of an entity capable of
operating as a mobile station, network entity, game server, proxy
server, personal computer (PC) system, and/or game console, in
accordance with embodiments of the present invention;
[0019] FIG. 3 is a schematic block diagram more particularly
illustrating a mobile station in accordance with one embodiment of
the present invention;
[0020] FIG. 4 is a schematic block diagram of an exemplar
configuration of various network entities of the system of FIG. 1,
in accordance with one embodiment of the present invention;
[0021] FIG. 5 is a flowchart of the operation of scaling a link
point in a multiplayer location-aware game, in accordance with one
embodiment of the present invention;
[0022] FIG. 6 is an illustration of a gaming area comprising a
plurality of link points that would benefit from embodiments of the
present invention;
[0023] FIG. 7 is an illustration of a gaming area comprising a
plurality of link points that have been scaled, in accordance with
one embodiment of the present invention; and
[0024] FIG. 8 is an illustration of a gaming area comprising a
plurality of link points that have been scaled, in accordance with
one embodiment of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
[0025] The present invention now will be described more fully
hereinafter with reference to the accompanying drawings, in which
preferred embodiments of the invention are shown. This invention
may, however, 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 be
thorough and complete, and will fully convey the scope of the
invention to those skilled in the art. Like numbers refer to like
elements throughout.
[0026] Referring to FIG. 1, an illustration of one type of system
that would benefit from the present invention is provided. The
system can include one or more mobile stations 10, each having an
antenna 12 for transmitting signals to and for receiving signals
from one or more base stations (BS's) 14. The base station is a
part of one or more cellular or mobile networks that each includes
elements required to operate the network, such as one or more
mobile switching centers (MSC) 16. 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 is
capable of routing calls, data or the like to and from mobile
stations when those mobile stations are making and receiving calls,
data or the like. The MSC can also provide a connection to landline
trunks when mobile stations are involved in a call.
[0027] The MSC 16 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 can be directly coupled to the
data network. In one typical embodiment, however, the MSC is
coupled to a gateway (GTW) 18, and the GTW is coupled to a WAN,
such as the Internet 20. In turn, devices such as processing
elements (e.g., personal computers, server computers or the like)
can be coupled to the mobile station 10 via the Internet. For
example, as explained below, the processing elements can include
one or more processing elements associated with one or more game
servers 22, routing servers 24, personal computer (PC) systems 26,
game consoles 28, or the like, one of each being illustrated in
FIG. 1 and described below. As will be appreciated, the processing
elements can comprise any of a number of processing devices,
systems or the like capable of operating in accordance with
embodiments of the present invention.
[0028] The BS 14 can also be coupled to a signaling GPRS (General
Packet Radio Service) support node (SGSN) 30. As known to those
skilled in the art, the SGSN is typically capable of performing
functions similar to the MSC 16 for packet switched services. The
SGSN, like the MSC, can be coupled to a data network, such as the
Internet 20. The SGSN can be directly coupled to the data network.
In a more typical embodiment, however, the SGSN is coupled to a
packet-switched core network, such as a GPRS core network 32. The
packet-switched core network is then coupled to another GTW, such
as a GTW GPRS support node (GGSN) 34, and the GGSN is coupled to
the Internet.
[0029] Although not every element of every possible network is
shown and described herein, it should be appreciated that the
mobile station 10 may be coupled to one or more of any of a number
of different networks. In this regard, mobile network(s) can be
capable of supporting communication in accordance with any one or
more of a number of first-generation (1G), second-generation (2G),
2.5G and/or third-generation (3G) mobile communication protocols or
the like. More particularly, one or more mobile stations may be
coupled to one or more networks 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. In addition, 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] One or more mobile stations 10 can further be coupled to one
or more wireless access points (APs) 36. The APs can be configured
to communicate with the mobile station 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 WLAN techniques. The APs may be
coupled to the Internet 20. Like with the MSC 14, the APs can be
directly coupled to the Internet. In one embodiment, however, the
APs are indirectly coupled to the Internet via a GTW 18. As will be
appreciated, by directly or indirectly connecting the mobile
stations and the user processors (e.g., game servers 22, routing
servers 24, personal computer (PC) systems 26, game consoles 28,
and network entities) and/or any of a number of other devices to
the Internet, whether via the APs or the mobile network(s), the
mobile stations and user processors can communicate with one
another to thereby carry out various functions of the respective
entities, such as to transmit and/or receive data, content or the
like. 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. 1, in addition to or in lieu of
coupling the mobile stations 10 to game servers 22, routing servers
24, personal computer (PC) systems 26, and/or game consoles 28
across the Internet 20, one or more such entities may be directly
coupled to one another. As such, one or more network entities may
communicate with one another in accordance with, for example, RF,
BT, IrDA or any of a number of different wireline or wireless
communication techniques, including LAN and/or WLAN techniques.
[0032] Referring now to FIG. 2, a block diagram of an entity
capable of operating as a mobile station 10, game server 22,
routing server 24, personal computer (PC) system 26 and/or game
console 28, is shown in accordance with one embodiment of the
present invention. Although shown as separate entities, in some
embodiments, one or more entities may support one or more of a
mobile station, game server, routing server, personal computer (PC)
system and/or game console, logically separated but co-located
within the entit(ies). For example, a single entity may support a
logically separate, but co-located, game server and routing server.
Also, for example, a single entity may support a logically
separate, but co-located personal computer and game console.
[0033] As shown, the entity capable of operating as a mobile
station 10, game server 22, routing server 24, personal computer
(PC) system 26 and/or game console 28 generally includes a
processor 38 connected to a memory 40. The memory can comprise
volatile and/or non-volatile memory, and typically stores content,
data or the like. For example, the memory typically stores content
transmitted from, and/or received by, the entity. Also for example,
the memory typically stores client applications, instructions or
the like for the processor to perform steps associated with
operation of the entity in accordance with embodiments of the
present invention. As explained below, for example, the memory can
store client application(s) including a configuration utility,
content manager and/or display manager. In this regard, when
executed, the configuration utility may function to configure a
source of content to receive or otherwise provide content. The
content manager, when executed, may function to manage the receipt
of content from the source, and/or the use of content received from
the source. And the display manager may function to manage
presentation of content received from the source. As described
herein, the client application(s) each comprise software operated
by the respective entities. It should be understood, however, that
any one or more of the client applications described herein can
alternatively comprise firmware or hardware, without departing from
the spirit and scope of the present invention.
[0034] In addition to the memory 40, the processor 38 can also be
connected to at least one interface or other means for displaying,
transmitting and/or receiving data, content or the like. In this
regard, the interface(s) can include at least one communication
interface 42 or other means for transmitting and/or receiving data,
content or the like, as well as at least one user interface that
can include a display 44 and/or a user input interface 46. The user
input interface, in turn, can comprise any of a number of devices
allowing the entity to receive data from a user, such as a keypad,
a touch display, a joystick or other input device.
[0035] Reference is now made to FIG. 3, which illustrates one type
of mobile station 10, a mobile telephone, which would benefit from
embodiments of the present invention. It should be understood,
however, that the mobile station illustrated and hereinafter
described is merely illustrative of one type of mobile station that
would benefit from the present invention and, therefore, should not
be taken to limit the scope of the present invention. While several
embodiments of the mobile station are illustrated and will be
hereinafter described for purposes of example, other types of
mobile stations, such as portable digital assistants (PDAs),
pagers, laptop computers, mobile gaming devices and other types of
electronic systems, can readily employ the present invention.
[0036] As shown, in addition to an antenna 14, the mobile station
10 can include a transmitter 48, receiver 50, and controller 52 or
other processor that provides signals to and receives signals from
the transmitter and receiver, respectively. These 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 station can be capable
of operating with one or more air interface standards,
communication protocols, modulation types, and access types. More
particularly, the mobile station can be capable of operating in
accordance with any of a number of first generation (1G), second
generation (2G), 2.5G and/or third-generation (3G) communication
protocols or the like. For example, the mobile station may be
capable of operating in accordance with 2G wireless communication
protocols IS-136 (TDMA), GSM, and IS-95 (CDMA). Also, for example,
the mobile station may be capable of operating in accordance with
2.5G wireless communication protocols GPRS, EDGE, or the like.
Further, for example, the mobile station may be capable of
operating in accordance with 3G wireless communication protocols
such as UMTS network employing WCDMA radio access technology. Some
NAMPS, as well as TACS, mobile stations may also benefit from the
teaching of this invention, as should dual or higher mode phones
(e.g., digital/analog or TDMA/CDMA/analog phones).
[0037] It is understood that the controller 52 includes the
circuitry required for implementing the audio and logic functions
of the mobile station 10. For example, the controller 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. The control and signal
processing functions of the mobile station are allocated between
these devices according to their respective capabilities. The
controller can additionally include an internal voice coder (VC)
52a, and may include an internal data modem (DM) 52b. Further, the
controller may include the functionality to operate one or more
client software programs such as those indicated above, which may
be stored in memory (described below).
[0038] The mobile station 10 also comprises a user interface
including a conventional earphone or speaker 54, a ringer 56, a
microphone 58, a display 60, and a user input interface, all of
which are coupled to the controller 52. Although not shown, the
mobile station can include a battery for powering the various
circuits that are required to operate the mobile station, as well
as optionally providing mechanical vibration as a detectable
output. The user input interface, which allows the mobile station
to receive data, can comprise any of a number of devices allowing
the mobile station to receive data, such as a keypad 52, a touch
display (not shown), a joystick (not shown) or other input device.
In embodiments including a keypad, the keypad includes the
conventional numeric (0-9) and related keys (#, *), and other keys
used for operating the mobile station.
[0039] The mobile station 10 can also include one or more means for
sharing and/or obtaining data. For example, the mobile station can
include a short-range radio frequency (RF) transceiver or
interrogator 64 so that data can be shared with and/or obtained
from electronic devices in accordance with RF techniques. The
mobile station can additionally, or alternatively, include other
short-range transceivers, such as, for example an infrared (IR)
transceiver 66, and/or a Bluetooth (BT) transceiver 68 operating
using Bluetooth brand wireless technology developed by the
Bluetooth Special Interest Group. The mobile station can therefore
additionally or alternatively be capable of transmitting data to
and/or receiving data from electronic devices in accordance with
such techniques. Although not shown, the mobile station can
additionally or alternatively be capable of transmitting and/or
receiving data from electronic devices according to a number of
different wireless networking techniques, including WLAN techniques
such as IEEE 802.11x techniques or the like.
[0040] The mobile station 10 can further include memory, such as a
subscriber identity module (SIM) 70, a removable user identity
module (R-UIM) or the like, which typically stores information
elements related to a mobile subscriber. In addition to the SIM,
the mobile station can include other removable and/or fixed memory.
In this regard, the mobile station can include volatile memory 72,
such as volatile Random Access Memory (RAM) including a cache area
for the temporary storage of data. The mobile station can also
include other non-volatile memory 74, which can be embedded and/or
may be removable. The non-volatile memory can additionally or
alternatively comprise an EEPROM, flash memory or the like. The
memories can store any of a number of software applications,
instructions, pieces of information, and data, used by the mobile
station to implement the functions of the mobile station.
[0041] As will be appreciated, a number of the entities of the
system of FIG. 1 can be configured in any of a number of different
architectures to perform any of a number of functions. For example,
the entities of the system of FIG. 1 can be configured in a
centralized client-server architecture, decentralized architecture
and/or proxy architecture. Additionally or alternatively, for
example, the entities of the system of FIG. 1 can be configured in
an architecture given in the Scalable Network Application Package
(SNAP) (formerly Sega Network Application Package) provided by
Nokia Corporation for applications such as in the context of
gaming.
[0042] More particularly, as shown in FIG. 4, for example, one or
more mobile stations, PC systems and/or game consoles may operate
as clients 76 in a gaming architecture that also includes one or
more game servers 22 and routing servers 24. In the illustrated
architecture, similar to a conventional client-server architecture,
the game servers operate games and maintain the state of those
games. The clients, then, operate client-side game applications
that communicate with the game servers to repeatedly change the
game state of the games operated and maintained by the game servers
to thereby play those games.
[0043] Also in the illustrated architecture, the clients 76 are
coupled to routing servers 24 which, in turn, are coupled to the
game servers 22. Thus, the routing servers route data packets
between one or more clients 76 and the game servers 22, and/or
other clients, to facilitate the operation of each entity in the
architecture. As shown, the routing servers can be coupled between
groups of clients and one or more routing servers, directly or
indirectly via one or more other routing servers. In this regard,
one or more routing servers can also be coupled to other routing
servers such that the routing servers can also be coupled between
one or more clients and one or more groups of other clients, such
as groups of clients coupled to other routing servers.
[0044] Referring now to FIG. 5, a flowchart of the operation of
scaling a link point in a multiplayer location-aware game is
illustrated, in accordance with one embodiment of the present
invention. The operation illustrated in FIG. 5 may be utilized to
scale, i.e., change the size of, some or all of the link points
that comprise a portion of a gaming area or an entire game area. A
gaming area is the entire area in which a particular multiplayer
location-aware game can be played. The gaming area is typically
predefined by the game developer and may comprise a multi-country
region (e.g., western Europe), a single country (e.g., the United
States), a region or part of a country (e.g., the island of Honshu,
Japan), or a city (e.g., Los Angeles). As discussed above, the
gaming area will typically comprise a plurality of link points, or
sub-areas, that are predefined by the game developer, with the set
of link points making up the gaming area.
[0045] The operation of scaling a link point as illustrated in FIG.
5 may be executed repeatedly, such as on a periodic basis (e.g.,
once daily), or non-periodically if desired. In the initial days
following the release of a new game, the operators of the new game
may desire to execute this scaling operation on a more frequent
basis. When the game has matured and the number of players has
stabilized, the operators of the game may desire to execute this
operation less frequently, or even cease executing this
operation.
[0046] The operation of scaling a link point may be executed by the
game server which is executing a server-side gaming application and
operating the multiplayer location-aware game. Alternatively, the
operation of scaling a link point may be executed in a network
entity separate from the game server. Such a network entity may
communicate with the plurality of clients playing the multiplayer
game. Such a network entity may determine the size of the link
points and communicate the size of the link points to the game
server.
[0047] Because of the problems discussed above that may occur when
there are too few players relative to the size of the link points,
a game developer may establish criteria that may be used by
embodiments of the present invention to determine if the size of
the link points should be scaled, and how to scale the link points
if so desired. Many different criteria may be predefined to
determine if and how the link points should be scaled. For example,
a game developer may predefine a desired ratio of players to link
points, e.g., 1:1, such that the size of the link points would be
changed if the number of link points exceeded the number of
players. Additionally, a game developer may predefine a desired
minimum number of possible interactions for each player. This may
be desired in a game in which players are only permitted to
interact with other players who are in the same link point or
adjacent link points. In such a game, when there are a small number
of players and the players are spread across the gaming area, some
of the players may not be able to interact with any other players
within the game. Embodiments of the present invention may increase
the size of the link points until every player is capable of
interacting with at least one other player. Similarly, a game
developer may predefine a maximum number of link points between any
two players or a maximum distance between any two players, such
that the size of the link points is increased if either predefined
maximum is exceeded.
[0048] In addition to the criteria related to the number and
location of the players, the game developer may also predefine a
minimum and a maximum allowable link point size. The minimum link
point size would typically be the intended link point size when the
game has reached maturity and the number of players has leveled
off. The maximum link point size may be as large as the gaming
area, such that the gaming area would comprise only one link point,
but would typically be smaller than the entire gaming area.
[0049] Referring again to FIG. 5, repeatedly the number and
location of all players within a gaming area would be determined,
as illustrated in block 80. The number and location of the players
would be analyzed to determine if the predefined criteria,
discussed above, are satisfied. See block 81. If the predefined
criteria are not satisfied, it would typically be determined if the
size of the link points could be increased such that the criteria
would be satisfied. If the link point size is already equal to the
maximum predefined size, as determined in block 100, then no
further action would be taken until the operation illustrated in
FIG. 5 is again scheduled to execute. It should be appreciated that
the criteria would not have been satisfied, but no further action
would typically be taken because the link point size is at the
predefined maximum.
[0050] If it is determined in block 100 that the link point size is
not already equal to the maximum link point size, the link point
size will be increased by a predefined increment to create a
proposed increased link point size. See block 102. The predefined
increment by which the link size is to be increased may be defined
in several different ways. For example, the size may be increased
by a predefined percentage, or by a predefined number of meters.
This proposed increased link point size will not yet be applied to
the game, but the proposed increased link point size will be
analyzed to determine if this increased link point size will cause
the criteria to be satisfied. See block 104. If the proposed
increased link point size causes the criteria to be satisfied, the
proposed increased link point size will be applied to the game,
such that the link points that comprise the gaming area will be
enlarged to proposed size. See block 108. No further action would
be taken until the operation illustrated in FIG. 5 is again
scheduled to execute.
[0051] If it is determined in block 104 that the proposed increased
link point size will not cause the criteria to be satisfied, the
proposed increased link point size would be compared to the
predefined maximum link point size. See block 106. If it is
determined in block 106 that the proposed increased link point size
is equal to the predefined maximum link point size, then the link
point size cannot be increased beyond the proposed new size and
therefore the proposed new size will be applied to the game. See
block 108. If it is determined in block 106 that the proposed
increased link point size is less than the predefined maximum link
point size, then a new, larger proposed increased link point size
will be created. See block 102. Blocks 102 through 106 may be
repeatedly performed until the predefined criteria are satisfied or
the maximum link point size is reached, such that a proposed
increased link point size that either satisfies the criteria or
equals the maximum link point size is applied to the game in block
108. No further action would be taken until the operation
illustrated in FIG. 5 is again scheduled to execute.
[0052] If it is determined in block 81 that the predefined criteria
are satisfied, it would typically be determined if the size of the
link points could be decreased while still satisfying the criteria.
If the link point size is already equal to the minimum predefined
size, as determined in block 82, then no further action would be
taken until the operation illustrated in FIG. 5 is again scheduled
to execute.
[0053] If it is determined in block 82 that the link point size is
not already equal to the minimum link point size, the link point
size will be decreased by a predefined increment to create a
proposed decreased link point size. See block 84. The predefined
increment by which the link size is to be decreased may be defined
in several different ways. This proposed decreased link point size
will not yet be applied to the game, but the proposed decreased
link point size will be analyzed to determine if this decreased
link point size would still allow the criteria to be satisfied. See
block 86. If the proposed decreased link point size would cause the
criteria to no longer be satisfied, the proposed decreased link
point size will not be applied to the game, but rather the link
point size will remain unchanged. See block 88. No further action
would be taken until the operation illustrated in FIG. 5 is again
scheduled to execute.
[0054] If the proposed decreased link point size would still allow
the criteria to be satisfied, the proposed decreased link point
size will be stored in memory. See block 90. The proposed decreased
link point size would be compared to the predefined minimum link
point size. See block 92. If it is determined in block 92 that the
proposed decreased link point size is equal to the predefined
minimum link point size, then the link point size cannot be
decreased beyond the proposed new size and therefore the stored
proposed new size will be applied to the game. See block 98. If it
is determined in block 92 that the proposed decreased link point
size is greater than the predefined minimum link point size, then a
new, smaller proposed decreased link point size will be created.
See block 94. This new proposed decreased link point size will not
yet be applied to the game, but the new proposed decreased link
point size will be analyzed to determine if this new decreased link
point size would still allow the criteria to be satisfied. See
block 96. If the new proposed decreased link point size would cause
the criteria to no longer be satisfied, the new proposed decreased
link point size will not be applied to the game, but rather the
previous proposed decreased link point size, which has been stored
in memory, will be applied to the game. See block 98. No further
action would be taken until the operation illustrated in FIG. 5 is
again scheduled to execute.
[0055] If the new proposed decreased link point size would still
allow the criteria to be satisfied, the new proposed decreased link
point size will be stored in memory, replacing the previously
stored value. See block 90. Blocks 90 through 96 may be repeatedly
performed until the predefined criteria are no longer satisfied or
the minimum link point size is reached, such that the most recently
stored proposed decreased link point is applied to the game in
block 98. No further action would be taken until the operation
illustrated in FIG. 5 is again scheduled to execute.
[0056] Referring now to FIG. 6, a gaming area of a typical
multiplayer location-aware game that would benefit from embodiments
of the present invention is illustrated. The gaming area 120 of
FIG. 6 comprises a plurality of link points, illustrated by the
small squares (one of which is indicated as 122). Gaming area 120
comprises 560 link points, in a grid of 20 link points across and
28 link points down. In the multiplayer location-aware game of FIG.
6, each link point might have a predefined size of 200 meters by
200 meters. Each number illustrated in the gaming area 120
indicates a player of the multiplayer location-aware game. In this
illustration, there are 28 players of this game. In a typical
multiplayer location-aware game, interaction among players might be
limited in a predefined manner, such as by only permitting players
in the same link point or in adjacent link points to interact. If
the gaming area 120 is illustrative of a game with such a
limitation, then it should be appreciated that few of the 28
players illustrated in FIG. 6 would be able to interact with other
players. Only players 2 and 3, players 13 and 14, players 16 and
19, and players 22 and 24 would be able to interact. The remaining
20 players would not be able to interact with other players, would
have a less enjoyable gaming experience, and would be less likely
to recommend the game to others. Based on predefined criteria, such
as a ratio of players to link points or a minimum number of
interactions, embodiments of the present invention would typically
increase the size of the link points illustrated in FIG. 6 to
enable greater interaction among the players and increased gaming
enjoyment.
[0057] FIG. 7 is an illustration of the gaming area 120 in which
the size of the link points has been increased, in accordance with
one embodiment of the present invention. In the gaming area 120 of
FIG. 7, the size of the link points has been increased such that
the link points (one of which is indicated as 124) are sixteen
times larger than the link points of FIG. 6. The gaming area 120 of
FIG. 7 now comprises only 35 link points, with each link point in
this illustration having a size of 800 meters by 800 meters. It
should be appreciated that the size of the link points in FIG. 7
would typically allow much greater interaction among the players
compared to the size of the link points in FIG. 6. Each of the 28
players in FIG. 7 is either in the same link point as another
player or in an adjacent link point to another player. As such,
each player is able to interact with at least one other player,
thereby increasing gaming enjoyment. It should be appreciated that,
as the number of players increases, embodiments of the present
invention would typically decrease the size of the link points such
that the link points would eventually return to the size indicated
in FIG. 6.
[0058] FIG. 8 is an illustration of the gaming area 120 in which
the size of the link points have been increased by differing
amounts across the gaming area, in accordance with one embodiment
of the present invention. The gaming area 120 of FIG. 8 comprises
link points that are sixteen times larger than the link points of
FIG. 6 (one of which is indicated as 124) and link points that are
four times larger than the link points of FIG. 6 (one of which is
indicated as 126). Because the lower right section of the gaming
area 120 has a greater concentration of players relative to the
other sections of the gaming area, the size of the link points in
the lower right section may not need to be increased as much as the
link points in the other sections. Embodiments of the present
invention may enable the link points in different sections of the
gaming area to increase or decrease by different amounts.
[0059] The method for scaling a link point in a multiplayer
location-aware game may be embodied by a computer program product.
The computer program product 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. Typically, the computer program is stored by a memory
device and executed by an associated processing unit, such as the
processing element of the server.
[0060] In this regard, FIG. 5 is a flowchart of methods and program
products according to the invention. It will be understood that
each step of the flowchart, and combinations of steps in the
flowchart, can be implemented by computer program instructions.
These computer program instructions may be loaded onto a computer
or other programmable apparatus 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 flowchart 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 flowchart 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
flowchart step(s).
[0061] Accordingly, steps of the flowchart 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 each step of the flowchart, and combinations of
steps in the flowchart, 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.
[0062] Many modifications and other embodiments of the invention
will come to mind to one skilled in the art to which this invention
pertains having the benefit of the teachings presented in the
foregoing descriptions and the associated drawings. Therefore, it
is to be understood that the invention is 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.
* * * * *