WO2002092177A2 - Method and arrangement for providing an interactive game including three-dimensional graphics - Google Patents

Method and arrangement for providing an interactive game including three-dimensional graphics Download PDF

Info

Publication number
WO2002092177A2
WO2002092177A2 PCT/FI2002/000362 FI0200362W WO02092177A2 WO 2002092177 A2 WO2002092177 A2 WO 2002092177A2 FI 0200362 W FI0200362 W FI 0200362W WO 02092177 A2 WO02092177 A2 WO 02092177A2
Authority
WO
WIPO (PCT)
Prior art keywords
game
player
server system
terminal
server
Prior art date
Application number
PCT/FI2002/000362
Other languages
French (fr)
Other versions
WO2002092177A3 (en
Inventor
Erik Piehl
Sami Sallinen
Original Assignee
Oy Gamecluster Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from FI20010877A external-priority patent/FI115675B/en
Priority claimed from FI20011047A external-priority patent/FI20011047A/en
Application filed by Oy Gamecluster Ltd filed Critical Oy Gamecluster Ltd
Priority to AU2002251112A priority Critical patent/AU2002251112A1/en
Publication of WO2002092177A2 publication Critical patent/WO2002092177A2/en
Publication of WO2002092177A3 publication Critical patent/WO2002092177A3/en

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/338Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using television networks
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/32Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections
    • A63F13/327Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections using wireless networks, e.g. Wi-Fi or piconet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an MPEG-stream for transmitting to a mobile phone or a thin client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/404Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network characterized by a local network connection
    • A63F2300/405Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network characterized by a local network connection being a wireless ad hoc network, e.g. Bluetooth, Wi-Fi, Pico net
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/409Data transfer via television network
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/535Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for monitoring, e.g. of user parameters, terminal parameters, application parameters, network parameters
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/538Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for performing operations on behalf of the game client, e.g. rendering
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images

Definitions

  • the invention relates to games played with terminal equipment.
  • the invention relates to interactive games including three-dimensional graphics.
  • the user is able to operate, via a computer, in a virtual environment designed specifically for the game in as real-time a manner as possible.
  • game world is used to refer to such a virtual environment and the objects and their properties defined therein.
  • game character is used to refer to such an object of the game world by means of which the user can experience the game world and the operation of which can be controlled by the user.
  • the user controls the movements of the game character, which may be a person or a vehicle, for example, in the game and thus influences the events of the game.
  • the computer that runs the game provides the progression of the game to the user to be seen and heard as experiences that are as similar to reality as possible.
  • the contents of the game world and the game sounds have usually been designed. These are generally implemented as separate program components.
  • the logic related to the progress of the game and the user's interaction with the game world have usually been implemented by means of the program code of the game.
  • the performance of the game in the computer generally consists of at least the following parts: (1) The user's input is processed, i.e. the game controller, keyboard and/or mouse are read and the commands read are interpreted as movements of the game character, for example. (2) The game world is typically simulated by using a physical model by means of which the collisions of the game characters, for example, are estimated and the game characters are moved into the desired directions, and artificial intelligence of the computer-controlled adversaries. (3) Drawing the figure to be presented to the player usually includes defining the part of the game world visible to the player, placing the camera in the game world and drawing the game world on the display of a computer or some other terminal device from the view of the camera. (4) The sound of the game is controlled e.g.
  • the sounds to be presented to the player by means of simulation and/or the state of the world pattern, by determining the distance and speed of the sources of sound in relation to the game character for calculating the sounds and the strength of the Doppler phenomena, by mixing the audible sounds together at correct intensity, and by playing these sounds to the user by means of the sound card of the computer, for example.
  • Drawing the figure is usually a heavy process, and it is often intensified by adding to the computer an auxiliary device designed for the processing of graphics, such as a graphic booster, which helps to create simulations of a three-dimensional world with realistic appearance.
  • an auxiliary device designed for the processing of graphics such as a graphic booster, which helps to create simulations of a three-dimensional world with realistic appearance.
  • Games like this typically include a network layer, which is used to synchronize the game and the state of the game world with other players via a data network or modems.
  • a network layer which is used to synchronize the game and the state of the game world with other players via a data network or modems.
  • interactive games including three-dimensional graphics which can be simultaneously played by several players with different computers
  • the peer-to-peer model information about the movement and operations of the game characters is generally transferred between different computers, and a game program, which takes the transferred information as input, is independently run in each computer.
  • the computer of one player or a separate computer selected for the purpose operates as a game server for many players.
  • the game clients of all players communicate to the server the movements and other operations of each player, on the basis of which the server performs the simulation of the game world.
  • the game clients run in the players' computers get an update of the status of all the objects changed or moved in the game world.
  • Each game client draws the player's view on the display independently on the basis of the world status information received from the server.
  • the Quakeforge game for multiple players which is implemented as an Open Source project, has been implemented in accordance with the client/server model.
  • Figure 1 shows schematically the server 110 related to the Quakeforge game and the computers 120a, 120b used for playing. All the files 20 related to the game have been stored in the mass storage 12 of the server 110, and the processor 10 performs the simulation of the game world using the physical model, among other things, for all players. All the files 20 related to the game have also been stored in the mass storages 12 of the computers 120.
  • the processor 10 of each computer 120 typically performs, by means of the main storage 11, a process in which the information about objects changed or moved in the game world is used to extrapolate the status of the game world from the moment of transmission to the present moment (game process 41).
  • each computer 120 typically using the graphic booster 13, (drawing process 42) the image of the status of the game world seen by the player is drawn in the same way as in games typically performed entirely locally in the computer 120.
  • information about changed and or moved objects in the game world is transmitted to the computers 120, and information about the movements and other operations of the players is transmitted to the server 110 by means of the communications network.
  • a personal computer equipped with a fast central processing unit and a graphic booster intended for drawing three-dimensional graphics is a game platform with excellent performance.
  • the PC technology is developing rapidly - to a great extent also due to the consumption demand of game users.
  • Piratism is also a problem in the computer game market: with the growing popularity of writing CD-ROMs, many consumers have equipment suitable for copying the games at their disposal.
  • the purchased computer games must be installed in the computer before they can be used. In connection with the installation, problems of incompatibility are often encountered between the computer and the game or between the game and some other program already installed in the computer.
  • FIG. 2 Another known manner presented in Figure 2, which is called the virtual disk concept, utilizes the server.
  • the game files 20 have been saved in the mass storage 12 of the server 210.
  • the files 20a, 20b, 20c of several games have been saved in the same server.
  • Disk partition software installed in the server operates (disk partition process 50) together with the virtual disk software (virtual disk process 51) installed in the computer 120 used for playing, and by means of it the files 21 needed by the game are delivered from the server 210 to the computer 120 according to the progression of the game.
  • the virtual disk server operates as a game file storage and a deliverer of game files.
  • the retrieved files 21 are saved in the mass storage 12 of the computer 120, and the game is ran in the game process 52 using the processor 10 of the computer 120 and the main storage 11.
  • the graphic booster 13 an image of the game situation is drawn for the player (drawing process 42) in the same way as in a situation where the game is locally installed in the computer 120 in the conventional manner.
  • Such a virtual disk concept requires a little less mass storage in the computer 120 than a game installed in the computer locally in the conventional manner, but typically the hardware requirements are otherwise the same.
  • game consoles designed for playing, which can be connected to a television set (such as Sony Playstation) or portable devices (such as Nintendo Gameboy).
  • the game consoles are constructed as computers, which have been stripped of the components that are not essential for playing.
  • One of the advantages of game consoles is a standard configuration. A person who designs a game for a certain game console can trust that each game console of that make has the same properties. On the other hand, the programming environment of each game console model is different from that of other models, and thus making the same game for many different console models requires a lot of work.
  • a problem with game consoles is the fact that consumers are not willing to pay the price of a computer for an entertainment device. Thus the manufacturers typically sell the consoles to the consumers at a loss and expect getting their money back with profit from the sale of games. As a consequence of this, console games are much more expensive for the consumer than computer games. Another consequence is the fact that the manufacturers of the game console control who can make and sell games for each console so that the manufacturers get the prices of the consoles back in licence fees. In practice, it is hard for the manufacturers of game consoles to keep pace with the rapidly developing computer market, and therefore the consoles launched on the market as new usually have a weaker performance than personal computers on the market at that time. The level of games for portable game console equipment is more modest than the level of games for fixed equipment. This is due to the fact that their requirements for weight and durability of batteries set limits on the efficiency of their central processing unit.
  • the games for the consoles are generally distributed on a CD for the home consoles and on a memory card for the pocket consoles.
  • Various copy protection mechanisms are generally used on the CDs, but the use of illegal game copies is still very common. From the consumer's point of view, a game console is an easy solution: the games need not be separately installed, and compatibility problems are practically non-existent.
  • Mobile phones with their integrated games have lately also become a part of the field of game equipment.
  • Mobile phones are practical as game devices because they are often carried everywhere and they can be easily used for playing during any idle moment.
  • the level of the integrated games of mobile phones is very modest. The reason for this is the fact that the general-purpose central processing units of mobile phones have modest performance as compared to a computer or a game console, and usually they do not have a changeable or fixed mass storage unit.
  • the game competes for the memory space of the mobile phone with its actual software.
  • no commercial market has developed for them.
  • the object of the invention is to present a straightforward method and arrangement for providing an interactive game including three-dimensional graphics for terminal devices with possibly different properties and performance.
  • games can also be offered for mobile terminals which may have a modest performance compared to desktop computers and/or in which the limited capacity of the batteries restricts the selection of programs performed in the terminal.
  • the objects of the invention are achieved by performing the simulation of the game world on the server, by forming on the server in advance the data flow to be presented to the player, which typically comprises at least image and sound information, and by compressing the data flow to be presented to the player on the server and by transferring the compressed data flow via a typically broadband data transfer network to be decompressed in the terminal and to be presented to the player via the user interface of the terminal.
  • the method according to the invention for providing a game including three- dimensional graphics comprises the following steps: - input information is received from a number of terminals, and
  • the next game situation of the game world is determined in the server system, and it is characterized in that it also comprises the following steps:
  • the server system according to the invention for providing an interactive game including three-dimensional graphics comprises:
  • - means for determining the next game situation of the game world on the basis of said input information and it is characterized in that it also comprises: - means for defining a plurality of player-specific views of the game world, which views correspond to said following game situation,
  • the heavy calculations of the game including three-dimensional graphics are performed in the server system.
  • player-specific views of the game world corresponding to each game situation are received; the game characters are typically at different locations of the (common) game world, and the game view seen by the game characters and the sounds heard by them (i.e. the views and sounds presented to the players) depend on the location in the game world.
  • both image and sound information is transmitted to the players.
  • the quantity of information describing the view is so large that it is compressed for efficient transfer to the terminal equipment.
  • the image information to be compressed can be a rastered image, i.e. a two-dimensional map consisting of pixels, in which the colour of each pixel has been given.
  • the term compression refers to typically lossy image compression methods suitable for compressing two-dimensional images.
  • the image information to be compressed consists of image drawing instructions, typically 3D parameters.
  • the term compression refers to compressing these parameters.
  • said data entity can comprise sound in addition to the image information. It can also comprise information related to vibration or other sensory stimuli that can be transmitted to the player by means of the user interface of the terminal equipment.
  • the compressed data entity is decompressed and presented to the player via the user interface of the terminal equipment.
  • decompression refers to determining the original (or, if it is a lossy compression method, similar to the original ) data entity on the basis of the compressed data entity.
  • the terminal device must be able to calculate the image to be rastered on the basis of the instructions and then to present the rastered image. If the compressed data entity includes a rastered image, it is sufficient that the terminal equipment decompresses the compressed rastered image and presents it on the display of the terminal equipment. On the basis of the image, sound and possible other information presented, the player reacts to the game situation with control commands given by means of the user interface of the terminal equipment, which control commands can be modified in the terminal equipment before they are transmitted back to the game as input information.
  • the latency (round trip delay) of the communications network connecting the terminal equipment and the server system must be sufficiently small and the communications network must have a sufficiently broad frequency band.
  • the data entities related to the game situations are compressed before they are transferred.
  • the compression is carried out in real time in the server system performing the games.
  • the compression methods used, especially the methods used for packing the image information must be chosen carefully: for ensuring interactiveness (in other words, because of the real-time requirement), they must be sufficiently fast, and the corresponding decompression methods must be - in order to minimize the memory capacity required of the terminal equipment - sufficiently light in terms of calculation.
  • the summed delay of compression and decompression must be sufficiently small. Typically, this delay must be under 0.1 seconds. This delay is naturally dependent on the efficiency of the server system and the terminal equipment. These factors may limit the applicability of some known image compression methods in a solution according to the invention. This matter has been dealt with more closely in the detailed description of the invention. There may be many different compression methods in use for different kinds of terminal equipment, and the invention does not require any specific compression method.
  • the graphic boosters of computers are usually designed only for performing a graphic-intensive application as a one-time process. This could be solved so that the work of each client to be served is carried out as a process of its own, which processes the operating system of the server performs in turns for a short period at a time.
  • the purpose of the embodiment of the invention to be presented in the following is to smoothen the operations so that an attempt is made to prevent simultaneous and competing processes, whereby the loading of the graphic circuits is reduced and the performance of the tasks becomes faster.
  • the application performed on the server is modified such that more than one client can be served in the process of the operating system by turns. Then a) serving these clients does not compete for the resources of the graphic card, because they are not performed simultaneously, and b) the games of these clients can use the same 3D world model and thus save the memory of the graphic card. This improves the performance of the server substantially in a situation where many clients use the same application.
  • the serving order of different clients is preferably selected such that the games of players who are close to each other in the game world are performed in sequence. This gives a chance to utilize the so-called cache property of the memory of the graphic booster, in which the parts of the three-dimensional model that were just used are available more quickly than the parts that were not used before.
  • the server computer that performs the game includes more than one processor, the image compression and transmission, which are time-consuming, can be separated to a thread of control of their own, which can be run on any processor of the computer. On the other hand, it is recommended to lock all the image drawing threads of different games to operate on the same processor for synchronization.
  • a suitable device for this purpose is e.g. a cable which connects the parallel port of the computer that allocates time slots to the parallel ports of all other computers of the same group.
  • the computer allocating time slots gives by turns, using the parallel port, a sign to each game of each server, whereupon the games draw their screen.
  • the transmission of the compressed image via the network to the client equipment is synchronized, whereby the capacity of the network can also be maximally utilized.
  • the operation of the network between the servers and the clients can be further intensified by using a separate broker computer through which all traffic from the servers to the network and from the client devices to the servers takes place.
  • the broker computer uses a program which receives the images sent by the servers and transmits them further to the network with as even time intervals as possible.
  • the program can stop using the network when it is waiting for an acknowledge message from the client device to an image already transmitted.
  • the invention provides considerable advantages.
  • the invention makes it possible to use small mobile terminals for playing games including three- dimensional graphics, which were originally designed for PCs, when the terminal is connected to the server system using a communications network with sufficiently wide frequency band.
  • This enables playing high-quality games with heavy calculation in small mobile terminals, in which mains current is not always available.
  • the terminal device must usually have calculation capacity and suitable software or hardware for decompressing compressed image and sound.
  • decompressing compressed image and sound for reproduction/presentation is much lighter than performing such games in terminal equipment.
  • the reception and decompression can also be implemented as a programmable process, the invention can be easily adapted for different kinds of terminal equipment.
  • the games themselves can operate on the server entirely independently of the terminal.
  • a server system from which games are offered to many players simultaneously according to the invention also provides savings in resources, which usually correspond to the extra resource requirement related to image compression or exceed it.
  • Computer games are generally programmed such that only one game at a time is played with one computer.
  • the game programs can be easily modified such that many of them can be performed with the same computer.
  • savings in resources are often obtained - as compared to a situation in which each game is performed in a separate computer - because it is often possible to use the same copy of the game world for all the game sessions. This applies both to games with multiple players and separate games for one player.
  • the image resolution of mobile terminals is generally lower than that of computers, it is often faster to draw an image with low resolution than an image with high resolution.
  • the requirement for extra resources caused by the compression of image information is in the order of the saving of resources due to using a lower image resolution.
  • the drawing of the image is carried out in the same system as the compression of image information, instead of conventional image compression it is possible to use an image compression method, which utilizes the information available of the game, about the location and movements of the camera, for example. Using such information about the game world or the camera in the image compression makes the image compression lighter.
  • the solution according to the invention provides e.g. the following advantages for the game designers.
  • the server system is, especially due to its scalability, a more efficient game platform than many terminal devices that are smaller than a desktop computer. This enables designing and offering new, more developed games for such terminal devices.
  • the game need not be re-developed for different terminal devices. Thus, new marketing channels can also be obtained for existing games. Piratism is not possible; the player cannot copy the game, because the actual game program is never in the user's terminal.
  • the distribution costs of the game are reduced substantially, because generally computer games are written on CDs, which are delivered to the end users through importers, distributors and retail stores.
  • the production costs of the CDs and their packages are saved in their entirety, and there is no need to tie capital to this step without any knowledge of the commercial success of the game.
  • the game designers are typically also paid by the number of CDs sold, but in a solution like this it is possible to pay compensation based on how much the game is played.
  • the solution according to the invention provides e.g. the following advantages for the players/users.
  • the new small, battery-powered, typically wireless mobile terminals are possible game terminals.
  • the user need not buy the whole game at once, but playing the game can be paid for on time basis, for example.
  • the price for using the games consists of the games that the user really plays.
  • the games need not be installed in the terminal, and thus the problems often related to installing the games are avoided, and there may be a large selection of games available for the user.
  • the synchronization of the game processes performed on the server provides a short response time for the player, and the game views corresponding to the game situation are updated quickly.
  • the solution according to the invention provides e.g. the following advantages for the providers of game services.
  • the invention enables a well focused dynamic marketing channel: because the consumers are already buying suitable terminals, the terminal acquisition need not be subsidized, like the case often is with game consoles.
  • the equipment costs can be time divided between a larger number of players, because while each potential player needs one game console, the number of servers needed is only for the largest number of simultaneous players.
  • the game processes can be performed efficiently with a small quantity of servers, data transfer capacity and other equipment. Games can also be easily offered for many different types of terminal equipment, even simultaneously from one game server. Implementing the server system as a server group ensures scalability, and thus the performance of the server system can be easily adapted for different or changing maximum numbers of users.
  • Figure 1 shows a schematic diagram of a known game server solution
  • FIG. 2 shows a schematic diagram of another known game server solution
  • Figure 3 shows a diagram of a method according to the invention
  • Figure 4 shows the operation of a game server solution according to the invention by way of example
  • FIG. 5 shows examples of the use of the solution according to the invention
  • Figure 6 shows a diagram of a server system according to the invention
  • Figure 7 shows a diagram of a server system according to a preferred embodiment of the invention.
  • FIG. 3 shows a diagram of a method according to the invention.
  • step 301 input information is received from a plurality of terminal devices, and the next game situation of the game world is determined in the server system on the basis of said input information in step 302. Typically, this means that the game simulation is run forward by one time step.
  • step 303 a plurality of player-specific views of the game world are determined in the server system. These views correspond to said following game situation.
  • a number of player-specific data entities, which describe said player-specific views, are formed in step 304.
  • step 305 said number of data entities is compressed, and in step 306 each compressed data entity is transmitted for communication via a typically wideband data communications network to the terminal equipment to be decompressed at the terminal equipment and to be presented to the player via the user interface.
  • steps 302 to 304 are repeated cyclically as long as the game is performed.
  • steps 301 to 306 can be performed in the same computer process or, typically more advantageously, as divided into some separate computer processes or threads of control.
  • the step of compression and the step in which compressed information is transmitted can be performed in one thread of control, and steps related to the definition of views and image drawing in another thread of control.
  • the performance of these threads of control is preferably distributed between the users so that the thread of control of a certain user is completed for a certain game situation before capacity is given for the performance of the thread of control or another user.
  • Terminal-specific data flows are thus delivered to a plurality of terminal devices, which plurality may comprise any number of terminal devices.
  • Each data flow consists of separate, compressed data entities that are usually related to consecutive game situations.
  • the User Datagram Protocol (UDP) or the Transfer Control Protocol (TCP) is preferably used for transferring the compressed data entities.
  • image information sound information is typically also transferred.
  • server system according to the invention or some of its means can be arranged to implement, when offering the game to the user, e.g. any one of the methods defined in the dependent method claims or some features of such a method. They can also be arranged to operate so that they implement any of the features mentioned in this detailed description of the invention.
  • FIG 4 shows the operation of a game server system 410 as an example.
  • the game server system 410 can be either a single server computer or a server computer group.
  • the files 20a, 20b, 20c of a plurality of games have been saved in the mass storage 12 of the game server 410.
  • the games are performed by means of processor(s) (two of which, 10a and 10b, are shown in Figure 4 by way of example), a main storage 11 and a graphic booster 13.
  • An additional library which is generally compiled to the game program to be performed, is typically used to implement the compression of image and sound, operations related to communications connections, and the load management (and equalization) of the server computer or the server computer group.
  • the processes typically performed in the game system include at least the game simulation process 60, which corresponds to step 302, the drawing process 61, which corresponds to step 303 and typically also step 304, and the compression process 62, which corresponds to step 305.
  • the performance of said processes is sequenced advantageously for the users of the service so that the process of one user is completed before the processing resource is given to perform the process of another user.
  • the processing time is preferably divided between the processes of the users as synchronized. Collisions in the use of resources can thus be avoided, and the waiting times of the processes can be made short.
  • the response time of the service received by each user can be made as short as possible and the updating of the views of the game world as fast as possible.
  • MPEG-1, MPEG-2, MPEG-4, H.261 or H. 263 can be used.
  • Many image compression methods intended for conventional use analyze images in groups containing a plurality of images. Because the image compression method must then analyze even the last image of the group before forwarding the information related to the first image, compression like this generally causes an unnecessary delay from the drawing of the image to the reception. Generally, the corresponding delay is also repeated in the decompression of the compressed information.
  • the transmission of compressed image and sound to be transmitted from a game server according to the invention differs from, for example, films delivered via a data network in that the content transmitted in the solution according to the invention is interactive and not predetermined. Transmitting precompressed content is technically much easier, because the compression need not be carried out in real time but it can be done in advance and the compressed data flow can be saved in a suitable mass storage.
  • data transfer like this it is possible to use buffering in the receiving device.
  • the receiving device can collect the desired amount of information in the buffer before it starts decompressing it for the user. Thus the receiving device can prepare for interruptions in data transfer.
  • buffering typically causes too long a delay in the response of the game to the user's input. This matter has been dealt with more closely below in the description of the preferred embodiment of the invention.
  • a useful image resolution is e.g. 320 x 240 pixels, or in mobile phones which usually have a smaller display, e.g. 240 x 160 pixels. Other image resolutions are also possible.
  • the frame rate is preferably 10 to 20 images per second. Less than 10 images per second looks jerky, and the eye cannot distinguish over 25 images per second. The higher the image resolution and the frame rate, the higher performance is required of both the server system and the terminal equipment.
  • any sound compression method used in mobile communication networks can be used.
  • the size of the data flow to be transferred is approx. 250 kbit/s.
  • the data transfer network 430 is preferably a wideband data transfer network, through which the user receives a fast response to the control commands he has given.
  • Examples of access networks, which can be part of the data transfer network 430, are the following: a wireless local area network, such as WLAN 802.11b, transfer capacity 11 Mbit / base station) or WLAN 802.11a (54 Mbit / base station); ADSL (Asynchronous Digital Subscriber Line, 256 kbit/s - 2 Mbit/s / user) or UMTS (Universal Mobile Telecommunication System, 384 kbit/s - 2 Mbit/s / user).
  • the server system 410 can be connected to the backbone network of an operator providing data network connections, for example.
  • Figure 4 also shows a terminal 420 with a processor 10' and a main storage 11 '.
  • the processor 10' of the terminal is typically different from the processors 10 of the server system 410, and in different terminals the processors and other equipment differ from each other.
  • a terminal program has generally been installed in the terminal 420.
  • a decompression process 63 which decompresses the transferred, compressed information
  • a presentation process 64 which presents the transferred information to the user by means of the user interface of the terminal, are typically performed in the terminal 420.
  • Image and sound, possibly also e.g. vibration or other information are typically presented to the user.
  • FIG. 5 shows two examples of the use of the solution according to the invention.
  • a mobile terminal 500 such as a palmtop computer, is connected via a base station 520 of a mobile communication network to a server system 410 connected to the IP backbone network 510 of the network service operator.
  • Figure 5 shows only the network elements that are essential for understanding the invention, and e.g. the way of connecting the mobile communication network to the IP backbone network of the operator will not be described in more detail in this context. A matter like this is clear to a person skilled in the art.
  • Games provided by the same server system 410 can also be delivered e.g. via a television set 560 and an auxiliary device 550 (set- top box) connected to it. The television set then operates as a display, and e.g.
  • a separate control device of the auxiliary device operates as a device for giving control commands.
  • Information of the game view can be transmitted for presentation by a television set e.g. via a cable television network 530 or an ADSL network.
  • Control command information can be transmitted from the set-top box device to the server system e.g. via a public switched telephone network 504 or an ADSL network.
  • Control command information (input information) can thus be transmitted to the server system via a first communications network, and information to the terminal from the server system can be transmitted via a second, e.g. a different communications network.
  • the server system 420 can be directly connected to the access network, e.g. to the fixed part of the wireless local area network.
  • a program is typically installed in the terminal 500 for performing operations such as receiving information from the server, decompressing the information, presenting the decompressed information to the user by means of the user interface of the terminal, possible interpretation of the commands given via the user interface into control commands, and delivering the control commands to the server system.
  • a program is preferably a plug-in component added to the browser program, because browser programs are common in terminals, and such a plug-in component can be easily downloaded from the server in the data network, and installing it in the terminal can take place (nearly) automatically.
  • the same program added to the terminal is typically suitable for playing all the games delivered from the server system according to the invention.
  • the terminal can decompress image information compressed with a certain method (such as the combination of a television set and a set-top box, these properties of the terminal can, of course, be utilized.
  • the corresponding operations can be omitted from the program installed in the terminal. It is possible that no separate program related to playing the game need be installed in the equipment used as the terminal, but the terminal (e.g. a combination of a television set and a set-top box) already supports the operations needed for presenting the game and transmitting the user's commands.
  • a version of said program or plug-in component is generally made for each type of terminal equipment for which the games are offered. The type of the terminals for which the game is delivered can thus be easily concluded by transmitting with the game starting command, for example, information about the version of the program or the plug-in component.
  • FIG. 6 shows a server system 600 according to the invention for providing an interactive game including three-dimensional graphics.
  • the server system 600 comprises means 601 for receiving input information from the data network and means 602 for determining the next game situation of the game world on the basis of said input information.
  • it comprises means 603 for determining a plurality of player-specific views of the game world, which views correspond to said next game situation, means 604 for forming a plurality of player-specific data entities, which describe said player-specific views, means 605 for compressing the data entities, and means 606 for transmitting the compressed data entity to the data network.
  • means 602 have generally been implemented as program code executed by means of a processor and a memory unit. The means 602 thus correspond to the simulation process 60 mentioned in Fig. 4.
  • the means 603 are generally implemented at least partly as a program code executed by means of a graphic booster, and so they correspond to the drawing process 61 mentioned in Fig. 4, for example.
  • the means 604 are generally implemented as the same executable program code as the means 603.
  • the means 605 can be equipment designed for operation according to a certain compression algorithm, but typically they are also implemented as a program code executed by means of a processor and a memory unit.
  • the implementation of the means 601 and 605 as a combination of the executable program code and suitable physical equipment (such as network cards) is clear to a person skilled in the art.
  • Many of the means mentioned in the accompanying dependent claims can advantageously be implemented as program code executed by means of a processor and a memory unit.
  • FIG. 7 shows a diagram of a server system 700 according to a preferred embodiment of the invention.
  • the server system 700 is a group of servers consisting of a plurality of computers.
  • the computers 701, 702 can be different, but for reasons of maintenance, their physical configuration is preferably similar to a certain extent.
  • the group includes one administration computer 702, which starts the game processes at the users' request.
  • the same computer 702 keeps a record of the games available and running in all the computers 701 of the group.
  • the administration computer can also sequence the performance of the game processes between different users.
  • the other computers 701 are game servers with almost similar software configuration with the purpose of executing games for the users. There may be differences in the software configuration of game servers with regard to games installed in them, although as homogeneous a configuration as possible is easiest with regard to maintenance.
  • the administration computer 702 In a small group, it is economically sensible to use the administration computer 702 as one of the game servers as well. In a large group, on the other hand, mere administration requires all the resources of one computer.
  • the computers of the server group are interconnected by a local area network suitable for the purpose.
  • the administration computer 702 includes a generally used WWW server, through which the users of the games are provided a list of games available for starting at the time. In addition, through the WWW server it is possible to change the player's information in the system and give a request for starting the game.
  • the WWW server typically communicates with a special administration program. This administration program typically handles the following tasks or part of them: It knows the games installed in each game server and the resources required by them, knows the performance and overall resources of each game server, keeps a record of the games running in each game server and thereby the free resources of the server, and keeps a record of the games available and provides a list to the WWW server.
  • the administration computer can also control the performance of the game processes of the servers so that they are sequenced between the users as synchronized.
  • the administration program has preferably been designed so that if it is started again after a malfunction, for example, it can form an overview of the situation of the server group, and the games already running can continue without interruption. Thus a malfunction of one computer or one program does not interrupt the games of all users.
  • the administration program has been installed in the administration computer so that it starts automatically once the computer has been started.
  • the game servers 701 run a special starter program, the task of which is to start and end game processes at the request of the administration program of the administration computer.
  • the starter program gives the administration program at its request a report of the games running in the game server.
  • the starter program has preferably been installed in the game servers so that it starts automatically once the computer has been started.
  • a pluraUty of games modified for the purpose, which are started and ended by the starter program have been installed in the game servers 701.
  • a program library which handles the following tasks, for example, or part of them: capturing an image from the memory of the graphic booster of the computer and compressing the image; reading sound either directly from the sound system of the game or so that the game uses a virtual sound card driver, and the sound sample flow produced by it is read to the library and compressed; the management of the amount of buffered sound on the terminal; transmission of compressed data to the terminal; receiving the user's inputs from the terminal and inputting them to the game; management of the output data flow; and sending messages about the operational status of the game to the administration program so that game processes that are stuck or unused can be ended.
  • the management of the amount of sound mentioned above means the following. Sound is critical in a different way than image: if the receiving terminal has no sound to play, the player hears a break. If a new image does not come on time, the old image remains but does not disappear from the display. Together with each image of the game, a period of sound of a certain duration is typically also transmitted.
  • the receiving device preferably has a certain amount of sound ready for playing at least until the arrival of the next image, and possibly also a little extra, because it may happen that the next image and sound packet do not come on time. On the other hand, the amount of buffered sound must be minimized so that the sound would not lag behind the image. This means matching together two contradictory objects: quality and delay.
  • the administration of the data flow transmitted to the terminals means that an attempt is made to perceive any possible breaks and deterioration of quality in the connection to the terminal, and to stop the transmission of information or to slow it down for the duration of the breaks. Otherwise, the terminal would have a large amount of accumulated information to be decompressed when the situation has normalized.
  • the detection of breaks is usually carried out so that the terminal acknowledges the image and sound packets it has received. If acknowledgement is not received by a certain time after the transmission of the packet, it is decided that the network is temporarily blocked. Then the data flow transmitted to the terminal is reduced e.g. by leaving out the transmission of some images, until the acknowledgements run again.
  • many other approaches are possible both for observing and correcting the situation.
  • Acknowledging the received images and omitting the transmission of images in certain situations is advantageous in that it also operates in a situation where the terminal is too slow to decompress the data flow in real time: then the akcnowledgements are delayed and the server system reduces the frame rate.
  • the terminal generally it is not possible to require that the terminal must acknowledge the previous image before the next one is transmitted; then the frame rate could not be higher than the round-trip time of the network.
  • it is possible to reduce the amount of information to be transferred by reducing the resolution of the image, reducing the frame rate in some other way, or using more efficient image compression.
  • Paging for the library routines dealing with the tasks mentioned above and possibly also other tasks are added to the game program at suitable places.
  • the game can also be modified so that one game process can serve more than one user simultaneously - but preferably so that the games of different users are dealt with alternately one image at a time.
  • This provides advantages with the synchronization of the use of the graphic card of the computer, for example, and the joint use of resources for the game between multiple users. Games of both single and multiple players can be made such.
  • the number of terminals in the group of terminals is not limited in the accompanying claims. There may be one or several terminals in the group. Typically, a game provided by the server system is played by one player with one terminal, and thus the number of player-specific views is generally the same as the number of terminals from which the input information is received.

Abstract

In a method (300) for providing an interactive game including three-dimensional graphics, input information is received (301) from a plurality of terminals, and the next game situation of the game world is determined (302) in the server system (410) on the basis of said input information. The method also includes determining (303) in the server system a plurality of player-specific views of the game world, which views correspond to said following game situation, and forming ( 304) a plurality of player-specific data entities, which describe said player-specific views. Said plurality of data entities is compressed (305), and each compressed data entity is sent (306) for transmission via the communications network to the terminal (420) to be compressed at the terminal and to be presented to the player via the user interface of the terminal. According to the invention, parallel service times are sequenced for each client in each process of the operating system, and when desired, especially when more than one process are performed on one server or when more than one process are performed on several servers, giving service time for performing the process isdone in a synchronized manner, especially with a separate synchronization device.

Description

Method and arrangement for providing an interactive game including three- d diimmeennssiioonnaall σ grraanphhiiccss
In general, the invention relates to games played with terminal equipment. In particular, the invention relates to interactive games including three-dimensional graphics.
DESCRIPTION OF THE PRIOR ART
In an interactive, three-dimensional computer game the user is able to operate, via a computer, in a virtual environment designed specifically for the game in as real-time a manner as possible. In this description and the accompanying claims the term game world is used to refer to such a virtual environment and the objects and their properties defined therein. In this description and the accompanying claims, the term game character is used to refer to such an object of the game world by means of which the user can experience the game world and the operation of which can be controlled by the user. The user controls the movements of the game character, which may be a person or a vehicle, for example, in the game and thus influences the events of the game. The computer that runs the game provides the progression of the game to the user to be seen and heard as experiences that are as similar to reality as possible.
For an interactive three-dimensional computer game, the contents of the game world and the game sounds have usually been designed. These are generally implemented as separate program components. The logic related to the progress of the game and the user's interaction with the game world have usually been implemented by means of the program code of the game.
The performance of the game in the computer generally consists of at least the following parts: (1) The user's input is processed, i.e. the game controller, keyboard and/or mouse are read and the commands read are interpreted as movements of the game character, for example. (2) The game world is typically simulated by using a physical model by means of which the collisions of the game characters, for example, are estimated and the game characters are moved into the desired directions, and artificial intelligence of the computer-controlled adversaries. (3) Drawing the figure to be presented to the player usually includes defining the part of the game world visible to the player, placing the camera in the game world and drawing the game world on the display of a computer or some other terminal device from the view of the camera. (4) The sound of the game is controlled e.g. by selecting the sounds to be presented to the player by means of simulation and/or the state of the world pattern, by determining the distance and speed of the sources of sound in relation to the game character for calculating the sounds and the strength of the Doppler phenomena, by mixing the audible sounds together at correct intensity, and by playing these sounds to the user by means of the sound card of the computer, for example.
Drawing the figure is usually a heavy process, and it is often intensified by adding to the computer an auxiliary device designed for the processing of graphics, such as a graphic booster, which helps to create simulations of a three-dimensional world with realistic appearance.
There are many computer games which can be played by multiple players simultaneously. Games like this typically include a network layer, which is used to synchronize the game and the state of the game world with other players via a data network or modems. In interactive games including three-dimensional graphics, which can be simultaneously played by several players with different computers, there are two kinds of basic solutions: the peer-to-peer model and the client/server model. In the peer-to-peer model, information about the movement and operations of the game characters is generally transferred between different computers, and a game program, which takes the transferred information as input, is independently run in each computer.
In the client/server model, the computer of one player or a separate computer selected for the purpose operates as a game server for many players. The game clients of all players communicate to the server the movements and other operations of each player, on the basis of which the server performs the simulation of the game world. As a result of the game simulation, the game clients run in the players' computers get an update of the status of all the objects changed or moved in the game world. Each game client draws the player's view on the display independently on the basis of the world status information received from the server. For example, the Quakeforge game for multiple players, which is implemented as an Open Source project, has been implemented in accordance with the client/server model. Although such a model is simple in principle, it may entail problems, because the transfer delay from the player to the server and back may be disturbingly long. Then the received status information must be projected both at the server and the game clients from the moment of transmission to the present moment by extrapolating the movements of the objects before the game simulation and before drawing the player's view.
Figure 1 shows schematically the server 110 related to the Quakeforge game and the computers 120a, 120b used for playing. All the files 20 related to the game have been stored in the mass storage 12 of the server 110, and the processor 10 performs the simulation of the game world using the physical model, among other things, for all players. All the files 20 related to the game have also been stored in the mass storages 12 of the computers 120. The processor 10 of each computer 120 typically performs, by means of the main storage 11, a process in which the information about objects changed or moved in the game world is used to extrapolate the status of the game world from the moment of transmission to the present moment (game process 41). In each computer 120, typically using the graphic booster 13, (drawing process 42) the image of the status of the game world seen by the player is drawn in the same way as in games typically performed entirely locally in the computer 120. As mentioned above, information about changed and or moved objects in the game world is transmitted to the computers 120, and information about the movements and other operations of the players is transmitted to the server 110 by means of the communications network.
In Figure 1 and other figures, all processors are denoted by the reference number 10, main storages by the reference number 11 and mass storages by the reference number 12, for the sake of clarity. This use of reference numbers does not specify whether there are similar or different processors, main storages or mass storages in the server 110 (or other server) and computers 120.
A personal computer equipped with a fast central processing unit and a graphic booster intended for drawing three-dimensional graphics is a game platform with excellent performance. In addition, the PC technology is developing rapidly - to a great extent also due to the consumption demand of game users. However, there is great variation in the hardware configuration and performance of different computers. Thus the companies that develop computer games must ensure the compatibility of their games with a large number of different computers before the game can be put on the market. Piratism is also a problem in the computer game market: with the growing popularity of writing CD-ROMs, many consumers have equipment suitable for copying the games at their disposal. The purchased computer games must be installed in the computer before they can be used. In connection with the installation, problems of incompatibility are often encountered between the computer and the game or between the game and some other program already installed in the computer.
Another known manner presented in Figure 2, which is called the virtual disk concept, utilizes the server. The game files 20 have been saved in the mass storage 12 of the server 210. Preferably, the files 20a, 20b, 20c of several games have been saved in the same server. Disk partition software installed in the server operates (disk partition process 50) together with the virtual disk software (virtual disk process 51) installed in the computer 120 used for playing, and by means of it the files 21 needed by the game are delivered from the server 210 to the computer 120 according to the progression of the game. Thus the virtual disk server operates as a game file storage and a deliverer of game files. The retrieved files 21 are saved in the mass storage 12 of the computer 120, and the game is ran in the game process 52 using the processor 10 of the computer 120 and the main storage 11. By means of the graphic booster 13, an image of the game situation is drawn for the player (drawing process 42) in the same way as in a situation where the game is locally installed in the computer 120 in the conventional manner. Such a virtual disk concept requires a little less mass storage in the computer 120 than a game installed in the computer locally in the conventional manner, but typically the hardware requirements are otherwise the same.
There are also game consoles designed for playing, which can be connected to a television set (such as Sony Playstation) or portable devices (such as Nintendo Gameboy). The game consoles are constructed as computers, which have been stripped of the components that are not essential for playing. One of the advantages of game consoles is a standard configuration. A person who designs a game for a certain game console can trust that each game console of that make has the same properties. On the other hand, the programming environment of each game console model is different from that of other models, and thus making the same game for many different console models requires a lot of work.
A problem with game consoles is the fact that consumers are not willing to pay the price of a computer for an entertainment device. Thus the manufacturers typically sell the consoles to the consumers at a loss and expect getting their money back with profit from the sale of games. As a consequence of this, console games are much more expensive for the consumer than computer games. Another consequence is the fact that the manufacturers of the game console control who can make and sell games for each console so that the manufacturers get the prices of the consoles back in licence fees. In practice, it is hard for the manufacturers of game consoles to keep pace with the rapidly developing computer market, and therefore the consoles launched on the market as new usually have a weaker performance than personal computers on the market at that time. The level of games for portable game console equipment is more modest than the level of games for fixed equipment. This is due to the fact that their requirements for weight and durability of batteries set limits on the efficiency of their central processing unit.
The games for the consoles are generally distributed on a CD for the home consoles and on a memory card for the pocket consoles. Various copy protection mechanisms are generally used on the CDs, but the use of illegal game copies is still very common. From the consumer's point of view, a game console is an easy solution: the games need not be separately installed, and compatibility problems are practically non-existent.
Mobile phones with their integrated games have lately also become a part of the field of game equipment. Mobile phones are practical as game devices because they are often carried everywhere and they can be easily used for playing during any idle moment. However, the level of the integrated games of mobile phones is very modest. The reason for this is the fact that the general-purpose central processing units of mobile phones have modest performance as compared to a computer or a game console, and usually they do not have a changeable or fixed mass storage unit. Thus the game competes for the memory space of the mobile phone with its actual software. In addition, because in most mobile phones it is not possible to install more games, no commercial market has developed for them.
There are also games implemented in mobile phones that use a WAP (Wireless Application Protocol) connection or text messages for communicating with the server. Using these techniques, it is possible to create simple non-real-time games, which can be played by many players together.
The games that are available for other mobile terminals than mobile phones, such as palmtop computers, usually have a more modest level than the games designed for desktop computers. The reason for this is the fact that even if mobile terminals might have as effective a processor as a desktop computer, the capacity of the batteries of a mobile terminal does not enable running a game program with high performance requirements for a long time without charging the batteries. Interactive games including three-dimensional graphics are very popular. However, as described above, playing them typically requires an efficient computer or game console. This is because performing such a game program requires a lot of processing capacity. Interactive games including three-dimensional graphics are sensitive to delay between control commands given by the player and the presentation of the response caused by them: if obtaining a response to the input given by the player lasts longer than approx. 0.2 seconds, playing the game is not comfortable.
GENERAL DESCRIPTION OF THE INVENTION
The object of the invention is to present a straightforward method and arrangement for providing an interactive game including three-dimensional graphics for terminal devices with possibly different properties and performance. Advantageously, games can also be offered for mobile terminals which may have a modest performance compared to desktop computers and/or in which the limited capacity of the batteries restricts the selection of programs performed in the terminal.
The objects of the invention are achieved by performing the simulation of the game world on the server, by forming on the server in advance the data flow to be presented to the player, which typically comprises at least image and sound information, and by compressing the data flow to be presented to the player on the server and by transferring the compressed data flow via a typically broadband data transfer network to be decompressed in the terminal and to be presented to the player via the user interface of the terminal.
The method according to the invention for providing a game including three- dimensional graphics comprises the following steps: - input information is received from a number of terminals, and
- on the basis of said input information, the next game situation of the game world is determined in the server system, and it is characterized in that it also comprises the following steps:
- defining in the server system a plurality of player-specific views of the game world, which views correspond to said following game situation,
- forming a plurality of player-specific data entities, which describe said player- specific views,
- compressing said plurality of data entities, and - sending each compressed data entity for transmission via the communications network to the terminal to be decompressed at the terminal and to be presented to the player via the user interface of the terminal.
The server system according to the invention for providing an interactive game including three-dimensional graphics comprises:
- means for receiving input information from a data network, and
- means for determining the next game situation of the game world on the basis of said input information, and it is characterized in that it also comprises: - means for defining a plurality of player-specific views of the game world, which views correspond to said following game situation,
- means for forming a plurality of player-specific data entities, which describe said player-specific views,
- means for compressing the data entities, and - means for sending a compressed data entity to the data network.
Some preferred embodiments of the invention are described in the accompanying dependent claims.
In the solution according to the invention, the heavy calculations of the game including three-dimensional graphics are performed in the server system. As a result, player-specific views of the game world corresponding to each game situation are received; the game characters are typically at different locations of the (common) game world, and the game view seen by the game characters and the sounds heard by them (i.e. the views and sounds presented to the players) depend on the location in the game world. In general, both image and sound information is transmitted to the players. The quantity of information describing the view is so large that it is compressed for efficient transfer to the terminal equipment. The image information to be compressed can be a rastered image, i.e. a two-dimensional map consisting of pixels, in which the colour of each pixel has been given. In this case, the term compression refers to typically lossy image compression methods suitable for compressing two-dimensional images. Alternatively, the image information to be compressed consists of image drawing instructions, typically 3D parameters. In this case, the term compression refers to compressing these parameters. In general, said data entity can comprise sound in addition to the image information. It can also comprise information related to vibration or other sensory stimuli that can be transmitted to the player by means of the user interface of the terminal equipment. In the terminal equipment, the compressed data entity is decompressed and presented to the player via the user interface of the terminal equipment. The term decompression refers to determining the original (or, if it is a lossy compression method, similar to the original ) data entity on the basis of the compressed data entity. If the compressed data entity includes image drawing instructions, the terminal device must be able to calculate the image to be rastered on the basis of the instructions and then to present the rastered image. If the compressed data entity includes a rastered image, it is sufficient that the terminal equipment decompresses the compressed rastered image and presents it on the display of the terminal equipment. On the basis of the image, sound and possible other information presented, the player reacts to the game situation with control commands given by means of the user interface of the terminal equipment, which control commands can be modified in the terminal equipment before they are transmitted back to the game as input information.
In order to ensure an interactive game experience, the latency (round trip delay) of the communications network connecting the terminal equipment and the server system must be sufficiently small and the communications network must have a sufficiently broad frequency band.
In order to minimize the bandwidth requirement of the communications network, the data entities related to the game situations are compressed before they are transferred. The compression is carried out in real time in the server system performing the games. The compression methods used, especially the methods used for packing the image information, must be chosen carefully: for ensuring interactiveness (in other words, because of the real-time requirement), they must be sufficiently fast, and the corresponding decompression methods must be - in order to minimize the memory capacity required of the terminal equipment - sufficiently light in terms of calculation. In addition, the summed delay of compression and decompression must be sufficiently small. Typically, this delay must be under 0.1 seconds. This delay is naturally dependent on the efficiency of the server system and the terminal equipment. These factors may limit the applicability of some known image compression methods in a solution according to the invention. This matter has been dealt with more closely in the detailed description of the invention. There may be many different compression methods in use for different kinds of terminal equipment, and the invention does not require any specific compression method.
The issues related to the running of the graphic appHcation in the solution according to the invention will be discussed in the following. The running of graphic applications like those described above on servers can be made more difficult by the slowness of the task change of the graphic booster card and the limits of the graphic (texture) memory. The traditional construction of computers often prevents adding cards, but adding graphic memory is possible, of course. However, in that case the operation usually becomes uneconomical.
The graphic boosters of computers are usually designed only for performing a graphic-intensive application as a one-time process. This could be solved so that the work of each client to be served is carried out as a process of its own, which processes the operating system of the server performs in turns for a short period at a time.
The performance of a typical game application to be performed on the server proceeds in the following manner, for example:
Input processing — > Simulation — > Drawing new image — > Image compression and transmission — » Waiting until time to draw the following image. In other words, the process returns to the beginning of the cycle.
If many such processes are performed in the same server at the same time, it will happen that at times the "drawing new image" steps of two or more processes occur simultaneously. Because the operating systems of computers alternate the process executed each time between all the processes run on the computer, the graphic card of the computer must then change tasks frequently, which causes an unwanted slowing down in its operation.
When many servers are used, the transmission of the image of unsynchronized games can occur and usually occurs simultaneously, causing thus capacity problems in data transfer, if the servers communicate with the client computers using a data network like the Ethernet, in which capacity is distributed on the basis of an allocation method such as CSMA (Carrier Sense Multiple Access).
The purpose of the embodiment of the invention to be presented in the following is to smoothen the operations so that an attempt is made to prevent simultaneous and competing processes, whereby the loading of the graphic circuits is reduced and the performance of the tasks becomes faster.
In said embodiment of the invention, the application performed on the server is modified such that more than one client can be served in the process of the operating system by turns. Then a) serving these clients does not compete for the resources of the graphic card, because they are not performed simultaneously, and b) the games of these clients can use the same 3D world model and thus save the memory of the graphic card. This improves the performance of the server substantially in a situation where many clients use the same application.
The serving order of different clients is preferably selected such that the games of players who are close to each other in the game world are performed in sequence. This gives a chance to utilize the so-called cache property of the memory of the graphic booster, in which the parts of the three-dimensional model that were just used are available more quickly than the parts that were not used before.
In addition, if the server computer that performs the game includes more than one processor, the image compression and transmission, which are time-consuming, can be separated to a thread of control of their own, which can be run on any processor of the computer. On the other hand, it is recommended to lock all the image drawing threads of different games to operate on the same processor for synchronization.
When more than one game, which are different, are performed on the same server computer, or the same game is performed on more than one server, these cannot be performed in the same process of the operating system and thus be prevented from using the graphic card at the same time. For this reason, it is advantageous to use an external synchronization process, in which one computer allocates time slots for each process of other computers.
A suitable device for this purpose is e.g. a cable which connects the parallel port of the computer that allocates time slots to the parallel ports of all other computers of the same group. The computer allocating time slots gives by turns, using the parallel port, a sign to each game of each server, whereupon the games draw their screen. At the same time, the transmission of the compressed image via the network to the client equipment is synchronized, whereby the capacity of the network can also be maximally utilized.
The operation of the network between the servers and the clients can be further intensified by using a separate broker computer through which all traffic from the servers to the network and from the client devices to the servers takes place. The broker computer uses a program which receives the images sent by the servers and transmits them further to the network with as even time intervals as possible. In addition, the program can stop using the network when it is waiting for an acknowledge message from the client device to an image already transmitted. Thus it is ensured that the images transmitted by servers and the acknowledgement messages of terminal devices do not compete with each other for the network capacity.
In order to make the waiting time of the images on the broker computer as short as possible, it is also advantageous to use simultaneous external synchronization like that described above.
The invention provides considerable advantages. For example, the invention makes it possible to use small mobile terminals for playing games including three- dimensional graphics, which were originally designed for PCs, when the terminal is connected to the server system using a communications network with sufficiently wide frequency band. This enables playing high-quality games with heavy calculation in small mobile terminals, in which mains current is not always available. The terminal device must usually have calculation capacity and suitable software or hardware for decompressing compressed image and sound. However, decompressing compressed image and sound for reproduction/presentation is much lighter than performing such games in terminal equipment. Because the reception and decompression can also be implemented as a programmable process, the invention can be easily adapted for different kinds of terminal equipment. The games themselves can operate on the server entirely independently of the terminal.
The compression of information to be transferred, which is performed in the server system, requires a certain amount of resources. However, a server system from which games are offered to many players simultaneously according to the invention also provides savings in resources, which usually correspond to the extra resource requirement related to image compression or exceed it. Computer games are generally programmed such that only one game at a time is played with one computer. For use with servers, the game programs can be easily modified such that many of them can be performed with the same computer. By performing the same game for more than one player with a certain computer (server), savings in resources are often obtained - as compared to a situation in which each game is performed in a separate computer - because it is often possible to use the same copy of the game world for all the game sessions. This applies both to games with multiple players and separate games for one player. Because the image resolution of mobile terminals is generally lower than that of computers, it is often faster to draw an image with low resolution than an image with high resolution. The requirement for extra resources caused by the compression of image information (processing performance and/or memory capacity) is in the order of the saving of resources due to using a lower image resolution. Because the drawing of the image is carried out in the same system as the compression of image information, instead of conventional image compression it is possible to use an image compression method, which utilizes the information available of the game, about the location and movements of the camera, for example. Using such information about the game world or the camera in the image compression makes the image compression lighter.
It is possible to adapt existing computer games for the solution according to the invention with a rather small amount of work by modifying the source codes of the games. In practice, it is advantageous to add to the game a library, which connects the game to the image and sound compression system. In addition, the game can be adapted to serve more than one user (either in separate game sessions of one player or a game of multiple users) at a time. In this way, existing games can be offered for playing with different terminals with a considerably smaller amount of work than modifying the game program for different kinds of terminal equipment would require.
The solution according to the invention provides e.g. the following advantages for the game designers. The server system is, especially due to its scalability, a more efficient game platform than many terminal devices that are smaller than a desktop computer. This enables designing and offering new, more developed games for such terminal devices. The game need not be re-developed for different terminal devices. Thus, new marketing channels can also be obtained for existing games. Piratism is not possible; the player cannot copy the game, because the actual game program is never in the user's terminal. The distribution costs of the game are reduced substantially, because generally computer games are written on CDs, which are delivered to the end users through importers, distributors and retail stores. When the solution according to the invention is used, the production costs of the CDs and their packages are saved in their entirety, and there is no need to tie capital to this step without any knowledge of the commercial success of the game. The game designers are typically also paid by the number of CDs sold, but in a solution like this it is possible to pay compensation based on how much the game is played. In addition, it is easier to deliver an update version of the game to a small number of servers than a large number of end users.
The solution according to the invention provides e.g. the following advantages for the players/users. The new small, battery-powered, typically wireless mobile terminals are possible game terminals. The user need not buy the whole game at once, but playing the game can be paid for on time basis, for example. The price for using the games consists of the games that the user really plays. The games need not be installed in the terminal, and thus the problems often related to installing the games are avoided, and there may be a large selection of games available for the user. In addition, the synchronization of the game processes performed on the server provides a short response time for the player, and the game views corresponding to the game situation are updated quickly.
The solution according to the invention provides e.g. the following advantages for the providers of game services. The invention enables a well focused dynamic marketing channel: because the consumers are already buying suitable terminals, the terminal acquisition need not be subsidized, like the case often is with game consoles. The equipment costs can be time divided between a larger number of players, because while each potential player needs one game console, the number of servers needed is only for the largest number of simultaneous players. In addition, with the synchronization of the processes the game processes can be performed efficiently with a small quantity of servers, data transfer capacity and other equipment. Games can also be easily offered for many different types of terminal equipment, even simultaneously from one game server. Implementing the server system as a server group ensures scalability, and thus the performance of the server system can be easily adapted for different or changing maximum numbers of users.
LIST OF FIGURES
In the following, the invention will be described in more detail by presenting preferred embodiments of the invention and with reference to the following drawing, in which
Figure 1 shows a schematic diagram of a known game server solution,
Figure 2 shows a schematic diagram of another known game server solution,
Figure 3 shows a diagram of a method according to the invention,
Figure 4 shows the operation of a game server solution according to the invention by way of example,
Figure 5 shows examples of the use of the solution according to the invention,
Figure 6 shows a diagram of a server system according to the invention, and Figure 7 shows a diagram of a server system according to a preferred embodiment of the invention.
DETAILED DESCRIPTION OF THE INVENTION
In the above description, reference was made to Figures 1 and 2 when describing the prior art solutions. In the figures, corresponding parts are denoted by the same reference numbers.
Figure 3 shows a diagram of a method according to the invention. In step 301, input information is received from a plurality of terminal devices, and the next game situation of the game world is determined in the server system on the basis of said input information in step 302. Typically, this means that the game simulation is run forward by one time step. In step 303, a plurality of player-specific views of the game world are determined in the server system. These views correspond to said following game situation. A number of player-specific data entities, which describe said player-specific views, are formed in step 304. In step 305, said number of data entities is compressed, and in step 306 each compressed data entity is transmitted for communication via a typically wideband data communications network to the terminal equipment to be decompressed at the terminal equipment and to be presented to the player via the user interface.
In a method according to the invention, input information is typically received continuously for the whole duration of the game. Generally, steps 302 to 304 are repeated cyclically as long as the game is performed. It is clear to a person skilled in the art that in the server system said steps 301 to 306 can be performed in the same computer process or, typically more advantageously, as divided into some separate computer processes or threads of control. For example, the step of compression and the step in which compressed information is transmitted can be performed in one thread of control, and steps related to the definition of views and image drawing in another thread of control. The performance of these threads of control is preferably distributed between the users so that the thread of control of a certain user is completed for a certain game situation before capacity is given for the performance of the thread of control or another user. Thus the performance capacity is preferably distributed as synchronized for different users. Terminal-specific data flows are thus delivered to a plurality of terminal devices, which plurality may comprise any number of terminal devices. Each data flow consists of separate, compressed data entities that are usually related to consecutive game situations. The User Datagram Protocol (UDP) or the Transfer Control Protocol (TCP) is preferably used for transferring the compressed data entities. In addition to image information, sound information is typically also transferred.
Some methods according to the preferred embodiments of the invention are presented in the accompanying dependent method claims. The server system according to the invention or some of its means can be arranged to implement, when offering the game to the user, e.g. any one of the methods defined in the dependent method claims or some features of such a method. They can also be arranged to operate so that they implement any of the features mentioned in this detailed description of the invention.
Figure 4 shows the operation of a game server system 410 as an example. The game server system 410 can be either a single server computer or a server computer group. The files 20a, 20b, 20c of a plurality of games have been saved in the mass storage 12 of the game server 410. The games are performed by means of processor(s) (two of which, 10a and 10b, are shown in Figure 4 by way of example), a main storage 11 and a graphic booster 13. An additional library, which is generally compiled to the game program to be performed, is typically used to implement the compression of image and sound, operations related to communications connections, and the load management (and equalization) of the server computer or the server computer group. When the game program is performed, the processes typically performed in the game system include at least the game simulation process 60, which corresponds to step 302, the drawing process 61, which corresponds to step 303 and typically also step 304, and the compression process 62, which corresponds to step 305. The performance of said processes is sequenced advantageously for the users of the service so that the process of one user is completed before the processing resource is given to perform the process of another user. The processing time is preferably divided between the processes of the users as synchronized. Collisions in the use of resources can thus be avoided, and the waiting times of the processes can be made short. Thus the response time of the service received by each user can be made as short as possible and the updating of the views of the game world as fast as possible.
Of the known image compression methods, MPEG-1, MPEG-2, MPEG-4, H.261 or H. 263 can be used. Many image compression methods intended for conventional use analyze images in groups containing a plurality of images. Because the image compression method must then analyze even the last image of the group before forwarding the information related to the first image, compression like this generally causes an unnecessary delay from the drawing of the image to the reception. Generally, the corresponding delay is also repeated in the decompression of the compressed information. In the solution according to the invention, it is often advantageous to modify the known compression method so that the method of analyzing consecutive images is not in use, or the group used by it is as small as possible, such as one or two images.
The transmission of compressed image and sound to be transmitted from a game server according to the invention differs from, for example, films delivered via a data network in that the content transmitted in the solution according to the invention is interactive and not predetermined. Transmitting precompressed content is technically much easier, because the compression need not be carried out in real time but it can be done in advance and the compressed data flow can be saved in a suitable mass storage. In data transfer like this it is possible to use buffering in the receiving device. The receiving device can collect the desired amount of information in the buffer before it starts decompressing it for the user. Thus the receiving device can prepare for interruptions in data transfer. In the case of interactive content, buffering typically causes too long a delay in the response of the game to the user's input. This matter has been dealt with more closely below in the description of the preferred embodiment of the invention.
In palmtop computers, a useful image resolution is e.g. 320 x 240 pixels, or in mobile phones which usually have a smaller display, e.g. 240 x 160 pixels. Other image resolutions are also possible. The frame rate is preferably 10 to 20 images per second. Less than 10 images per second looks jerky, and the eye cannot distinguish over 25 images per second. The higher the image resolution and the frame rate, the higher performance is required of both the server system and the terminal equipment.
Of the known sound compression methods, e.g. MP3, Ogg Vorbis or - especially if the terminal already supports these sound compression methods - any sound compression method used in mobile communication networks can be used..
When both image and sound information is delivered from the server system according to the invention to the terminal equipment, the size of the data flow to be transferred is approx. 250 kbit/s.
The data transfer network 430 is preferably a wideband data transfer network, through which the user receives a fast response to the control commands he has given. Examples of access networks, which can be part of the data transfer network 430, are the following: a wireless local area network, such as WLAN 802.11b, transfer capacity 11 Mbit / base station) or WLAN 802.11a (54 Mbit / base station); ADSL (Asynchronous Digital Subscriber Line, 256 kbit/s - 2 Mbit/s / user) or UMTS (Universal Mobile Telecommunication System, 384 kbit/s - 2 Mbit/s / user). The server system 410 can be connected to the backbone network of an operator providing data network connections, for example.
Figure 4 also shows a terminal 420 with a processor 10' and a main storage 11 '. The processor 10' of the terminal is typically different from the processors 10 of the server system 410, and in different terminals the processors and other equipment differ from each other. A terminal program has generally been installed in the terminal 420. When the terminal program is performed, a decompression process 63, which decompresses the transferred, compressed information, and a presentation process 64, which presents the transferred information to the user by means of the user interface of the terminal, are typically performed in the terminal 420. Image and sound, possibly also e.g. vibration or other information are typically presented to the user.
Figure 5 shows two examples of the use of the solution according to the invention. A mobile terminal 500, such as a palmtop computer, is connected via a base station 520 of a mobile communication network to a server system 410 connected to the IP backbone network 510 of the network service operator. Figure 5 shows only the network elements that are essential for understanding the invention, and e.g. the way of connecting the mobile communication network to the IP backbone network of the operator will not be described in more detail in this context. A matter like this is clear to a person skilled in the art. Games provided by the same server system 410 can also be delivered e.g. via a television set 560 and an auxiliary device 550 (set- top box) connected to it. The television set then operates as a display, and e.g. a separate control device of the auxiliary device operates as a device for giving control commands. Information of the game view can be transmitted for presentation by a television set e.g. via a cable television network 530 or an ADSL network. Control command information can be transmitted from the set-top box device to the server system e.g. via a public switched telephone network 504 or an ADSL network. Control command information (input information) can thus be transmitted to the server system via a first communications network, and information to the terminal from the server system can be transmitted via a second, e.g. a different communications network. In certain connections, for example, if the server system 420 is located in an aircraft, the server system 420 can be directly connected to the access network, e.g. to the fixed part of the wireless local area network.
For playing, a program is typically installed in the terminal 500 for performing operations such as receiving information from the server, decompressing the information, presenting the decompressed information to the user by means of the user interface of the terminal, possible interpretation of the commands given via the user interface into control commands, and delivering the control commands to the server system. Such a program is preferably a plug-in component added to the browser program, because browser programs are common in terminals, and such a plug-in component can be easily downloaded from the server in the data network, and installing it in the terminal can take place (nearly) automatically. The same program added to the terminal is typically suitable for playing all the games delivered from the server system according to the invention. If the terminal can decompress image information compressed with a certain method (such as the combination of a television set and a set-top box, these properties of the terminal can, of course, be utilized. The corresponding operations can be omitted from the program installed in the terminal. It is possible that no separate program related to playing the game need be installed in the equipment used as the terminal, but the terminal (e.g. a combination of a television set and a set-top box) already supports the operations needed for presenting the game and transmitting the user's commands. A version of said program or plug-in component is generally made for each type of terminal equipment for which the games are offered. The type of the terminals for which the game is delivered can thus be easily concluded by transmitting with the game starting command, for example, information about the version of the program or the plug-in component.
Figure 6 shows a server system 600 according to the invention for providing an interactive game including three-dimensional graphics. The server system 600 comprises means 601 for receiving input information from the data network and means 602 for determining the next game situation of the game world on the basis of said input information. In addition, it comprises means 603 for determining a plurality of player-specific views of the game world, which views correspond to said next game situation, means 604 for forming a plurality of player-specific data entities, which describe said player-specific views, means 605 for compressing the data entities, and means 606 for transmitting the compressed data entity to the data network. Of said means, means 602 have generally been implemented as program code executed by means of a processor and a memory unit. The means 602 thus correspond to the simulation process 60 mentioned in Fig. 4. The means 603 are generally implemented at least partly as a program code executed by means of a graphic booster, and so they correspond to the drawing process 61 mentioned in Fig. 4, for example. The means 604 are generally implemented as the same executable program code as the means 603. The means 605 can be equipment designed for operation according to a certain compression algorithm, but typically they are also implemented as a program code executed by means of a processor and a memory unit. The implementation of the means 601 and 605 as a combination of the executable program code and suitable physical equipment (such as network cards) is clear to a person skilled in the art. Many of the means mentioned in the accompanying dependent claims can advantageously be implemented as program code executed by means of a processor and a memory unit.
Figure 7 shows a diagram of a server system 700 according to a preferred embodiment of the invention. The server system 700 is a group of servers consisting of a plurality of computers. The computers 701, 702 can be different, but for reasons of maintenance, their physical configuration is preferably similar to a certain extent. The group includes one administration computer 702, which starts the game processes at the users' request. The same computer 702 keeps a record of the games available and running in all the computers 701 of the group. The administration computer can also sequence the performance of the game processes between different users. The other computers 701 are game servers with almost similar software configuration with the purpose of executing games for the users. There may be differences in the software configuration of game servers with regard to games installed in them, although as homogeneous a configuration as possible is easiest with regard to maintenance. In a small group, it is economically sensible to use the administration computer 702 as one of the game servers as well. In a large group, on the other hand, mere administration requires all the resources of one computer. The computers of the server group are interconnected by a local area network suitable for the purpose.
The administration computer 702 includes a generally used WWW server, through which the users of the games are provided a list of games available for starting at the time. In addition, through the WWW server it is possible to change the player's information in the system and give a request for starting the game. The WWW server typically communicates with a special administration program. This administration program typically handles the following tasks or part of them: It knows the games installed in each game server and the resources required by them, knows the performance and overall resources of each game server, keeps a record of the games running in each game server and thereby the free resources of the server, and keeps a record of the games available and provides a list to the WWW server. It starts the games at the user's request in the game server which has the largest amount of free resources, checks at certain intervals that the games running on the game server have informed that they are operative, and gives the game server an instruction to stop game processes from which this information has not been received by a specified time. In addition, it checks at certain intervals if all game servers are in operation; it can remove from the list of available games the games that are on inoperative servers, and it monitors the connection between each game and client and gives the game server an instruction to stop the game if the connection breaks. It starts a server program needed for a game of multiple players, if the user wants to start a new game of multiple players, and keeps a record of the number of users of each game of multiple players and the game process that serves multiple players, and removes the game from the list of available games if the maximum number of users of the game has been reached. In addition, it collects the required maintenance and billing information and gives them to the maintenance user interface provided for the purpose. The administration computer can also control the performance of the game processes of the servers so that they are sequenced between the users as synchronized.
The administration program has preferably been designed so that if it is started again after a malfunction, for example, it can form an overview of the situation of the server group, and the games already running can continue without interruption. Thus a malfunction of one computer or one program does not interrupt the games of all users. The administration program has been installed in the administration computer so that it starts automatically once the computer has been started.
The game servers 701 run a special starter program, the task of which is to start and end game processes at the request of the administration program of the administration computer. In addition, the starter program gives the administration program at its request a report of the games running in the game server. The starter program has preferably been installed in the game servers so that it starts automatically once the computer has been started. In addition to the starter program, a pluraUty of games modified for the purpose, which are started and ended by the starter program, have been installed in the game servers 701. When an existing computer game is brought to the server system according to the invention, some changes must be made to it. For making the changes, it is advantageous to develop a program library, which handles the following tasks, for example, or part of them: capturing an image from the memory of the graphic booster of the computer and compressing the image; reading sound either directly from the sound system of the game or so that the game uses a virtual sound card driver, and the sound sample flow produced by it is read to the library and compressed; the management of the amount of buffered sound on the terminal; transmission of compressed data to the terminal; receiving the user's inputs from the terminal and inputting them to the game; management of the output data flow; and sending messages about the operational status of the game to the administration program so that game processes that are stuck or unused can be ended.
The management of the amount of sound mentioned above means the following. Sound is critical in a different way than image: if the receiving terminal has no sound to play, the player hears a break. If a new image does not come on time, the old image remains but does not disappear from the display. Together with each image of the game, a period of sound of a certain duration is typically also transmitted. The receiving device preferably has a certain amount of sound ready for playing at least until the arrival of the next image, and possibly also a little extra, because it may happen that the next image and sound packet do not come on time. On the other hand, the amount of buffered sound must be minimized so that the sound would not lag behind the image. This means matching together two contradictory objects: quality and delay. This can be done, for example, with an adjustment algorithm that measures the frame rate, its variation and the length of the sound buffer of the receiver, and estimates a suitable length of the sound packet from these figures. It is possible to send images to each terminal at a terminal- specific rate, and then the duration of the sound packet delivered to each terminal together with the image may differ from the sound packets delivered to other terminals.
The administration of the data flow transmitted to the terminals means that an attempt is made to perceive any possible breaks and deterioration of quality in the connection to the terminal, and to stop the transmission of information or to slow it down for the duration of the breaks. Otherwise, the terminal would have a large amount of accumulated information to be decompressed when the situation has normalized. The detection of breaks is usually carried out so that the terminal acknowledges the image and sound packets it has received. If acknowledgement is not received by a certain time after the transmission of the packet, it is decided that the network is temporarily blocked. Then the data flow transmitted to the terminal is reduced e.g. by leaving out the transmission of some images, until the acknowledgements run again. Of course, many other approaches are possible both for observing and correcting the situation. Acknowledging the received images and omitting the transmission of images in certain situations is advantageous in that it also operates in a situation where the terminal is too slow to decompress the data flow in real time: then the akcnowledgements are delayed and the server system reduces the frame rate. On the other hand, generally it is not possible to require that the terminal must acknowledge the previous image before the next one is transmitted; then the frame rate could not be higher than the round-trip time of the network. Alternatively, it is possible to reduce the amount of information to be transferred by reducing the resolution of the image, reducing the frame rate in some other way, or using more efficient image compression.
Paging for the library routines dealing with the tasks mentioned above and possibly also other tasks are added to the game program at suitable places. In addition, it may be necessary to modify the game program more if it does not otherwise operate with the small display resolutions characteristic of mobile devices, it is originally made such that multiple copies of it cannot be started simultaneously, or it requires so complicated commands of the user that they are not easy to give with the limited number of keys characteristic of mobile terminals.
In accordance with the above, the game can also be modified so that one game process can serve more than one user simultaneously - but preferably so that the games of different users are dealt with alternately one image at a time. This provides advantages with the synchronization of the use of the graphic card of the computer, for example, and the joint use of resources for the game between multiple users. Games of both single and multiple players can be made such.
The number of terminals in the group of terminals is not limited in the accompanying claims. There may be one or several terminals in the group. Typically, a game provided by the server system is played by one player with one terminal, and thus the number of player-specific views is generally the same as the number of terminals from which the input information is received.
Some preferred embodiments of the invention have been described above. Many different solutions are possible within the scope of the accompanying claims. It should also be noted that the inventive idea of sequencing the service time in order to sequence the service time of the processes performed on the server between the users can also be used in other applications using graphics, in addition to games.

Claims

Claims
1. A method (300) for providing an interactive game including three-dimensional graphics, wherein
- input information is received (301) from a number of terminals, and - on the basis of said input information, the next game situation of the game world is determined (302) in the server system, characterized in that it also comprises the following steps:
- determining (303) in the server system a number of player-specific views of the game world, which views correspond to said following game situation, - forming (304) a number of player-specific data entities, which describe said player-specific views,
- compressing (305) said plurality of data entities, and
- sending (306) each compressed data entity for transmission via the communications network to the terminal to be decompressed at the terminal and to be presented to the player via the user interface of the terminal.
2. A method according to Claim 1, characterized in that said player-specific data entity comprises rastered image information.
3. A method according to claim 2, characterized in that the rastered image information of the player-specific data entity is formed according to the type of the terminal from which the input information related to the player is received.
4. A method according to Claim 1, characterized in that said player-specific data entity comprises information describing the game world for the rastering performed by the terminal.
5. A method according to claim 1, characterized in that the player-specific data entities are compressed so that the size of the compressed data entity depends on the transfer capacity of the data transfer connection by which the terminal, from which the input information related to the player is received, is connected to the server system.
6. A method according to claim 1, characterized in that the player-specific data entities are compressed according to the type of the terminal from which the input information related to the player is received.
7. A method according to claim 1, characterized in that it also comprises the following steps: - receiving from the terminal an acknowledgement for the data entity received by the terminal, and
- monitoring the rate of reception of the data entities by means of acknowledgements received from said terminal.
8. A method according to claim 7, characterized in that it also comprises the following step:
The transmission rate of the data entities to be transmitted to said terminal is adjusted by means of a monitored reception rate by transmitting, of a plurality of player-specific compressed data entities related to a certain game situation, all the other data entities except the data entity intended for said terminal.
9. A method according to claim 7, characterized in that it also comprises the following step:
- the size of the data entities to be transmitted to said terminal is adjusted on the basis of the monitored reception rate.
10. A method according to claim 1, characterized in that said input information is related to one game session of a game for multiple players.
11. A method according to claim 1, characterized in that said input information is related to several game sessions of a game for a single player.
12. A method according to claim 1, characterized in that it also comprises the following steps:
- forming in the server system a plurality of player-specific sound data entities, which relate to said following game situation and correspond to the length of a certain time period,
- compressing said plurality of sound data entities, and - adding each terminal-specific compressed sound data entity to said terminal- specific compressed data entity for transmitting them to the terminals to be decompressed at the terminal and to be presented to the player by means of the user interface of the terminal.
13. A method according to Claim 12, characterized in that the length of the time period of said sound data entity is player-specific.
14. A method according to the claims 7 and 13, characterized in that the length of the sound data entity to be transmitted to said terminal depends on the monitored reception rate.
15. A method according to claim 1, characterized in that in order to perform one or more graphic applications of multiple users with one or more server computers or the like, a different serving time is sequenced for each of the clients in each process of the operating system when desired, and especially when more than one process are performed on one server, or when more than one process are performed on more servers.
16. A method according to claim 15, characterized in that said service time given to the client each time covers performing completely a process or a thread of control related to one game situation.
17. A method according to claim 15, characterized in that service time is given for performing the processes in a synchronized manner.
18. A method according to claim 17, characterized in that service time is given to different users by means of a separate synchronization device.
19. A method according to claim 15, characterized in that the order of serving clients in each process is selected so that clients which are closest to each other in the e.g. three-dimensional world in the memory of the graphic card are served before the clients which are further in order to utilize the cache property.
20. A method according to claim 18, characterized in that the synchronization device is a separate computer, which by means of a suitable interface allocates time to other servers/different processes in a synchronized manner.
21. A method according to claim 18, characterized in that the synchronization device also deals with transmitting the compressed image to the client in a synchronized manner.
22. A method according to claim 15, characterized in that the compression and transmission of the image is performed in its own thread of control, in which case the threads of control that draw the image are locked to operate on the same processor also in the case that more than one process, such as a game, are performed.
23. A method according to claim 15, characterized in that all the communication between the server or servers and the clients is performed by means of a separate broker computer.
24. A method according to claim 23, characterized in that the images transmitted by the servers are received at the broker computer, they are transmitted to the network using the broker computer at essentially equal intervals, and the network is not used before the reception acknowledgement coming from the client.
25. A server system (600) for providing an interactive game including three- dimensional graphics, which server system comprises
- means (601) for receiving input information from a data network, and
- means (602) for determining the next game situation of the game world on the basis of said input information, characterized in that it also comprises
- means (603) for determining a plurality of player-specific views of the game world, which views correspond to said following game situation,
- means (604) for forming a plurality of player-specific data entities, which describe said player-specific views, - means (605) for compressing the data entities, and
- means (606) for transmitting a compressed data entity to the data network.
26. A server system according to claim 25, characterized in that said means for determining the next game situation comprise executable program code.
27. A server system according to claim 26, characterized in that the game situations of separate game sessions are determined alternately in said executable program code.
28. A server system according to claim 26, characterized in that the game situations of a common game session of multiple players are determined in said executable program code.
29. A server system according to claim 25, characterized in that said means for determining views of the game world comprise program code to be executed by means of a graphic booster.
30. A server system according to claim 29, characterized in that said program code to be executed by means of a graphic booster is arranged to be performed in one process, in which the player-specific views are calculated alternately.
31. A server system according to claim 25, characterized in that said means for compressing data entities are arranged to receive information from the means for determining player-specific views as input information.
32. A server system according to claim 25, characterized in that it comprises a plurality of servers.
33. A server system according to claim 32, characterized in that it includes means for dividing the processing load between said servers.
34. A server system according to claim 33, characterized in that it also comprises means for receiving the game starting command and means for starting the operation of means for determining the next game situation which correspond to the game starting command.
35. A server system according to claim 25, characterized in that it is arranged to perform one or more graphic applications of multiple users with one or more server computers by sequencing a different serving time for each of the clients in each process of the operating system when desired, and especially when more than one process are performed on one server, or when more than one process are performed on several servers.
36. A server system according to claim 35, characterized in that it is arranged to give service time for performing the processes in a synchronized manner.
37. A server system according to claim 35, characterized in that said service time given to the client each time covers performing completely a process or a thread of control related to one game situation.
38. A server system according to claim 36, characterized in that it comprises a synchronizing device for giving service time to different users.
39. A server system according to claim 38, characterized in that the synchronizing device is a computer, which by means of a suitable interface allocates time to other servers/different processes in a synchronized manner.
40. A server system according to claim 39, characterized in that said synchronizing device is an administration computer, which administers games performed on one or more servers.
41. A server system according to claim 38, characterized in that the synchronizing device is also arranged to control the transmission of the compressed image to the client in a synchronized manner.
42. A server system according to claim 35, characterized in that the order of serving clients in each process is arranged to be selected so that clients which are closest to each other in the e.g. three-dimensional world in the memory of the graphic card are served before the clients which are further in order to utilize the cache property.
43. A server system according to claim 35, characterized in that the compression and transmission of the image is arranged to be performed in its own thread of control, in which case the threads of control that draw the image are locked to operate on the same processor also in the case that more than one process, such as a game, are performed.
44. A server system according to claim 35, characterized in that it comprises a broker computer for performing the communication between the server/servers and clients.
45. A server system according to claim 44, characterized in that the broker computer is arranged to receive the images transmitted by the servers, to transmit them to the network using the broker computer at essentially equal intervals, and not to use the network before the reception acknowledgement from the client.
PCT/FI2002/000362 2001-04-26 2002-04-26 Method and arrangement for providing an interactive game including three-dimensional graphics WO2002092177A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2002251112A AU2002251112A1 (en) 2001-04-26 2002-04-26 Method and arrangement for providing an interactive game including three-dimensional graphics

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FI20010877 2001-04-26
FI20010877A FI115675B (en) 2001-04-26 2001-04-26 Real-time interactive three-dimensional computer game providing method involves sending compressed data entities describing player-specific views of game world, by server to computer terminal via network
FI20011047A FI20011047A (en) 2001-05-17 2001-05-17 Procedures and systems for providing an interactive game containing three-dimensional graphics
FI20011047 2001-05-17

Publications (2)

Publication Number Publication Date
WO2002092177A2 true WO2002092177A2 (en) 2002-11-21
WO2002092177A3 WO2002092177A3 (en) 2003-01-30

Family

ID=26161165

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FI2002/000362 WO2002092177A2 (en) 2001-04-26 2002-04-26 Method and arrangement for providing an interactive game including three-dimensional graphics

Country Status (2)

Country Link
AU (1) AU2002251112A1 (en)
WO (1) WO2002092177A2 (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8154553B2 (en) 2008-05-22 2012-04-10 Playcast Media System, Ltd. Centralized streaming game server
US8264493B2 (en) 2008-05-12 2012-09-11 Playcast Media Systems, Ltd. Method and system for optimized streaming game server
US8321903B2 (en) 2008-07-28 2012-11-27 Playcast Media Systems, Ltd. External services allocation in closed on-demand systems
EP2708268A3 (en) * 2007-12-05 2014-05-14 OL2, Inc. Tile-based system and method for compressing video
EP2709359A3 (en) * 2007-12-05 2014-10-01 OL2, Inc. System and method for compressing streaming interactive video
US9015784B2 (en) 2002-12-10 2015-04-21 Ol2, Inc. System for acceleration of web page delivery
US9032465B2 (en) 2002-12-10 2015-05-12 Ol2, Inc. Method for multicasting views of real-time streaming interactive video
GB2520931A (en) * 2013-11-29 2015-06-10 Togeva Ltd A system for managing communications with a plurality of mobile devices
US9077991B2 (en) 2002-12-10 2015-07-07 Sony Computer Entertainment America Llc System and method for utilizing forward error correction with video compression
US9118968B2 (en) 2002-12-10 2015-08-25 Sony Computer Entertainment America Llc Method for user session transitioning among streaming interactive video servers
US9155962B2 (en) 2002-12-10 2015-10-13 Sony Computer Entertainment America Llc System and method for compressing video by allocating bits to image tiles based on detected intraframe motion or scene complexity
US10201760B2 (en) 2002-12-10 2019-02-12 Sony Interactive Entertainment America Llc System and method for compressing video based on detected intraframe motion
US10286315B2 (en) 2002-12-10 2019-05-14 Sony Interactive Entertainment America Llc System for combining recorded application state with application streaming interactive video output
US10375426B2 (en) 2002-12-10 2019-08-06 Sony Interactive Entertainment America Llc System and method for remote-hosted video effects
CN114840859A (en) * 2021-12-21 2022-08-02 许磊 Streaming media system of general data

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9314691B2 (en) 2002-12-10 2016-04-19 Sony Computer Entertainment America Llc System and method for compressing video frames or portions thereof based on feedback information from a client device
US9108107B2 (en) 2002-12-10 2015-08-18 Sony Computer Entertainment America Llc Hosting and broadcasting virtual events using streaming interactive video
US8949922B2 (en) 2002-12-10 2015-02-03 Ol2, Inc. System for collaborative conferencing using streaming interactive video
US9138644B2 (en) 2002-12-10 2015-09-22 Sony Computer Entertainment America Llc System and method for accelerated machine switching
US9003461B2 (en) 2002-12-10 2015-04-07 Ol2, Inc. Streaming interactive video integrated with recorded video segments
US8964830B2 (en) 2002-12-10 2015-02-24 Ol2, Inc. System and method for multi-stream video compression using multiple encoding formats

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4441104A (en) * 1981-12-31 1984-04-03 Mattel, Inc. Graphic effects generator
US5964660A (en) * 1997-06-18 1999-10-12 Vr-1, Inc. Network multiplayer game
US6183364B1 (en) * 1995-12-21 2001-02-06 Karen I. Trovato Simulated environment using procedural animation in a simulated city
EP1087323A1 (en) * 1999-09-24 2001-03-28 Nokia Corporation A wireless system for interacting with a virtual space

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4441104A (en) * 1981-12-31 1984-04-03 Mattel, Inc. Graphic effects generator
US6183364B1 (en) * 1995-12-21 2001-02-06 Karen I. Trovato Simulated environment using procedural animation in a simulated city
US5964660A (en) * 1997-06-18 1999-10-12 Vr-1, Inc. Network multiplayer game
EP1087323A1 (en) * 1999-09-24 2001-03-28 Nokia Corporation A wireless system for interacting with a virtual space

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BANGUN RICKY A. ET AL.: 'A network architecture for multiuser networked games on demand' INTERNATIONAL CONF. ON INFORMATION, COMMUNICATIONS AND SIGNAL PROCESSING, ICICS'97 09 September 1997 - 12 September 1997, SINGAPORE, pages 1815 - 1819 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9707481B2 (en) 2002-12-10 2017-07-18 Sony Interactive Entertainment America Llc System for streaming databases serving real-time applications used through streaming interactive video
US10201760B2 (en) 2002-12-10 2019-02-12 Sony Interactive Entertainment America Llc System and method for compressing video based on detected intraframe motion
US9077991B2 (en) 2002-12-10 2015-07-07 Sony Computer Entertainment America Llc System and method for utilizing forward error correction with video compression
US10375426B2 (en) 2002-12-10 2019-08-06 Sony Interactive Entertainment America Llc System and method for remote-hosted video effects
US9118968B2 (en) 2002-12-10 2015-08-25 Sony Computer Entertainment America Llc Method for user session transitioning among streaming interactive video servers
US9015784B2 (en) 2002-12-10 2015-04-21 Ol2, Inc. System for acceleration of web page delivery
US9032465B2 (en) 2002-12-10 2015-05-12 Ol2, Inc. Method for multicasting views of real-time streaming interactive video
US9155962B2 (en) 2002-12-10 2015-10-13 Sony Computer Entertainment America Llc System and method for compressing video by allocating bits to image tiles based on detected intraframe motion or scene complexity
US10286315B2 (en) 2002-12-10 2019-05-14 Sony Interactive Entertainment America Llc System for combining recorded application state with application streaming interactive video output
US9700790B2 (en) 2002-12-10 2017-07-11 Sony Interactive Entertainment America Llc System and method for compressing streaming interactive video
EP2709359A3 (en) * 2007-12-05 2014-10-01 OL2, Inc. System and method for compressing streaming interactive video
EP2708268A3 (en) * 2007-12-05 2014-05-14 OL2, Inc. Tile-based system and method for compressing video
US8264493B2 (en) 2008-05-12 2012-09-11 Playcast Media Systems, Ltd. Method and system for optimized streaming game server
US8154553B2 (en) 2008-05-22 2012-04-10 Playcast Media System, Ltd. Centralized streaming game server
US8321903B2 (en) 2008-07-28 2012-11-27 Playcast Media Systems, Ltd. External services allocation in closed on-demand systems
GB2520931A (en) * 2013-11-29 2015-06-10 Togeva Ltd A system for managing communications with a plurality of mobile devices
CN114840859A (en) * 2021-12-21 2022-08-02 许磊 Streaming media system of general data

Also Published As

Publication number Publication date
WO2002092177A3 (en) 2003-01-30
AU2002251112A1 (en) 2002-11-25

Similar Documents

Publication Publication Date Title
WO2002092177A2 (en) Method and arrangement for providing an interactive game including three-dimensional graphics
JP6310073B2 (en) Drawing system, control method, and storage medium
US20210362050A1 (en) Video Game Overlay
US9814979B2 (en) Data provision system, provision apparatus, execution apparatus, control method, and recording medium
US11731043B2 (en) Adaptive graphics for cloud gaming
Jurgelionis et al. Platform for distributed 3D gaming
CN111882626A (en) Image processing method, apparatus, server and medium
KR100523785B1 (en) Distributed processing system, distributed processing method and clients terminal capable of using the method
WO2015001754A1 (en) Screen-providing apparatus, screen-providing system, control method, program, and recording medium
US8823708B2 (en) Teleport preview provisioning in virtual environments
JP5559445B1 (en) Drawing system, control method, program, and recording medium
TW200952495A (en) Apparatus for combining aplurality of views of real-time streaming interactive video
CN113209632B (en) Cloud game processing method, device, equipment and storage medium
EP4037789A1 (en) Game application providing scene change hint for encoding at a cloud gaming server
CN114667173A (en) Edge computing agent for cloud gaming and 5G
CN104998412A (en) Single-player game realization method and apparatus
CN113365111A (en) Interaction method and device based on live broadcast
CN111672132A (en) Game control method, game control device, server, and storage medium
CN109587118B (en) Distributed multi-terminal and multi-network supporting system for Android online game
US6963724B2 (en) Data providing system, method and computer program
Khan et al. Adaptable client-server architecture for mobile multiplayer games
KR20130062463A (en) Game streaming system and method of supporting the multiuser and multiplatform
JP6265337B2 (en) Program, recording medium, and drawing apparatus determination method
JP2001252475A (en) Network game intermediating device, its method, storage medium, network game operating method, network game creation assiting device, and its method
JP6913809B1 (en) Game system, edge side server, cloud side server, game terminal and game control method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP