Note : Les descriptions sont présentées dans la langue officielle dans laquelle elles ont été soumises.
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
1
Title: SYSTEM, METHOD AND HANDHELD CONTROLLER FOR MULTI-
PLAYER GAMING
Technical Field
[0001] The invention relates to systems, methods and apparatus for multi-
player gaming. In particular, the multi-player gaming involves a common
display
visible to multiple players while each of a plurality of game controllers is
controlled
by a respective player associated with a particular game character.
Background
[0002] In a multi-player game environment where a large number of users
can play an interactive action-based game on a single large display screen,
such
as that which may be found in a cinema, for example, it may be difficult for
one of a
large number of players to identify his or her onscreen character (or avatar)
amongst all of the characters of the other players on the screen. This
difficulty
would be increased if the game characters chosen by the various players look
similar to each other.
[0003] If a player is not easily (or readily) able to identify his or her game
character on the large screen, the player's enjoyment of, and thus incentive
to play,
the game may be diminished.
[0004] A further problem in such a multi-player game environment arises in
relation to receiving game input commands from all of the large number of
players.
In an existing cinema or other large arena, for example, it may not always be
cost-
effective or practical to provide cabling or wiring to a large number of
player input
terminals for receiving the player input commands.
[0005] It is desired to address or ameliorate one or more shortcomings of
existing multi-player gaming systems, or to at least provide a useful
alternative to
the prior art.
Summary
[0006] Aspects of the invention relate to systems and methods for multi-
player gaming. Some aspects relate to systems having an improved
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
2
communications infrastructure and improved handheld game controllers, while
other aspects relate to improvements in handling large numbers of players in
the
multi-player game, for example, by enabling easy identification of a player's
on-
screen character (or avatar) or by providing a pre-game activity on the
handheld
game controller prior to allowing a player to join the multi-player game. Yet
other
aspects relate to methods of multi-player gaming and player registration for a
multi-
player game.
[0007] In one aspect, the invention relates to a multi-player bingo game
system comprising:
a bingo game server configured to provide display signals for
displaying a multi-player bingo game;
a display system having primary display means, the display system
being configured to provide a primary bingo game display of the multi-player
bingo
game on the primary display means in response to the display signals;
a plurality of game controllers, each bingo game controller having
secondary display means for providing a secondary bingo game display and input
means for receiving player input; and
communication means for enabling communication between the game
server and each of the plurality of bingo game controllers;
wherein the plurality of bingo game controllers are located in proximity
to the primary display means such that the primary display means is visible to
bingo game players manipulating respective bingo game controllers.
[0008] The primary display means may include a large display screen, for
example of a size which is used in cinemas. The large display screen may be a
projection screen, in which case the display system includes a projector to
project
an image of the multi-player bingo game on the display screen. The display
system may use projection equipment which is normally used for projecting
films if
that equipment is configured to project digital images.
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
3
[0009] The bingo game controllers may be small handheld computing devices
with wireless transmitter means for communicating with the bingo game server.
Alternatively, the handheld computing devices may be in wired communication
with
the bingo game server over a network, such as an Ethernet.
[0010] In one embodiment, each handheld computing device receives power
from an external source, such as an externally mounted battery pack. The
handheld computing devices may be each connected to an arm of a seat or to
another fixed structure in the bingo game arena.
[0011] The battery pack may be removably mounted to the seat arm or other
fixed structure, while the handheld computing device is connected to the seat
arm
or other structure by means of a tether. The tether comprises a movable
connection means for allowing the handheld computing device to move relative
to
the seat arm or other structure and houses a power cable for supplying power
to
the handheld computing device from the battery pack. The tether may comprise a
rigid connecting arm or may comprise a flexible retractable cable.
[0012] The bingo game arena may be in an enclosed theatre, such as a
movie theatre, or it may be another kind of venue, such as an outside
amphitheatre, convention hall, meeting room or other suitably large place that
has
a suitable display system and communications infrastructure enabling
communication between the bingo game controllers and the bingo game server.
The bingo game arena may be a venue specifically designed for multi-player
bingo
gaming such as a bingo club.
[0013] The bingo game arena may have a large number of seats (for
example, in the order of fifty to a few hundred seats) facing the display
screen so
that the players can face the display screen and hold the secondary display of
the
bingo game controller within view, while seated in the seats in the bingo game
arena.
[0014] The bingo game system may support up to a few hundred bingo game
controllers so that, in a bingo game arena having a potential occupancy of a
few
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
4
hundred people, almost every person may participate in the multi-player bingo
game, if desired or allowed.
[0015] Each bingo game controller may comprise player input means. The
display screen of the bingo game controller may be formed as a touch screen,
by
which the user can provide input by touching portions of the display screen.
The
bingo game controller may also have a card reader, for example in the form of
a
smart card slot or magnetic strip reader, for authenticating a player for
participation
in the bingo game.
[0016] The communication means may include a communication controller in
communication with the bingo game server over a high-speed interface and
having
at least one wireless arena transceiver. Each bingo game controller also has a
wireless game controller transceiver module, forming part of the communication
means, to receive signals from the at least one wireless arena tranceiver and
transmit signals back to the bingo game server via the at least one wireless
arena
transceiver. In order to enable effective communication between the bingo game
controllers and the bingo game server, the at least one wireless arena
transceiver
is located within the bingo game arena. The bingo game server and
communication controller need not be located in the bingo game arena.
[0017] The at least one wireless arena transceiver may be located on a
ceiling or upper sidewall portion of the bingo game arena, generally toward
the
display screen or may be located in a spaced configuration around the bingo
game
arena.
[0018] The bingo game server may be further configured to enable one or
more supplementary game activities in conjunction with the display system and
the
bingo game controllers. These may include trivia-based games and/or word-based
games.
[0019] In a further aspect, the invention relates to a method of player
registration for playing a multi-player bingo game. Player registration is
initiated by
each prospective player of the multi-player bingo game by inputting a payment
authorization code, which may be an account code, into a handheld bingo game
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
controller. The payment authorization code may be received from a built-in
card
reader, where a card having the code stored thereon is passed through or into
the
card reader, or by manual input. The handheld bingo game controller tries to
validate the payment authorization code and, if valid, encrypts the code and
sends
5 it to a bingo game server that facilitates the multi-player bingo game. The
bingo
game server decrypts the code and attempts to recognize it as pertaining to an
existing (pre-registered) account useable for paying for the multi-player
bingo
game. If the bingo game server recognizes the decrypted code, it checks
whether
there are sufficient funds in the account to allow the player to play the
multi-player
bingo game. If sufficient funds exist on the account, the account is debited
for an
appropriate amount and the player becomes registered to play the multi-player
bingo game. The handheld bingo game controller is then unlocked for use by the
player for playing the multi-player bingo game (or for performing another
activity)
and relevant bingo game software is downloaded from the bingo game server to
the handheld bingo game controller to enable the player to participate in the
multi-
player bingo game by manipulating the handheld bingo game controller.
[0020] The method of player registration may be performed in conjunction
with a multi-player bingo game system having a display system and arranged in
a
bingo game arena. The bingo game arena includes a plurality of the handheld
bingo game controllers, the display system and wireless communication means
for
enabling the handheld bingo game controllers to communicate with the bingo
game
server.
[0021] In a still further aspect, the invention relates to a method of
conducting
a multi-player bingo game. The method involves receiving at a bingo game
server
a plurality of registration requests from respective bingo game controllers
manipulated by prospective players of the multi-player bingo game. The
registration requests are processed so as to register eligible prospective
players as
registered players of the multi-player bingo game. A number of registered
players
are added to the multi-player bingo game, up to a predetermined number of
players
and the bingo game is then begun. During play of the multi-player bingo game,
one or more registered players previously added to the bingo game are removed
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
6
from the bingo game in response to one or more predetermined bingo game
removal events. Once registered players have been removed from the bingo
game, a corresponding number of registered players are added to the bingo game
so that the number of registered players playing the multi-player bingo game
does
not exceed the predetermined number of players. Once a predetermined bingo
game end event occurs, the multi-player bingo game is ended. One or more of
the
players may be declared to be the winner or winners, following the end of the
bingo
game, depending on the achievements of the registered players during play of
the
multi-player bingo game.
[0022] The multi-player bingo game may be displayed on a large display
screen in a bingo game arena housing the bingo game controllers and the
registered players. The one or more predetermined bingo game end events may
include expiry of a predetermined game time or the fulfillment of a winning
criteria
by one or more of the players.
[0023] Following the registration of eligible prospective players (where
eligibility is determined at least partly on the basis of successful payment
for the
multi-player bingo game), the bingo game server may download a bingo game
module to each bingo game controller for facilitating play of the multi-player
bingo
game. Alternatively, the bingo game module may be pre-loaded into the bingo
game controllers and enabled once registration is complete.
[0024] Further aspects of the invention relate to computer readable storage
media having stored therein computer program instructions which, when executed
by one or more processors, cause the one or more processors to perform any one
of the methods described herein.
[0025] Further aspects of the invention relate to methods of facilitating team
play in a multi-player bingo game. In one such aspect, a plurality of handheld
bingo game controllers are provided in a bingo game arena. The handheld bingo
game controllers each has input means for receiving player input from
respective
players and a first display screen for displaying bingo game-related images. A
bingo game server is also provided in communication with the handheld bingo
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
7
game controllers for receiving first signals from each handheld bingo game
controller and for transmitting second signals to the handheld bingo game
controllers. The first signals correspond at least in part to player input
received at
the respective hand held bingo game controller.
[0026] In response to player input from a first player, the bingo game server
receives a team creation request from a first handheld bingo game controller.
In
response to the team creation request, the bingo game server creates a team
entry
in a team table maintained by the bingo game server. The bingo game server
then
adds a player entry for the first player to the team entry. In response to
player input
from a second player, the bingo game server receives a team join request from
a
second handheld bingo game controller. In response to the team join request,
the
bingo game server adds a player entry for the second player to the team entry.
A
team can then be formed on the basis of the team entry and the multi-player
bingo
game then started. Once the multi-player bingo game is started, the bingo game
server causes bingo game images of the multi-player bingo game to be displayed
on a second display screen.
[0027] The bingo game may receive multiple team join requests from multiple
players and may add player entries to the team entry, optionally only if the
first
player consents to those players joining the team. The team may have a
predetermined limited number of team positions, for example such as 4 or 6,.
[0028] In another aspect, the invention relates to a multi-player bingo game
system comprising: a bingo game server configured to provide display signals
for
displaying a multi-player bingo game; a display system having primary display
means, the display system being configured to provide a primary bingo game
display of the multi-player bingo game on the primary display means in
response to
the display signals; a plurality of bingo game controllers, each bingo game
controller having input means for receiving player input relating to the multi-
player
bingo game, the plurality of bingo game controllers being located in proximity
to the
primary display means such that the primary bingo game display is visible to
bingo
game players manipulating respective bingo game controllers; communication
means for enabling communication between the bingo game server and each of
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
8
the plurality of bingo game controllers; and at least one remote bingo game
controller located remotely from the primary display means and having
secondary
display means for displaying a secondary bingo game display of the multi-
player
bingo game and input means for receiving player input relating to the multi-
player
bingo game, the at least one remote bingo game controller being in
communication
with the bingo game server over a network.
[0029] The at least one remote bingo game controller may communicate with
the bingo game server over a cable television communications link or using a
digital television service delivered using an internet protocol.
Brief description of the drawings
[0030] Exemplary embodiments of the invention are described in further
detail below, by way of example only, with reference to the accompanying
drawings, in which:
[0031] Figure 1 is a block diagram of a multi-player game system, according
an embodiment of the invention;
[0032] Figure 2 is a block diagram of a multi-player game system according
to another embodiment of the invention;
[0033] Figure 3 is a block diagram of a game server according to another
embodiment of the invention;
[0034] Figure 4 is a side schematic view of a game arena according to
another embodiment of the invention;
[0035] Figure 5 is a process flow diagram of a method of multi-player gaming
according to another embodiment of the invention;
[0036] Figure 6 is a block diagram of a handheld game controller according to
another embodiment of the invention;
[0037] Figure 7 is a perspective view of a handheld game controller;
[0038] Figure 8 is a process flow diagram of a method of avatar identification
according to another embodiment of the invention;
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
9
[0039] Figure 9 is an example screen display of a primary display;
[0040] Figure 10 is an example screen display of a secondary display;
[0041] Figures 11A, 11B and 11C are further examples of game displays of
the multi-player game, as displayed on the primary display and the secondary
display;
[0042] Figure 12 is a process flow diagram of a method of player registration;
[0043] Figure 13 is a block diagram of a multi-player game system, according
to another embodiment of the invention;
[0044] Figure 14 is a process flow diagram of a method of facilitating team
play in a multi-player game, according to another embodiment of the invention;
[0045] Figures 15 to 18 are example displays on the handheld game
controller displayed during team formation;
[0046] Figure 19 is a block diagram of a multi-player game system according
to another embodiment of the invention;
[0047] Figure 20 is a block diagram of a multi-player game system, according
to another embodiment of the invention;
[0048] Figure 21 is a block diagram of a game server according to another
embodiment of the invention;
[0049] Figure 22 is a block diagram of a bingo engine according to another
embodiment of the invention; and
[0050] Figure 23 is a side schematic view of a game arena according to
another embodiment of the invention.
Detailed description of embodiments
[0051] Embodiments of the invention are hereinafter described in further
detail, by way of example only, with reference to the accompanying drawings.
In
the following description, like reference numerals will be used to indicate
like,
similar or corresponding features, functions or elements as between the
drawings
and embodiments depicted therein.
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
[0052] Embodiments of the invention relate to methods and systems for multi-
player gaming. In the following description of these embodiments, certain
aspects
of the embodiments are described separately. For example, the system
architecture is described separately to the example game implementations and
5 game software. It should be understood, however, that each of these aspects
forms at least part of the described embodiments.
Multi-Player Gaming System Architecture
[0053] Referring now to Figures 1, 2, 3 and 4, system architecture aspects of
the multi-player gaming system will now be described. Figure 1 shows a multi-
10 player gaming system 100 according to one embodiment of the invention,
comprising a game server 110, a communications controller 115 and a game arena
120.
[0054] The game server 110 stores and runs game software 310 for
facilitating the multi-player game. The game server 110 interfaces with the
game
arena 120 through communications controller 115, which controls high speed
wireless (radio frequency) communication within the game arena 120 and high
speed wired communications to and from the game server 110. Game arena 120
comprises a display system 125, a wireless transmitter 130, a plurality of
handheld
game controllers 135 and at least one (up to, say, 6) wireless receiver 140.
[0055] The game arena 120 may be a large indoor screening area 400, such
as a cinema, theatre, conference hall, presentation hall or the like.
Alternatively,
the game arena 120 may be an outdoor facility, such as an amphitheatre,
stadium
or other outdoor area where the attention of participants can be focused on a
large
central display.
[0056] Display system 125 is disposed within the game arena 120 and
comprises a projector and a large display screen upon which images of the
multi-
player game are displayed when the game is being played. The projector may be
of a kind normally used for digital projection of films in a cinema. An
example of a
suitable projector is the Wide XGA Digital Multimedia Projector by Sanyo,
model
PLV-WF10.
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
11
[0057] The display screen (shown in Figure 4 and designated by reference
numeral 425) may be any suitable screen for displaying images thereon, for
example such as a movie screen or other flat or substantially planar surface
of
suitable reflectivity for viewing video images. The display screen may
comprise a
wall or part thereof, depending on the physical characteristics of the game
arena
120.
[0058] The game arena 120 is intended to accommodate a relatively large
number of handheld game controllers 135, for example in the order of 20 to 250
handheld game controllers 135. Each handheld game controller 135 is used by an
individual player of the multi-player game while seated, or otherwise located,
within
the game arena 120. For example, each handheld game controller 135 may be
associated with a seat facing the large display screen 425 so that players of
the
multi-player game can sit in seats in the game arena 120 and manipulate the
handheld game controllers 135 while viewing a display of the multi-player game
on
display screen 425. The components and operation of handheld game controllers
135 are described in further detail below.
[0059] The game system 100 shown in Figure 1 is an embodiment in which
the multi-player game may be performed in a single game arena 120. In another
embodiment, such as is shown in Figure 2, a number of multi-player games may
be
performed in separate game arenas 120, located relatively near each other or
remotely from each other.
[0060] In the embodiment shown in Figure 2, each multi-player game system
100 has a game server 110, communications controller 115 and game arena 120,
as described above in relation to Figure 1. Each of these multi-player game
systems 100 may be included within a larger multi-arena game system 200. The
multi-arena game system 200 comprises an administrative server system 210 in
communication with the game servers 110 of each of the multi-player game
systems 100, as well as a payment/authentication system 220 for player
authentication and payment processing.
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
12
[0061] The administrative server system 210 performs overall system
administration functions, as well as facilitating communications between game
servers 110 of different multi-player game systems 100. For example,
administrative server system 210 may keep a register of players who have
chosen
to provide registration information prior to playing a game and/or as part of
providing payment information. The administrative server system 210 is also
configured to perform non-game specific functions. For example, the
administrative server system 210 logs statistics, such as the average number
of
players, the average length of play time and the average spend of each player,
in
order to assist in analyzing system performance and customer usage.
[0062] In one embodiment, game arenas 120 within the multi-arena game
system 200 may be adjacent cinemas within a cinema complex. In such a case,
wireless communications from one game arena 120 may cross over into an
adjacent game arena 120, causing interference or disruption to the multi-
player
game.
[0063] In order to avoid transmission of game data at the same time in
adjacent game arenas 120, a communications clock signal 230 is employed so as
to synchronize the communications controllers 115 of all multi-player game
systems 100 within multi-arena game system 200. Thus adjacent game arenas
120 are controlled so as to not transmit game data at the same time. Instead,
a
clock cycle of, say 40 Hertz, is used to allocate a transmission period of
12.5
milliseconds for communications within one or more separated game arenas 120.
Once that 12.5 millisecond period passes, adjacent game arenas 120 are allowed
to transmit for a subsequent period of 12.5 milliseconds. If significantly
fewer
handheld game controllers 135 than the maximum (256) are in use, say less than
128, the transmission period may be doubled or otherwise increased.
[0064] For clocking purposes, one communications controller 115 is
designated by administrative server system 210 to provide the master
communications clock signal 230 from which other communications controllers
115
follow, to coordinate transmission timing. A dedicated clock cable, for
example
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
13
such as a twisted pair, is provided for communicating the master
communications
clock signal 230.
[0065] Depending on the number and physical arrangement of the multiple
game arenas 120 within multi-arena game system 200, the communications clock
230 can be used to ensure that immediately adjacent game arenas 120 do not
transmit data at the same time, while allowing game arenas 120 that are
sufficiently
remote from each other to transmit simultaneously (as there is less chance of
interference in such a case). Alternatively, if each game arena 120 has
sufficient
electromagnetic shielding to sufficiently reduce the likelihood of
interference from
adjacent game arenas 120, the communications clock 230 may be unnecessary
and the data communications rate within each game arena 120 would not need to
be reduced.
[0066] Figure 2 shows a multi-arena game system 200 having three multi-
player game systems 100. It should be understood, however, that there may be
any number of multi-player game systems 100 within multi-arena game system
200. For example, a cinema complex may host ten multi-player games in ten
different theatres, with each theatre being a game arena 120 of a multi-player
game system 100, within an overall multi-arena game system 200. Further,
cinema
complexes at different locations may be governed by the same multi-arena game
system 200, sharing a single administrative server system 210.
[0067] While multi-arena game system 200 is shown having multiple multi-
player game systems 100, an alternate embodiment provides a single multi-
player
game system 100 operating with its own administrative server system 210 and
payment/authentication system 220. This embodiment may be more suitable
where only one game arena 120 can be accommodated at a certain location.
[0068] Referring now to Figure 3, the game server 110 is described in further
detail. Game server 110 accesses computer program instructions in the form of
game software 310 stored in memory 312. The game software 310 is loaded from
memory 312 and processed by a computer processor (not shown). The game
server 110 also comprises a display driver 314 responsive to instructions from
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
14
game software 310 for providing display instructions to display system 125.
Game
server 110 further comprises a game controller driver 316 for providing game
data
to, and receiving player command data from, handheld game controllers 135 via
communications controller 115.
[0069] The game software 310 running on game server 110 may vary
according to the desired game to be played on multi-player game system 100.
The
appropriate software may be loaded from memory 312 in response to votes cast
by
players when initiating the multi-player game or in response to a selection by
an
administrative operator of game server 110 or administrative server system
210.
[0070] When the game to be played has been selected and game software
310 is loaded from memory 312, game server 110 downloads a game software
module to each of the handheld game controllers 135 via communications
controller 115 prior to initiation of the multi-player game. This download may
take
several minutes but is necessary in order to enable a complimentary display to
be
provided on the display screen of the handheld game controller 135 during
operation of the multi-player game.
[0071] The game software module thus downloaded from game server 110
onto handheld game controller 135 may also include software to enable
activities
not directly related to the multi-player game, such as a pre-game
qualification
activity, to be performed. Alternatively, in response to a request from the
player,
game server 110 may download to the handheld game controller 135 a game
software module for a game other than the multi-player game, to be played by
the
player as a single player game, thus enabling a player to opt out of the multi-
player
game if it is not of interest to him/her.
[0072] Each handheld game controller 135 is provided with suitable software
stored in memory for accomplishing certain basic functions, such as processing
(including encrypting) payment authorization information received from a
player
prior to commencement of a game. This pre-loaded software may also include a
browser application for enabling Internet or other more restricted network
browsing,
such as of a theater intranet. Intranet browsing in such a manner
advantageously
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
allows the person browsing to preview upcoming films, games, promotions and
other forms of product or service marketing. Also, the handheld game
controllers
135 may have video images or static images pre-loaded into memory, for
example,
so that a person manipulating one of the handheld game controllers 135 can
view
5 (on display screen 640) advertisements for upcoming films or games or other
products or services.
[0073] Referring again to Figure 1, wireless transmitter 130 and wireless
receivers 140 include suitable hardware and/or software modules for wireless
communications at radio frequencies with handheld game controllers 135. The
10 communications controller 115 comprises a high-speed serial interface for
communicating data to transmitter 130 for transmission to the handheld game
controllers 135 and for receiving command data from the handheld game
controllers 135 via wireless receivers 140.
[0074] Communications controller 115 is configured to transmit data packets
15 to the handheld game controllers 135 at a rate of up to 1 megabit per
second via
wireless transmitter 130 using a transmission frequency of about 2.4
gigahertz.
[0075] It should be understood that transmission rates and communications
infrastructure described herein are exemplary only, as it is anticipated that
improved transmission rates and communication infrastructures will be
available in
future. Thus, while the communications infrastructure described herein is
presently
considered to provide high-speed communications, such infrastructure may not
be
considered high speed by future standards.
[0076] Communications controller 115 communicates the received command
data to, and receives game data from, game server 110 over a high-speed wired
connection, possibly having at least a 10-megabit per second transmission rate
in
either direction. A suitable connection between the game server 110 and
communications controller 115 is an Ethernet connection.
[0077] Wireless transmitter 130 comprises suitable RF transceiver, controller,
amplifier and antenna hardware modules (not shown) for high-speed wireless
data
transmission. An example RF module is RF Waves RFW-D100 Link Manager with
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
16
an RFW1 12-M transceiver. The transmitter antenna of wireless transmitter 130
provides a directional broadcast of the data signal into game arena 120.
[0078] Wireless receivers 140 each comprise a similar RF receiver module,
including antenna, amplifier, controller and transceiver hardware modules.
Command data transmitted by the handheld game controllers 135 is received by
the receiver antenna of each wireless receiver 140. Depending on the location
of
each wireless receiver 140 relative to the handheld game controllers 135
within
game arena 120, one wireless receiver 140 may receive a stronger signal from a
particular handheld game controller 135 or that signal may be received at that
wireless receiver 140 slightly earlier than at other wireless receivers 140.
[0079] Command data transmitted from handheld game controllers 135 is
received at wireless receiver 140, which then outputs the command data to the
high-speed serial interface in communications controller 115, which in turn
provides
that data to game server 110.
[0080] Data is communicated between the handheld game controllers 135
and the game server 110 in the form of packets. Depending on the purpose of
the
communication, the number of bytes in each packet may vary. The types of
packets include at least the following: a polling packet from the game server
110 to
a particular handheld game controller 135; a standard response packet from the
handheld game controller 135 to the game server 110, providing data
corresponding to any input received from the player; and an interrogation
response
packet provided from the handheld game controller 135 to the game server 110,
sent in response to an interrogation packet received from the game server 110.
Other data packet structures may be used to transmit game/command data and
information not specifically related to the multi-player game, such as
registration-
related information or for data or software downloads.
[0081] Because wireless data transmissions experience attenuation and are
affected by noise, all data communications between the game server 110 and the
handheld game controllers 135 include some form of error detection code, for
example such as a checksum byte or cyclic redundancy code.
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
17
[0082] Game controller driver 316 (shown in Figure 3) includes an input
buffer (not shown) and an output buffer (not shown) for receipt and
transmission,
respectively, of data from and to each handheld game controller 135. Separate
input and output buffers are dedicated for communications with each handheld
game controller 135 for which a player is registered. Tables 1-3 below
illustrate an
exemplary packet structure for each of the polling, standard response and
interrogation response packets.
[0083] The polling packet, as exemplified in Table 1, is transmitted by the
game server 110 within the transmission period allowed by the master
communications clock 230 (for example, 12.5 ms). The polling packet includes
six
bytes for communicating a command, an arena identifier, a game controller
identifier, a data payload of two or three bytes and a checksum byte.
Table 1 - Polling Packet
Data (8 bits) Comments
Byte 1 CCCTTTTT C=command T=Arena ID
Byte 2 DDDDDDDD D=Controller ID
Byte 3 11111111 Data 1 (Extended command if CCC
bits =000)
Byte 4 22222222 Data 2
Byte 5 33333333 Data 3
Byte 6 SSSSSSSS Check sum of 1-5 (+ controller ID or
OxOFF if error)
[0084] The handheld game controller 135 ignores the polling packet if the
checksum is incorrect. If the checksum byte is correct, the handheld game
controller 135 responds with a five-byte standard response packet that
specifies
the current state of the handheld game controller 135. If the current state of
the
handheld game controller 135 is normal, the controller ID is added into the
checksum. If not, an error code, such as OxOFF (255 decimal), is added to the
checksum.
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
18
Table 2 - Standard Response Packet
Data (8 bits) Comments
Byte 1 KKKKKKKK Key matrix bits 1-8
Byte 2 XXXXXXXX Joystick X-axis position
Byte 3 YYYYYYYY Joystick Y-axis position
Byte 4 -KTTTTTT Key matrix bit 9, touchpad 1-7
Byte 5 SSSSSSSS Check sum of 1-4 (+ controller ID or
OxOFF if error)
[0085] The interrogation response packet (exemplified in Table 3) is a five-
byte packet providing status information of the handheld game controller 135
in
response to a status request (interrogate packet) from the game server 110.
Table 3 - Interrogation Response Packet
Data (8 bits) Comments
Byte 1 DDDDDDDD Data 1
Byte 2 DDDDDDDD Data 2
Byte 3 DDDDDDDD Data 3
Byte 4 DDDDDDDD Data 4
Byte 5 SSSSSSSS Check sum of 1-4 (+ controller ID or
OxOFF if error)
[0086] A processor 605 (shown in Figure 6) of handheld game controller 135
is configured to parse the polling packet, once received through RF
transceiver
615, and to determine the command encoded within the polling packet. Processor
605 responds according to the command received, including, where necessary,
constructing a standard response packet or an interrogation response packet.
When handheld game controller 135 is receiving a data download from game
server 110, processor 605 parses the downloaded packets and stores the
software
thus received, but does not provide a response, other than simple
acknowledgement of the packets received.
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
19
[0087] The game controller driver 316 maintains an input and output buffer
(exemplified in Tables 4 and 5, respectively, below) for each handheld game
controller 135. The input buffer holds the last data received from the
handheld
game controller 135, as well as newly received data not yet parsed. The input
buffer also tracks the current state of the various inputs and changes of
state of
those inputs. The output buffer holds the next data packet to be sent to the
controller. Each input and output buffer is duplicated so that one buffer may
be
sending or receiving while the other is being accessed by the game server 110.
Table 4 - Input Buffer
Data (8 bits) Comments
Byte 1 RRRRRRRR Raw data 1 (unparsed data)
Byte 2 RRRRRRRR Raw data 2 (unparsed data)
Byte 3 RRRRRRRR Raw data 3 (unparsed data)
Byte 4 RRRRRRRR Raw data 4 (unparsed data)
Byte 5 CCCCCCCC Controller ID
Byte 6 -----SCO S=checksum error, C=communication
error, O=Online/offline
Byte 7 ---TJWGD State change: D=dpad, G=action
buttons, W=sWitch, J=joystick,
T=touchpad
Byte 8 --TTDDDD D=dpad, T=trigger
Byte 9 ----GGGG G=action buttons
Byte ---WWWWW W=sWitch
Byte XXXXXXXX X=Joystick X-axis position
11
Byte YYYYYYYY Y=Joystick Y-axis position
12
Byte -TTTTTTT T=Touchpad
13
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
Table 5 - Output Buffer
Data (8 bits) Comments
Byte 1 11111111 Arena ID
Byte 2 CCCCCCCC Controller ID
Byte 3 MMMMMMMM CoMMand
Byte 4 11111111 Data 1
Byte 5 22222222 Data 2
Byte 6 33333333 Data 3
[0088] As shown in Figure 4, game arena 120 has located therein wireless
transmitter 130, wireless receivers 140, a plurality of handheld game
controllers
135 and display system 125 (which comprises projector 428 and display screen
5 425). These components of game arena 120 are disposed at various locations
around screening area 400.
[0089] Wireless transmitter 130 may be located on or near a ceiling of the
screening area and has a targeted directional broadcast 430 generally directed
towards the seating areas of screening area 400 where players are likely to
10 position themselves while playing the multi-player game. A beam angle 0 of
directional broadcast 430 may be about 45 degrees to 90 degrees, depending on
the physical configuration of screening area 400 and location of wireless
transmitter
130. Broader or narrower broadcast angles can be used to accommodate more
unusual configurations of screening area 400.
15 [0090] Wireless receivers 140 may be spaced apart along the ceiling of
screening area 400 in several positions for receiving output signals from
wireless
transceivers of handheld game controllers 135. One or more wireless receivers
140 may also be located on a back or side wall of screening area 400, if
considered
desirable for optimizing signal-to-noise characteristics at the wireless
receives 140.
20 [0091] Screening area 400, as exemplified in Figure 4, may take the form of
a
cinema or auditorium or another kind of large enclosed space. In such a
screening
area, it is common to have projector 428 located toward or behind a back wall
of
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
21
the screening area 400 so that the images projected therefrom are directed
toward
display screen 425 at the front of screening area 400. Alternative locations
of
projector 428 may be employed, however, to suit the physical layout of
screening
area 400. For example, projector 428 may be mounted on a structure suspended
from the ceiling or protruding from the floor.
[0092] In one embodiment, it is preferred to locate the wireless transmitter
130 generally towards the display screen 425, with the directional broadcast
430
being directed somewhat away from the display screen 425, such that the beam
angle 0 is directed generally downwardly and toward the back of screening area
400. In this arrangement, wireless receivers 140 are located toward the back
of
screening area 400 so as to be out of a direct line of sight of directional
broadcast
430 from wireless transmitter 130. In this arrangement, wireless transmitter
130
may be located within one third of the ceiling area of screening area 400
closest to
display screen 425, while wireless receivers 140 may be located within one
half of
the ceiling or side wall area of screening area 400 toward the projector 428.
[0093] In an alternative embodiment, wireless transmitter 130 may be located
toward the back of screening area 400 and have directional broadcast 430
oriented
generally toward the front and downwardly (but still directed to the seating
area
where the handheld game controllers will be located during play). With such an
arrangement, wireless receivers 140 are located in closer proximity to display
screen 425 and generally away from wireless transmitter 130.
[0094] In the various embodiments, the precise location of wireless
transmitter 130 and wireless receivers 140 within screening area 400 will
depend
on the physical configuration of screening area 400 to be used in multi-player
game
system 100. Keeping in mind the need for direct and efficient communication
from
wireless transmitter 130 to handheld game controllers 135 positioned within a
screening area 400 and for a fast and efficient communication from handheld
game
controllers 135 to wireless receivers 140, some variation or modification of
the
positioning of the wireless transmitter 130 and wireless receivers 140 may be
made.
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
22
[0095] In an alternative embodiment of the multiplayer game system,
designated by reference numeral 1300, the handheld game controllers may be in
communication with game server 110 in a wired manner, such as is shown in
Figure 13. Communication between the handheld game controllers and the game
server 110 may be performed over a wired network 1350, such as an Ethernet.
[0096] Multiplayer game system 1300 is substantially the same as, and
operates in a substantially similar manner to, multiplayer game system 100.
However, multiplayer game system 1300 uses a wired system architecture,
instead
of the wireless architecture of multiplayer game system 100. As multiplayer
game
system 1300 interconnects game server 110 with the handheld game controllers
via a network 1350, there is no need for wireless transmitters and receivers
to be
located in game arena 120.
[0097] The handheld game controllers are designated in Figure 13 by
reference numeral 1335, as they are slightly different to handheld game
controllers
135 (described in more detail in relation to Figures 6 and 7) in that they do
not
require a wireless transceiver. Instead, handheld game controllers 1335 rely
on a
wired connection, such as an Ethernet connection, to network 1350. The wired
connection between network 1350 and each handheld game controller 1335 is
established through wiring running to each playing station, which in the
preferred
embodiment is a seat having at least one arm rest. The Ethernet connecting
cable
may through the armrest and through a mechanical connection which connects the
handheld game controller 1335 to the armrest. This mechanical connection may
be rigid or flexible.
[0098] As the Ethernet connection through network 1350 provides inadequate
voltage to power the handheld game controller 1335 during operation of the
multiplayer game, handheld game controllers 1335 use a battery power supply
when the handheld game controllers 1335 are in use. When the handheld game
controllers are not in use, the battery is trickle-charged through the
Ethernet
connection.
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
23
[0099] It should be understood that the multiplayer game system 1300 can be
substituted for multiplayer game system 100 in relation to the various
embodiments
described herein, without affecting any of the multiplayer game operations.
The
primary affect is to the communications between the game server 110 and the
handheld game controllers, which is primarily a matter of communications
architecture and hardware.
[00100] Advantageously, multiplayer game system 1300 obviates the
necessity to guard against interference between adjacent game arenas 120, as
it
does not use wireless communications. On the other hand, multiplayer game
system 1300 may be more costly to install in an existing arena, such as a
movie
theatre, because of the greater structural interference required to install
the wired
communications infrastructure, compared to the wireless infrastructure of
multiplayer game system 100.
[00101] Referring now to Figure 5, a method 500 of conducting a multi-player
game is described. Method 500 begins at step 510, at which player
registrations
are received. Player registrations are received as a result of players
indicating (i.e.
through appropriate input commands on a handheld game controller 135) their
interest in playing a particular multi-player game. Player registration also
involves
receipt of payment or payment authorization or other means of receiving
payment
from a player. Player registration is described in further detail below, in
relation to
Figure 12.
[00102] Once players have registered to play the multi-player game, a game
software module is downloaded from game server 110 to the handheld game
controller for which a player is registered, at step 515. This game software
module
is used to facilitate corresponding game activities on the handheld game
controller
135 during play of the multi-player game or activities for the player to
undertake
prior to joining the multi-player game. In an alternative embodiment, step 515
may
be performed before step 510 so as to pre-load all of the handheld game
controllers 135 with the game software module before initiating the player
registration procedure.
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
24
[00103] Once player registration is complete and the game software download
is accomplished, registered players are added to the game at step 520.
Depending
on the number of registrations received and any predetermined limits on the
number of players that may participate in the multi-player game to be played,
the
first players to register, up to a predetermined cut-off number, will be added
to the
game. Players registered subsequent to the cut-off number may be provided with
an alternate activity while waiting for entry into the game. The cut-off
number may
be, for example, from 20 to 100 players, depending on the type of game and
number of registered players.
[00104] Once a sufficient number of registered players have been added to the
game at step 520, the game begins at step 530, with only those players added
to
the game at step 520 being allowed to participate in the multi-player game.
[00105] During the course of the game, the avatar controlled by a player will
usually suffer some kind of gain or loss, depending upon its experiences
within the
game, as affected by the other player's avatars and dictated by the game
software
310. If an avatar suffers a certain amount of loss or experiences certain
predetermined events, the avatar may "die" or otherwise be removed from the
multi-player game, in which case the player is no longer an active player in
the
multi-player game and the player's avatar is no longer visible on the large
display
screen 425.
[00106] Addition and removal of players to and from the game occurs at step
540 whereby, when a player is removed from the game, another player may be
added to the game in his or her place. Players registered to play but not yet
added
to the multi-player game are placed in a queue so as to be added to the multi-
player game once other players are removed therefrom. Players removed from the
game may join the end of the queue. The first player in the queue is allowed
to join
the game at the next opportunity. If there are no other players ahead of a
player in
the queue, that player may join or rejoin the game. In this way, players may
be
added and removed from the game in quick succession, thus creating interest in
the multi-player game while limiting the number of players in the multi-player
game
so as to avoid obscuring the players' avatars by overcrowding.
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
[00107] Once a player is removed from the game at step 540, he or she may
opt to be placed in the queue to re-enter the game at the next opportunity,
for
example by selecting a corresponding option presented on the handheld game
controller 135. Alternatively, the player may opt to perform another activity,
such
5 as playing a single player game or using the browser application available
on the
handheld controller 135.
[00108] In one embodiment, while a player is waiting in the queue to rejoin
the
multi-player game, he or she is provided with a game related activity in order
to
maintain his/her interest in the multi-player game. For example, this game-
related
10 activity may include performing maintenance on the avatar or exchanging or
purchasing equipment or tools for a player's avatar. Alternatively, the game-
related activity may include a qualification activity, such as a task or
target practice,
or a team set-up activity, such as selecting positions within the team (as
described
in relation to Figures 14 to 18), for example.
15 [00109] At step 550, game software 310 determines whether the game is
finished or whether a time period allotted for playing the multi-player game
has
expired. If the game has finished or time has expired, the game is ended and a
winner is declared at step 560. Otherwise, the game continues, repeating steps
540 and 550 until the game is finished or time expires.
20 [00110] The game may be determined to have finished if one of the players
reaches a certain goal or otherwise achieves a winning result in the multi-
player
game and that player may be declared the winner. Alternatively, a winner of
the
game may be declared according to an accumulation of achievements or points,
for
example. If the game ends because of expiry of the allotted time period for
the
25 game, the player with the most accumulated points or other achievements may
be
declared to be the winner. If the game ends but there is further time allowed
for
playing the game, a new game may be started.
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
26
Handheld Game Controller
[00111] Referring now to Figures 6 and 7, the handheld game controller 135 is
described in further detail. Handheld game controller 135 comprises a
processor
605 for controlling the operation of handheld game controller 135. Handheld
game
controller 135 further comprises player input means 610, a wireless RF
transceiver
615, a card reader 620, a vibration module 625, memory 630, a power supply
module 635, a display screen 640 and audio output means 645. These
components are housed in a controller housing 710 (shown in Figure 7).
[00112] Processor 605 may be a fast processor, capable of picture processing,
sound processing and fast software algorithm execution as well as control
functions and fast input and output functions. One suitable processor is a
Sunplus
SPG200 processor with a picture processing unit and sound processing unit
(with
support for NTSC and PAL data formats), which is configurable to receive data
inputs from the various player-actuated input means and other inputs, such as
the
card reader 620 and the RF transceiver 615.
[00113] Player input means 610 includes a joystick, at least four action
buttons
and six to eight other command buttons. The commands and actions associated
with these buttons are configurable according to the multi-player game being
played. Some of the command buttons may have their functions indicated by
adjacent display portions on display screen 640 so that the command buttons
may
effectively be used to select menu options shown on the display screen 640.
[00114] Player input means 610 may also include a touch-sensitive
transparent screen overlaid on display screen 640, whereby a player may select
a
command or option associated with a particular part of the display screen 640
by
touching that part of the touch-sensitive screen overlay.
[00115] Manipulation of the various player input means, including movement of
the joystick, depression of action or command buttons and touching the touch
sensitive screen, cause signals to be sent to processor 605, which may be
interpreted as command signals or other kinds of input signals. If the player
is
currently playing the multi-player game, the processor 605 processes these
input
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
27
command signals as necessary and encodes the commands in data packets to be
transmitted to game server 110 through RF transceiver 615.
[00116] RF transceiver 615 comprises appropriate transmit and receive
modules (not shown) with signal conditioning and amplification functions, as
well as
an antenna (not shown). The RF transceiver 615 is positioned within the
handheld
game controller 135 so that wireless signal transmission and reception is
effected
at a peripheral portion of the controller housing 710. In this way,
interference of the
wireless signals with the workings of other components in the handheld game
controller 135 is minimized. A suitable RF transceiver is manufactured by RF
Waves, with a RFW-D100 link manager for the RFW112-M transceiver and a
dedicated Atmel 89c52 embedded processor.
[00117] Card reader 620 may be a magnetic strip card reader for reading
paper or plastic cards having an encoded magnetic strip on a face thereof.
Once a
card is passed through or into card reader 620, so that data stored thereon
can be
read, the data read from the card is sent to processor 605 for validation.
Alternatively, the card reader 620 may be adapted to read smart cards as well
as,
or instead of, magnetic strip cards.
[00118] If the coded data read from the card does not constitute a valid code,
processor 605 causes an error message to be displayed on display screen 640,
either instructing the player to re-insert the card in to card reader 620 or
that the
code read therefrom is an invalid code.
[00119] If the code read from the card by card reader 620 is determined by
processor 605 to be a valid code, this code is encrypted using an encryption
algorithm executed by processor 605 and transmitted to game server 110 through
RF transceiver 615 and wireless receiver 140. The encryption algorithm may be,
for example, a 128 bit WEP, 3DES or RSA algorithm.
[00120] Vibration module 625 comprises an offset weight driven by a small DC
motor (not shown). The DC motor receives power from power supply module 635
and drives the offset weight, in a revolving manner, in response to receiving
an ON
signal from processor 605. The ON signal from processor 605 may be applied to
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
28
the base terminal of a driver transistor, to effectively switch power to the
DC motor
in response to the ON signal. When the motor drives the offset weight, the
arrangement and revolution of the offset weight within handheld game
controller
135 causes the entire handheld game controller 135 to vibrate as the offset
weight
revolves.
[00121] Processor 605 is arranged to drive the vibration module 625 in its ON
state according to a particular repeating sequence, synchronized with an
enhanced
visual display of the onscreen avatar on display screen 425, as part of a
player
character identification process (described in further detail below) actuated
by the
player by pressing one of the command buttons of player input means 610.
[00122] Memory 630 is used by processor 605 for storing computer program
instructions comprising a game software module downloaded to handheld game
controller 135 (at step 515, as previously described) and for storing
application
information, including, for example, a browser application, player interface
software
not specific to any particular game, such as an instant messaging or chat
application, and game variables and data received from game server 110 during
play of the multi-player game. Memory 630 comprises both volatile and non-
volatile memory, including random access memory (RAM) and flash memory.
Processor 605 controls the various communications, data processing display and
user interface functions by executing the computer program instructions stored
in
memory 630.
[00123] Power supply module 635 may comprise a battery power source, for
example in the form of four AA nickel metal hydride (NiMH) rechargeable
battery
cells, and a power supply regulator circuit, for supplying power to processor
605
and other modules. Power from power supply module 635 is controlled by
processor 605 so as to provide power to other modules within handheld game
controller 135 as necessary. For example, processor 605 switches power from
power supply module 635 to provide lighting for display screen 640, power to
audio
output 645 to cause it to emit sound energy, power to drive the DC motor
within
vibration module 625, power to the magnetic strip reader within card reader
620
and transmission power for RF transceiver 615. Power supply module 635 may
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
29
also comprise a charger circuit for recharging the battery cells from an
external
power source.
[00124] In an alternative embodiment, each handheld game controller 135
receives power from an external source, such as an externally mounted battery
pack (not shown). In such an embodiment, the external power source supplies
power to power supply module 635. The handheld game controllers 135 may each
be connected to an arm of a seat or to another fixed structure in the game
arena.
[00125] The battery pack may be removably mounted to the seat arm or other
fixed structure, while the handheld game controller 135 is connected to the
seat
arm or other structure by means of a tether. The tether comprises a movable
connection means for allowing the handheld game controller 135 to move
relative
to the seat arm or other structure and houses a power cable for supplying
power to
the handheld game controller 135 from the battery pack. The tether may
comprise
a rigid connecting arm or may comprise a flexible retractable cable.
[00126] Display screen 640 receives output from processor 605 to provide
display images. Display screen 640 may be a color super-twist nematic (CSTN)
screen, having 320 x 240 pixel screen resolution and a light emitting diode
(LED)
backlight.
[00127] As previously mentioned above in relation to player input means 610,
a touch sensitive screen is overlaid on an outer face of display screen 640
such
that the liquid crystal display unit of display screen 640 is separated from
the touch-
sensitive layer by an appropriate dividing layer, such as glass or transparent
plastic. The "touch-screen" thus formed by the touch-sensitive layer overlaid
on
display screen 640 is arranged to generate an electrical output corresponding
to a
portion of the touch-screen touched by a player. The touch screen may have a
pre-
processor (not shown) for receiving the electrical signals and conditioning
them, for
example by analog to digital conversion, prior to outputting corresponding
signals
to processor 605. The electrical output from the touch screen is received by
processor 605 and is processed to determine whether the player has made a
valid
selection of an option or game command.
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
[00128] Not all areas of the touch-screen will correspond to valid options or
commands and some portions of the touch-screen may become active or inactive
at different times, depending on the application being run by processor 605 at
any
given time. If the selected option or game command is valid, the selected
option or
5 command is processed by processor 605 according to the game software module
(stored in memory 630) executing on the handheld game controller 135. Such
processing may include generating and transmitting one or more packets
corresponding to the selected option or command to the game server 110 or may
involve displaying further graphics or text stored in memory 630.
10 [00129] The touch screen overlaid on display screen 640 may, in combination
with a suitable software application executed by processor 605, advantageously
allow instant messaging between the handheld game controllers 135 or 1335.
This
may be done by providing a user interface comprising buttons on display screen
640 which correspond to a keyboard for allowing the input of message text. The
15 touch screen allows the buttons corresponding to the keyboard keys to be
pressed.
Such a user interface can be used for text messaging or to enter other text
strings,
such as a player name, or a team name.
[00130] If a player indicates, for example by selecting a menu option, that he
or she wishes to transmit an instant message to another player, processor 605
20 launches an instant messaging application or otherwise provides an instant
messaging user interface on display screen 640. Once a player has input the
text
string to be sent and has identified one or more desired recipients, for
example by
selecting recipients from a list or selecting a team of players to be the
recipient, the
processor 605 encodes the text string in one or more packets and transmits the
25 packets to game server 110. Game server 110 then identifies the handheld
game
controllers 135 corresponding to the intended recipients of the text message,
prepares one or more packets containing the text string, together with any
other
relevant information, such as the sender name, subject, etc., and transmits
the
packets to the relevant handheld game controllers 135 for display on the
respective
30 display screen 640. In this way, a player may communicate to any other
player in
the multiplayer game, including opponents, allies or prospective allies.
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
31
[00131] In an alternative embodiment, processor 605 may execute a chat
room application for enabling players or other people not participating in the
multiplayer game to chat, for example about the game or about an upcoming
film.
The chat room application uses a similar user interface to that of the instant
messaging application. In particular, the chat room application requires a
keyboard
to be displayed on display screen 640 which, through the touch screen, can be
used to input text strings.
[00132] Display screen 640 is also used by processor 605 in the player
character identification process (described in further detail below in
relation to
Figures 8 to 11), whereby processor 605 causes display screen 640 or a portion
thereof to flash synchronously with the vibrations caused by vibration module
625
and sounds emitted from audio output 645.
[00133] Audio output 645 comprises at least one speaker for outputting
sounds corresponding to certain game events. The sounds emitted from audio
output 645 vary depending on the game and the particular game events which
occur during play of the multi-player game. For example, sound may be emitted
to
warn a player that the game time is nearly expired, his or her avatar's health
is low
or for other scenarios in which the player is to be alerted. One or more
standard 8
ohm 250 mW computer speakers may be used for audio output 645.
[00134] In Figure 7, a perspective view of one embodiment of the handheld
game controller 135 is shown. The handheld game controller 135 has a housing
710, in the form of a rigid casing, for containing the electrical and
electronic
components, including processor 605, RF transceiver 615, card reader 620,
vibration module 625, memory 630 and power supply module 635. The housing
710 may be molded plastic and of a small size suitable for being lightly and
easily
cradled by a player's hands.
[00135] The housing 710 has a front (or upper) face 712 and a back (or lower)
face (not shown). Display screen 640 is located on the front face 712 in a
generally
central portion of housing 710 so that, when a player holds the handheld game
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
32
controller 135 in a normal (lateral) playing orientation, front face 712 faces
generally upwards and display screen 640 is visible to the player.
[00136] Housing 710 includes a left grip 730 and a right grip 732 at opposite
left and right lateral ends of the housing 710. Left grip 730 may be formed of
a soft
yet frictional material, such as rubber, for comfortable gripping by a
player's hands
during use of the handheld game controller 135. Right grip 732 is formed of
the
same material, but oppositely disposed and arranged for gripping by the
player's
right hand. Left and right grips 730, 732 cover the left and right ends of
housing
710 while leaving front face 712 substantially unobscured, serving at least a
partial
shock-absorption function in case the handheld game controller 135 becomes
jarred or is dropped.
[00137] Player input means 610 is provided in the form of a movement
selection member, such as a joystick 720, command (or option) buttons 722 and
action buttons 724, as well as a touch sensitive screen overlaid on display
screen
640. Joystick 720 is located adjacent left grip 730 in a position suitable for
manipulation by a thumb of the left hand when the hand is placed on grip 730
so
that the fingers support the lower face of the housing 710 and the thumb may
contact the front face 712.
[00138] Joystick 720 may be anchored in housing 710 so as to be moveable in
any direction through 360 degrees on an X-Y plane. Alternatively, joystick 720
may
be anchored so as to only be moveable into predetermined discrete positions on
the X-Y plane, for example corresponding to divisions of 45 degrees within the
maximum possible 360 degrees. Joystick 720 may be spring-loaded to return to
an
upright position after deflection by a player in a desired direction. Further,
the
joystick 720 may have a soft yet frictional material disposed on, or covering,
the top
surface thereof, for comfortable gripping and easy manipulation by the player.
[00139] Action buttons 724 may be disposed adjacent right grip 732, in a
position such that they may be easily depressed by a right thumb of the
player's
right hand when the palm of that hand is placed on right grip 732 and the
fingers of
that hand support the housing 710 on its back face. Four action buttons 724
are
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
33
shown in Figure 7, although it should be understood that greater or fewer
numbers
of action buttons 724 may be provided on handheld game controller 135.
However,
for minimum functionality, at least two action buttons 724 should be provided.
Each action button 724 will generally provide a different player input command
during play of the multi-player game.
[00140] Command (or option) buttons 722 may be provided adjacent display
screen 640 and intermediate of left grip 730 and right grip 732, as shown in
Figure
7. The command buttons 722 may be disposed along an outer (upper/front) edge
of housing 710. There may be six command buttons 722 provided adjacent to a
lower edge of display screen 640 so that, by their proximity to display screen
640,
they may visually correspond to menu options provided along a lower portion of
display screen 640. Instead of being disposed adjacent the lower edge of
display
screen 640, command buttons 722 may be disposed along an upper edge thereof,
or even along a right or left edge thereof.
[00141] In Figure 7, command buttons 722 are shown disposed on a side of
housing 710 opposite to a side on which action buttons 724 and joystick 720
are
disposed, although command buttons 722 are disposed more centrally of housing
710 and action buttons 724 and joystick 720 are disposed more toward opposite
ends of housing 710.
[00142] In the embodiment shown, right grip 732 has a slot 740 disposed
therein for receiving a card in card reader 620. Card slot 740 is arranged so
that a
magnetic strip card may be received therein in a swiping action, so that card
reader
620 can read data encoded in the magnetic strip on the card. Alternatively,
the slot
740 may be disposed in another side of the handheld game controller 135, such
as
the far or near side edges intermediate the left and right lateral side edges.
[00143] In the embodiment shown, left grip 730 has a connector portion 750
therein for receiving a battery recharger or other form of external power
supply.
Connector portion 750 may be located on another part of the handheld game
controller 135, according to the particular desired casing design. For
example, the
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
34
connector portion 750 may be located on the top, bottom or right side or on
the
lower face of the handheld game controller 135.
[00144] Speakers 760 are provided within housing 710 for providing audio
output 645. While the location of speakers 760 on housing 710 may vary
according to design requirements, it is preferred that they be located on
front face
712 in a position where they will not be covered by a player's hands when the
player's hands are placed on or around grips 730 and 732.
[00145] Advantageously, handheld game controller 135 may be operated in a
lateral orientation, where a player's left and right hands are placed around
the left
and right grips 730, 732, as described above, or in a longitudinal
orientation. In the
longitudinal orientation, handheld game controller 135 is held by the player
so that
left grip 730 and right grip 732 are oriented in a longitudinal direction,
with left grip
730 being closest to the player and right grip 732 being further from the
player. In
such an orientation, the player's left hand remains generally positioned on
left grip
730, while the player's right hand is moved more centrally so that the
player's
fingers support the back face of housing 710 underneath display screen 640 and
the thumb of the player's right hand is positioned to be able to press command
buttons 722. The player's left hand continues to be positioned so as to
manipulate
joystick 720 by the left thumb. In the longitudinal presentation, display
screen 640
is also oriented longitudinally.
[00146] Depending on the particular game or other function to be performed by
the handheld game controller 135, it may be preferable to operate the handheld
game controller 135 in the longitudinal orientation, rather than the lateral
orientation. However, handheld game controller 135 is generally intended for
use
in the lateral orientation.
Player Avatar Identification
[00147] Referring now to Figure 8, a method of player character (or avatar)
identification 800 is described. Avatar identification is initiated by the
player, at
step 810, by pressing one of the command buttons 722. Alternatively, a
dedicated
action button 724 may be provided for actuating the avatar identification
request.
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
Advantageously, the player may actuate the avatar identification request at
any
time the player chooses. This function is particularly helpful to the player
in
situations where a large number of avatars are present on the primary display
of
the multi-player game or, for example, where the player's avatar has become
5 engaged in combat with another avatar and the player becomes confused as to
which avatar it is that the player controls.
[00148] In response to a player actuating the avatar identification request on
the handheld game controller 135, processor 605 transmits an avatar
identification
request packet to the game server 110, at step 815. In response to receipt of
the
10 avatar identification request packet from the handheld game controller 135,
game
server 110 sends a synchronization packet back to handheld game controller
135,
in order to synchronize display of an enhanced visual representation of the
avatar
on the large display screen 425 with sensory output from the handheld game
controller 135. The synchronization packet specifies a particular repeating
15 sequence to be output as vibration-by-vibration module 625, sounds from
audio
output 645 and as a repeating visual display (for example, such as one or more
flashing icons) on display screen 425.
[00149] At step 820, the game server sets a time period for providing the
visual indication and corresponding synchronized sensory output by which the
20 player can recognize his/her corresponding avatar on the display screen, at
step
825. This time period is notified to the handheld game controller 135 by
inclusion
of appropriate data in the synchronization packet.
[00150] At step 830, an enhanced visual indication of the avatar
(corresponding to the handheld game controller 135 from which the avatar
25 identification request packet originated) is displayed on display screen
425. This
enhanced visual indication may be provided in any of a number of ways,
including,
for example, repeatedly enlarging and shrinking the image of the avatar
according
to the particular repeating sequence or providing a flashing pointer, halo or
icon
above, below or otherwise adjacent to the avatar. In a further example, if a
player
30 has registered a user name or a team name, that name may temporarily appear
or
flash above, below or otherwise adjacent to the avatar on display screen 425.
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
36
[00151] Simultaneously with step 830, step 835 is performed, in which a
synchronized sensory output is provided to the player from handheld game
controller 135. This sensory output includes a repeating vibration sequence
corresponding to the repeated flashing or other enhanced visual indication on
display screen 425. Additionally, the sensory output includes a repeated sound
sequence corresponding to the vibration sequence and flashing visual
indication on
display screen 425. Optionally, display screen 640 on handheld game controller
135 may flash in a corresponding repeating sequence.
[00152] The sensory output from handheld game controller 135 in a particular
repeating sequence aids the player in identifying the appropriate avatar on
display
screen 425, as the player is able to match the repeating sequence received
from
the handheld game controller 135 with the visually repeating sequence on
display
screen 425.
[00153] Both game server 110 and processor 605 repeatedly cause the
display screen 425 and handheld game controller 135 to provide the enhanced
visual indication and sensory output until the time period for doing so
expires, at
step 840. Once the relevant time period has expired, the enhanced visual
indication and sensory output is ceased at step 845 and, if the player wishes
to
continue to receive the enhanced visual indication and sensory output, the
player
must again actuate the avatar identification request at step 810 on handheld
game
controller 135.
[00154] In one embodiment of the avatar identification method 800, display
screen 640 may display a low resolution version of the game environment in
which
the player's avatar is located, so as to indicate the location of the avatar
relative to
the game environment and the other player's avatars. In such a low-resolution
display, the player's avatar may be represented by a simple icon, such as a
colored
block, shown relative to other avatars, represented by blocks of other colors.
Alternatively, the low resolution display on display screen 640 may point out
the
player's avatar thereon by surrounding it with a halo, pointing to it with an
arrow or
otherwise providing graphics to provide an indication to the player of the
avatar's
location within the game environment.
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
37
[00155] The low-resolution display may also shows the game environment in
an alternative view to that provided on display screen 425. For example, the
low-
resolution display on display screen 640 of handheld game controller 135 may
be
an aerial view of the game environment, whereas display screen 425 in game
arena 120 may provide a view of the game environment from a ground-based
perspective.
[00156] In this alternative embodiment, in order for handheld game controller
135 to display a low-resolution version of the game environment, it must be
pre-
loaded with appropriate low-resolution graphics for display when appropriate.
Such
low-resolution graphics may be retrieved from memory 630 at appropriate times
or
specifically in response to receipt of the synchronization packet from game
server
110 at step 820. An example of such a low-resolution display on screen 640 is
provided in Figure 11C.
Example Game Displays
[00157] Referring now to figures 9, 10 and 11A -11 C, example game displays
of the multi-player game are described in further detail. Figure 9 shows an
example game environment 900 displayed on large display screen 425 during play
of the multi-player game. Avatars 910 controlled by players of the multi-
player
game are shown within game environment 900.
[00158] In the example game environment 900, many player avatars 910 are
shown in the context of a sporting game. In order for a player to discern
his/her
avatar among the many avatars displayed, he/she may choose to actuate the
avatar identification request button or option provided on handheld game
controller
135 (the process for which is described above in relation to Figure 8). In the
example game environment 900, one such player has elected to actuate avatar
identification request and that player's character is provided with an
enhanced
visual indication which, in this example, takes the form of arcuate halo icons
920
bracketing the front and back of the player's avatar 910.
[00159] In one embodiment of the multi-player game system 100, players may
elect to form teams, whereby their player avatars 910 may join together and
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
38
compete against other teams. In such an embodiment, the enhanced visual
display provided in response to the avatar identification request may also
extend to
indicating player avatars belonging to the team of which the actuating player
is a
part. In example game environment 900, player avatars of the same team as the
actuating player are shown with indicator icons 925 positioned adjacent the
relevant player avatars (including the avatar of the player making the avatar
identification request).
[00160] It should be understood that many different game environments may
be created for facilitating multi-player games according to the methods and
systems described herein. Accordingly, the present invention is not limited to
any
of the specific examples shown and described herein.
[00161] Referring now to Figure 10, a single player activity display 1000, as
provided by display screen 640 of handheld game controller 135, is shown.
Single
player activity display 1000 has a game action display portion 1052 and a game
information display portion 1054. The game action display portion 1052 shows a
player avatar 1070 (which may be different to the player avatars shown in the
multi-
player game) performing an action controlled by player input to the handheld
game
controller 135. Player activity display portion also includes other active
display
elements, such as game statistics or metrics 1072. Game information display
portion 1054 includes a score display 1060 and directions 1062 for performing
the
single player activity, possibly including graphics and appropriate icons.
Score
display 1060 may be an individual score or, if the player is playing as part
of a
team, score display 1060 may show the team score.
[00162] A player may undertake a single player activity, for example such as
that depicted in Figure 10, while waiting for entry (or re-entry) into the
multi-player
game or as a selected adjunct activity to be performed as one of several tasks
to
be completed to achieve the goals of the multi-player game.
[00163] Referring now to Figures 11A, 11 B and 11 C, a further example game
scenario having a game environment 1100 is shown. Player avatars 1110 move
about the game environment 1100, competing with each other to achieve one or
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
39
more objects of the game, for example, such as destroying each other,
traversing
the game environment in a certain manner or scoring points. In the example
game
environment 1100, each player controls an avatar in the form of a vehicle.
Each
vehicle has certain equipment, resources and parameters (such as
life/health/condition points).
[00164] A secondary game display 1150 of the relevant equipment, statistics
and condition of the player's vehicle avatar may be provided on display screen
640
of handheld game controller 135. If the player is part of a team, team
information
will be provided, along with the equipment, statistics and condition of the
avatar
1110, as part of an information display portion 1154 of secondary display
1150. In
this example, no activity display portion (like activity display portion 1052
in Figure
10) is provided, although in alternative game scenarios, such a display may be
provided as part of secondary display 1150.
[00165] Referring to Figure 11 C, a reduced resolution display 1180 may be
displayed on the display screen 640 of handheld game controller 135 in
response
to player actuation of the avatar identification request, as previously
described. In
the present exemplary game environment 1100, the corresponding low-resolution
display 1180 of the player's avatar 1110 provides a low-resolution icon 1185,
located centrally in display 1180 and seen in aerial view within the game
environment. An enhanced visual indication 1190 is provided around the icon
1185
corresponding to player avatar 1110. Simultaneously with display of low-
resolution
display 1180 on display screen 640, the player's avatar 1110 is shown within
the
game environment 1100 on large display screen 425 as having an enhanced visual
appearance, such as a halo or flashing pointer or icon.
Payment Processing
[00166] In preferred embodiments, payment is received from each
participating player at the multi-player game prior to that player being
allowed to
play the game. In an alternative embodiment, the multi-player game may be
played for free. For example, where a new film is to be released in cinemas, a
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
multi-player game having a theme similar to that of the new film may be
provided in
the cinema prior to release or screening of the film, for promotional
purposes.
[00167] According to preferred embodiments, players wishing to play the multi-
player game must pre-register to create a personal debit or credit account or
5 purchase a pre-paid account. As an exception to this, a player may provide
credit
card details to a handheld game controller 135 once in the game arena 120 and,
if
the credit card is authorized for payment, a temporary account may be created
for
that player. Alternatively, credit card information may be supplied by players
with
personal or pre-paid accounts, in order to continue or rejoin the multi-player
game
10 after their initial credit is used up. Where necessary,
payment/authentication
system 220 is used to communicate with credit card authorities to effect a
debit of
the credit card account.
[00168] Referring now to Figure 12, a method of player registration, including
player payment processing, is described. The method of player registration is
15 designated by reference numeral 1200 and begins at step 1205 with prompting
a
player to input a payment authorization code. This prompt is provided on the
display screen 640 of handheld game controller 135 and allows the player to
manually input a payment authorization code (for example by providing a
numerical
keypad on the display screen 640 so that the player can input numbers through
the
20 touch-screen) or to insert a card having the payment authorization code
stored
thereon into the card reader 620. The manual input of the payment
authorization
code may be used, for example, to input a credit card number if the card
reader
620 is not able to read the credit card or to input another unique number such
as a
player account number.
25 [00169] Multi-player game system 100 may be set up to allow players to pre-
register an account (through the administrative server system 210) either as a
credit account or a debit account, so that the player can register for a game
when
in the game arena 120 by inputting his/her account number (or other
identifying
information, such as a PIN) into the handheld game controller 135 to authorize
30 debiting of his/her player account.
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
41
[00170] As an alternative to having a pre-established registered player
account, a new player may either purchase a certain amount of playing credits
or
playing time by inputting valid credit card details or by purchasing a pre-
paid
generic account. For example, the pre-paid account may have ten playing
credits
or a dollar value associated therewith, which any player having the account
details
can use to play the multi-player game. This pre-paid account may have a
magnetic
strip card associated therewith or a unique identification code which the
player has
to enter into the handheld game controller 135 as the payment authorization
code
in order to register for the multi-player game.
[00171] Step 1205 may be performed in response to a player attempting to
manipulate, or otherwise provide input to, the handheld game controller 135,
for
example such as by pressing a button, moving the joystick, inserting a card
into the
card reader 620 or touching the touch-sensitive screen. Following display of
the
prompt on display screen 640 at step 1205, the handheld game controller 135
awaits receipt of the payment authorization code at step 1210.
[00172] Once the payment authorization code is received at step 1210, the
code is checked, at step 1215, for validity. This validity check is used to
verify that
the payment authorization code is of a type that may be a valid code, for
example
by checking the number of digits in the code, checking that the code is
internally
consistent (i.e. where the code allows error detection) or for other parseable
errors.
[00173] If the code received from the player is determined at step 1215 to be
invalid, the handheld game controller 135 displays an error message on display
screen 640 at step 1220 and the player is again prompted to input a valid
payment
authorization code at step 1205. If the code is determined at step 1215 to be
valid,
the processor 605 proceeds to encrypt the code at step 1225 using an
encryption
algorithm stored in memory 630. Encryption is used to provide security
protection
of the payment authorization code, which may contain credit card information
or
other sensitive information, against interception during transmission from the
handheld game controller 135 to the game server 110.
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
42
[00174] At step 1230, the encrypted code is transmitted to game server 110
via RF transceiver 615, wireless receivers 140 and communications controller
115.
At step 1235, game server 110 decrypts the payment authorization code using a
corresponding decryption algorithm to the encryption algorithm employed by
handheld game controller 135 at step 1225.
[00175] At step 1240, the game server 110 checks whether the code
decrypted at step 1235 is a code corresponding to a registered account. This
checking is performed by comparing the decrypted code with a database of pre-
existing accounts, both those for which pre-paid accounts may be bought by
anonymous users and for full player registrations having a debit or credit
account.
[00176] If the decrypted code is not recognized (as corresponding to a
personal or pre-paid account) by the game server 110 at step 1240, game server
110 may refer the code to an external credit authority, for example where the
code
resembles a credit card number, to effect a debit transaction. If sufficient
funds are
not in the account, either the credit card account or the multi-player game
account,
as determined at step 1250, then, at step 1255, the game server 110 transmits
a
message back to handheld game controller 135 to display an error message to
the
player, at step 1220. The player is then prompted to input a valid payment
authorization code at step 1205.
[00177] If, at step 1250, sufficient funds are determined to be in the
player's
account, the relevant account is debited for a predetermined amount at step
1260.
Once the player's account has been debited, the game server 110 transmits a
message to the handheld game controller 135 from which the encrypted code was
received that the payment transaction has been completed and to unlock the
input
means of the handheld game controller 135, at step 1265. Prior to step 1265,
efforts by a player to manipulate the handheld game controller 135 or
otherwise
provide input thereto will not be processed unless that input is provided in
relation
to the prompt for the payment authorization code at step 1205. In this sense,
the
controls of the handheld game controller 135 are "locked" prior to step 1265.
After
step 1265, those controls become "unlocked".
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
43
[00178] Once the player's account is debited at step 1260, the player is
effectively registered to play the multi-player game (or perform another
selected
activity). Steps 1260 to 1270 thus correspond generally to steps 510 and 515
described previously in relation to Figure 5.
[00179] After the unlocking of the handheld game controller at step 1265,
game server 110 proceeds to download one or more software modules to handheld
game controller 135, at step 1270. The one or more software modules thus
downloaded will generally include a game module, but may include other
software
modules as necessary. In a selection step (not shown), the game module is
requested by the player where, in one embodiment, at least one single player
game
is available for selection by the player in addition to at least one multi-
player game.
[00180] In an alternative embodiment, where the player is only allowed to play
a particular preselected multi-player game, the step of allowing the player to
select
the desired game is omitted. In this embodiment, the downloading of the
software
modules takes place before player registration commences. The downloading can
thus be performed by broadcasting the data making up the game and other
software modules to all of the handheld game controllers 135 at the same time,
in
order to avoid unnecessarily using valuable bandwidth during the player
registration process.
[00181] In an alternative embodiment, the various decryptions, account
registration and debiting functions may be carried out by the administrative
server
system 210, instead of by game server 110. In a further alternative, some of
those
functions may be shared between the game server 110 and the administrative
server system 210 in order to distribute processing load.
[00182] In preferred embodiments, the multi-player game system 110 is
configured to allow players to select from several activities to be performed
using
the handheld game controller 135. One of these activities is playing a multi-
player
game, which is the primary purpose of the system. However, the system also
advantageously allows players to entertain themselves by selecting alternative
activities to the multi-player game. This allows the system to have a broader
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
44
appeal than that which would be provided by only allowing a single activity to
be
performed.
[00183] Additionally, the multi-player game system 100 and multi-arena game
system 200 may be configured to allow registered players to vote on which of a
plurality of available multi-player games should be played in a game arena
120.
Such a voting process may occur between steps 1265 and 1270, as described
above in relation to Figure 12.
Team Play
[00184] Referring now to Figures 14 to 18, further embodiments of the game
are described, which particularly facilitate team play of the multi-player
game. In
the team play embodiments, several players share a single avatar on the main
display screen 425. For example, the avatar may be a vehicle piloted and
operated
by the various members of the team, each using the team member's own handheld
game controller 135.
[00185] Figure 14 is a flow diagram illustrating a method 1400 of facilitating
team play among players of the multiplayer games. Exemplary screen displays
associated with the team play embodiments of the invention are shown in
Figures
15 to 18. These exemplary screen displays are displayed to individual players
on
the display screen 640 of respective handheld game controllers 135 during the
team formation stage of the multiplayer game.
[00186] Following registration with the multiplayer game system 100 (or 1300),
a player may be provided with the option to play as part of a team or to play
solo. If
the player elects to engage in team play, the player is shown an initial
selection
display 1500, such as is shown in Figure 15. Display 1500 provides the player
with
buttons (which can be selected or pressed by touching the touch screen or by
using the joystick 720 to move a cursor over the desired button and pressing
one of
the function buttons 724) for creating a new team or joining an existing team.
Create team button 1510, if selected, will cause the handheld game controller
135
to display further screens, corresponding to steps in the team formation
process,
such as are shown on Figures 16, 17 and 18. A join team button 1520, if
selected,
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
causes display screen 640 to display a list of already created teams that are
open
to new team members and which the player can select from to request to join.
[00187] Team formation method 1400 begins at step 1410, when a player
selects create team button 1510. The player creating the team is automatically
5 appointed to be the captain of the team and is given control over the
membership
and of the type of avatar which is to represent the team on the large display
screen
425. The player that creates the team is also a member of the team and is
allowed
to choose a certain position or role within the team.
[00188] In response to selection of the create team button 1510, handheld
10 game controller 135 asks the player to input a team name, after which the
handheld game controller 135 communicates a team creation request, including
the
team name, to game server 110. Game server 100 then creates a new team entry
in a table of teams, using the team name, according to a predetermined data
structure, which is described in further detail below. The team names entered
in
15 the table of teams are stored and maintained by game server 110 and are
provided
by game server 110 to a player that wishes to join a team, upon selecting join
team
button 1520.
[00189] When a player requests to join a team, at step 1420, by selecting from
the list of open teams, the team captain is notified of the request to join
the team
20 and a team formation display 1600 is displayed to the team captain. Display
1600
relates to team formation and provides information and selection buttons for
that
purpose.
[00190] Display 1600 comprises a display description field 1605, a team name
field 1610 showing the team name, a team list 1620 and, if a player has
requested
25 to join a team, a join request 1630. Display 1600 also comprises a start
button
1670 for enabling the team captain to indicate that team formation is
complete.
[00191] Team list 1620 comprises a list of the players' names for the players
that are already on the team, as well as showing empty team positions. For
each
player shown in team list 1620, there is a corresponding player removal button
30 1625 which, if selected by the team captain, will cause the corresponding
player to
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
46
be removed from the team. Upon removal from the team, the player removed will
be notified of the removal and will be returned to display 1500.
[00192] Team list 1620 may also indicate a rank associated with a player,
where the rank may be indicative of the player's experience level or previous
achievements as a registered player in the multiplayer game. Greater game-
related avatar attributes may be associated with high rank, thus giving a
player
incentive to repeatedly play the game and strive to reach a higher rank.
[00193] Join request 1630 comprises a text field notifying the team captain of
the join request, text fields 1640 showing the player's name and rank, an
accept
button 1650 and a reject button 1660. If the team captain selected the accept
button 1650 at step 1430, the join request is accepted and the requesting
player is
added to the team at step 1450. If the team captain selects reject button 1660
at
step 1430, the player requesting to join the team is notified of the rejection
of the
request at step 1440 and is returned to display 1500.
[00194] The team captain views display 1600 during team formation at step
1420 when there are join requests 1630 to be accepted or rejected by the team
captain. Otherwise, the team captain may choose to select an avatar for the
team
by viewing an avatar selection display 1700, shown in Figure 17. Display 1700
comprises a description or instruction field 1705, a team name field 1710, an
avatar
image 1715, a team list 1720 and an avatar attribute description 1730. Team
list
1720 shows the team members currently in the team and their currently
allocated
or chosen roles or positions within the team. Avatar attribute description
1730
includes an avatar name and lists or describes or graphically represents the
game
related attributes of the avatar corresponding to the avatar images 1715
currently
displayed on display 1700. For example, the avatar may have certain attributes
relating to speed, offensive capabilities, defensive capabilities, agility, or
special
abilities.
[00195] Display 1700 further comprises a back button 1750, a forward button
1760 and a select button 1770 for scrolling through various different avatar
images
1715 and selecting an avatar having the desired attributes. Select button 1770
may
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
47
be selected by the team captain to select the chosen avatar at step 1460 when
the
avatar image 1715 for that avatar is visible on display 1700.
[00196] Once a team avatar has been selected, each of the team members
can view a role selection display 1800, an example of which is shown in Figure
18,
and select a desired role or position 1820 on the team, at step 1470. Display
1800
comprises a text description or instruction field 1805, a team name field
1810, an
avatar image 1815, a number of positions or roles 1820 located on or in
relation to
the avatar image 1815 and a number of text fields 1830 corresponding to the
positions or roles 1820. Each role or position 1820 may be occupied by a
single
team member but there cannot be more team members than there are available
roles or positions 1820. On the other hand, it is not necessary for all roles
or
positions 1820 to be occupied by a team member. Team members may opt to
change roles or positions 1820 at any time during the game, although the team
avatar chosen by the captain cannot be changed once the game begins. Text
fields 1830 contain a description of the role or position 1820 and the name of
the
player, if any, occupying that role of position 1820.
[00197] Display 1800 also comprises a back button 1850 for allowing a player
to return to a previous display and a start button 1870, which is visible only
to the
team captain, for indicating that the team is ready to play the game. When the
team captain selects start button 1870 or another game initiation event
occurs,
such as expiry of a predetermined time limit, the team enters the game at step
1480.
[00198] Avatar image 1815 corresponds generally to the avatar selected in
display 1700. Depending on the avatar selected in display 1700, avatar image
1815 may vary and may provide for varying roles or positions 1820, including
varying locations or functions of the role with respect to the avatar.
[00199] As described previously in relation to Figure 6, handheld game
controllers 135 or 1335 can be used for instant messaging between players.
This
is particularly advantageous in a team context, in which team members may wish
to send comments or instructions to other team members. As previously
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
48
mentioned, instant messaging is facilitated through an instant messaging
application executed by processor 605. Thus, a player may use the instant
messaging application to transmit messages to teammates or other players, such
as prospective teammates or opponents or prospective allies.
[00200] In one embodiment, processor 605 may also execute software which
facilitates voting amongst members of a team, for example in order to select a
team
avatar. The voting may be initiated by the team captain or another team
member.
Such a voting process is performed in a similar manner to instant messaging,
in
that the player initiating the vote effectively initiates transmission of an
instant
message to each of the other team members.
[00201] When game server 110 receives a vote initiation request from a player
(via that player's handheld game controller 135), game server 110 transmits a
formatted message to each of the intended recipients (i.e. the initiating
player's
teammates) and a voting display is displayed on display screen 640, requesting
the
player to cast a vote. The voting display provides a number of selection
buttons to
enable the voting player to make a selection and initiate a response message
back
to game server 110 containing the selection.
[00202] Game server 110 collates the voting responses and notifies the team
members of the outcome of the vote. If game server 110 does not receive a
reply
from each player within a predetermined time period, the game server 110 can
determine the outcome of the vote without the input of some of the players. In
case of a tied vote, the captain's vote may determine the outcome.
[00203] If, during the game, a team avatar dies or is otherwise removed from
the game, the team avatar ceases to be displayed on large display screen 425.
If
the team wishes to rejoin the game, the captain may choose another avatar.
Alternatively, the team may choose the new avatar through the voting process
described above. In embodiments employing a single team avatar, all of the
team
members are removed from the game when the team avatar dies and, assuming
that all players wish to remain part of the team, the team rejoins the game
together
with the same or newly selected avatar. As described previously in relation to
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
49
Figure 5, the game may allow for only a limited number of avatars to be
displayed
on the large display screen 425 at any one time. Accordingly, teams wishing to
rejoin the game may have to wait in a queue before being allowed to rejoin.
[00204] In one embodiment of payment processing, each player has his or her
account debited for each time the player joins or rejoins the game.
Accordingly, if a
team rejoins a game after being removed, each of the players on the team is
debited a predetermined amount corresponding to the amount debited for joining
the game or a reduced amount for rejoining the game.
[00205] While Figures 15 to 18 provide example displays relating to team
formation aspects of the multi-player game, it should be understood that
further
displays may be provided as necessary in order to further facilitate team
formation,
avatar selection of team member roles. Further, the example displays in
Figures
to 18 are shown in relation to a pirate game motif, where the team members
occupy certain roles on a pirate ship, with the ship being the single team
avatar
15 visible on large display screen 425. It should be understood that other
motifs or
themes may be used as the basis for multiplayer gaming, including team-based
participation. For example, a tank or plane of other form of vehicle may be
used for
the avatar within a corresponding military or other battle theme.
[00206] Alternatively, the team members may operate as a team without
sharing a single avatar. For example, each team member may have a single
avatar corresponding to a soldier on a battlefield or a sportsman on a sports
field.
In such cases, the visual and functional form of the player avatars may be
dictated
by their roles on the team.
[00207] Once the team has been formed, the avatar chosen and the
multiplayer game begun, all of the avatars for each of the teams are displayed
on
large display screen 425, together with the avatar of any player who elected
to play
as an individual. The avatars available for selection by solo players may be
different to those available to teams of players. For example, the avatars of
solo
players may be smaller and have less offensive or defensive capabilities than
the
team avatars.
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
[00208] Regardless of whether an avatar is representative of an individual or
a
team, the avatar identification functions described above in relation to
Figures 8 to
11 operate in the same way. Further, for team avatars, each player may be
visible
on the team avatar according to the player's position or role within the team.
Using
5 the pirate ship example illustrated in Figures 15 to 18, a player may be
shown to be
manning a canon, for example by showing a small colored square or halo or
other
indicator at a canon on the avatar corresponding to the team member's location
on
the team avatar. During game play, team members may be able to view display
1800 on display screen 640 so that they can readily check their positions on
the
10 team avatar and can readily change positions, if necessary.
[00209] During team play, each player's manipulations of his or her respective
handheld game controller 135 are encoded by processor 605 in one or more
packets and transmitted to game server 110, which processes the actions of
each
of the players in the team separately and as part of the team.
15 [00210] In order to manage the team play, game server 110 implements a
server side data structure, an example of which is shown in Table 6 below. The
data structure comprises a team table for tracking all of the teams and a
player
table for tracking each player in the various teams. Each team and player has
its
own record in the data structure. The records in the server side data
structure are
20 updated frequently by game server 110. A corresponding data structure (of
reduced size) is maintained by each handheld game controller 135 or 1335 and
used in communications with game server 110.
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
51
[00211] Table 6 - Server side data structure
teamTable
teamTotal number of teams
*team1 pointer to teaml data structure
*team2 pointer to team2 data structure
*** pointers to additional team structures
player Table
player Total number of players
*playerl pointer to playerl data structure
*player2 pointer to player2 data structure
*** pointers to additional player structures
teamN N-team number
teamLength length of team data structure
teamName team name
teamLeader player ID of team leader
teamState open/closed
teamVehicle vehicle
teamPlayers number of players in the team
teamPlayerList list of players on the team
*** additional parameters as required by game
playerN N-player number
playerLength length of player data structure
playerName player name
playerTeam team affiliation or 0 = none
playerPosition player's position in team
playerRank player's rank among players
playerScore player's score
playerNode ID number of handheld game controller
used by player N
*** additional parameters as required by game
[00212] The game server 110 and handheld game controllers 135 (or 1335)
communicate with each other to facilitate team formation and to govern and
track
progress of the game during play. Example algorithms performed by game server
110 are illustrated in Table 7 below in pseudocode. In Table 7, the term
"node"
refers to a handheld game controller manipulated by a player who has
registered to
play the game.
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
52
[00213] Table 7 - Server routines and related game controller functions
Server Side Routines Game Controller Function
//arena polling function - continuously transfers
//data between server and handheld game
//controllers (nodes) ... also looks for new players
//registering for the game
ServerLoop()
{
DO { //forever
//send server game string to all attached
nodes
play the game
//poll next vacant physical node number
IF //the vacant node responds// -new node sends back an
NewNodeThread(node #); acknowledge if it sees its own
ENDIF physical node number
} LOOP;
}
//thread started when a new player is registered
NewNodeThread(node #)
{
//assign a new node number to the controller
InitNodeO;
//get player name and add to playerTable
InitPlayer();
//allow new player to create or join a team
activate create or join screen on controller -- display create or join screen
IF //player wants to create a new team (Figure 15) - respond with
CreateTeam(); controller touch screen response.
PickAvatar();
PickPositionQ;
ELSE //player can join a team
JoinTeam();
PickPosition();
ENDIF
}
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
53
//routine communicates with the new controller to
//set-up its node ID
InitNode()
{ -- Acknowledge with physical
assign controller logical node number node number
send physical node number + logical node -- store local copy of logical node
number number
} -- subsequent game query
responses all use the logical node
number.
InitPlayer()
{
request player name from controller -- user inputs ASCII name or ID -
create playerN data table transmit to server
allocate pointer to playerTable
if player ID exists in database, prefill the rank
and other information based on the player history.
}
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
54
CreateTeam()
{
request team name and setup info from --send team name.
team leader's controller
create teamN data table - save team leader ID
allocate new entry in teamTable
//allow players to join
set timeOut for - 5??? minutes
mark team as open -- while team is marked as open
activate Form Team display on team leader's players can join via the
controller (Figure 16) JoinTeam() server routine.
DO
{
- get requests to join team from -- team leader controller shows
controllers Form Team display (Figure 16).
- send requesting player ID and stats to
Team Leader controller
- IF team leader accepts
- add player info to teamN table -- team leader can accept or deny
ENDIF join requests
}
WHILE -- accepted player displays partial
(wait for: timeOut, player slots full, team Form Team display (cannot reject
leader terminates team creation) or accept - only watch)
mark team as closed.
}
JoinTeam()
{
send list of open teams to node -- respond with desired team
wait for team request from controller
IF request granted (in team leader
CreateTeam() function)
THEN
add player to teamN table
send teamGranted message to node -- show partial Form Team display
activate Form Team display on player similar to Figure 16 (cannot reject
controller or accept - only watch)
ELSE
send notGranted message to node
ENDIF
}
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
PickAvatar()
{
activate first avatar screen on team - display avatar on team member
member controllers controllers
WHILE (team leader selects) - team leader can select
{ prev/next/select
get team leader response
IF response is prev :
go back to previous avatar - display previous avatar on team
activate prev avatar display on member controllers
team controllers
IF response is next:
advance to next avatar
activate next avatar - display next avatar on team
display on team controllers member controllers
IF response is select:
add the avatar to teamN data
structure
}
}
PickPosition()
{
activate avatar position screen on team -- display avatar position screen
member controller
WHILE (player has not pressed start)
{
update open/filled positions -- display open/filled positions
} -- send touch screen response
}
[00214] In another embodiment of the multiplayer game system, players are
allowed to join the multiplayer game through a remote connection, without
being
located in the game arena. Such a multiplayer game system is depicted in
Figure
5 19 and designated by reference numeral 1900. In multiplayer game system
1900,
game server 110 communicates with handheld game controllers 135 via
communications controller 115 (not shown) as previously described in relation
to
Figures 1 to 4 and 13 and displays a primary display of the multiplayer game
on
display system 125. In addition to receiving game input from handheld game
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
56
controllers 135, game server 110 may receive game input from remote game
controllers 1910 located remotely from the game arena 120 and game server 110
over a communications connection 1920 through a network 1930.
[00215] Remote game controllers 1910 may be desktop or laptop personal
computers or video game consoles, for example. Remote game controllers 1910
have game software 1940 installed and running thereon, in order to play the
multiplayer game. Game software 1940 is downloaded from gamer server 110 or
administration server system 210 and installed on game controller 1910 by a
prospective player of the multiplayer game.
[00216] Each remote game controller 1910 has associated therewith a display
1950, for example such as a television connected to the video game console or
as
part of the desktop or laptop computer system, for viewing images of the
multiplayer game. In order that the images on display 1950 are sufficiently
current
to enable real time play of the multiplayer game, the communications
connection
1920 between game software 1940 and game server 110 needs to be of a
relatively high speed.
[00217] In response to game-related user input into remote game controllers
1910, game software 1940 transmits data packets representative of the game
related commands arising from the user input to game server 110 via network
1930. Game server 110 provides data packets in return to game software 1940
over network 1930 to update the game status and enable game software 1940 to
generate updated game images for display on display 1950.
[00218] Multiplayer game system 1900 enables players to join in the
multiplayer game from home or another location remote from the game arena 120
in which the multiplayer gaming mainly occurs. Players joining the multiplayer
game through remote game controllers 1910 may join as solo players or may
participate in a team. In one embodiment, players manipulating remote game
controllers 1910 are only permitted to join the game using a single avatar,
rather
than a shared avatar. Such players may form a team or alliance with other
players
but do not share a team avatar. In such an embodiment, the game images viewed
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
57
by the remote player on display 1950 correspond to the view from the
perspective
of that player's avatar. This first person perspective is in contrast to the
global view
of the multiplayer game visible on the large display screen 425 in game arena
120.
Optionally, remote players manipulating remote game controllers 1910 may be
able
to toggle between a first person perspective and a global view.
[00219] It should be understood that game server 110 may be implemented as
a server system having a large number of processors for handling the
potentially
large number of players that may participate in the multiplayer game.
[00220] Referring now to Figures 20, 21, 22, and 23, a multi-player gaming
system 2000 according to further embodiments will now be described. The
described embodiments of multi-player gaming system 2000 and its components
function and interact in the same manner as multi-player gaming systems 100,
200,
1300 and 1900 and their components, except where indicated below.
[00221] Figure 20 shows the multi-player gaming system 2000 comprising one
or more transceivers 2040, a game server 2010, the communications controller
115, and a game arena 2020. The transceivers 2040 function as a combination of
the receivers 140 and the transmitter 130 described with reference to Figures
1 and
4. The functions and interactions of the communications controller 115 have
been
described above with reference to Figures 1-3. The game arena 2020 is shown in
more detail in Figure 23.
[00222] The game arena 2020 comprises the display system 125, the plurality
of handheld game controllers 135 and at least one (up to, say, 6) wireless
transceiver 2040. The functions and interactions of the display system 125 and
the
handheld game controllers 135 have been described above with reference to
Figures 1-7.
[00223] Multi-player gaming system 2000 may be used for multi-player
gaming, as described herein. In some embodiments, multi-player gaming system
2000 can be used to implement a multi-payer bingo game. The multi-player bingo
game may alternatively be played on systems that employ a different
communications architecture, such as systems 100, 1300 or 1900. Multi-player
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
58
gaming system 2000 is described further below in the context of the game of
bingo,
In these illustrative embodiments, the multi-player game is a bingo style game
in
which each player has one or more game cards displaying a plurality of
numbers,
for example in a 5 by 5 grid. A player's game card may be displayed in the
secondary display 1150 on the handheld game controller 135. Each player may
have unique game cards or each member of a team of players may have a copy of
the same game cards.
[00224] The game server 2010 stores and runs the game management
module 2110 for facilitating the multi-player bingo game. The game server 2010
interfaces with the game arena 2020 through communications controller 115,
which
controls high speed wireless (radio frequency) communication within the game
arena 2020 and high speed wired communications to and from the game server
2010.
[00225] The game arena 2020 may be a large indoor screening area 400,
such as a cinema, theatre, conference hall, presentation hall or the like. The
game
arena 2020 may be a venue designed specifically for bingo and related
activities,
such as a bingo club, or it may be a multi-purpose venue which is only
temporarily
being used for bingo. Alternatively, the game arena 2020 may be an outdoor
facility, such as an amphitheatre, stadium or other outdoor area where the
attention
of participants can be focused on a large central display.
[00226] The game arena 2020 is intended to accommodate a relatively large
number of handheld game controllers 135, for example in the order of 20 to 250
handheld game controllers 135. Each handheld game controller 135 is used by an
individual player of the multi-player bingo game while seated, or otherwise
located,
within the game arena 2020. For example, each handheld bingo game controller
135 may be associated with a seat facing the large display screen 425 so that
players of the multi-player bingo game can sit in seats in the game arena 2020
and
manipulate the handheld game controllers 135 while viewing a display of the
multi-
player bingo game on display screen 425.
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
59
[00227] Referring in particular to Figure 21, the game server 2010 is
described
in further detail. The game server 2010 accesses computer program instructions
from the game management module 2110 stored in memory 312. The instructions
are loaded from memory 312 and processed by one or more computer processors
(not shown).
[00228] Game management module 2110 communicates with a video/audio
library 2140, bingo engine 2120, and optionally, a trivia engine 2130. The
bingo
engine 2120 comprises data and computer program instructions necessary to run
a
game of bingo. The functional components of bingo engine 2120 will be
described
in greater detail below with reference to Figure 22.
[00229] In addition to the game of bingo, the game server 2010 may be
capable of running one or more supplementary gaming activities, such as trivia
games or word games. In alternative embodiments, game server 2010 may be
configured to execute a multi-player trivia game using the trivia engine 2130.
The
trivia engine 2130 comprises computer program instructions necessary to run a
trivia game, either within the bingo game or as an alternative thereto.
Although only
the trivia engine 2130 is shown in Figure 21, the game server 2010 may include
further software modules or components for enabling play of further multi-
player or
single player activities, depending on the available supplementary games.
[00230] The video/audio library 2140 is a database for organized media files
that include all the video segments and audio segments needed to present the
bingo game or any of the available side games.
[00231] The game server 2010 also comprises the display driver 314, which is
responsive to instructions from game management module 2110 for providing
display instructions to display system 125. The game server 2010 further
comprises game controller driver 316 for providing game data to, and receiving
player command data from, handheld game controllers 135 via communications
controller 115.
[00232] The instructions executed by game management module 2110 may
vary according to the game to be played on multi-player game system 2000. The
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
appropriate instructions may be loaded from memory 312 in response to votes
cast
by players when initiating the multi-player bingo game or in response to a
selection
by an administrative operator of game server 2010.
[00233] Referring in particular to Figure 22, the bingo engine 2120 is
described
5 in greater detail. The bingo engine 2120 comprises a random number generator
2210, a bingo logic module 2220, an active game database 2230, a card library
2240 and a verification module 2250. The game management module 2110
communicates directly with the random number generator 2210 and the bingo
logic
module 2220. The card library 2240 stores all the unique serialized bingo
cards.
10 The active game database 2230 stores the information necessary to allow the
bingo logic module 2220 to keep track of the cards in play during a particular
game
of bingo.
[00234] When directed by the game management module 2110, the random
number generator 2210 selects a number to be played. This number is passed to
15 the bingo logic module 2220, which checks all the active cards in the
active game
database 2230 for matching numbers. Each matching number is recorded as such
in the active game database 2230. Each player having a game card with the
selected number then marks their own game card on the handheld game controller
135 using a touch screen or other input device.
20 [00235] The random number generator 2210 will continue to select numbers
until a player has met the criteria for winning. For example, in order to win,
a player
may need to have a game card with a line of selected numbers, a box of
selected
numbers or a blackout in which all the numbers on a player's game card have
been
selected. When a player believes they have a winning game card, they may
25 indicate this to the game server 2010 using an input component on the
handheld
game controller 135 or through other means. Once a player has indicated that
they have a winning game card, this will be verified by the verification
module 2250
of the bingo engine 2120. If the verification module 2250 determines that the
indicated game card is a winner then the game is finished. Otherwise, the game
30 will continue.
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
61
[00236] The game system 2000 shown in Figure 20 relates to embodiments in
which the multi-player bingo game may be performed in a single game arena
2020.
However, it is also possible that a single game of bingo may be performed in
separate bingo game arenas 2020, located relatively near each other or
remotely
from each other. In this embodiment, numbers may be selected by a bingo engine
2120 at a central location, sent to a central game server (not shown) and then
sent
to a game server 2010 in each game arena 2020. The first player in any of the
participating game arenas 2020 with a verified winning game card wins the
game.
[00237] In other embodiments of the multiplayer game system, players are
allowed to join a multiplayer bingo game through a remote connection, without
being located in the game arena. Such a multiplayer game system is depicted in
Figure 19 and designated by reference numeral 1900. The functions and
interactions of multi-player game system 1900 and its components in these
embodiments are the same as described above except that the game server 110 is
replaced with the game server 2010. Furthermore, in these embodiments, game
software 1940 is configured to enable the playing of bingo on remote game
controllers 1910.
[00238] In response to game-related user input into remote game controllers
1910, game software 1940 transmits data packets representative of the game
related commands arising from the user input to game server 2010 via network
1930. Game server 2010 provides data packets in return to game software 1940
over network 1930 to update the game status and enable game software 1940 to
generate updated game images for display on display 1950. In some
embodiments, network 1930 may use a cable television communications link or a
digital television service using an Internet Protocol over the network
infrastructure.
[00239] Further embodiments of the invention relate to a multi-player game
system comprising:a game server configured to provide display signals for
displaying a multi-player game and a game arena. The game arena comprises: a
display system having visual display means for displaying the multi-player
game in
response to the display signals; a wireless transmitter in communication with
the
game server for transmitting game data signals within the game arena; a
plurality of
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
62
game controllers adapted to receive the game data signals from the wireless
transmitter and to transmit command data signals corresponding to player input
commands; and at least one wireless receiver in communication with the game
server for receiving the command data signals from the plurality of game
controllers
and communicating the command data signals to the game server; wherein the
wireless transmitter is disposed in an upper part of the game arena and a
transmission direction of the game data signals from the wireless transmitter
is
generally toward the game controllers; and wherein the at least one wireless
receiver is disposed in the game arena generally away from the wireless
transmitter.
[00240] Each of the game controllers may have a display screen for displaying
game images related to the multi-player game. Each of the game controllers may
have input means for receiving player input from a player in relation to the
multi-
player game. The game arena may be at least partly defined by a large
enclosure.
[00241] The input means may comprise a touch-sensitive screen. The input
means may comprise a movement selection member and a plurality of buttons. The
movement selection member may be a joystick. The input means may comprise a
card reader for receiving player authentication data. Each game controller may
be
connected to a respective fixed structure within the game arena.
[00242] Each game controller may have a power supply located apart from the
game controller, the power supply being electrically connected to the game
controller through a power supply cable and being mounted to the fixed
structure.
[00243] Further embodiments of the invention relate to a multi-arena game
system comprising:a plurality of multi-player game systems as described above;
and an administration server in communication with the game server of each
multi-
player game system for controlling and monitoring the operation of the
plurality of
multi-payer game systems.
[00244] The plurality of multi-player game systems may be located together
within a single complex. Alternatively, one or more of the plurality of multi-
player
game systems may be located remotely from another one or more of the plurality
of
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
63
multi-player game systems. The multi-arena game system may comprise a master
clock for synchronizing communications within the game arena of adjacent multi-
player game systems.
[00245] Further embodiments of the invention relate to a handheld game
controller for a multi-player game, comprising: a display screen for
displaying a first
display related to the multi-player game; player input means for receiving
game
control input from a player of the multi-player game in relation to a
corresponding
avatar of the multi-player game; processor means for processing the game
control
input to generate first game signals and for generating the first display
based at
least in part on received second game signals; and a transceiver for
transmitting
the first game signals to a game server facilitating the multi-player game to
allow
the game server to generate a second display of the multi-player game based in
part on the first game signals and for receiving the second game signals from
the
game server; wherein the second display includes the avatar and the player
input
means is useable by the player to control the avatar within the multi-player
game.
[00246] Images of the first display may be different from the images of second
display. The transceiver may be a wireless transceiver. The first and second
game
signals may be respectively transmitted and received as first and second
packet
data. Each of the first and second data may comprise a checksum and an
identifier
of the game controller. The first and second packet data are transmitted
during
predetermined transmission periods.
[00247] The game controller may comprise output means for providing
sensory output to the player. The output means may provide at least one of a
vibratory, visual and auditory output. The output means may comprise at least
one
speaker and the display screen. The input means may comprise a touch-sensitive
screen. The input means may comprise a movement selection member and a
plurality of buttons. The movement selection member may be a joystick. The
input
means may comprise a card reader for receiving player authentication data.
[00248] The game controller may comprise a casing housing the display
screen, the player input means, the processor means and the transceiver, and a
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
64
power source, the power source being located apart from the casing. The game
controller may be connected to a fixed structure. A tether may connect each
game
controller to the fixed structure. The tether may comprise a rigid connecting
arm
movable between a playing position and a stowed position. Alternatively, the
tether
comprises a flexible retractable cable. The casing may have left and right
grips
disposed at respective left and right lateral ends of the casing when the
casing is
held in a lateral orientation. The display screen may be disposed intermediate
the
left and right grips. Buttons may be disposed on the casing along an edge of
the
display screen.
[00249] Further embodiments of the invention relate to a method of player
registration for playing a multi-player game, comprising: receiving a payment
authorization code from each prospective player of the multi-player game at a
respective one of a plurality of handheld game controllers; validating the
payment
authorization code; sending the payment authorization code to a game server
that
facilitates the multi-player game; processing the payment authorization code
to
determine an account corresponding to the payment authorization code, the
account being useable for paying for the multi-player game; debiting the
account
for a predetermined amount; registering the prospective player as a player of
the
multi-player game; and unlocking the one handheld game controller for use by
the
player for playing the multi-player game.
[00250] The method may further comprise, after the step of unlocking,
downloading game software from the game server to the one handheld game
controller to enable the player to participate in the multi-player game by
manipulating the handheld game controller.
[00251] The method may be performed by a multi-player game system having
a display screen arranged in a game arena and the muiti-player game is
displayed
to players on the display screen. The game arena may include the plurality of
handheld game controllers, the display screen and communication means for
enabling the handheld game controllers to communicate with the game server.
The
method may further comprise encrypting the payment authorization code before
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
sending it to the game server and decrypting the encrypted payment
authorization
code before the step of processing.
[00252] In one embodiment, before the step of receiving, game software is
downloaded from the game server to the one handheld game controller to enable
5 the player to participate in the multi-player game by manipulating the
handheld
game controller.
[00253] Further embodiments of the invention relate to a method of conducting
a multi-player game, comprising: receiving at a game server a plurality of
registration requests from respective game controllers manipulated by
prospective
10 players of the multi-player game; processing the registration requests to
register
eligible prospective players as registered players of the multi-player game;
adding registered players, up to a predetermined number of players, to the
multi-
player game; beginning the multi-player game; removing one or more registered
players from the multi-player game in response to one or more predetermined
15 game removal events; adding one or more registered players to the multi-
player
game following the step of removing, so that the number of registered players
added to the multi-player game does not exceed the predetermined number of
players; and ending the multi-player game in response to one or more
predetermined game end events.
20 [00254] The method may further include displaying the multi-player game on
a
large display screen in a game arena housing the game controllers and the
registered players. The game server and the game controllers may communicate
via wireless communication means. The method may comprise allowing registered
players to form a team of players and to participate in the multi-player game
as a
25 team. Each game controller may include input means and the registration
requests
are generated based on input received via the input means. The game
controllers
may be handheld computing devices and the input means comprise a card reader
and a touch screen.
[00255] Further embodiments of the invention relate to a method of
facilitating
30 team play in a multi-player game, comprising: providing in a game arena a
plurality
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
66
of handheld game controllers having input means for receiving player input
from a
respective plurality of players and a first display screen for displaying game-
related
images; providing a game server in communication with the plurality of
handheld
game controllers for receiving first signals from each handheld game
controller and
for transmitting second signals for the handheld game controllers, the first
signals
corresponding at least in part to player input received at the respective
handheld
game controller; receiving at the game server a team creation request from a
first
handheld game controller in response to player input from a first player;
creating a
team entry in a team table maintained by the game server in response to the
team
creation request; adding a player entry for the first player to the team
entry;
receiving at the game server a team join request from a second handheld game
controller in response to player input from a second player; adding a player
entry
for the second player to the team entry; forming a team based on the team
entry;
starting the multi-player game; and causing game images of the multi-player
game
to be displayed on a display screen visible to players in the game arena, the
game
images comprising a plurality of avatars controlled at least in part by the
player
input.
[00256] The game server and the handheld game controllers may
communicate via wireless communication means. The handheld game controllers
may each have a display screen for displaying related images related to the
multi-
player game and the method further comprises displaying the related images in
response to the player input. At least one of the avatars may correspond to
the
team and may be at least partly controllable in response to player input from
players added to the team entry.
[00257] After step f), the game server may transmit an authorization request
to
the first player in response to the team join request and step g) is only
performed if
a team join authorization is received by the game server from the handheld
game
controller of the first player. The game server may perform steps f) and g)
until the
game server determines that the team is complete.
[00258] The game server may determine that the team is complete in
response to player input from the first player. The game server may
alternatively
CA 02677117 2009-07-31
WO 2008/092233 PCT/CA2007/000770
67
determine that the team is complete if the game server determines that a team
formation period has expired. The game server may alternatively determine that
the
team is complete when the number of player entries added to the team entry
reaches a predetermined maximum player limit for the team.
[00259] The method may comprise allowing players in the team to select a
player position in the team.
[00260] While a number of embodiments have been described separately
above, having different features, functions or characteristics, it should be
understood that many such features, functions or characteristics may be
incorporated in various combinations into one or more embodiments other than
those in relation to which such features, functions or characteristics were
particularly described. Thus, all useful and feasible combinations of any one
or
more such features, functions or characteristics are hereby specifically
incorporated herein.
[00261] Various modifications or variations of the described embodiments may
be apparent to those skilled in the art without departing from the spirit and
scope of
the present invention and all such modifications or variations are considered
to fall
within the spirit and scope of the present invention.