A multiplayer game system including a plurality of game servers running a server program that performs game processing. Each game server including: a receiver that receives, from among a plurality of player terminals of the players, an operation on a character operated by a player from a player terminal connected to its own server; a processor that performs game processing for the operation; and a controller in charge of different sections within the same area under management of the game servers and that, when a character moves from one section to an adjacent section, receives, from another server in charge of the adjacent section, information on a character of a player present in the adjacent section to the one section, and performs all processing for the player corresponding to the character present in the section of which the controller is in charge on the basis of the received information.
Legal claims defining the scope of protection, as filed with the USPTO.
a plurality of game servers running a server program that performs game processing, wherein a receiver that receives, from among a plurality of player terminals of the players, an operation on a character operated by a player from a player terminal connected to its own server; a processor that performs game processing for the operation; and a controller in charge of different sections within the same area under management of the game servers and that, when a character of a player moves from one section to an adjacent section, receives, from another server in charge of the adjacent section, information on a character of a player present in the adjacent section to the one section, and performs all processing for the player corresponding to the character present in the section of which the controller is in charge on the basis of the received information. each of the game servers includes: . A game system for multiplayer games in which a considerable number of players participate, the game system comprising:
claim 1 . The game system according to, wherein each of the game servers that, when the one section overlaps with the adjacent section and a character of a player terminal of which the game server is in charge is present in an overlapping area and/or a surrounding area thereof, writes data of the character into a shared memory, refers to the shared memory to identify whether a character of a player terminal of which the other server is in charge is present in the overlapping area and/or the surrounding area thereof, reads information of the identified character, and displays the character on the game area.
a receiving step of receiving, from among a plurality of player terminals of the players, an operation on a character operated by a player from a player terminal connected to its own server; a processing step of performing game processing for the operation; and a controlling step for performing control associated with different sections within the same area under management of the game servers, the controlling step including receiving, when a character of a player moves from one section to an adjacent section, from another server in charge of the adjacent section, information on a character of a player present in the adjacent section to the one section, and performing all processing for the player corresponding to the character present in the section with which the controlling step performs associated control on the basis of the received information. . A method for distributed data processing for multiplayer games in which a considerable number of players participate, the method causing a plurality of game servers running a server program that performs game processing to perform:
a receiving function that receives, from among a plurality of player terminals of the players, an operation on a character operated by a player from a player terminal connected to its own server; a processing function that performs game processing for the operation; and a controlling function that performs control associated with different sections within the same area under management of the game servers, wherein the controlling function receives, when a character of a player moves from one section to an adjacent section, from another server in charge of the adjacent section, information on a character of a player present in the adjacent section to the one section, and performs all processing for the player corresponding to the character present in the section with which the controlling function performs associated control on the basis of the received information. . A non-transitory computer readable medium storing therein a program for distributed data processing for multiplayer games in which a considerable number of players participate, the program causing a plurality of game servers running a server program that performs game processing to embody:
Complete technical specification and implementation details from the patent document.
This application claims priority to Japanese Patent Application No. 2025-11904 filed on January 28, 2025, which is incorporated herein by reference in its entirety.
This disclosure relates to a game system, a method for distributed data processing, and a program for distributed data processing. More specifically, it relates to an online game in a server-client model over a network.
In online competitive games using network communication (such as battle royale, team battle, sports, or racing games), multiple clients (player terminals) are connected to a single server, and movements and action information of each player are synchronized with other players through the communication via the server, thereby embodying multiplayer simultaneous play among players connected to the server conventionally. In the example represented by large-scale online role-playing games (RPGs), a vast map is divided into areas and individual servers are assigned to each area, thereby distributing a considerable number of players to each area. If players wish to play with players in other areas, they can move from one area to another and gather in the same area, thereby providing an opportunity to interact with more players. Crowded areas may also have multiple servers, thereby providing parallel worlds (commonly called channels) in the same area to distribute the players.
For example, Japanese Unexamined Patent Application Publication No. 2004-57515 discloses a communication game equipment including: a main system having a main CPU, which controls execution of games by game programs; and a communication sub-system having a sub-CPU, which executes a plurality of different communication function tasks. The communication sub-system includes a shared memory accessible by the main CPU and the sub-CPU, and the communication sub-system has a resource management task function, which manages resources of the shared memory for the plurality of different communication function tasks.
Japanese Unexamined Patent Application Publication No. 2007-98162 discloses a network game system in which a plurality of characters including a plurality of player characters manipulated in correspondence to information input by users each operating one of a plurality of client devices connected to a server apparatus via a network and a plurality of computer characters whose actions are automatically manipulated. The client devices each comprise: a storage unit for storing character information including position information indicating the positions of the plurality of characters, and registering computer characters to be managed at the subject client device among the computer characters as relegated characters; an arithmetic operation unit for obtaining through arithmetic calculation updated character information indicating the extent of change occurring in the position of a relegated character and the extent of change occurring in the motion of the relegated character in correspondence to each of the relegated characters by using the character information stored at the storage unit as the game progresses; and a communication unit for transmitting the updated character information corresponding to each relegated character having been obtained through the arithmetic calculation to the server apparatus as a character information packet. The server apparatus receives the transmitted character information packet and transmits the received character information packet to other client devices participating in the game; and the other client devices receive the transmitted character information packet and store the updated character information based upon the received character information.
In addition, Japanese Unexamined Patent Application Publication No. 2007-528762 discloses a distributed data processing method by an online game server. The method includes the steps of: maintaining a zone information database for storing game map data that is divided into at least one game zone; allocating zone servers for implementing instruction processing with respect to a user character, to each of the game zones; mapping an indication area indicated on a predetermined display means, on the game map data, and identifying a game zone at which the mapped indication area is located; and connecting a predetermined client to a zone server that is allocated to the identified game zone. The step of connecting a predetermined client to a zone server that is allocated to the identified game zone includes the steps of: connecting the client to a first zone server of a first game zone at which a predetermined user character is located; defining a section of the first game zone as a buffer sector, based on a boundary with a second game zone, where the second game zone is adjacent to the first game zone; and that the indication area includes at least one section of the buffer sector, connecting the client to the second zone server.
Further, Japanese Unexamined Patent Application Publication No. 2004-097548 discloses game information for enabling a computer-like apparatus including communication means for performing data communication with various servers via a communication line to function as: an account processing means for accessing an account server to perform account processing; a network game executing means that, when the account processing is performed by the account processing means, automatically accesses a first game server to execute a first network game, and that, when an access status between the account processing means and the account server satisfies an access failure condition, automatically accesses a second game server to execute a second network game.
100 In competitive games where game processing is performed on a single server, the number of players that can play simultaneously is limited by the performance of the game server machine. For example, in battle royal games, the maximum number of participants in a single play is often around 60 to 120. The reason for this is that the computation of interaction processing such as collisions and attacks between players and the amount of communication processing between server and client increase in proportion to the number of players, and thus the number of players that can be processed by one server is physically limited. If the number of players exceeds this limit, network delays and disconnections will occur, and the real-time nature of the game will be compromised. In addition, in area-divided server configurations such as large-scale online RPGs, players are not capable of recognizing appearance with each other or engaging in interaction such as attacks between different areas or different channels, rendering cooperation or competition impossible. To increase the number of players that can be processed by a single server, game processing such as movement, attacks, collision determinations and damage computations are not performed on the server but on the client (e.g., P2P games). However, the game processing is performed on the terminal of the player, thereby facilitating hacking (cheating) the game processing. To prevent cheat damages, important and heavy load processes such as collision detection need to be performed on the server, and as a result, the number of players that can participate simultaneously depends on the processing power of the server. As a result, large-number-player games that are resistant to cheating (i.e., highly tamper-resistant) and exceed the size of aboutplayers have problems in that they are physically unfeasible with conventional technology. Even when multiple game servers are used to process games, for example, in JP 2007-528762 A above, the area (game zone) of which each server is in charge needs to overlap with the adjacent area to some extent, increasing the capacity needed by the server or the number of needed servers.
It could therefore be helpful to provide a game system, a method for distributed data processing, and a program for distributed data processing that enable a greater number of players to participate simultaneously with tamper resistance and real-time performance of the game being maintained in comparison to conventional online games, allowing interaction between players connected to different servers, which has been impossible in conventional online games having an area-divided server configuration.
Disclosed herein is:
A game system according to a first aspect is directed to a game system for multiplayer games in which a considerable number of players participate. The game system includes: a plurality of game servers running a server program that performs game processing. Each of the game servers includes: a receiver that receives, from among a plurality of player terminals of the players, an operation on a character operated by a player from a player terminal connected to its own server; a processor that performs game processing for the operation; and a controller in charge of different sections within the same area under management of the game servers and that, when a character of a player moves from one section to an adjacent section, receives, from another server in charge of the adjacent section, information on a character of a player present in the adjacent section to the one section, and performs all processing for the player corresponding to the character present in the section of which the controller is in charge on the basis of the received information.
In a second aspect, in the game system according to the first aspect, each of the game servers that may, when the one section overlaps with the adjacent section and a character of a player terminal connected to its own server is present in an overlapping area and/or a surrounding area thereof, write data of the character into a shared memory, refer to the shared memory to identify whether a character of a player terminal connected to the other server is present in the overlapping area and/or the surrounding area thereof, read information of the identified character, and display the character on the game area.
A method for distributed data processing according to a third aspect is directed to a method for distributed data processing for multiplayer games in which a considerable number of players participate. The method causes a plurality of game servers running a server program that performs game processing to perform: a receiving step of receiving, from among a plurality of player terminals of the players, an operation on a character operated by a player from a player terminal connected to its own server; a processing step of performing game processing for the operation; and a controlling step for performing control associated with different sections within the same area under management of the game servers, the controlling step including receiving, when a character of a player moves from one section to an adjacent section, from another server in charge of the adjacent section, information on a character of a player present in the adjacent section to the one section, and performing all processing for the player corresponding to the character present in the section with which the controlling step performs associated control on the basis of the received information.
A program for distributed data processing according to a fourth aspect is directed to a program for distributed data processing for multiplayer games in which a considerable number of players participate. The program causes a plurality of game servers with server programs running for game processing to embody: a receiving function that receives, from among a plurality of player terminals of the players, an operation on a character operated by a player from a player terminal connected to its own server; a processing function that performs game processing for the operation; and a controlling function that performs control associated with different sections within the same area under management of the game servers, wherein the controlling function receives, when a character of a player moves from one section to an adjacent section, from another server in charge of the adjacent section, information on a character of a player present in the adjacent section to the one section, and performs all processing for the player corresponding to the character present in the section with which the controlling function performs associated control on the basis of the received information.
The game system, method for distributed data processing, and program for distributed data processing according to the present disclosure enable a greater number of players to participate simultaneously with tamper resistance and real-time performance of the game being maintained in comparison to conventional online games, allowing interaction between players connected to different servers, which has been impossible in conventional online games having an area-divided server configuration.
Features, advantages, and technical and industrial significance of exemplary embodiments of the disclosure will be described below with reference to the accompanying drawings, in which like numerals denote like elements.
1 800 700 800 800 800 800 Our game system, a method for distributed data processing, and a program for distributed data processing are characterized in that they use shared memory. Specifically, when a character of a player connected to its own server moves into an overlapping area and/or a surrounding area thereof, that is, within a memory sharing start setting distance, a game server processwrites information of the character of the player into a shared memory. Information on characters within a certain distance from an area adjacent to the area where the character of the player connected to its own server is located can also be written into the shared memory. A certain distance may be set for each of the characters. For example, a huge character such as a dragon needs to be visible from a distance, and thus the distance to be written into the shared memorymay be set longer. It is written into the shared memoryeven if it is far away from the adjacent area and is visible from a distance of the adjacent area.
700 800 An object of this embodiment is to allow interaction between players connected to different servers, which has been impossible in conventional online games with an area-divided server configuration. An advantageous effect of this embodiment is in allowing players connected to different areas or channels to meet, cooperate, and play against each other in real time through shared memory, which has been impossible in existing area-divided online games. It also increases the number of players that can simultaneously interact with each other in comparison to the conventional one-process-one-game configuration. Further, the number of players that can interact with each other increases as the number of cores of the server machine increases, thus solving the existing problem of trade-off between the amount of server processing needed to maintain tamper resistance and the number of players that can participate in the game. JP 2007-528762 A described above discloses a step of connecting the first zone server of the first game zone to the client and a step of defining a part of the first game zone as a buffer sector on the basis of the boundary with the second game zone. In contrast, a shared memory is used to handle the boundary. Specifically, this embodiment differs from the disclosure of JP 2007-528762 A in that the game server processwrites information on the character of a player connected to its own server into the shared memorywhen the character of the player moves to the overlapping area and/or the surrounding area thereof. In addition, in JP 2007-528762 A, when the user character enters the overlapping area and/or the surrounding area thereof, the user is connected to the adjacent server, and thus the processing load increases due to the process of switching the connected server each time the user moves in the overlapping area and/or the surrounding area thereof. However, the configuration is capable of limiting the increase in processing load.
1 FIG. 1 FIG. 1 1 With reference to, a configuration of the game systemaccording to an embodiment will be described.shows a schematic diagram illustrating an example of the configuration of the game system.
300 200 300 600 600 300 200 1 1 100 200 300 600 101 10 101 10 201 200 200 300 600 300 1 FIG. The game system is directed to a game system, which is executable on an information terminal (which may be, but is not limited to, a personal computer, tablet terminal, smartphone, or dedicated game machine), where the information terminal of each of multiple players is connected to the corresponding game servervia a communication network, allowing the players to play the game simultaneously. The game serversmay be mounted within the server machineand run by the server machine. Each of the game serversand the information terminal owned by each player are connected via a communication network, for example, to enable bidirectional communication. The game systemmay be a server-client type game system. As shown in, the game systemincludes player terminals, a communication network, game servers, and a server machine. A plurality of player terminals such astoN form a group, and each player terminaltoN in the group is connected to one communication networkand transmits and receives information to and from the communication network. The communication networkis connected to each of the game serversin the server machineand transmits and receives information to and from each of the game servers.
2 FIG. 2 FIG. 3 FIG. 600 700 800 200 1 600 700 800 200 1 600 700 900 710 720 730 710 720 730 800 1 700 701 70 700 710 711 71 720 721 72 710 720 200 200 730 800 800 800 With reference to, the relationship among the server machine, multiple game server processes, shared memory, and communication networkof the game systemwill be described.illustrates the relationship among the server machine, multiple game server processes, shared memory, and communication networkof the game system. The server machinehas several game server processesrunning, and each process is assigned an area of a play field. Each process includes a game processor, a communication unit, and a shared memory manager. The game processorperforms game processing such as game progression, character movement, and collision computations; the communication unitconnects to the communication network and communicates with the player terminals; and the shared memory managerprovides reading/writing functions from/to the shared memory. For example, the game systemis executed in a virtual space, the play field. As an example, a play field is configured by multiple areas divided in any size and number as shown in. In principle, the player character can move to any area in the play field in accordance with the instructions of the player. The game server processesare provided as a plurality of processestoN, and for each game server process, the game controllersare provided as a plurality of game controllerstoN, and the communication unitsare provided as a plurality of communication unitstoN. The game controllerperforms processing of a character of the player connected to its own server, receives information of a character of the player connected to another server, and causes a player terminal connected to its own server to display the character of the player of the player terminal connected to the other server. The communication unitcommunicates with the communication networkand transmits and receives information to and from the communication network. The shared memory managercommunicates with the shared memoryand manages what has been written to the shared memory. The shared memoryis directed to an interprocess communication technique, and a way to exchange data among multiple game servers running simultaneously. One process creates an area in memory that can be accessed by other processes. A process is directed to a processing.
3 FIG. 3 FIG. 3 FIG. 4 FIG. 700 900 1 700 900 1 700 900 900 700 700 With reference to, the relationship between the game server processand the play fieldof the game systemwill be described.is a diagram illustrating the relationship between the game server processand the play fieldof the game system. As shown in, each game server processcreates one corresponding area. This one area is one of the divisions of the play field. The play fieldextends across areas. A character of the player connected to one game server processis present on the area created by the game server process. A character of the player can move across areas. Areas have some overlap. The method in JP 2007-528762 A described above includes the steps of connecting the client to the first zone server of the first game zone and defining a section of the first game zone as a buffer sector, based on a boundary with a second game zone. In contrast, this embodiment differs from the method in JP 2007-528762 A in that it uses shared memory to perform the boundary processing as shown inbelow.
4 FIG. 4 FIG. 300 1 300 1 300 10 20 40 With reference to, the functions of each of the game serversof the game systemwill be described.shows a block diagram illustrating the functions of each of the game serversin the game system. Each of the game serversincludes a receiver, a processor, and a controller.
10 The receiverreceives from among a plurality of player terminals of a plurality of users, inputs from the player terminal connected to its own server, including operations on a character operated by the user, text or voice of chat, and also inputs other than operations for the character, such as scene transitions and stage progress. The operations on a character are directed to, for example, moving the character forward, rearward, to the right, or to the left.
20 10 The processorperforms game processing for the operations. The game processing is directed to moving the character in accordance with the operations received by the receiver.
40 40 The controllerperforms processing of a character of the player connected to its own server, receives information of a character of the player connected to another server, and causes a player terminal connected to its own server to display the character of the player connected to the other server. In addition, with respect to the game, each player terminal is running the basic program of the game, which may be embodied in a form in that the player terminal is communicated information by the controllerabout where, by whom, and what characters are present and doing, and the game program of the player terminal refers to the communicated information and displays it on the map on the game program.
5 FIG. 5 FIG. 5 FIG. 1 1 2 1 800 300 1 800 1 2 1 200 2 With reference to, where areas of player terminals in the game systemare overlapped will be described.shows a diagram illustrating where areas of the player terminals in the game systemare overlapped. As shown in, each of multiple areas has a boundary with its adjacent area that partially overlaps. The game server of areawrites character information (such as character ID, appearance and motion information, and position coordinates) of characters located in the overlapping area with the adjacent areaand/or in the surrounding area thereof into the shared memory, and each of the game serversin charge of the adjacent areareads the character information from the shared memoryand performs interaction processing with characters in its own server. The players connected to the areaare capable of receiving character information in the areaduplicated on the areavia the communication networkand reflecting the character information originally in the areaon the screen.
700 800 2 800 When a character of the player connected to its own server moves to an overlapping area in the area, the game server processwrites information on the character to the shared memory. If the character is present in the overlapping area or in the area controlled by the own server, the in-game processing of the character is performed. If the character moves from the overlapping area to another area, the in-game processing of the character is transferred to the other game server process in charge of the other area, and the own server terminates the in-game processing of the character. The information on the character in the areacan be written into the shared memory, thereby allowing players controlling characters in other areas to see the character.
6 FIG. 6 FIG. 6 FIG. 300 1 800 300 1 800 300 300 300 301 30 330 300 330 800 330 With reference to, the processing of each of the multiple game serversof the game systemaccording to the present embodiment for the shared memorywill be described.shows a diagram illustrating the processing of each of the multiple game serversof the game systemfor the shared memory. As shown in, multiple player terminals are each connected to one of the multiple game servers. Each of the multiple player terminals communicates with the respective one of multiple game servers(game servers 301 to 30N). This allows the characters of the players in the game to interact with each other. Each of the game servers(game serverstoN) includes a CPU, and the CPU includes a CPU core. The game serveruses this CPU coreto access memory in the shared memory. The CPU corecorresponds to a core where the CPU performs its processing operations.
7 FIG. 7 FIG. With reference to, the program for data distributed processing will be described along with the method for data distributed processing.shows an example of a flowchart of the method for distributed data processing.
300 1 The method for distributed data processing is executed by each of the game serversof the game systemon the basis of the program for distributed data processing.
110 120 140 The program for distributed data processing includes a receiving step S, a processing step S, and a controlling step S.
300 1 7 FIG. The program for distributed data processing causes each of the game serversin the game systemto perform receiving, processing, and controlling functions. These functions are performed in the order shown in the flowchart in, but the order may be swapped as appropriate.
110 The receiving function receives from among a plurality of player terminals of a plurality of players, an operation on a character operated by the player from the player terminal connected to its own server (step S: receiving step).
120 The processing function performs game processing for the operation (step S: processing step).
140 The controlling function performs processing of a character of the player connected to its own server, receives information of a character of the player connected to another server, and causes a player terminal connected to its own server to display the character of the player of the player terminal connected to the other server (step S: controlling function).
8 FIG. 140 140 141 142 143 141 710 710 143 710 Next,is referred to, which illustrates the details about the controlling step Sof the method for distributed data processing. The controlling step Sincludes character information receiving step S, character information writing step S, and player processing step S. In the character information receiving step S, the game controllerchecks itself for information on the character of the player in the adjacent section. The game controlleraccesses the shared memory corresponding to the overlapping area of the area of which the server is in charge, and if character information is written to the shared memory, reads this character information and performs the display process of the virtual character. In the player processing step S, the game controllerhandles all the processings of the players corresponding to the characters in the section of which its own server is in charge.
1 Next, functions and circuitry of the game systemdescribed above will be described.
300 300 The functional units of each of the game serversmay be embodied as functions of a computer arithmetic processor, for example. Each of the game serversmay be embodied as a receiving function, a processing function, and a controlling function, respectively, by a computer arithmetic processor, for example.
The program for data distributed processing is capable of causing a computer to embody the functions described above. The program for data distributed processing may be recorded on a non-transitory computer-readable storage medium such as a memory, solid state drive, hard disk drive, or optical disk, for example. The storage medium may be rephrased as a non-transitory computer readable medium that stores, for example, a program for data distributed processing. The program for data distributed processing may also be transmitted online.
300 1 The computer arithmetic processor, for example, described above may be configured by, for example, an integrated circuit. Each of the game serversof the game systemmay be embodied as a receiving circuit, a processing circuit, and a controlling circuit configuring a computer arithmetic processor, for example.
1 This disclosure is not limited to the game system, method for distributed data processing, and program for distributed data processing according to the example above, but may be implemented by various other variations or applications if they do not depart from the amended claims. In the example described above, the word “information” is used, but the word “information” can be rephrased as “data” and the word “data” can be rephrased as “information.”
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
January 13, 2026
August 6, 2026
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.