U.S. Pat. No. 9,108,112
GAME SYSTEM, GAME APPARATUS, STORAGE MEDIUM, AND GAME CONTROLLING METHOD FOR GAME PLAY USING A PLURALITY OF GAME APPARTUSES
AssigneeNintendo Co Ltd
Issue DateFebruary 10, 2012
Illustrative Figure
Abstract
An example of a game system includes a plurality of game apparatuses, and a matching server decides game apparatuses as players (A, B), and game apparatuses as game masters (C-E) in response to a request from the game apparatus. During the game play, operation data in response to an operation input to each of the game apparatuses (A, B) is transmitted to the game apparatuses (C-E), and in the game apparatuses (C-E), game processing is executed. Result data of the game processing is transmitted to the game apparatuses (A, B). When the data is saved, the encoded game data is transmitted from each of the game apparatuses (C-E) to the game apparatuses (A, B), and saved there.
Description
DETAILED DESCRIPTION OF NON-LIMITING EXAMPLE EMBODIMENTS Referring toFIG. 1, a game system10of the present non-limiting example embodiment includes a plurality of game apparatuses12, and each of the plurality of game apparatuses12is connected to a matching server16, a decoding server18and an encoding server20via a network14so as to make communications with each other. FIG. 2is a block diagram showing an example non-limiting electric configuration of the game apparatus12shown inFIG. 1. As shown inFIG. 2, the game apparatus12includes a CPU30, and the CPU30is connected with a RAM32, a flash memory34, a wireless communication module36, an input device38, a display driver40and a D/A converter44. Also, the display driver40is connected with a display42, and the D/A converter44is connected with a speaker46. The CPU30entirely controls the game apparatus12. The RAM32is used as a working memory and a buffer memory of the CPU30. The flash memory34is used for storing (saving) application programs such as a game, and various sets of data. The wireless communication module36has a function of connecting to a wireless LAN. Accordingly, the game apparatus12can communicate with other game apparatuses12and computers (server16,18,20, etc.) directly or over the network14. The input device38is various push buttons or switches that are provided to the game apparatus10, for example, and is used for various operations, such as selecting options from a menu, a game operation, etc. Here, as an input device38, an inputter, such as a pointing device like a touch panel, etc., a microphone, a camera, etc. may be provided in place of the push buttons or the switches, or together with the push buttons or the switches. The display driver40is used for displaying various images such as game images on the display42under an instruction of the CPU30. Although illustration is omitted, the display driver40contains a video RAM (VRAM). The D/A converter44converts audio data applied from the CPU30to ...
DETAILED DESCRIPTION OF NON-LIMITING EXAMPLE EMBODIMENTS
Referring toFIG. 1, a game system10of the present non-limiting example embodiment includes a plurality of game apparatuses12, and each of the plurality of game apparatuses12is connected to a matching server16, a decoding server18and an encoding server20via a network14so as to make communications with each other.
FIG. 2is a block diagram showing an example non-limiting electric configuration of the game apparatus12shown inFIG. 1. As shown inFIG. 2, the game apparatus12includes a CPU30, and the CPU30is connected with a RAM32, a flash memory34, a wireless communication module36, an input device38, a display driver40and a D/A converter44. Also, the display driver40is connected with a display42, and the D/A converter44is connected with a speaker46.
The CPU30entirely controls the game apparatus12. The RAM32is used as a working memory and a buffer memory of the CPU30. The flash memory34is used for storing (saving) application programs such as a game, and various sets of data.
The wireless communication module36has a function of connecting to a wireless LAN. Accordingly, the game apparatus12can communicate with other game apparatuses12and computers (server16,18,20, etc.) directly or over the network14.
The input device38is various push buttons or switches that are provided to the game apparatus10, for example, and is used for various operations, such as selecting options from a menu, a game operation, etc. Here, as an input device38, an inputter, such as a pointing device like a touch panel, etc., a microphone, a camera, etc. may be provided in place of the push buttons or the switches, or together with the push buttons or the switches.
The display driver40is used for displaying various images such as game images on the display42under an instruction of the CPU30. Although illustration is omitted, the display driver40contains a video RAM (VRAM).
The D/A converter44converts audio data applied from the CPU30to an analog game voice, and outputs it to the speaker46. Here, the game sounds means sound necessary for the game, such as onomatopoeic sound of game characters, sound effects, music (BGM).
It should be noted that the electric configuration of the game apparatus12as shown inFIG. 2is merely one example, and there is no need of being restricted thereto.
Although the illustration and detailed description are omitted, the matching server16, the decoding server18and the encoding server20that are shown inFIG. 1are general-purpose servers, and each includes components, such as a processor like a CPU, a memory (HDD, ROM, RAM, etc.), a communication module, etc. The reason why the decoding server18and the encoding server20are provided is that by decoding and encoding with devices other than the game apparatuses12, it is possible to prevent the encoded game data from being unauthorizedly decoded by game apparatuses12as described later. Accordingly, the encoding format can employs arbitrary formats, but the formats, etc. are not opened.
In such a game system10, the matching server16accepts a participation request from each game apparatus12, decides some game apparatuses12as players to play the communication game, and decides other game apparatuses12as game masters of the communication game. Here, in this embodiment, the game apparatus12(CPU30, or the like) can execute processing as a player and processing as a game master of different two communication games (groups). Accordingly, the game apparatus12can participate in a communication game of a certain group as a player and in communication games of the other groups as a game master. Although the detailed description is omitted, the communication games in which the game apparatus12participates as a player and participates as a game master may be the same type or different types.
For example, the game apparatuses12of users which are similar in game level (experience point) and total playing minute are decided as game apparatuses12as players (may be referred to as being subject to matching in this embodiment). Here, the game level (experience point) and the total playing minute are managed by the matching server16for each user (game apparatus12). Furthermore, the game apparatuses12which are other than the game apparatuses12decided as players and are not assigned the game masters of the two groups or a backup node described later are decided as game apparatuses12as game masters (may be referred to as being subject to matching in this embodiment). Hereafter, in a case that the game apparatus12functions as game masters in the two groups, the game master relative to the one group is called a “first game master”, and the game master relative to the other group is called a “second game master”.
Additionally, the matching server16manages the game apparatuses12decided as players and the game apparatuses12decided as game masters as one group. In this embodiment, a terminal list of each group is generated, and stored in the memory. In the terminal list, in correspondence with the identification information of the game apparatus12, the connection information of the game apparatus12and discrimination between a player and a game master (kind) are described. In this embodiment, the identification information and the connection information of the game apparatus12are collectively referred as terminal information hereafter.
For example, the identification information of the game apparatus12is an MAC address of the wireless communication module contained in the game apparatus12, specific identification symbol given to the game apparatus12, a name (user name, etc.) given to the game apparatus12, etc. Furthermore, the connection information of the game apparatus12is an IP address assigned to the game apparatus12.
In the matching server16, such groups are generated depending on the number of game apparatuses12from which a participation request is issued. Hereafter, focusing on one group, description is made on game processing, etc. in this embodiment, but this holds true for other groups.
In this embodiment, the game apparatus12as a game master means a game apparatus12the same type as the game apparatus12as a player, and a game apparatus12that mainly performs game processing on the basis of operation data from the game apparatuses12as players that play the communication game in which the game apparatus12as game master itself does not participate. Furthermore, in this embodiment, the game apparatus12as a game master requests the decoding server18to decode the save data (encoded game data) transmitted from the game apparatuses12as players prior to the start of the communication game, and requests the encoding server20to encode the game data generated by the game processing according to an instruction form the game apparatuses12as players.
It should be noted that in this embodiment, the matching server16decides the game apparatuses12as players and game apparatuses12as game masters, but the game apparatuses12as players and the game apparatuses12as game masters may be decided by different servers. Here, the game apparatuses12as players and the game apparatuses12as game masters are brought into correspondence with each other such that they are managed as one group.
In this embodiment, in one group, two game apparatuses12are decided as players, and three game apparatuses12are decided as game masters in association with them. Then, by the game apparatuses12as players and the game apparatuses12as game masters which make up of one group, a peer-to-peer network as shown inFIG. 3is built. Hereinafter, in this embodiment, in a case that the game apparatuses12are differentiated from one another, the two game apparatuses12as players are called a game apparatus A and a game apparatus B, and the three game apparatuses12as game masters are called a game apparatus C, a game apparatus D and a game apparatus E.
Thus, when the game apparatuses12as players and the game apparatuses12as game masters are decided to build the peer-to-peer network, game playing processing is executed among the decided game apparatuses12. Accordingly, it is possible to distribute the load of the game processing without preparing a game server.
Also, the game playing processing is executed in the decided game apparatuses12, and thus, when the matching server16creates a terminal list, it transmits the created terminal list to each of the game apparatuses12in the group. Accordingly, each game apparatus12stores the terminal list.
In this embodiment, the game apparatus12stores the game data relating to the communication game in an encoded manner. However, game data (hereinafter referred to as “encoded game data”)) encoded in a format that cannot be decoded by the game apparatus12is stored (saved). This is because of preventing raw game data (plain text) from being modified (tampered) by a user of the game apparatus12. Accordingly, in this embodiment, the game data that is decoded is stored in the game apparatuses12as game masters, and each of the game apparatuses12as game masters executes game processing on the basis of the operation data from the game apparatuses12as players. That is, each of the game apparatuses12as game masters executes game processing according to operation data from the game apparatuses12as players by using the game data. Then, result of the processing (result data) is transmitted to the game apparatuses12as players.
It should be noted that if the encoded game data is tampered, this cannot be decoded by a decoding device (decoding server18in this embodiment), and thus, it is almost impossible to perform the game processing according to unauthorized game data.
In this embodiment, the game data is parameter data (kind, power, strength, quickness, etc.) as to player characters and possessed items, etc., and it does not include operation data. However, the game data need not be restricted to it and, and is data capable of advancing the communication game advantageously or disadvantageously by being modified (tampered).
Accordingly, in a case that encoded game data, that is, save data is stored in the game apparatuses12as players, the data loading processing is executed prior to start of the communication game. This data loading processing is executed by the game apparatuses12as players (A, B), the game apparatuses12as game masters (C-E), the matching server16and the decoding server18.
It should be noted that in a case that the communication game is first played, the save data is not stored, and thus, game data based on initial values (default value) is stored in the game apparatuses12as game masters (C-E) without execution of the data loading processing.
As shown inFIG. 4, the game apparatuses A, B as players transmit the save data (encoded game data) to each of the game apparatuses C-E as game masters. Hereinafter, the encoded game data stored in the game apparatus A may be called “encoded game data A”, and the encoded game data stored in the game apparatus B may be called “encoded game data B”.
Here, to the encoded game data, identification information of the game apparatuses A, B storing it is added as header information (meta information).
Each of the game apparatuses C-E as game masters receives the encoded game data A and receives the encoded game data B. Next, each of the game apparatuses C-E requests to decode the encoded game data A, and requests to decode the encoded game data B. More specifically, each of game apparatuses C-E transmits the request for decoding and the encoded game data A to the decoding server18, and transmits the request for decoding and the encoded game data B to the decoding server18.
Here, the game apparatuses C-E as game masters need not simultaneously receive the encoded game data A and the encoded game data B and need not simultaneously request for decoding.
The decoding server18inquires of the matching server16whether the each of the requests from the game apparatuses C-E as game masters is an authorized request. It should be noted that the inquiry is made for each request. More specifically, the decoding server18acquires terminal information (hereinafter referred to as “player terminal information”, for convenience of explanation) of the game apparatus12as a player from the meta information of the encoded game data, acquires terminal information of the source of the request for decoding (hereinafter referred to as “source of the request for decoding terminal information” for convenience of explanation), and transmits an inquiry including the player terminal information and the source of the request for decoding terminal information to the matching server16.
When the matching server16receives the request, it determines whether an authorizedly decided game master or not. That is, the combination between the game apparatuses12as players and the game apparatuses12as game masters is correct. More specifically, the matching server16determines whether or not the game apparatus12indicated by the player terminal information and the game apparatus12indicated by the source of the request for decoding terminal information belong to the same group, the game apparatus12indicated by the player terminal information is decided as a player, and the game apparatus12indicated by the source of the request for decoding terminal information is decided as a game master. Then, the matching server16transmits the determination result to the decoding server18.
The decoding server18receives the determination result, decodes the encoded game data if the request is from the authorizedly decided game master, and transmits the decoded game data to the game apparatus12as a game master being a source of the request for decoding.
Accordingly, the game apparatus12as a game master being a source of the request for decoding receives the decoded game data, and stores it in the RAM32. Thus, the authorizedly decided game apparatus12as a game master acquires the game data on the game apparatus A as a player and the game data on the game apparatus B as a player. That is, in place of the game apparatus12as a player, the game apparatus12as a game master acquires the game data obtained by decoding the encoded game data transmitted from the game apparatus12as a player. Hereinafter, for convenience of explanation, the game data obtained by decoding the encoded game data A is referred to as “game data A”, and the game data obtained by decoding the encoded game data B is referred to as “game data B”.
When the data loading processing is ended, the communication game is started. When the communication game is started, the game playing processing is performed by the game apparatuses A, B as players and the game apparatuses C-E as game masters.
As shown inFIG. 5, in the game playing processing, operation data in response to an operation input to the game apparatus A as a player (hereinafter referred to as “operation data A” for convenience of explanation) is transmitted to each of the game apparatuses C-E, and operation data in response to an operation input to the game apparatus B as a player (hereinafter referred to as “operation data B” for convenience of explanation) is transmitted to each of the game apparatuses C-E.
When each of the game apparatuses C-E as game masters receives both of the operation data A and the operation data B, it executes the game processing of the communication game by using the game data A and the game data B according to the operation data A and the operation data B. Then, the result of the game processing (result data) is transmitted to each of the game apparatus A as a player and the game apparatus as a player B.
It should be noted that each of the game apparatuses C-E as game masters stores the game program for executing the game processing of the communication game to be executed between the game apparatuses A, B as players in advance. For example, the game program for executing the game processing of the communication game to be executed between the game apparatuses A, B as players is downloaded from the matching server16.
Each of the game apparatuses A and B receives the result data, and outputs the result data. For example, each of the game apparatuses A and B depicts (updates) and outputs (displays) game images on the basis of the result data, and generates and outputs game sounds. Here, as described above, the game apparatus12as a player transmits the operation data to all the game apparatuses12as game masters, all the game apparatuses12as game masters execute the game processing, and then, the game apparatus12as a player receives the result data from each of all the game apparatuses12as game masters. Thus, the game apparatus12as a player adopts and outputs proper result data from all the received sets of result data (three, here). In this embodiment, out of the three sets of result data, the result data being identical is adopted as proper result data. That is, based on majority rule, the result data to be output is decided.
The reason why the result data being identical is adopted and output is that although the game apparatus12as a game master is an authorizedly decided, but the game apparatus12as a game master can access the raw game data of the game apparatus12as a player in the communication game in which it is in charge of the game processing, and thus can modify (tamper) it. Thus, by adopting one result data based on majority rule as described above, it is possible to prevent the result data of the game processing performed based on the unauthorized game data from being reflected on the communication game as much as possible. Due to this, it is possible to avoid an illegal act such as hindering other's communication game. Also, the reason why the result data to be adopted based on majority rule is decided is that it is considered that such illegal act is performed by a few users. This holds true for deciding the encoded game data described later based on majority rule.
Before the game is ended, the aforementioned processing is repeatedly executed. In response to occurrence of a predetermined event during the game, an input of an instruction by the player during the game, or the game end, data saving processing is executed. The data saving processing is executed by the game apparatuses A, B as players, the game apparatuses C-E as game masters, the matching server16and the encoding server20.
More specifically, as shown inFIG. 6, each of the game apparatuses A, B as players requests the game apparatuses C-E as game masters to save data.
When each of the game apparatuses C-E as game masters receives a request to save data, it requests the encoding server20to encode the game data. More specifically, each of the game apparatuses C-E as game masters transmits the request for encoding and the game data on the game apparatus12as a player being a source of the request to the encoding server20. Here, to the game data, the identification information of the game apparatus A or the game apparatus B is added as header information (meta information).
When the encoding server20receives the request for encoding and the game data, it inquires of the matching server16whether the request is an authorized request. More specifically, the encoding server20acquires the player terminal information from the meta information of the game data and the terminal information of the source of the request for encoding (hereinafter referred to as “source of the request for encoding terminal information” for convenience of explanation), and transmits an inquiry including the player terminal information and the source of the request for encoding terminal information to the matching server16.
When the matching server16receives the inquiry, it determines whether or not the request is from the authorizedly decided game master. More specifically, the matching server16determines whether or not the game apparatus12indicated by the player terminal information and the game apparatus12indicated by the source of the request for encoding terminal information belong to the same group, the game apparatus12indicated by the player terminal information is decided as a player, and the game apparatus12indicated by the source of the request for encoding terminal information is decided as a game master. Then, the matching server16transmits the determination result to the encoding server20.
The encoding server20receives the determination result, encodes the game data if the authorizedly decided game master is determined, and transmits the encoded game data to the game apparatus12as a game master being a source of the request for encoding as shown inFIG. 7. In addition, when the game apparatus12as a game master receives the encoded game data, it transmits the encoded game data to the game apparatus12as a player being a source of request to save data. Naturally, the encoding server20encodes the game data in a format that are decodable by the decoding server18.
Accordingly, the game apparatus12as a player that requests to save data receives the encoded game data. Here, as described above, the game apparatus12as a player transmits a request to save data to all the game apparatuses12as game masters, and thus receives the encoded game data from all the game apparatuses12as game masters if they are authorizedly decided. Thus, the game apparatus12as a player adopts and saves proper encoded game data from all the received sets of encoded game data (three, here). In this embodiment, out of the three sets of encoded game data, the encoded game data being identical is adopted as proper encoded game data. That is, based on majority rule, one encoded game data to be saved is decided.
Moreover, during the game, the game apparatus12as a game master may disconnect the connection (communication). Even in such a case, a game apparatus12as a reserve (hereinafter referred to as “backup node”) for continuing the communication game may be prepared. In such a case, the matching server16decides the game apparatus12as a backup node when the game apparatuses12as players and the game apparatuses12as game masters are decided in response to a participation request from the game apparatus12. Accordingly, in the terminal list that is created in the matching server16and is to be transmitted to each game apparatus12, identification information, and connection information of the game apparatus12as a backup node and the kind (backup node) are included. The backup node matching (deciding) processing is the same as the game master matching (deciding) processing, and therefore, a redundant description is omitted.
When the game apparatus12as a game master is disconnected, the game apparatus12as a backup node is promoted to the game master, and a game apparatus12as a backup node is newly decided.
By usingFIG. 8andFIG. 9, backup node promoting and matching processing will be described in detail assuming that the game apparatus D is disconnected here. Furthermore, the game apparatus12as a backup node is called a “game apparatus F”. In addition, the game apparatus12as a backup node that is newly decided is called a “game apparatus G”.
As shown inFIG. 8, each of the game apparatuses A, B as players detects the disconnection of the game apparatus D. In this embodiment, in a case that the game apparatus12as a player cannot acquire result data even after a predetermined time (10 sec., for example) has elapsed from the transmission of the operation data to the game apparatus12as a game master, it detects that the connection with the game apparatus12from which the result data cannot acquired is disconnected.
When one of the game apparatuses A, B detects the disconnection of the game apparatus D, it notifies the other game apparatus B, A the fact. Accordingly, each of the game apparatus A, B receives the notification that the game apparatus D is disconnected from each other's game apparatuses B, A. That is, the disconnection of the game apparatus D is confirmed by the game apparatuses A, B as players. Then, each of game apparatuses A, B notifies the game apparatuses C, E as game masters with which the connections are not disconnected of a promotion of the backup node (game apparatus F).
When the game apparatuses C, E receive a notification of promotion of the backup node, they transmit the game data to the game apparatus F as a backup node. The game apparatus F which waits for data transmission as a backup node is promoted when receiving the game data. Here, actually, the game apparatus12as a backup node is promoted to the game master when the terminal list is updated as described later.
Furthermore, when each of game apparatuses A, B as players notifies the game apparatuses C, E as game masters with which the connection is not disconnected of a promotion of the backup node, it request the matching server16to decide a new backup node as shown inFIG. 9. Here, the request contains a notification that the game apparatus D is disconnected. Accordingly, the matching server16can know that the game apparatus D leaves the group including the game apparatus A and the game apparatus B.
When the matching server16receives the request to decide a new backup node, a new game apparatus12as a backup node (game apparatus G, here) is decided. The matching (deciding) method is the same as the matching (deciding) method of the game apparatus12as a game master (backup node) as described above. The matching server16updates the terminal list when deciding the new game apparatus G as a backup node. Here, the identification information, the connection information and the kind (game master) of the game apparatus D are erased. Furthermore, the kind of the game apparatus F is changed to the game master, and the identification information, the connection information and the kind (backup node) of the game apparatus G are additionally written. Thereafter, the matching server16transmits the updated terminal list to the respective game apparatuses12(game apparatuses A-C, E-G) in the group.
Each of the game apparatuses A-C, and E-G receives the terminal list association with the group, and updates the terminal list of the group. Accordingly, each of the game apparatuses A, B as players continues the communication game by communicating with the game apparatuses C, E, F as game masters. That is, in a case that the backup node is prepared, even if the game apparatus12as a game masters is disconnected (left), the communication game is neither terminated (forcibly terminated) nor restarted.
FIG. 10shows one example of a memory map100of the RAM contained in the matching server16. As shown inFIG. 10, the RAM contained in the matching server16includes a program memory area102and a data memory area104. In the program memory area102, an information processing program is stored, and the information processing program is made up of a main processing program102a, a communication program102b, a matching processing program102c, a determination processing program102d, etc.
The main processing program102ais a program for processing a main routine of the matching server16. The communication processing program102bis a program for communicating with the devices and the computers, such as the game apparatus12, the decoding server18, the encoding server20, etc. directly or via the network14.
The matching processing program102cis a program for deciding or performing a matching (grouping) of game apparatuses12as players, game apparatuses12as game masters and a game apparatus12as a backup node, and creating terminal list data for each group. The determination processing program102dis a program for determining whether or not the game apparatus12being a source of a request to decode the encoded game data and to encode the game data is an authorized game master.
Although illustration is omitted, in the program memory area102, a game program to be downloaded into the game apparatus12, etc. is also stored.
In the data memory area104, participant list data104a, matching data104b, etc. are stored. The participant list data104ais data representing terminal information (identification information and connection information) of all the game apparatuses12from each of which a request to participate in the communication game is accepted in a list (table) form.
The matching data104bis data storing the terminal list of the game apparatuses12that are decided as players, as game masters and as a backup node in a unit of a group. That is, the matching data104bincludes first group terminal list data1040, second group terminal list data1042, . . . , etc. Each terminal list data (1040,1042, . . . ) is data on a list (table) in which terminal information of each game apparatus12included in the group is described with decided (matched) information (discrimination among a player, a game master and backup node).
Although illustration is omitted, in the data memory area104, other data necessary for execution of the information processing program are stored, and timers (counters) and flags are provided.
FIG. 11andFIG. 12show one example of a memory map200of the RAM32contained in the game apparatus12shown inFIG. 2. As shown inFIG. 11, the RAM32includes a program memory area202and a data memory area204. The program memory area202stores a game program, and the game program is made up of a main processing program202a, a communication program202b, a game processing program for player202c, a game processing program for first game master202d, a game processing program for second game master202e, a data loading processing program202fand save processing program202g, etc.
It should be noted that the game program is loaded from the flash memory34, downloaded from computers or servers that are connected via the network14, or loaded from a storage medium, such as a game cartridge, an SD card, etc.
The main processing program202ais a program for processing a main routine of the communication game. The communication program202bis a program for communicating with other game apparatuses (12) and computers directly or via the network14.
The game processing program for player202cis a game processing program in a case that the game apparatus12functions as a player, and mainly advances the communication game by depicting and displaying game images and generating and outputting game sounds on the basis of result data from the game master.
The game processing program for first game master202dis a game processing program in a case that the game apparatus12functions as a first game master, and mainly executes the game processing by using game data (game data for first game master212cdescribed later) on the basis of the operation data from the respective game apparatuses12as players in the group in which the game apparatus participates as a first game master.
The game processing program for second game master202eis a game processing program in a case that the game apparatus12functions as a second game master, and mainly executes the game processing by using game data (game data for second game master214cdescribed later) on the basis of the operation data from the respective game apparatuses12as players in the group in which the game apparatus participates as a second game master.
The data loading processing program202fis a program for executing data loading processing in a case that the game apparatus functions as a player, and in a case that the game apparatus functions as a game master. More specifically, in a case that the game apparatus12functions as a player, the data loading processing program202frequests each game apparatus12as a game master to load data prior to the start of the communication game. Furthermore, in a case that the game apparatus12functions as a game master, the data loading processing program202frequests the decoding server18to decode the encoded game data in response to a request to load data from the game apparatus12as a player, and stores the game data (game data for first game master212c, game data for second game master214c) decoded by the decoding server18in response thereto in the data memory area204.
The save processing program202gis a program for executing save processing in a case that the game apparatus functions as a player, and in a case that the game apparatus functions as a game master. More specifically, in a case that the game apparatus12functions as a player, the save processing program202grequests each of all the game apparatuses12as game masters to save data in response to occurrence of a predetermined event, according to an instruction by the player or the game end, receives the encoded game data from each of the game apparatuses12as game masters in response thereto, and stores (saves) the encoded game data being identical in the flash memory34. Furthermore, in a case that the game apparatus12functions as a game master, the save processing program202grequests the encoding server20to encode the game data if a request to save data is issued from the game apparatus12as a player, receives the encoded game data transmitted from the encoding server20in response thereto, and transmits it to the game apparatus12as a player being a source of request to save data.
Although illustration is omitted, in the program memory area202, an image displaying program, a sound output program, etc. are also stored.
As shown inFIG. 12, the data memory area204further includes a memory area for player210, a memory area for first game master212and a memory area for second game master214.
The memory area for player210is provided with an operation data buffer210aand a transmitted and received data buffer for player210b. The operation data buffer210astores operation data from the input device38. The transmitted and received data buffer for player210bstores data to be transmitted and received to and from the game apparatuses12as game masters and the matching server16.
Furthermore, in the memory area for player210, terminal list data for player210cis stored. The terminal list data for player210cis data on the terminal list as to a group in which the game apparatus12participates as a player.
Also, in the memory area for player210, a timer210dis provided. The timer210dis used to count a predetermined time (10 sec., for example) for determining whether or not a connection with the game apparatus12as a game master is disconnected.
Although illustration is omitted, in the memory area for player210, other data necessary when the game apparatus12functions as a game apparatus12as a player is stored, and other timers (counters) and flags are provided.
In the memory area for first game master212, a transmitted and received data buffer for first game master212ais provided. The transmitted and received data buffer for first game master212astores data to be transmitted and received to and from the game apparatuses12as players, the matching server16, the decoding server18and the encoding server20in a case that the game apparatus12functions as a first game master.
Furthermore, in the memory area for first game master212, terminal list data for first game master212band game data for first game master212care stored. The terminal list data for first game master212bis data on the terminal list about a group in which the game apparatus12is decided as a first game master. The game data for first game master212cis game data of each game apparatus12as a player in the group in which the game apparatus12is decided as a first game master. In this embodiment, the game apparatus12as a player is two, and thus, in the game data for first game master212c, two kinds of game data (corresponding to the aforementioned game data A and game data B) are included. This holds true for game data for second game master214cdescribed later.
Although illustration is omitted, in the memory area for first game master212, other data necessary when the game apparatus12functions as a game apparatus12as a first game master, and other timers (counters) and flags are provided.
In the memory area for second game master214, a transmitted and received data buffer for second game master214ais provided. The transmitted and received data buffer for second game master214astores data to be transmitted and received to and from the game apparatuses12as players, the matching server16, the decoding server18and the encoding server20in a case that the game apparatus12functions as a second game master.
Also, in the memory area for second game master214, terminal list data for second game master214band game data for second game master214care stored. The terminal list data for second game master214bis data on the terminal list about a group in which the game apparatus12is decided as a second game master. The game data for second game master214cis game data of each game apparatus12as a player in the group in which the game apparatus12is decided as a second game master.
Although illustration is omitted, in the memory area for second game master214, other data necessary when the game apparatus12functions as a game apparatus12as a second game master, and other timers (counters) and flags are provided.
Hereafter, the detailed processing to be executed in the game apparatus12, the matching server16, the decoding server18, and the encoding server20is described.
FIG. 13,FIG. 14andFIG. 15respectively show matching processing, authorization determining processing and addition processing by the processor of the matching server16. Each processing is executed according to a different task. The matching processing shown inFIG. 13is executed for each predetermined time (10 minutes, for example), for example, and the authorization determining processing shown inFIG. 14and the addition processing shown inFIG. 15are executed in response to a request from the game apparatus12. Accordingly, if a request from the game apparatus12is issued, the task is activated (executed) for each request.
FIG. 13is a flowchart showing one example of the matching processing by the processor of the matching server. As shown inFIG. 13, when starting the matching processing, the processor of the matching server16accepts a participation request from the game apparatus12in a step S1. Although detailed description is omitted, the participation request from the game apparatus12includes the identification information and the connection information of the game apparatus12.
In a next step S3, two game apparatuses12as players are decided (subject to matching) from the game apparatuses12from each of which the participation request is issued (may be referred to as being subject to matching in this embodiment). Succeedingly, in a step S5, three game apparatuses12as game masters are decided. In addition, in a step S7, the game apparatus12as a backup node is decided.
In a successive step S9, a terminal list is created. That is, the processor of the matching server16creates the terminal list about a group being made up of the two game apparatuses12as players decided in the step S3, the three game apparatuses12as game masters decided in the step S5, and one game apparatus12as a backup node decided in the step S7. Next, in a step S11, the terminal list is transmitted to all the decided (matched) game apparatuses12, and the matching processing is ended.
Meanwhile, when the processor of the matching server16receives a request for determination processing from the decoding server18or the encoding server20, it starts the authorization determining processing as shown inFIG. 14, and acquires identification information (player terminal information) of the game apparatus12as a player which requests to load data or transmits the encoded game data and the identification information (source of the request for decoding terminal information or source of the request for encoding terminal information) of the game apparatus12as a game master being the source of the request in a step S21. In a next step S23, it is determined whether or not an authorized decision or matching is made. That is, the processor of the matching server16determines whether or not the identification information of the game apparatus12as a player and the identification information of the game apparatus12as a game master being the source of the request that are acquired in the step S21belong to the same group, and the player and the game master are authorizedly decided, with reference to the matching data104b.
In a succeeding step S25, it is determined whether or not an authorized decision or matching is made. If “YES” in the step S25, that is, if an authorized decision or matching is made, the matching server16notifies the decoding server18or the encoding server20being the source of the inquiry that the authorized decision or matching is made in a step S27, and the authorization determining processing is ended. On the other hand, if “NO” in the step S25, that is, if an authorized decision or matching is not made, the matching server16notifies the decoding server18or the encoding server20being the source of the request that an authorized decision or matching is not made in a step S29, and the authorization determining processing is ended.
Furthermore, when the processor of the matching server16receives a request to decide a new backup node from the game apparatus12as a player, it starts the addition processing shown inFIG. 15to decide a new game apparatus12as a backup node in a step S41.
It should be noted that in the request to decide the backup node, the identification information of the game apparatus12which disconnects the connections is included as described above.
In a next step S43, the terminal list of this group is updated. As described above, with respect to the terminal list, the processor of the matching server16erases the identification information, the connection information and the kind of the game apparatus12which disconnects the connection, changes the kind of the game apparatus12as a backup node (game apparatus F) from the backup node to the game master, and adds the identification information, the connection information and kind (backup node) of the game apparatus12(game apparatus G) decided in the step S41thereto.
Then, in a step S45, the updated terminal list is transmitted to all the game apparatuses12in this group. Accordingly, in the processing by the game apparatus12described later, the terminal list is updated, and according to the updated terminal list, the game apparatuses12as players and the game apparatuses12as game masters communicate with each other to thereby advance the communication game thereafter.
FIG. 16is a flowchart showing decoding processing by the processor of the decoding server18. When receiving a request for decoding together with the encoded game data from the game apparatus12as a player, the processor of the decoding server18starts the decoding processing, and inquires of the matching server16whether the request is an authorized request in a step S61.
In a succeeding step S63, it is determined whether or not the determination result is received from the matching server16. If “NO” in the step S63, that is, if the determination result from the matching server16is not received, the process returns to the same step S63. That is, the processor of the decoding server18waits for reception of the determination result. On the other hand, if “YES” in the step S63, that is, if the determination result from the matching server16is received, it is determined whether an authorized request or not in a step S65. That is, the processor of the decoding server18determines whether or not the received determination result indicates an authorized request.
If “NO” in the step S65, that is, if the result does not indicate the authorized request, the decoding processing is ended as it is. That is, the encoded game data is not decoded, and thus, raw game data is never transmitted to the game apparatus12that is not authorizedly decided (is not authorizedly subject to matching). On the other hand, if “YES” in the step S65, that is, if the result indicates the authorized request, the encoded game data is decoded in a step S67, the game data is transmitted to the game apparatus12as a game master being a source of the request for decoding in a step S69, and then, the decoding processing is ended.
As described above, the request for decoding is transmitted from all the game apparatuses12as game masters in each group, and therefore, such the decoding processing is executed every decoding request. Accordingly, in a case that the requests for decoding are received around the same time, respective decoding process is executed in parallel.
FIG. 17is a flowchart showing encoding processing by the processor of the encoding server20. When receiving a request for encoding together with the game data from the game apparatus12as a game master, the processor of the encoding server20starts the encoding processing, and inquires of the matching server16whether or not the request is an authorized request in a step S81.
In a succeeding step S83, it is determined whether or not the determination result is received from the matching server16. If “NO” in the step S83, that is, if the determination result from the matching server16is not received, the process returns to the same step S83. That is, the processor of the encoding server20waits for reception of the determination result. On the other hand, if “YES” in the step S83, that is, if the determination result from the matching server16is received, it is determined whether an authorized request or not in a step S85. That is, the processor of the encoding server20determines whether or not the received reception result indicates an authorized request.
If “NO” in the step S85, that is, if the result does not indicate the authorized request, the encoding processing is ended as it is. That is, the game data is not encoded, and thus, the encoded game data is never transmitted to the game apparatus12that is not authorizedly decided (is not authorizedly subject to matching). On the other hand, if “YES” in the step S85, that is, if the result indicates the authorized request, the game data is encoded in a step S87, the encoded game data is transmitted to the game apparatus12as a game master being the source of the request for encoding in a step S89, and the encoding processing is ended.
As described above, the request for encoding is transmitted from all the game apparatuses12as game masters in each group, and thus, such the encoding processing is executed every request for encoding. Accordingly, if the requests for encoding are issued around the same time, respective encoding processing is executed in parallel.
FIG. 18toFIG. 20are flowcharts showing game playing processing by the CPU30of the game apparatus12as a player.FIG. 21is a flowchart showing data saving processing by the CPU30of the game apparatus12as a player.FIG. 22is a flowchart showing data loading processing by the CPU30of the game apparatus12as a game master.FIG. 23is a flowchart showing the game playing processing by the CPU30of the game apparatus12as a game master.FIG. 24is a flowchart showing addition processing by the CPU30of the game apparatus12as a game master.FIG. 25is a flowchart showing data saving processing by the CPU30of the game apparatus12as a game master.
Hereafter, the description is made on the processing by the CPU30of the game apparatus12as a player and the processing by the CPU30of the game apparatus12as a game master that are included in one group. Here, as described above, one game apparatus12functions as a player in one group, and functions as a game master or a backup node in the other two groups. Thus, focusing on one game apparatus12, each processing shown inFIG. 18toFIG. 24may be executed in the game apparatus12. Also, in a case that the game apparatus12functions as a game master in the two groups, each processing shown inFIG. 22toFIG. 25is executed with respect to each of the two groups.
It should be noted that although the illustration in detail is omitted, the game apparatus12as a player executes the data loading processing for transmitting the encoded game data to each of the game apparatuses12as game masters prior to start of the communication game (game playing).
As shown inFIG. 18, when starting the game playing processing, the CPU30of the game apparatus12as a player determines whether or not an operation input is performed in a step S101. Here, the CPU30determines whether or not the operation data is stored in the operation data buffer210a. If “NO” in the step S101, that is, if an operation input is not performed, the process proceeds to a step S117. On the other hand, if “YES” in the step S101, that is, if an operation input is performed, operation data is transmitted to each of the game apparatuses12as game masters in a step S103, and the timer210dis reset and started in a step S105.
Succeedingly, in a step S107, it is determined whether or not result data is received from all the game apparatuses12as game masters. If “NO” in the step S107, that is, if the game apparatus12as a game master from which the result data is not transmitted exists, the process proceeds to a step S119shown inFIG. 19. On the other hand, if “YES” in the step S107, that is, if the result data is received from all the game apparatuses12as game masters, the result data being identical is adopted in a step S109. Then, in a step S111, the adopted result data is reflected. That is, the CPU30advances the game by depicting game images and outputting (displaying) it to the display42, and generating game sounds and outputting it to the speaker46based on the adopted result data.
Then, in the step S117, it is determined whether or not the game is to be ended. The CPU30determines whether or not a game end instruction is input, or the game is over in the step S117. If “NO” in the step S117, that is, if the game is not to be ended, the process returns to the step S101as it is. On the other hand, if “YES” in the step S117, game playing processing is ended.
As described above, if the game apparatus12as a game master from which the result data is not transmitted exists, it is determined whether or not a predetermined time has elapsed in the step S119shown inFIG. 19. That is, the CPU30determines whether or not the count value by the timer210dis larger than a predetermined time. If “NO” in the step S119, that is, if the predetermined time has not elapsed, the process returns to the step S107shown inFIG. 18as it is. That is, the CPU30waits for reception of the result data.
On the other hand, if “YES” in the step S119, that is, if the predetermined time has elapsed, the game apparatus12from which the result data is not transmitted is detected as a disconnected game apparatus12in a step S121. In a next step S123, the disconnected game apparatus12is notified to the game apparatus12of the other player. Then, in a step S125, it is determined whether or not a disconnection notification is issued from the game apparatus12of the other player. If “NO” in the step S125, that is, if a disconnection notification is not issued from the game apparatus12of the other player, the process returns to the step S125as it is.
It should be noted that in this embodiment, if a disconnection notification is not issued from the game apparatus12of the other player, the process returns to the step S125as it is. However, if a disconnection notification is not issued even after a predetermined time (10 sec, for example) has elapsed, the game apparatus12that is disconnected may be detected accidentally, and therefore, the process may return to the step S107for receiving the result data again. Or, the game apparatus12of the other player may be disconnected, and therefore, the game playing processing may be forcibly terminated.
On the hand, if “YES” in the step S125, that is, if the disconnection notification is issued from the game apparatus12of the other player, the game apparatus12as a game master that is not disconnected is notified of promotion of the backup node in a step S127shown inFIG. 20. In a next step S129, a request to decide (perform matching on) the backup node is transmitted to the matching server16. At this time, the CPU30also transmits the identification information of the disconnected game apparatus12.
Then, in a step S131, it is determined whether or not the terminal list is received. If “NO” in the step S131, that is, if the terminal list is not received, the process returns to the same step S131. On the other hand, if “YES” in the step S131, that is, if the terminal list is received, the terminal list is updated in a step S133, and the process returns to the step S117shown inFIG. 18. In the step S133, the terminal list indicated by the terminal list data for player210cis replaced by the received terminal list.
FIG. 21is a flowchart showing the data saving processing by the CPU30of the game apparatus12as a player. In response to occurrence of a predetermined event during the game, an input of an instruction by the player during the game, or an end of the game playing processing, the data saving processing is started.
When starting the data saving processing, the CPU30of the game apparatus12as a player transmits a request to save data to each of the game apparatuses12as game masters in a step S151as shown inFIG. 21. In a next step S153, it is determined whether or not the encoded game data is received from all the game apparatuses12as game masters.
If “NO” in the step S153, that is, if the game apparatus12as a game master from which the encoded game data is not transmitted exists, the process returns to the step S153as it is. On the other hand, if “YES” in the step S153, that is, if the encoded game data is received from all the game apparatuses12as game masters, the encoded game data being identical is adopted in a step S155, the adopted encoded game data is saved in the flash memory34in a step S157, and data saving processing is ended.
It should be noted that in this embodiment if “NO” in the step S153, the same processing in the step S153is repeated as it is, but there is no need of being restricted thereto. In a case that the encoded game data is not received even after a lapse of a predetermined time, failure of saving data is notified, and the data saving processing may be forcibly terminated. Alternatively, similar to the case of the game playing, if the encoded game data is not received ever after a lapse of a predetermined time, the disconnection of the game apparatus12as a game master from which the encoded game data is not transmitted is detected, a backup node is promoted to the game master, and the data saving processing may be continued.
FIG. 22is a flowchart showing data loading processing by the CPU30of the game apparatus12as a game master. Here, the description is made on a case that the game apparatus12functions as a first game master, but this holds true for a case that the game apparatus12functions as a second game master. As to the game playing processing and the data saving processing to be described later as well, the description is made on a case that the game apparatus12functions as a first game master.
When receiving a request to load data together with the encoded game data from the game apparatus12as a player, the CPU30of the game apparatus12as a game master starts the data loading processing, and transmits the encoded game data and the request for decoding to the decoding server18in a step S171as shown inFIG. 22.
In a succeeding step S173, it is determined whether or not the game data is received. If “NO” in the step S173, that is, if the game data is not received, the process returns to the same step S173as it is. On the other hand, if “YES” in the step S173, that is, if the game data is received, the game data is stored in a step S175, and the data loading processing is ended. That is, in the step S175, the CPU30stores as game data for first game master212cthe game data stored in the transmitted and received data buffer for first game master212aprovided to the memory area for first game master212. Here, if the number of game apparatuses12as players is two, data loading processing is executed in response to a request from each of the game apparatuses12as players.
FIG. 23is a flowchart showing the game playing processing by the CPU30of the game apparatus12as a game master. When receiving operation data from all the game apparatuses12as players, the CPU30of the game apparatus12as a game master starts the game playing processing, and executes the game processing in a step S191. At this time, the parameter corresponding to the game data for first game master212cis used. Then, in a step S193, the result data is transmitted to each of the game apparatuses12as players, and the game playing processing is ended.
FIG. 24is a flowchart showing the promotion processing by the CPU30of the game apparatus12as a game master. When receiving a promotion notification of the backup node from the game apparatus12as a player, the CPU30of the game apparatus12as a game master starts the promotion processing, and transmits the game data to the game apparatus12as a backup node in a step S211. It should be noted that the game data to be transmitted here is a copy of the game data for first game master212c.
In a next step S213, it is determined whether or not the terminal list is received. If “NO” in the step S213, that is, if the terminal list is not received, the process returns to the same step S213as it is. On the other hand, if “YES” in the step S213, that is, if the terminal list is received, the terminal list is updated in a step S215, and the promotion processing is ended. In the step S215, the terminal list indicated by the terminal list data for first game master212bis replaced by the received terminal list.
FIG. 25is a flowchart showing the data saving processing by the CPU30of the game apparatus12as a game master. When receiving a request to save data from the game apparatus12as a player, the CPU30of the game apparatus12as a game master starts the data saving processing, and transmits the game data and the request for encoding to the encoding server20in a step S231.
In a next step S233, it is determined whether or not the encoded game data is received. If “NO” in the step S233, that is, if the encoded game data is not received, the process returns to the same step S233as it is. On the other hand, if “YES” in the step S233, that is, if the encoded game data is received, the encoded game data is transmitted to the game apparatus12as a player being the source of the request to save data in a step S235, and the data saving processing is ended.
According to the present embodiment, the encoded game data is saved in the game apparatus, and therefore, it is difficult to modify (tamper) the encoded game data so long as the format of the encoding, or the like is not opened. Furthermore, even if the encoded game data is modified, it cannot be decoded by the decoding server. Accordingly, the game processing by using the modified game data is hardly executed. That is, it is possible to prevent an illegal act such as modification of the game data from occurring as much as possible without managing the game data in other devices like a game server.
Furthermore, in this embodiment, a description is made on a case that game apparatuses of two players play the communication game, but there is no need of being restricted thereto. For example, one game apparatus of a single player may solely perform a game (hereinafter, referred to as “local game”). In a case that one game apparatus plays the local game, the processing is the same as that when the communication game is played as shown inFIG. 13toFIG. 25except that the matching processing in the matching server and the game processing in the game master are slightly different from each other.
More specifically, the matching server accepts a request for game playing from the game apparatus which is to play the local game in the step S1. On the other hand, the game apparatus requests the matching server to play the local game in response to an operation by the user. Then, the matching server decides this game apparatus as a game apparatus as a player in a step S3. That is, according to the matching processing, one game apparatus as a player, three game apparatuses as game masters and one game apparatus as a backup node are decided, from which a terminal list is created.
Furthermore, in the game playing processing, the CPU of the game apparatus as a game master executes the game processing according to the operation data (input data) transmitted from one game apparatus as a player by using the game data obtained by decoding the encoded game data transmitted from the game apparatus as a player in the step S191shown inFIG. 23.
Additionally, in this embodiment, the game apparatus as a game master executes the game processing by using the game data according to operation data from the game apparatus as a player, but there is no need of being restricted thereto. The game processing may be executed in other devices (machines such as a game apparatus, or the like, and computers such as a server or the like) that are able to communicate with the game apparatus as a game master. In such a case, the game apparatus as a game master transmits the operation data from the game apparatus as a player and the decoded game data to the other devices, and receives the result data of the game processing from the other devices. Thus, in a case that the game processing is executed in the other devices, the game apparatus as a game master requests the encoding server to encode the game data, transmits the encoded game data received from the encoding server to the game apparatus as a player being a source of the request to save data, transmits the operation data from the game apparatus as a player to the other devices, transmits the result data of the game processing executed in the other devices to the game apparatus as a player as described above, requests the decoding server to decode the encoded game data, and transmits the game data received from the decoding server to the other devices as described above. That is, in a case that the game processing is executed in the other devices, the game apparatus as a game master functions as a device relaying data between the game apparatuses as players, and each of the encoding server, the decoding server and the other devices.
In addition, in this embodiment, in a case that the game apparatus as a player plays the game, the game apparatus as a game master executes the game processing on the basis of the operation data (input data) transmitted from the game apparatus as a player and the game data obtained by decoding the encoded game data transmitted from the game apparatus as a player, but there is no need of being restricted thereto. For example, the game apparatus as a game master may execute the game processing on the basis of the game data obtained by decoding the encoded game data transmitted from the game apparatus as a player. To be more specific, with reference to parameters indicated by the game data obtained by decoding encoded game data transmitted from each of the game apparatuses of a plurality of players, the game apparatus as a game master outputs (displays) ranking with respect to the power of game characters, and displays images of rare game characters and names of the possessors (users).
Additionally, in this embodiment, three game apparatuses are decided as game masters, but the number of game apparatuses as game masters may be one or two. Or, if the game apparatus has a capability, four or more game apparatuses as game masters can be decided. Here, if the number of game apparatuses as game masters is one, each of the game apparatuses as players merely acquires the result data and the encoded game data from the game apparatus as a game master. Furthermore, if the number of game apparatuses as game masters is two, only when the result data and the encoded game data from these game apparatuses as game masters are equal, the game apparatus as a player adopts the result data and the encoded data. In addition, in a case that the number of game apparatuses as game masters is an even number being equal to or more than four, if the number of game apparatuses that are equal in contents of the result data and the game data and that are not equal in contents thereof is the same, the equal one may be adopted or not adopted.
Furthermore, in this embodiment, the description is made only on portable game apparatuses, but this can be applied to other kinds of portable information processing apparatuses having a communication function, such as a notebook PC, a PDA, a cellular phone, or the like. Also, this can be applied to nonportable information processing apparatuses, such as a desktop PC, a console game apparatus, or the like.
In addition, in this embodiment, the matching server, the decoding server and the encoding server are provided separately, but one or two servers having two or more functions may be provided.
Moreover, in this embodiment, encoding of the game data is performed in the encoding server, and decoding of the encoded game data is performed in the decoding server, but encoding and decoding may be performed in game apparatuses as game masters. The game apparatus of the user becomes a game master without noticing of it by the user, and therefore, even if encoding or decoding is performed in this game apparatus, the possibility of an illegal act occurring in the game apparatus becomes low.
While certain example systems, methods, storage media, devices and apparatuses have been described herein, it is to be understood that the appended claims are not to be limited to the systems, methods, storage media, devices and apparatuses disclosed, but on the contrary, are intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.
Claims
- A game system including a first game apparatus in communication with a second game apparatus, wherein the first game apparatus comprises: a memory;at least one first communications interface;and a first processing system including at least one processor, the first processing system configured to: receive, using the at least one first communication interface, encoded game data comprising game data for playing a game in the first game apparatus encoded by an encoding server different from the first game apparatus and the second game apparatus such that the encoded game data is in a format that cannot be decoded by the first game apparatus and the second game apparatus;store the encoded game data in the memory;and use the at least one first communication interface to transmit the encoded game data stored in the memory to the second game apparatus, and wherein the second game apparatus comprises: at least one -second communication interface;and a second processing system including at least one processor, the second processing system configured to, using the at least one second communication interface, (a) receive the encoded game data transmitted by the first game apparatus, (b) transmit the encoded game data received from the first game apparatus to a decoding server different from the first game apparatus and the second game apparatus, and (c) receive decoded game data from the decoding server which is configured to decode the encoded game data transmitted by the second game apparatus, wherein the decoded game data comprises the game data for playing the game in the first game apparatus.
- A game system according to claim 1 , wherein the second processing system is further configured to execute game processing on the basis of the decoded game data received using the second communication interface.
- A game system according to claim 2 , wherein the first processing system is further configured to transmit, using the first communication interface and in response to an input provided to the first game apparatus by a user, input data corresponding to the input to the second game apparatus, and wherein the second processing system is further configured to execute the game processing on the basis of the input data transmitted by the first processing system and the decoded game data received by the second processing system using the second communication interface.
- A game system according to claim 2 , wherein the second processing system is further configured to receive, using the second communication interface, encoded game data obtained by encoding the game data which is changed as a result of the game processing executed by the second processing system, to transmit the encoded game data received by the second processing system to the first game apparatus, and to store the encoded game data transmitted by the second processing system.
- A game system according to claim 4 , wherein the encoding server is in communication with at least the second game apparatus, and the second processing system is further configured to transmit using the second communication interface the game data to the encoding server, wherein the encoding server further comprises a third communication interface and wherein the encoding server is configured to encode the game data transmitted by the second processing system, and use the third communication interface to transmit encoded game data encoded by the encoding server to the second game apparatus, and wherein the second processing system is further configured to receive the encoded game data transmitted by the encoding server using the third communication interface.
- A game system according to claim 5 , further including a second decider comprising a third processing system having at least one processor, wherein the third processing system is configured to decide a group including at least the first game apparatus and the second game apparatus wherein the encoded game data is transmitted by the first communication interface, and the encoding server is further configured to encode the game data wherein a group including the first game apparatus and the second game apparatus which play the game according to the game data transmitted by the second processing system is decided by the second decider.
- A game system according to claim 5 , further including a plurality of second game apparatuses, wherein the first processing system is further configured to store in the memory one selected set of encoded game data out of a plurality of sets of encoded game data transmitted by the plurality of second game apparatuses, the plurality of second game apparatuses including the second game apparatus.
- A game system according to claim 7 , further including at least three second game apparatuses including the second game apparatus, wherein the first processing system is further configured to compare the plurality of sets of the encoded game data transmitted by the plurality of second game apparatuses, and to store in the memory the encoded game data which has a greatest number of identical sets in the plurality of sets of the encoded game data.
- A game system according to claim 1 , wherein the second processing system is further configured to, using the second communication interface, transmit to the decoding server the encoded game data transmitted by the first processing system, wherein the decoding server is configured to decode the encoded game data transmitted by the second processing system, and to transmit the game data obtained by decoding the encoded game data to the second game apparatus, and wherein the second processing system is further configured to receive the decoded game data transmitted by the decoding server.
- A game system according to claim 9 , further including a first decider comprising a third processing system having at least one processor, wherein the third processing system is configured to decide a group including at least the first game apparatus and the second game apparatus wherein the encoded game data is transmitted by the first processing system using the first communication interface, and wherein the decoding server is further configured to decode the encoded game data wherein a group including the first game apparatus and the second game apparatus which play the game according to game data corresponding to the encoded game data transmitted by the second communication interface is decided by the first decider.
- A game apparatus in communication with another game apparatus of a same type on a network, the game apparatus comprising: a memory;at least one communication interface;and a processing system including at least one processor, the processing system configured to: receive, using the at least one communication interface, encoded game data comprising game data for playing a game encoded by an encoding server different from the game apparatus and the other game apparatus such that the encoded game data is in a format that cannot be decoded by the game apparatus and the other game apparatus;store the encoded game data in the memory;transmit, using the at least one communication interface, the encoded game data stored in the memory to the other game apparatus;transmit to the other game apparatus, in response to an input by the user and using the at least one communication interface, input data corresponding to the input;and transmit to an output device result data of game processing received, using the at least one communication interface, from the other game apparatus which is configured to (a) transmit the encoded game data to a decoding server different from the first game apparatus and the second game apparatus, (b) receive decoded game data from the decoding server, wherein the decoded game data comprises game data for playing the game, and (c) perform said game processing based on the input data and the decoded game data received from a decoding server.
- A non-transitory computer readable storage medium storing a game program of a game apparatus having a memory storage which stores encoded game data obtained by encoding game data for playing a game, and being configured to communicate with another game apparatus of a same type on a network, the game program causes a computer of the game apparatus to perform operations comprising: transmitting the encoded game data stored in the memory storage to the other game apparatus, wherein the encoded game data stored in the memory storage is previously received from the other game apparatus and comprises the game data encoded by an encoding server different from the game apparatus and the other game apparatus such that the encoded game data is in a format that cannot be decoded by the game apparatus and the other game apparatus;transmitting, in response to an input by the user, input data corresponding to the input to the other game apparatus;and outputting to an output device result data of game processing performed in the other game apparatus based on the input data and decoded game data, wherein the decoded game data comprises the game data for playing the game and is obtained from a decoding server which is different from the game apparatus and the other game apparatus and which is configured to decode the encoded game data.
- A non-transitory computer readable storage medium according to claim 12 , wherein the result data is based upon the game processing by the other game apparatus.
- A game controlling method of a game apparatus having a memory storage which stores encoded game data obtained by encoding game data for playing a game, and being configured to communicate with another game apparatus of a same type on a network, a computer of the game apparatus performing the method comprising: transmitting the encoded game data stored in the memory storage to the other game apparatus, wherein the encoded game data stored in the memory storage is previously received from the other game apparatus and comprises the game data encoded by an encoding server different from the game apparatus and the other game apparatus such that the encoded game data is in a format that cannot be decoded by the game apparatus and the other game apparatus, transmitting, in response to an input by the user, input data corresponding to the input to the other game apparatus, and outputting to an output device result data of game processing performed in the other game apparatus based on the input data and decoded game data, wherein the decoded game data comprises the game data for playing the game and is obtained from a decoding server which is different from the game apparatus and the other game apparatus and which is configured to decode the encoded game data.
- A game system in which a first game apparatus, a second game apparatus and a third game apparatus configured to communicate with each other on a network are included, and a communication game is played between the first game apparatus and the second game apparatus, wherein the first game apparatus comprises: a first memory;at least one first communication interface;and a first processing system including at least one processor, the first processing system configured to: receive, using the at least one first communication interface, first encoded game data comprising first game data for playing the communication game encoded by an encoding server different from the first game apparatus and the second game apparatus such that the encoded first game data is in a format that cannot be decoded by the first game apparatus and the second game apparatus;store the encoded first game data in the first memory;and use the at least one first communication interface to transmit the first encoded game data stored in the first memory to the third game apparatus, wherein the second game apparatus comprises: a second memory;at least one second communication interface;and a second processing system including at least one processor, the second processing system being configured to: receive, using the at least one second communication interface, second encoded game data comprising second game data for playing the communication game encoded by the encoding server such that the encoded second game data is in a format that cannot be decoded by the first game apparatus and the second game apparatus, store the encoded second game data in the second memory, and use the at least one second communication interface to transmit the second encoded game data stored in the second memory to the third game apparatus, wherein the third game apparatus comprises: at least one third communication interface;and a third processing system including at least one processor, the third processing system configured to: use the at least one third communication interface to (a) receive the encoded first game data from the first game apparatus and the encoded second game data from the second game apparatus, (b) transmit the encoded first game data and the encoded second game data to a decoding server different from the first, second and third game apparatuses, and (c) receive decoded first game data and decoded second game data from the decoding server which is configured to decode the encoded first game data and the encoded second game data transmitted by the third processing system using the at least one third communication interface, wherein the decoded first game data comprises the first game data for playing the game on the first game apparatus and the decoded second game data comprises the second game data for playing the game on the second game apparatus;execute game processing on the basis of the received first game data and the received second game data;and use the at least one third communication interface to transmit result data of the game processing executed by the third processing system to the first game apparatus and the second game apparatus, and wherein each of the first processing system and the second processing system is further configured to output the result data transmitted by the third processing system to an output device.
- A game apparatus for game processing, the game apparatus comprising: a processing system;and at least one wireless communication interface, under the control of the processing system, for: receiving encoded game data from another game apparatus playing a game, wherein the encoded game data comprises game data encoded by an external encoding server different from the game apparatus and the other game apparatus such that the encoded game data is in a format that cannot be decoded by the game apparatus and the other game apparatus;transmitting the encoded game data received from the other game apparatus to an external decoding server different from the first game apparatus and the other game apparatus;and receiving decoded game data from the external decoding server which is configured to decode the encoded game data, wherein the decoded game data comprises the game data for playing the game, wherein the processing system performs game processing for the game based, at least in part, on the decoded game data comprising the game data for playing the game, and wherein the at least one wireless communication interface, under the control of the processing system, transmits game processing result data to the other game apparatus for use by the other game apparatus in generating game output.
- A game system comprising one or more first game apparatuses and one or more second game apparatuses for playing a game, wherein each first game apparatus comprises: a memory;a processing system;and at least one wireless communication interface, under the control of the processing system, for: receiving encoded game data from each second game apparatus playing the game, wherein the encoded game data comprises game data for playing the game encoded by an external encoding server different from the first game apparatuses and the second game apparatuses such that the encoded game data is in a format that cannot be decoded by the first game apparatuses and the second game apparatuses;transmitting the encoded game data received from each second game apparatus to an external decoding server different from the first game apparatuses and the second game apparatuses;and receiving decoded game data for each second game apparatus from the external decoding server which is configured to decode the encoded game data transmitted by said each first game apparatus, wherein the received decoded game data comprises the game data for playing the game, wherein the processing system of each first game apparatus performs game processing for the game based, at least in part, on the decoded game data for each second game apparatus, and wherein the at least one wireless communication interface of each first game apparatus, under the control of the respective processing system, transmits game processing result data to each second game apparatus for use by the each second game apparatus in generating game output.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.