GB2531078A - Multi-user control of objects on a shared display - Google Patents
Multi-user control of objects on a shared display Download PDFInfo
- Publication number
- GB2531078A GB2531078A GB1418016.0A GB201418016A GB2531078A GB 2531078 A GB2531078 A GB 2531078A GB 201418016 A GB201418016 A GB 201418016A GB 2531078 A GB2531078 A GB 2531078A
- Authority
- GB
- United Kingdom
- Prior art keywords
- user
- control
- display means
- user device
- avatar
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 claims abstract description 88
- 238000004891 communication Methods 0.000 claims abstract description 81
- 238000004590 computer program Methods 0.000 claims abstract description 31
- 230000001413 cellular effect Effects 0.000 claims abstract description 14
- 238000005304 joining Methods 0.000 claims abstract description 7
- 230000011664 signaling Effects 0.000 claims abstract description 5
- 238000005516 engineering process Methods 0.000 claims description 22
- 230000009471 action Effects 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 3
- SGPGESCZOCHFCL-UHFFFAOYSA-N Tilisolol hydrochloride Chemical compound [Cl-].C1=CC=C2C(=O)N(C)C=C(OCC(O)C[NH2+]C(C)(C)C)C2=C1 SGPGESCZOCHFCL-UHFFFAOYSA-N 0.000 claims 2
- 230000000977 initiatory effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/25—Output arrangements for video game devices
- A63F13/27—Output arrangements for video game devices characterised by a large display in a public venue, e.g. in a movie theatre, stadium or game arena
-
- A63F13/06—
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/31—Communication aspects specific to video games, e.g. between several handheld game devices at close range
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/32—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/32—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections
- A63F13/323—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections between game devices with different hardware characteristics, e.g. hand-held game devices connectable to game consoles or arcade machines
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/355—Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
- A63F13/48—Starting a game, e.g. activating a game device or waiting for other players to join a multiplayer session
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/77—Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/90—Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
- A63F13/92—Video game devices specially adapted to be hand-held while playing
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/8023—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game the game being played by multiple players at a common site, e.g. in an arena, theatre, shopping mall using a large public display
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
A method of joining a session is disclosed in which a plurality of users can each operate a user device 106, such as a portable smartphone or a tablet, to control a respective object, such as a character or an avatar, displayed on a shared display means 102, wherein the display means is operatively connected to a server means 100, wherein the plurality of users are each located in proximity to the display means such that the display means is visible to each user. The method comprises: associating a personal, portable user device with a wireless local communications network; the device receiving over the network a package comprising computer program code, wherein the code enables the device to establish a connection with a server means over the network, wherein the code further enables the user operating said device to control a respective object on the display means by signalling with or sending control means to the server means over the connection. The session may be a gaming session. A further embodiment includes a method for determining an avatar for a user and choosing attributes for the avatar. Another embodiment details setting up a network based on predetermined bandwidth requirements between a user device and a server. In an embodiment the user device may communicate over a cellular network using a 3GPP standard.
Description
MULTI-USER CONTROL OF OBJECTS ON A SHARED DISPLAY
Field of the Invention
The invention relates to a method of joining a session in which a plurality of users can each operate a respective user device to control a respective object displayed on a shared display means. The invention also relates to related computer program and apparatus.
Background
Attempts have been made to provide ways of playing multi-player games on a single screen. For example. a known document, W02006058408. discloses a multi-player games system in which p'ayers each have a respective handheld game controfler and can operate the game controller to control a character on a single large display screen.
such as may be found in the cinema. Data packets may be transmitted to the game controllers using a transmission frequency of about 2.4 gigahertz.
An issue with this system is the high cost of providing the handheld game controllers, since each user must have a respective controller. Also, the system described in W02006058408 does not enable many users to control a respective character on the display screen in real-time, in part because avatars of the users may become visually indistinguishable.
It is an object oldie present invention to address the above-mentioned issues.
Summary of the Invention
In accordance with a first aspect of the present invention, there is provided a method of joining a session in which a plurality of users can each operate a user device to control a respective object displayed on a shared display means, wherein the display means is operatively connected to a server means. wherein the plurality of users are each located in proximity to the display means such that the display means is visible to each user.
the method comprising: associating, by a personal, portable user device, with over a wireless local communications network; receiving over the network, by the device, a package comprising computer program code, wherein the code enables (he device to establish a connection with a server means; establishing, by the device, a connection with the server means over the network, wherein the code further enables the user operating said device to control a respective object on the display means by signalling with the server means over the connection.
hi accordance with a second aspect of the present invention, there is provided a method of controlling a session in which a plurality of users can each control a respective object displayed on a shared display means, wherein a server means is operatively connected to the display means to cause display thereon. wherein the plurality of users arc each located in proximity to the display means such that the display means is visible to each user, the method comprising: receiving a request to associate from a personal, portable user device over a wireless local communications network; sending to (lie device over the connection a package comprising computer program code, wherein the code enables a connection to be established between the user device and the server means; establishing a connection with the device over the network, wherein the code further enables the user operating said device to control a respective object on the display means by sending control information to the server means over the connection; controlling the object in dependence on the control information.
In accordance with a third aspect of the present invention, there is provided a method of determining an avatar for a user, wherein the avatar is to be displayed on a shared display means on which a plurality of avatars each controlled by a respective other user are also displayed, wherein (he phirality of users are each located in proximity to the display means such that the display means is visible to each user, the method comprising: determining an attribute for an avatar, the attribute comprising an avatar base and the determining comprising selecting the avatar base from a predetermined plurality of avatar bases; determining at least one other attribute for the avatar; displaying an avatar formed from the avatar base and the determined at least one other attribute, wherein said displayed avatar is visually distinct from the avatars of the other users.
In accordance with a fourth aspect of the present invention, there is provided a method of enabling real-time control on a display means of an object by a user of a user device.
wherein the user device is configured to communicate with a server means using a wireless local communications network technology, wherein a display means is operatively connected to a server means, the method comprising: determining whether bandwidth between the user device and the server means exceeds a predetermined bandwidth over a pre-established local communications network; if a result of the determining is that the bandwidth does not cxceed the predetermined bandwidth, setting up a new wireless local communications network enabling a connection to be established between the server means and the user device in which the predetermined bandwidth is exceeded.
In accordance with a fifth aspect of the present. invention, there is provided a method of setting up a session in which a plurality of users can each wirelessly control a respective object displayed on a shared display means, wherein a server means is operatively connected to a shared display. comprising: receiving by the server means control software and installing the software on the server means; in response to a connection request from each of a plurality of personal, portable user devices over a local communications network, establishing a connection with the user device; sending to each user device over the connection a package comprising computer program code, wherein, when the code is installed on the device, the device and the server means communicate to enable the user to contrcA an object on the shared display.
In accordance with a sixth aspect of the present invention, there is provided a method of enabling a user of a user device to control an object on a display means, wherein the user device is configured for wireless communication over a cellular network using a 3GPP standard and for wireless communication using a local communications technology, comprising, at a server means operatively connected to the display means: establishing a connection with the user device; causing display on the display means of the object; receiving control information for control of the object; controlling of the object on the display means in in accordance with the control information.
hi accordance with a seventh aspect of the present invention, there is provided a method ofjoining a session in which a plurality of users can each operate a user device to control a respective object displayed on a shared display means, wherein the display means is operatively connected to a server means. wherein the plurality of users are each located in proximity to the display means such that the disphiy means is visible to each user.
the method comprising: establishing, by the user device, a connection with a server means over a local communications network, wherein the user device is configured for wireless communication over a cellular network using a 3GPP standard; receiving over the connection, by the device, a package comprising computer program code enabling the user operating said device to control a respective object on the disp'ay means by signalling with the server means over the network.
In accordance with an eighth aspect of the present invention, there is provided a method, in a scssion in which a plurality of users can cach wirclcssly control a rcspcctive object displayed on a shared display means, wherein a server means is operatively connected to a shared disp'ay, comprising sending packets to the server means, wherein each packet comprises a payload, wherein (he control information in each payload comprises: at least an identifier of an instruction type requiring one byte only: one or two or three values for the instruction type. the or each value requiring one byte only; wherein a size of a payload is not greater than three bytes.
hi accordance with an ninth aspect of the present invention, there is provided a apparatus comprising: a user device for communicating over a cellular network using a 3GPP standard and for wireless communication using a local communication technology; a server means for communication with the user device using the local communications technology and operatively connected to a display means; wherein the server means and the user device are configured to enable the user to operate the user device to control an object on the display means.
hi accordance with an tenth aspect of the present invention, there is provided a user device comprising: means for communicating over a cellular network using a 3GPP standard and for wireless communication using a local communications technology: memory means storing computer program code; processing means; wherein the processing means and the memory means with the code are together configured to cause sending of control information to a server means using the local communication technology for control an object on a display means.
In accordance with an eleventh aspect of the present invention. there is provided a comprising a server means comprising: means for communicating with a plurality of user devices using a local communications technology; means for operatively connecting the server means to a display means, wherein the plurality of users each located in proximity to the display means such that the display means is visible to each of the users: memory means storing computer program code: processing means; wherein the processing means and the memory means with the code are together configured to control display of a plurality of objects on the display means in response to control information received from the plurality of user devices, a one of the objects corrcsponding to each user dcvicc.
There may he provided a computer program comprising computer-executable instructions adapted to cause a computer system to perform a method in accordance with any one of the methods described above. There may be provided a computer readable storage medium comprising such a computer program.
There may be provided apparatus comprising: a processing means and a memory with computer-executable instructions stored thereon, wherein the processing means and the memory with the computer-executable instructions are together configured to cause the apparatus to perform the steps of any of the methods described above.
Some optional and/or preferred features of embodiments of the invention are set out in the dependent claims.
Brief Description of the Figures
For better understanding of the present invention, embodiments will now be described, by way of example only, with reference to the accompanying Figures in which: Figure 1 shows diagrammatically elements of a system in accordance with embodiments of the invention; Figure 2 shows diagrammatically elements in a user device for use with embodiments; Figure 3 shows diagraniniatically elements in a control scrver for usc with embodiments; Figure 4 is a flow chart indicating initial steps at a user device including associating with an access point; Figures 5A and 5B are a flowchart indicating steps involved in joining a game session: Figure 6 is a flowchart indicating steps involved in assigning a character to the user; Figure 7 is a flowchart indicating steps involvcd in controlling play on a shared display; Figure 8 is a flowchart indicating steps involved in set up of a game server; Figure 9 is a flowchart indicating steps involved in set up of a game server for real-time game p'ay in a home environment: Figure 10 is an exemplary illustration of a display screen of a user device displaying five avatar bases from which a user may select.
Detailed Description of Embodiments
Like reference numerals are used to denote like elements throughout.
hi embodiments of the invention to be described, multiple users can join a session and participate in the session by controlling objects in the form of avatars displayed on a shared display. The session is a gaming session ("game"), Embodiments of the invention enable users to join the gaming session using their own user device and to participate in the game play. Embodiments of the invention to be described take place in a game venue, for examp'e a cinema, a theatre, a conference hall, a presentation hail or other enclosed or open spaces.
RefelTing to Figure 1, a system for playing a multiplayer game comprises a game server 100. a shared display 102, an access point 104 and a plurality of user devices 106 each under the control of a respective user. The users are thcated in proximity to the shared display 102 such that the shared display 102 is visible to the users manipulating their respective user devices 1 06.
The user devices 106 are portable, personal communication devices, typically a smart phone or a tablet computer. Embodiments of the invention advantageously enable people to use their own personal, portable user devices to join a session, and to use their device as a controfler in the session. Embodiments are not limited to use with a smart phone or a tablet computer -the device need be capable of perfornung the functionality described herein; for example, in embodiments wearable technology such as glasses or a wristwatch incorporating a computer, or a laptop computer may be used. It is foreseeable that other kinds of device will be suitable for use in embodiments in the future.
As indicated in Figure 2, each user device 106 includes a processor 108, a memory 110 including random access memory and read-only memory, a user interface 112, a transmitter 114 and a receiver 116 all operatively connected by a bus 117. The user interface 112 includes a touchscreen. The transmitter 114 and the receiver 116 are configured for communication using Wi-H. Each user device 106 typically includes many more components. Preferably, the primary function of the device is not for use in control of an avatar in the gaming session. In particular, the user device 106 may be configured for communication using a cellular telecommunications network operating according to 3GPP (( Generation Partnership Project), for example OSM. GPRS.
EDGE. UMTS, CDMA or LTE standards. The user device 106 is preferably configured at least for mobile internet use.
The user device 106 a'so has an operating system and other software running on it enabling operation of the user interface and other conventional functionality. Each user device 106 has a web browser on it.
Referring to Figure 3. the game server 100 includes typical hardware components of servers, such as a processor 118, a memory 120 including random access memory and read-only memory, at least one network interface 122 and a display interface 124, all operatively connected with a system bus 124. The display interface 124 may be configured, for example, as a high definition multimedia interface (1-IDMI) or a digital visual interface (DVI).
The game server 100 has a game control application comprising computer program code storcd in its memory which. whcn cxecutcd by thc processor 118, causcs the gamc server 100 to perform the functionality ascribed to it herein. Alternatively the functionality of the game server 100 coukl he implemented in dedicated processing equipment or a mixture of dedicated hardware and software. The game server I (JO includes functionality of a web server, a DHCP server and a DNS server. The web server is configured to provide webpages to the web browser. The game server 100 also has a display driver for causing display of graphics on the display 102.
The game server 100 is connected to a communications network 132 via the network interface 122. The game control application can be downloaded to the game server 100 via the communications network 130 and may he updated via the network 130.
Alternatively, the game control application can be transferred from a portable storage device, for example a portable solid state memory connectable to the game server 100 via a USB port.
The game control application may be configured to enable an operator to arrange play of a single game. Alternatively, the game application may comprise a platform on which one of several games may be played. In this case, different game control modules may he provided or available for the platform. The modules can he downloaded by the game server 100 via the communications network 130 or transferred from a portable storage device. Each game control module enables play of a different game.
For each game control module, an appropriate game controller application may he provided to the user devices 106.
The processors 108. 118 in the user devices 106 and the game server 100 may each he a single processing unit or a plurality of connected processing units. Although the game server 100 is depicted and described as a single server, in implementation it may bean array of connected servers.
The communications network 134 may he any kind of communications network or combination of two or more networks. For example. the communications network may comprise the Internet.
The game scrvcr 100 is operatively connected to the access point 104 with a cable (not shown) connected to the network interface 122. lii alternative embodiments, the cable is not necessary: the game server 100 may connect wirelessly to an external access point 104 br examp'e using Wi-h. Each user device 106 and the access point 104 are configured to conmiunicate using Wi-Fi technology. By way of example. Wi-Fi communication may be at 50Hz or 2.40Hz frequency.
hi alternative embodiments, communication between the game server 100 and the user devices 106 may be implemented using an alternative local communications technology that enables communication between a large number of users and the game server 100.
The technology should permit real-time communication over a range suitable for a predetermined maximum number of users and preferably provide sufficient bandwidth for real-time control by users of corresponding avatars.
The game server 100 may alternatively indude integrated access point functionality, in which case the game server 100 and the access point 106 would not be separate elements as indicated in Figure 1.
Embodiments of the invention enable real-time control of avatars by users on the shared display 102 at the same time. Current Wi-Fl technology allows sufficient bandwidth between the user devices 106 and the game server 100 to enable such real-time control.
Where the number of user devices 106 is large, a plurality of access points 104 may be provided to increase available bandwidth between the user devices 106 and the game server 100.
The game server 100 is also operatively connected to the shared display 1(K). The game server 100 may be connected to the shared display 102 with a cable; alternatively, the game server 100 and the shared display 102 may communicate wirelessly. While high data rate communication can be achieved between the game server 100 and the display 102 using today's technologies, it is likely that higher data rate communication will be achieved in the future. The shared display may be any kind of screen on which the game server 100 can cause images to be displayed, for example a plasma or LCD display.
The shared display 102 may allcrnativdy he provided hy projection equipment.
A controller application is provided on cach user device 106 that is to participate in the game. The controller application comprises computer program code stored in the memory 110 of each user device, which when executed hy the processor 108 of the user device, causes the user device 106 to perform the functionality ascribed to the user device 106 herein.
The user device 106 is configured to enable a user to control an avatar on the shared display 102 by invoking touch actions on the touchscreen of the user device 106 and/or by pressing buttons. Buttons on the user device 106 may be reprogrammed by the controller application for use with a game.
The user device 106 may have stored thereat a game instruction table listing predetermined possible game instruction types that the user can perform. On input from the user of a game instruction, the user device 106 is configured to determine an instruction type and. where appropriate, a value for the instruction type. For example, where the instruction is to fire a weapon, or pick up a displayed object, or to kick a ball.
the instruction type might indicate such. No value is required. If the instruction type is to move in a certain direction, the instruction type may indicate movement, and the value indicate angle. Tf the speed of movement in a particular game is variable, a further value may be associated with the instruction type indicating speed of movement.
Each instruction type has an identifier associated therewith that is stored at both the user device 106 and the game server 100. When a user inputs a control instruction, the control instruction is sent to the game server 100 in a packet. Only one, two or three bytes is required in the payload ol the packet to provide the game control instruction to the game server 100.
Where a user carrying the user device 106 enters a game venue and wishes to join a game. Wi-Fi must be turned on on the user device 106. If Wi-Fi is not turned on. as an initial step the user turns on the Wi-El.
Referring to Figure 4, the user device scans at step 400 in a conventional way for available networks that are broadcasting their Service Set Identifier (SSID). The availability of the local area network associated with the access point 104 is displayed by a name, referred to as Network X. on the touehscreen of the user device 106. along with the availability of any other networks, if any, and the user selects the Network X at step 402. The user device 106 then associates with the Network X at step 404.
The game server 100 then causes the web browser to launch a captive portal automatically on the user device 106, as indicated at step 406. When the web browser launches, an HTTP request is sent from the user device 106 to the game server 100.
from which the type of device, model and operating system can be determined by the game server 100. The game server 100 is configured to provide suitable content for the captive portal for the particular user device 106 based on this information.
In order to participate in the game. the controller application must be insulled on the user device 106. The user device 106 may already have the controller application installed on it. The user device 106 may have been purchased by the user with the controller application installed on it. Alternatively, the user may have downloaded the controller application from an application store, such as Apple's (RTM) AppStore or Google's (RTM) Play prior to entering the game venue.
If the controller application is not installed, the controller application may be downloaded from the game server 100.
Where the application is to he downloaded from the game server 100 or from a remote server via the game server 100, the content of the captive portal includes a download link, which is displayed by the web browser on the user device 106. The content of the captive portal also indudes a selectalie option with which the user can skip using the download link. If the user device 106 does not have the controller application installed on it. the user is required to select the download link to cause download of a package comprising the controller application. In this case, after the package comprising the controller application is downloaded, the controller application installs on the user device 106. If the user device 106 already has the controller apphcation instafled on it, the user selects the option to skip using the download link.
In a variant embodiment, the game server 100 is configured to detect if the controller application is installed on the user dcvicc 106. In this case, the captivc portal only provides a downloadable link if the user device does not have the controller application installed on it. Otherwise, the content of the captive portal may simply include a selectable request for confirmation from the user to participate in a game.
Preferably, the game server 100 is configured to detect that the user device 106 does not have the controller application installed on it, and, where this is detected, the game server 100 pushes the package comprising the controller application to the user device 106. Preferably, the game server 100 and/or the user device 106 is configured so that the controller application, after it is downloaded, is installed automatically without need for any action by the user.
In variant embodiments, where the controller application is already installed on the user device 106, an update may be required before the user can use the user device 106 as a controller to participate in the game. The game server 100 is configured to detect a version of the controller application. If the game server 100 detects that the controller application is not the required version, the download link mentioned above is replaced with a download link by which a package comprising an update can be downloaded.
Alternatively, the game server 100 pushes the package comprising the update to the user device 106 without need for action by the user. Preferably, after the package is received by the user device 106, the user device 106 installs the update automatically without need for action from the user.
hi variant embodiments, the controller control application comprises a platform with which more than one game can be played and more games can be obtained. Each game requires a respective controller conliguration file. In this case, where the controfler application is already installed on the user device 106, the game server 100 is configured to detect whether the controller application has a controller configuration file for that game. The controller configuration file enables configuration of the user device 106 for the particular game, for example providing an appropriate display. that enables play using partic&ar touch actions and optionally reconfigures one or more buttons on the user device 106 for use in playing of the game. If the game server 100 detects that the controfler application does not have the required controfler configuration file, the download link mentioned above is replaced with a download link by which a package comprising the controller configuration file can be downloaded.
Alternatively, the game server 100 pushes the package comprising the controller configuration file to the user device 106. Preferably. after the package is received by the user device 106. the user device 106 installs the controller conliguration file automatically without need for action from the user.
Where the user device 106 does not initially have the controller application installed on it and the game server 100 detects this, selecting of the download link results in download of a package comprising the controller application and the appropriate controller module. Where the game server 100 pushes the package, the package in this instance comprises the controller application and the appropriate controller module.
Embodiments of the invention are not limited to the game server 100 sending the package comprising a controller application or an update or a controller configuration uile to the user device 106 by the access point 104. The downloadalie link may point to another server from which the package can be downloaded. Also, downloading need not take place via the access point 104 where the user device 106 is configured for communication using other wireless technologies. For example, where the user device 106 is a smart phone, downloading of the package may he over a cellular telecommunications network such as a USM network. However, there may be environments in which embodiments of the invention may be implemented in which downloading of the package over a cellular telecommunications network cannot be done or can only he done slowly due to poor reception. For example, signal quality in cinemas is often poor or non-existent, in part due to cinema structure but also because there are typically several hundred people in close proximity whose smart phones are attempting to communicate with a nearby base station and the available bandwidth is inadequate. Accordingly, receiving of the package from the game server 100 or at least via the access point 104 is preferable.
It will be appreciated by the skilled person that various modifications can be made to the steps described above, which are intended to authenticate the user device 106 with the game server 100 and result in the user device 106 having the necessary software installed on it to enable participation in the game. In embodiments, after the user has selected the Network X to associate with, subsequent steps may occur automatically, without any need for action from the user. In this case, the controller application may be pushed by the game server 100 to the user device 106 and preferably installed automatically.
At step 410. the user selects the application, thereby to launch it. In alternative preferred embodiments, the game application launches automatically without any action needed from the user when the user device associates with the Network X and, in accordance with embodiments, any update or game module has been installed.
Use of a captive portal is not essential in order to cause association the user device 106 with the game server 100 and to provide the user device 106 with the necessary software to enable participation in the game. In alternative embodiments, each user may be provided with an NFC tag or a QR code. Such a tag or code may be given to each user who may wish to participate in the game. Alternatively, in certain game venues, for example a cinema, it maybe convenient lèr such a tag or code to he fixedly located. lèr example on an arm of the chair or on a seat back in front of the user. In order to make use of an NFC tag or QR code, the user device 106 includes suitable hardware and software components to obtain information stored in the tag or code. The information may include an instruction to launch the web browser and to send a request to the game server 100 or the remote server 120 to provide a particular webpage. The game server 100 can then detect whether the user device 100 has the game application installed on it or whether the user device 100 has the necessary version of the game application or the required game module. As described above, and as will he clear from the above description, the game server 100 can then either provide a download link or push the game application, an update therefor or a required game module to the user device 106.
In alternative embodiments in which an NFC tag or a QR code is provided. information from the NFC tag or the QR code comprises an instruction for the user device 106 to launch the controller application or to obtain the controller application from a particular URL. The NFC tag or the QR code may also include an identifier of the particular game in which the user is to participate. In accordance with embodiments mentioned above, the controller application may use this identifier to obtain the required controller configuration file to participate in the game. In each case, the game server 100 includes a software module enabling communication with the controller apphcation.
hi alternative embodiments, the game server 100 is connected to a device that pushes a package comprising the controller appfication and, if appropriate, a controller conliguration me. to the user device 106 using an alternative wireless communications technology, such as Bluetooth®.
Referring now to Figure 5, at step 500, the user device 100 generates a universally unique identifier (UUID) that. is stored on the user device 106. This UUD remains unchanged unless the controller application is removed from the user device 106 and is thus an identifier of the particular user device 106. Alternatively, the UUID may be permanently assigned to a particular user device 106.
The user device 106 then broadcasts at step 502 a request. for example a UDP (user datagram protocol) request, which is received by the game server 100 via the access point 104. Alternatively, where the Wi-Fi functionality is embedded in the game server 100, the request is received without passing through the access point 104. The user device 106 then waits for a response. The game server 100 sends a response to the user device 106 including the IP address of the game server 100.
If the user device 106 does not receive a response within a predetermined period, for example two seconds, the request is rebroadcast. up to a predetermined maximum number of times. If. after this maximum number of times, no response has been received, the user device 106 displays for the user a message indicating that the game server 100 cannot be found. Provided that the response is received, the user device 106 sends a connection initiation request to the game server 100 at step 504. A connection is then established between the game server 100 and the user device 106. The connection initiation request may be a TCP connection initiation request and the connection initiation request may he received at the game server 100 on a predetermined TCP port, the connection being a TCP connection.
At step 506, the user device 106 then sends the UUID to the game server 100 and the game server authenticates the user device with the IJUID at step 508.
In some embodiments, the user device 106 and the game server 100 are configured so that a code can be entered by the user can be used to vcrify that the uscr is authorised to participate in the game. This is optional. Such a code may be available exclusively to ehgihk participants in the game. This is intended to prevent ineligible users with appropriate user devices thcated within range of the local area network from participating. The codes may simply be a short character string for example of four numbers, appearing on a wall of the game venue or supplied to each eligible user on entry into (he game venue. lii order to authenticate using this code, the game server 100 is preconfigured with the code and is configured to compare the code received from the user device 100 against the stored code. Provided the codes match, the user is authorised.
At step 510, the game server 100 then checks in the stored table whether the UUD is present. If the UUID is present. this indicates that the user with the user device 106 was previously a participant in the game. It can be understood that the user temporarily left the game, for example due to a connection dropping or the user eaving the game venue.
The table includes, in association with the UUID, various properties, for example of an avatar that was previously assigned to the user device 106 and, where the game involves scoring, a score achieved by the user of the user device 106. The game server 100 then re-assigns these properties to the user device 106 at step 512.
lii step 514, if the game server 100 checks in the stored table and finds that the UUID is not present. the game server 100 generates an avatar for the user device 106 at step 516.
Different avatars disp'ayed on die shared display 102 are visually distinct from each other to enable users to each distinguish their own avatar. Each avatar has at least two attributes. One attribute is a base. The base is a shape or outline, particularly a character outline. The at least one other attribute is colour or markings, such as a pattern. or animation. Avatars having the same base but at least one other attribute that are respectively different are visually distinguishable. For exampk, each avatar may have as a base one of the five character outlines shown in Figure 10. When the number of users is equal or less than the number of bases, each may have an avatar with a different base such that they may he visually distinguishable irrespective of colour or markings or other attributes. However, when there are fewer bases than users, each avatar must also have at least one attribute to render the avatar distinguishable. Each colour may be defined by its hue, and a plurality of hues used to colour the different bases may he separated by a certain number of degrees, such as 30°.
The at least one other attribute may comprise an animation. The animation may be characterised by 5 to 10 frames, which result in or contribute to the avatar being visually distinct.
Referring to Figure 6, first an avatar base is determined at step 600 at the game server 100 and assigned to the user by association with the UUID. Preferably, the avatar base is deteimined so that, where there are already a large number of users participating in a session, there is an approximately even distribution of different avatar bases assigned to the users. At least one other attribute, for example hue, is then determined and assigned to the determined avatar base. At step 604, the game server 100 sends information indicative of the avatar formed from the avatar base and the at least one other attribute to the user device 106.
In a variant embodiment, the game server 100 has stored thereat information indicative of the avatar bases and the attributes, each in association with a particular unique identifier. The same information in association with the corresponding unique identifiers is also stored at the user device 106. In place of step 604. the game server sends to the user device 106 identifiers of the avatar base and the at east one other attribute forming the avatar. The user device 106 then determines the base and the at least one attribute from the identiliers and displays the formed avatar to the user so that the user is informed of the avatar generated for him or her.
hi alternative embodiments, the user can select the avatar base and the at least one attribute for his or her character. In this case, the game server 100 communicates with the user device 106 to cause the user device 106 to display options to the user, the user device 106 receives input of a user selection from the options, and the user device communicates information indicative of the user selection to the game server 100. If the user has created an avatar that is not visually distinct from the avatar of another user, the game server 106 communicates to the user device 106 information indicative of the fact that the user should select another avatar base and/or at least one attribute.
Tuming to Figure SB. the game server 100 determines an initial position for the character on the shared display 102. avoiding conflicting position with characters of other participants, at step 518. The game server 100 then transmits the initial position information to the user device 100. The user device 106 receives the initial position information in step 520.
The order in which some steps are performed may vary. For example. an avatar colour may he determined and assigned before an avatar base is determined and assigned.
Further, the initial position information and the base and attributes of the user's avatar may be sent to the user device 106 in a single message.
After receiving the initia' position information in step 520, the user device 106 determines a corresponding position at step 522 to display the avatar on the display screen of the user device 106 and displays the avatar at step 524. Preferably, at least a portion of the display screen of the user device 106 substantially mirrors the shape of a playing region of the shared display 102, enabling an indication of the position of the avatar on the portion to indicate the position on the shared display 102. Preferably, the user device 106 causes the character to be displayed at step 524 as a blue dot, although in variant implementations the character may be otherwise represented.
The user can now invoke control actions, for example by touch actions on the touchscreen of the user device 106. Accordingly, referring to Figure 7. each time that die user device 106 determines at step 700 input cia control action by the user, the user device 106 determines corresponding control information at step 702. The control information comprises an instruction type and, where appropriate one or more values for the instruction type. At step 704, the user device 106 sends to the game server 100 a control message including the control information.
hi some embodiments, the user device 106 may be configured to control the object on the shared display 102 in response to movement of the user device 106. An example is tilting of the user device 106 from a particular initial orientation, which may result in angular movement of the object. By way of sccond example, movement of the user device 106 may result in the user device 106 determining a velocity vector and/or an acceleration value, which can he used to control the objection.
When the game server 100 receives a control message in association with a particular IJUD, the game server 100 controls (step 706) display of the character on the shared display 102 in accordance with the control information. Embodiments of the invention are not limited to particular instructions types, since the set of actions that character may perform in a game is dependent on the particular game.
For acceptable user experience, many game types require that the user have real-time control of a character on the shared display 102. Since many user devices 106 may be in communication with the game server 100 via the access point 104, it. is desirable for the size of control messages sent from the user device 106 to the game server 100 and from the game server 100 to the user device 106 to he small, and for the number of messages transmitted to be low. Accordingly, in a preferred embodiment of the invention, in the control messages the identifier of the instruction type requires one byte, and the one or two values for the instruction type require one byte each. Thus, the size of the control message can he small. When the game server 100 receives the control message, it uses the identifier of the instruction type to identify the game instruction. h then performs the instruction accordingly.
Dependent on the particular game, the game instmction may be "open" or "closed". A closed game instruction has a particular temporally spaced start and end points. For example, where the game instruction is to shoot a weapon, the game server 100 controls die characters weapon on the shared display 102 to shoot and (lien to cease shooting. In contrast, an open game instruction does not have an endpoint. In other words, the game instruction results in the game server 100 controlling the character to perform an action, which is performed continuously until a game instruction resulting in the action being ceased is received. For example. an open game instruction may be to move in a particular direction. In this case, the game server 100 controls the character so that the character moves on the shared display 102 continuously. Use of open game instructions may usefully reduce the number of control messages that have to he transmitted, since only a "start" and a "change" instmction must be transmitted. In other embodiments, contrastingly, to maintain a character performing a particular action, for example moving in a particular direction, a game instruction must be repeatedly transmitted.
The game server 100 also transmits contrcñ information in control messages to the user device 106. For example, where, as a result of gameplay, the position of the user's character on the shared display 102 changes, the game server 100 sends to the user device 106 information indicative of the present position of the character on the shared display 102. The user device 106. further to receiving such information, may update a position of the representation of the character on the display screen of the user device 106. The control information may also comprise information relevant to the character in the particular game, such as information indicative of the score, of health/energy levels, of the character's death. Each of these properties in the game may be identified using a predetermined identifier taking up a single byte in a control message, and from which the user device can determine the information using a mapping table. When inlormation on a property relevant to the character is received, the user device 106 may display the information on the display screen of the user device 106. For example. the user's score may be updated, or a request for action may be displayed, for example to ask the user for input on whether the user wishes to proceed with the game.
By reducing the amount of control information that is transmitted by only transmitting certain information when a change occurs, the number of packets transmitting can also be kept low. The result may be that the bandwidth usage by each user device 106 may he thw, for example 10-12kb per second per user device.
Either due to events in the game or br other reasons, the game server 100 eventually determines, at step that the game is to be terminated, and sends to the user device 106 a control message indicating such. The user device 106 then displays appropriate information on the display screen of the user device 106 and ends the connection with the game server 100.
Setup of the game server 100 will now be descnbed with reference to Figure 8. Initially.
if the shared display 102 is not operatively attached to the game server 100, it is attached at the display interface 124 of the game server 100. Provided the game controller application is installed on the game server 100, an operator launches the game application at step 800. Otherwise, the game application may be downloaded and installed.
At step 802. the game server 100 detects whether the shared display 102 is available and, if so, causes display on the shared display 102.
At step 804, the game server 100 detects the resolution of the shared display 102 and applies predefined scaling constants to make adjustments to size of particular objects displayed on the shared display. For example. the size of the playing region, size of text, size of characters and map topography may he adjusted.
At step 806, the game server 100 detects whether any of its interfaces is associated with a wireless local area network. In a specific implementation, the game server cheeks whether any ob the interlaces is an 802.11 xx interlace and whether this interface is associated with a wireless network (Network X).
At step 808, the game server 100 listens for incoming connection requests from user devices. In a specific implementation, the game server 100 opens a port for IJDP communication and a port for TCP communication.
At step 810, the game server 100 then listens for incoming control messages and carries out the control instructions, for example by appropriate control of the appropriate authenticated user's avatar, frirther to receipt of the control message, in real-time.
Embodiments of the invention are not limited to use in any particular game venue. In such a game venue, such as a cinema, the number of players is typically high. for example greater than 50. preferably greater than 80, preferably greater than 100.
However, embodiments of the invention may be used with a lower number of users, for example in a home or other private space. The game server 100 may he configured on a home computer, for example a laptop or desktop. In such case, the shared display 102 may he a television or home projector system to which the game server 100 is operatively connected. The access point 104 may he connected to a network interface 122. Alternatively, the access point 104 may be located inside the home computer as an integral part thereof, or Wi-Fi functionality may be otherwise provided integrally with the game server 100. The user devices 106 may also connect to the game server 100 using adhoc wireless functionality.
Rather than having the game server 100 and the display l02as separate physical objects, they may be integrated. It may be possible to set up a smart television as the game server and the display. Such a television may have integrated Wi-Fi functionality, or an access point may be attached to the TV, for example in the form of a dongle.
The game server 100 maybe a desktop computer, a laptop, tablet or like device. In this case, a separate shared display may not be required since users can position themselves to see the display of the desktop computer. laptop, tablet or like device. Use of this display may be satisfactory where the game is played with a small number of users (2 to 20). since this number of users may he able to gather around the display such that each user can see the display and the object under their control on the display.
Additional steps in set up of the game server 100 in a home environment are now described. The game control application is downloaded onto the game server 100 or transferred from a portable storage device, and is installed and launched (step 900).
Typically. the game server, whether it is a laptop, desktop computer, tablet or other device, is connected to a local area network, either by wireless connection to the access point 104 orhy a wired connection to the access point 104. The game server lOUis then configured to determine whether the bandwidth is acceptable to enable real-time control by user devices 106 of objects on the display 102. Bandwidth quality may be poor, for example due to interfering networks, topology of die environment, or location of die access point(s). The game server 100 therefore determines bandwidth quality at step 902 or information indicative thereof For example, the game sen'er OO may send bursts of ping packets to the access point 104 and determine by time of response and/or by the packet loss the quality of the connection.
The game server 100 then determines at step 904 whether the available network bandwidth quality is acceptable for real-time control of objects on the display 102, for example this is done by determining whether the measured available network bandwidth is greater than a predetermined threshold bandwidth. If the measured available network bandwidth is greater than the threshold, the game server 106 proceeds to use the loca' area network for communication with user devices 106 (step 906).
If the quality is not acceptable. for example if the available network bandwidth is less than the threshold bandwidth, the game server 100 establishes a dedicated local area network at step 908. The game server 100 has an integrated access point for this.
Alternatively, where the game server 100 does not. have an integrated access point, an external access point is connected to the game server 100, for example in the form of a Wi-Fi dorigle.
The access point 104 then broadcasts a new SS over the dedicated local area network and the user device establishes a connection with the game server 100.
The steps described with relerence to Figure 9 address a possihle problem when using the system in certain environments, such as a home, that the local area network typically available in the home may not provide sufficient bandwidth for real-time control of each user's object on the display 102. Thus, where the local area network does provide sufficient bandwidth, it may he used; where it does not, a dedicated network is established.
The application of the present invention is not limited to use with games. For example, embodiments of the present invention may he used in a conference or meeting environment. In this case, rather than user device 106 being assigned a visually distinct character, each user device 106 is assigned a visually distinct pointer. In such case, the game application is not a game application such, hut a control application including suitable conference software enabling multiple users to join a session, participate in the session and to leave the session. The control application runs on a conventional computer having suitable processing power in view of the number of intended users.
Embodiments of the invention support real-time control hy users of respective objects on the shared display. In some embodiments, real-time control is not required and requirements for handwidth quality may he adjusted accordingly. For example. where the game is a quiz and the user controls an object in the form of a pointer, a short delay, for example of a second, may bc acceptable.
Embodiments of the invention give rise to various advantages.
A great advantage of embodiments of the invention is that no specialist hardware is typically required to enable a game to be played. Each user can then use their personal, portable communications device, for example in the form of a smart phone, as a controller to participate in the game. The game server 100 can be configured using a conventional desktop computer, laptop or tablet, for example.
Also, a connection to an external communications network is not required for game play. For game play, only a wireless connection between the user devices 106 and the game server 100. and a wired or wireless connection between the game server 100 and the display 102 is needed. This results in users being able to participate in games in environments lacking a connection to an external communications network.
Advantageously, a user can join a session that is already begun. This is useful in venues such as cinemas where people arrive at different times. The software necessary to take part in the session can usefully he downloaded when the session is in progress.
Although communications between the user device 106 and the game server 100 may be performed using a number of possible protocols and there is no limitation to any particular one, it is advantageous for a connection to he initially set up between the user device 106 and the game server 100, for example using the TCP protocol. Since the connection setup, handshaking is not required pnor to each communication. which enables faster communication.
It will be appreciated by persons skilled in the art that various modifications are possible to the embodiments.
The applicant hereby discloses in isolation each individual feature or step described herein and any combination of two or more such features, to the extent that such features or steps or combinations of features and/or steps arc capable of being carried out based on the present specification as a whole in the light of the common general knowledge of a person skilled in the art, irrespective of whether such features or steps or combinations of features and/or steps solve any problems disclosed herein, and without limitation to the scope of the claims. The applicant indicates that aspects of the present invention may consist of any such individual feature or step or combination of features and/or steps. ffi view of the foregoing description it will be evident to a person skilled in the art that various modifications may be made within the scope of the invention.
Claims (43)
- CLAIMS1. A method of joining a session in which a plurality of users can each operate a user device to control a respective object displayed on a shared display means, wherein the display means is operatively connected to a server means, wherein the plurality of users are each located in proximity to the display means such that the display means is visible to each user, the method comprising: associating, by a personal. portable user device, with over a wireless local communications network; receiving over the network, by the device, a package comprising computer program code, wherein the code enables the device to establish a connection with a server means; establishing, by the device, a connection with the server means over the network, wherein the code further enables the user operating said device to control a respective object on (he display means by signalling with (he server means over (he connection.
- 2. The method of claim 1, wherein the local communications network is a local area network.
- 3. The method of any one of the preceding claims, wherein the device is configured for wireless communication over a cellular network using a 3GPP standard.
- 4. The method of any one of the preceding claims, wherein the computer program code comprises a software application that, when installed, enabling said control.
- 5. The method of any one of clai rim I to 3. wherein a software application is stored on the device having previously been installed thereon and provides a platform. wherein the session requires a predetermined one of a plurality of possible user interfaces, and the computer program code comprises a controller module providing the predetermined user interface for said control.
- 6. The method of daim I to 3 and 5. wherein a soitware application is stored on the device having previously been installed thereon and the computer program code comprises an update for the application.
- 7. The method of any one of the preceding claims, further comprising sending, by the device, control information to the server means to cause control of the corresponding object on the display means.
- 8. The method of claim 7, wherein each control instruction is sent in a data packet, the data packet comprising a header and a payload, wherein the payload comprises the control instruction the control instruction comprises: an identifier of a type of instruction: a value br the identified instruction.
- 9. The method of any one of the preceding claims, wherein the user device includes a device display, further comprising indicating on the device display a position of the user's object on the shared display means.
- 10. The method of any one of the preceding claims, wherein the session is a gaming session.
- 11. The method of any one of the preceding claims, wherein the plurality of user devices are connected to the server means when the connection with the user device occurs, wherein the servers means causes the object corresponding to the user of the user device to be added to the shared display means.
- 12. The method of any one of the preceding claims, further comprising, before the step of associating, detecting a network identifier.
- 13. A method of controlling a session in which a plurality of users can each control a respective object displayed on a shared display means, wherein a server means is operatively connected to the display means to cause display thereon, wherein the plurality of users are each located in proximity to the display means such that the display means is visible to each user, the method comprising: receiving a request to associate from a personal. portable user device over a wireless local communications network; sending to the device over the connection a package comprising computer program code, wherein the code enables a connection to be established between the user device and the server means; establishing a connection with the device over the network, wherein the code further enables the user operating said device to control a respective object on the display means by sending control information to the server means over the connection; controlling the object in dependence on the control information.
- 14. The method of claim 13. wherein the local communications network is a local area network.
- 15. The method of claim 13 or claim 14. wherein the device is configured for wireless communication over a cellular network using a 3GPP standard.
- 16. The method of any one of claims 13 to 15, wherein the computer program code comprises a software application that, when installed, enables said control.
- 17. The method of any one of claims 13 to 16, wherein a software application is stored on the device having previously been installed thereon and provides a platform.wherein the session requires a predetermined one of a plurality of possible user interfaces for control of objects, and the computer program code comprises a controller module providing the predetermined user interlace.
- 18. The method of claim 13 to 15 and 17, wherein a software application is stored on the device having previously been installed thereon and the computer program code comprises an update for the application.
- 19. The method of any one of claims 13 to 18, further comprising receiving at the server means from the device control information to cause control of the corresponding object on the display means.
- 20. The method of claim 19, wherein each control instruction is sent in a data packet. the data packet comprising a header and a payload, wherein the payload comprises the control instruction, and the control instruction comprises: an identifier of a type of instruction; a value for the identified instruction.
- 21. The method of claims 13 to 20, wherein the session is a gaming session.
- 22. The method of any one of the preceding claims, further comprising maintaining connections with a plurality of othcr user devices such that each user thereof can operate a respective device during the establishing of the connection and the sending of the package to the user device.
- 23. A method of deternuning an avatar for a user, wherein the avatar is to be displayed on a shared display means on which a plurality of avatars each controlled by a respective other user are also displayed, wherein the plurality of users are each located in proximity to the display means such that the display means is visible to each user.the method comprising: determining an attribute for an avatar, the attribute comprising an avatar base and the determining comprising selecting the avatar base from a predetermined plura'ity of avatar bases; determining at least one other attribute for the avatar; displaying an avatar formed from the avatar base and the determined at least one other attribute, wherein said displayed avatar is visually distinct from the avatars of the other users.
- 24. The method of claim 23, wherein the at least one other attribute comprise: colour: markings; an animation.
- 25. The method of claim 23 or claim 24, wherein the avatar base and the at least one other attribute are determined at the server means, further comprising sending information indicative of the avatar base and the at east one attribute to the device.
- 26. The method of claim 25, wherein each of the predetermined avatar bases and each other attribute identifiable with a corresponding unique identifier, the information indicative of the avatar base and the at least one attribute comprising the unique identifiers, wherein the sending comprises sending to the device unique identifiers corresponding to the determined avatar base and the determined at least one attribute, wherein data representative of the avatar bases and the at least one attributes is stored on the device, together with mapping information associating the avatar bases and the at least one other attribute with the corresponding unique identifiers, enabling the user device to associate the received unique identifiers with the determined avatar base and the determined at least one attribute.
- 27. The method of claim 23 or claim 24, further comprising: displaying at the device a p'urality of possible avatar bases and attributes; receiving user input at the device of a selection of an avatar base and at least one separate attribute, wherein the determining of the avatar base and the determining of the at least one attribute are dependent on the received user input; sending information indicative of the avatar base and the at least one attribute to the server means.
- 28. The method of claim 27, wherein each character base and each attribute has an corresponding unique identifier, the sending of the information indicative of the determined character base and the determined at least one attribute to the server means comprising sendrng the unique identifiers corresponding to the determined character base and the determined at east one attribute, wherein data representative ol the character bases and the at least one attributes is stored at the server means, together with mapping information associating the character bases and the at least one attribute with the corresponding unique identifiers, enabling the server means to associate the received unique identifiers with the determined avatar base and the determined at least one attribute.
- 29. The method of claim 28, further comprising determining at the server means whether an avatar formed from the determined avatar base and the determined at east one attnbute is visually distinct from avatars of other users, and, if not, sending an indication of such to the device.
- 30. The method of any one of claims 23 to 29. wherein the number of characters controlled by the other users is at least 5. preferably still at least 20.
- 31. The method of claim 30, wherein the number of characters controlled by the other users is at least 50, preferaffly still at least 80.
- 32. A method of enabling real-time control on a display means of an object by a user of a user device, wherein the user device is configured to communicate with a scrvcr mcans using a wirclcss local communications nctwork technology, whercin a display means is operatively connected to a server means, the method comprising: determining whether bandwidth between the nser device and the server means exceeds a predetermined bandwidth over a pre-established thcal communications network; if a result of the determining is that the bandwidth does not exceed the predetermined bandwidth, setting up a new wireless local communications network enabling a connection to be established between the server means and the user device in which the predetermined bandwidth is exceeded.
- 33. The method of claim 32, wherein a device including transmitting and receiving apparatus enabling setting up of the new wireless communications network is operatively attached to the server means.
- 34. The method of claim 32 or 33, wherein, ii a result of the determining is that the bandwidth exceeds the predetermined bandwidth, utilising the a pre-established local communications network for handling of connections with user devices.
- 35. The method of any one of claims 32 to 34, wherein the local communications network is a local area network.
- 36. The method of any one of claims 32 to 35, further comprising enabling real-time control of a plurality of objects each by a user of a respective user device wherein the plurality of users are each located in proximity to the display means such that the display means is visible to each user.
- 37. A method of setting up a session in which a plurality of users can each wirelessly control a respective object displayed on a shared display means, wherein a server means is operatively connected to a shared display, comprising: receiving by the server means control software and installing the software on the server means: in response to a connection request from each of a plurality of personal, portable user devices over a local communications network, estahhshing a connection with the user device; sending to each user device over the connection a package comprising computer program code, wherein, when the code is installed on the device, the device and the server means communicate to enahle the user to control an object on the shared display.
- 38. The method of claim 37. wherein the receiving of the control software is by downloading from a remote server.
- 39. The method of claim 37 or claim 38, further comprising, before the establishing of the connection. determining whether available network bandwidth exceeds a predetermined bandwidth value over a pre-established local communications network; if a result of the determining is that the available bandwidth does not exceed the predetermined bandwidth value, setting up a new, dedicated wireless local communications network to be the communications network.
- 40. The method ci claim 39. ii the resuli is that the available bandwidth exceeds the predeterniined bandwidth value, using the pre-established network as the local communications network.
- 41. A method of enabling a user of a user device to control an object on a display means, wherein the user device is configured for wireless communication over a cellular network using a 3GPP standard and for wireless communication using a local communications technology. comprising, at a server means operatively connected to the display means: establishing a connection with the user device; causing display on the display means of the object; receiving control mlormation br control ob the object; controlling of the object on the display means in in accordance with the control information.
- 42. The method of claim 41. wherein the controlling of the object on the display mcans is in real-time.
- 43. The method of claim 41 or claim 42, wherein the local communications network is a local area network.45. The method of any one of claims 41 to 44, wherein the computer program code comprises a software application that. when installed, enables said control.46. The method of any one of claims 41 to 45, wherein a software application is stored on the device having previously been installed thereon and provides a platform, wherein the session requires a predetermined one of a plurality of possible user interfaces for control of objects, and the computer program code comprises a controller module providing the predetermined user interface.47. The method of claim 41 to 44 and 46, wherein a software application is stored on the device having previously been installed thereon and the computer proam code comprises an update for the application.48. The method of any one of claims 41 to 47. further comprising receiving at the server means from the device control information to cause control of the corresponding object on the display means.49. The method of claim 48, wherein each control instruction is sent in a data packet, each data packet comprising a header and a payload, wherein the payload comprises the control instruction, and the control instruction comprises: an identifier of a type of instruction: a value for the identified instruction.50. The method ol claims 41 to 49, wherein the session is a gaming session.51. The method of any one of the preceding claims, further comprising maintaining connections with a plurality of other user devices such that each user thereof can operate a respective device during the establishing of the connection awl the sending of the package to the user device.52. A method of joining a session in which a plurality of users can each operate a user device to control a respective object displayed on a shared disp'ay means, wherein the display means is operatively connected to a server means, wherein the plurality of users are each located in proximity to the display means such that the display means is visible to each user, the method comprising: establishing, by the user device, a connection with a server means over a local communications network, wherein the user device is configured for wireless communication over a cellular network using a 3GPP standard; receiving over the connection, by the device, a package comprising computer program code enabling the user operating said device to control a respective object on the display means by signalling with the server means over the network.53. The method of daim 52, wherein the local communications network is a local area network.55. The method of any one of claims 52 to 53. wherein the computer program code comprises a software application that, when installed, enables said control.56. The method of any one of claims 52 to 55, wherein a software application is stored on the device having previously been installed thereon and provides a platform.wherein the session requires a predeterniined one of a plurality of possible user interfaces for control of objects, and the computer program code comprises a controller module providing the predetermined user interface.57. The method of claim 52 to 54 and 56, wherein a software application is stored on the device having previously been installed thereon and the computer program code comprises an update for the application.58. The method of any one of claims 52 to 57. further comprising receiving at the server means from the device control information to cause control of the corresponding object on the display means.59. The method of claim 58, wherein each control instruction is sent in a data packet, each data packet comprising a header and a payload, wherein the payload comprises the control instruction, and the control instruction comprises: an identifier of a type of instruction: a value for the idcntified instruction.60. The method of claims 52 to 59. wherein the session is a gaming session.61. The method of any one of claims 52 to 60. further comprising maintaining connections with a plurality of other user devices such that each user thereof can operate a respective device during the establishing of the connection awl the sending of the package to the user device.62. A method, in a session in which a plurality of users can each wirelessly control a respective object disp'ayed on a shared display means, wherein a server means is operatively connected to a shared display, comprising sending packets to the server means, wherein each packet comprises a payload, wherein the control information in each payload comprises: at least an identifier of an instruction type requiring one byte only; one or two or three values for the instruction type, the or each vahie requiring one byte only; wherein a size of a payload is not greater than three bytes.63. The method of claim 62, wherein the instruction type indicates that the avatar should perform a predetermined action until a new instruction is received.64. A computer program comprising computer-executable instructions adapted to cause a computer system to perform the method of any one of the preceding daims.65. A computer readable storage medium comprising the computer program ol claim 64.66. Apparatus comprising: a processing means and a memory with computer-executable instructions stored thereon, wherein the processing means and the memory with the computer-executable instructions are together configured to cause the apparatus to perform the steps of any one of claims I to 63.67. Apparatus comprising: a user device for communicating over a cellular network using a 3GPP standard and for wireless communication using a loca' communication technology; a server means br communication with the user device using the local communications technology and operatively connected to a display means; wherein the server means and the user device are configured to enable the user to operate the user device to control an object on the display means.68. A user device comprising: means for communicating over a cellular network using a 3GPP standard and for wireless communication using a local communications technology; memory means storing computer program code; processing means; wherein the processing means and the memory means with the code are together configured to cause sending of control information to a server means using the local communication technology br control an object on a display means.69. Apparatus comprising a server means comprising: means for communicating with a plurality of user devices using a local communications technology; means for operatively connecting the server means to a display means, wherein the plurality of users each located in proximity to the display means such that the display means is visible to each of the users: memory means storing computer program code; processing means; wherein the processing means and die memory means with the code are together configured to control display of a plurality of objects on the display means in response to control information received from the plurality of user devices, a one of the objects corresponding to each user device.68. A method of joining a session in which a plurality of users can each operate a user device to control operations of a respective object displayed on a shared display means suhstantialy as hereinhefore described with reference to the accompanying drawings.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1418016.0A GB2531078A (en) | 2014-10-10 | 2014-10-10 | Multi-user control of objects on a shared display |
PCT/GB2015/000286 WO2016055756A2 (en) | 2014-10-10 | 2015-10-12 | Multi-user control of objects on a shared display |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1418016.0A GB2531078A (en) | 2014-10-10 | 2014-10-10 | Multi-user control of objects on a shared display |
Publications (2)
Publication Number | Publication Date |
---|---|
GB201418016D0 GB201418016D0 (en) | 2014-11-26 |
GB2531078A true GB2531078A (en) | 2016-04-13 |
Family
ID=52001272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB1418016.0A Withdrawn GB2531078A (en) | 2014-10-10 | 2014-10-10 | Multi-user control of objects on a shared display |
Country Status (2)
Country | Link |
---|---|
GB (1) | GB2531078A (en) |
WO (1) | WO2016055756A2 (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5618045A (en) * | 1995-02-08 | 1997-04-08 | Kagan; Michael | Interactive multiple player game system and method of playing a game between at least two players |
US6056640A (en) * | 1996-11-11 | 2000-05-02 | Schaaij; Johan Michiel | Computerized gaming apparatus |
WO2000072930A1 (en) * | 1999-06-01 | 2000-12-07 | Mark Rider | Large screen gaming system and facility therefor |
US20050039210A1 (en) * | 2003-08-11 | 2005-02-17 | Thomas Dusenberry | In-theatre interactive entertainment system |
WO2006058408A1 (en) * | 2004-09-21 | 2006-06-08 | Timeplay Entertainment Corporation | System, method and handheld controller for multi-player gaming |
US7938727B1 (en) * | 2007-07-19 | 2011-05-10 | Tim Konkle | System and method for providing interactive content for multiple networked users in a shared venue |
WO2012103636A1 (en) * | 2011-02-01 | 2012-08-09 | Timeplay Entertaiment Corporation | Systems and methods for interactive experiences and controllers therefor |
-
2014
- 2014-10-10 GB GB1418016.0A patent/GB2531078A/en not_active Withdrawn
-
2015
- 2015-10-12 WO PCT/GB2015/000286 patent/WO2016055756A2/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5618045A (en) * | 1995-02-08 | 1997-04-08 | Kagan; Michael | Interactive multiple player game system and method of playing a game between at least two players |
US6056640A (en) * | 1996-11-11 | 2000-05-02 | Schaaij; Johan Michiel | Computerized gaming apparatus |
WO2000072930A1 (en) * | 1999-06-01 | 2000-12-07 | Mark Rider | Large screen gaming system and facility therefor |
US20050039210A1 (en) * | 2003-08-11 | 2005-02-17 | Thomas Dusenberry | In-theatre interactive entertainment system |
WO2006058408A1 (en) * | 2004-09-21 | 2006-06-08 | Timeplay Entertainment Corporation | System, method and handheld controller for multi-player gaming |
US7938727B1 (en) * | 2007-07-19 | 2011-05-10 | Tim Konkle | System and method for providing interactive content for multiple networked users in a shared venue |
WO2012103636A1 (en) * | 2011-02-01 | 2012-08-09 | Timeplay Entertaiment Corporation | Systems and methods for interactive experiences and controllers therefor |
Also Published As
Publication number | Publication date |
---|---|
WO2016055756A2 (en) | 2016-04-14 |
WO2016055756A3 (en) | 2016-07-14 |
GB201418016D0 (en) | 2014-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3773953B1 (en) | Methods, devices, and systems for interactive cloud gaming | |
EP3402582B1 (en) | Methods and systems for facilitating participation in a game session | |
US9600220B2 (en) | Multi-device display configuration | |
CN105573609B (en) | Content sharing method and device | |
CN108126344B (en) | Method for sharing position in game and storage medium | |
JP2019530356A (en) | Reverse cast from the first screen device to the second screen device | |
US10440149B2 (en) | Wireless system, wireless device, storage medium having stored therein communication program, and communication method | |
US20170026813A1 (en) | Session quality display in a wireless communication system | |
CN107911708B (en) | Barrage display method, live broadcast method and related devices | |
US20150087414A1 (en) | Cloud gaming implemented using a mobile device and a display device | |
EP2770698A2 (en) | Shared presentation method and system thereof | |
EP3021530A1 (en) | Data sending method and device | |
US12042737B2 (en) | Image display method and apparatus, storage medium, and electronic device | |
TWI573478B (en) | Method, mobile electronic device and storage medium for automatically selecting communication channel of region | |
CN107197364A (en) | The system and method for Screen sharing | |
CN111195432B (en) | Object display method and device, storage medium and electronic device | |
JP2007069009A (en) | Shooting game method and device of mobile terminal apparatus using close range positioning communication | |
CN111917866B (en) | Data synchronization method, device, equipment and storage medium | |
CN105573180B (en) | terminal control method and system | |
WO2020087176A1 (en) | Systems and methods for establishing a shared augmented reality session | |
GB2531078A (en) | Multi-user control of objects on a shared display | |
CN115837159A (en) | Virtual handle control method based on android device and storage medium | |
KR20180079145A (en) | Method of providing moving image in virtual reality | |
KR100619445B1 (en) | System for providing survival game service in location based mobile communication network | |
JP5340458B1 (en) | Program and server device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WAP | Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1) |