Game system, game system control method, server and storage medium
By introducing the client terminal's action control mechanism for non-player characters in the MMORPG game system, the problem of real-time display of non-player characters in MMORPG is solved, and the smoothness of the game experience is improved.
Patent Information
- Application Number
- CN201980048275.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-07-19
- Filing Date
- 2019-07-17
- Publication Date
- 2024-12-31
- Estimated Expiration
- 2039-07-17
AI Technical Summary
In MMORPG, when a player character performs actions on a non-player character, due to the communication delay between the client and the server, the response display of the non-player character is reduced in real time, which cannot be effectively solved.
By introducing a collaborative control mechanism between the server and the client terminal in the game system, non-player characters allow the client terminal to perform action control on them when they are set as target objects, reducing the real-time communication needs with the server and improving the real-time display of responses sex.
It effectively improves the real-time display of action responses between player characters and non-player characters, alleviates real-time problems in MMORPG, and ensures the smoothness of the game experience.
Smart Images

Figure CN112437689B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a game system, a game system control method, a server and a program. Background Art
[0002] Patent document 1 discloses a client-server network game system. Specifically, Patent document 1 discloses a game screen switching method, in which, when an ally character and an enemy character are in contact with each other, characters existing within a predetermined range from the contact position are displayed together on a player terminal that is operating the relevant characters.
[0003] Prior art literature
[0004] Patent Literature
[0005] Patent Document 1: Japanese Patent Application Laid-Open No. 2002-292139 Summary of the invention
[0006] Problem that the invention aims to solve
[0007] MMORPG (Massive Multiplayer Online Role Playing Game) is a known client-server online game. According to MMORPG, a large-scale game is realized, wherein as long as the server is running, the large-scale game can continue, and a large number of players can participate in the large-scale game. However, the inventors have found that there are the following problems with using MMORPG.
[0008] In MMORPG, there are player characters whose actions are controlled based on player (user) input, and non-player characters whose actions are controlled by a computer. Action control refers to the determination of action content (for example, attack or movement), etc.
[0009] The action control of the non-player character is performed by the server. The server sends information indicating the action content of the non-player character to the client terminal. The client terminal changes the display content of the non-player character on the local terminal based on the information received from the server.
[0010] In addition, each client terminal performs motion control on each player character based on player input. In addition, each client terminal sends information representing the motion content of the player character to the server, and changes the display content of the player character on the local terminal based on the motion control performed on the local terminal.
[0011] As described above, in conventional MMORPGs, the entities that perform action control for non-player characters and player characters are different, respectively. Therefore, there is a problem that in a scene where a player character performs a specific action on a non-player character and the non-player character responds to the action, such as a battle scene, the real-time performance of displaying the response of the non-player character is reduced.
[0012] For example, in the case where the client terminal has accepted a player input for a player character to attack a non-player character, the client terminal displays a screen indicating the attack, and simultaneously sends information indicating the content of the action (attack) of the player character to the server. After receiving the information, the server determines the content of the action of the non-player character in response to the action, and sends the content of the action to the client terminal. In addition, based on the information received from the server, the client terminal displays a screen indicating the action of the non-player character. That is, a screen indicating the response of the non-player character to the attack of the player character is displayed.
[0013] In this case, due to the above-mentioned communication between the client terminal and the server, a time lag occurs between the time when the player character's attack on the non-player character is displayed on the client terminal and the time when the non-player character's response to the attack is displayed on the client terminal, which reduces the real-time display of the non-player character's response. Patent document 1 does not disclose any means for solving this problem.
[0014] The present invention solves the problem of alleviating the above-mentioned real-time problems that may occur in MMORPGs.
[0015] Solutions for solving problems
[0016] The present invention provides:
[0017] A game system, comprising a server and a client terminal,
[0018] Wherein, the server includes:
[0019] a first NPC action control unit, configured to control the action of the non-player object and send first NPC action information indicating the action content of the non-player object to the client terminal;
[0020] a management unit for managing a first parameter value in association with the non-player object and each player object of the plurality of player objects;
[0021] a target object setting unit, configured to set a target object based on the first parameter value, the target object being a target for the non-player object to perform a predetermined action; and
[0022] a notification unit for issuing a notification for permitting control of the action of the non-player object to the client terminal controlling the action of the player object set as the target object, and
[0023] Wherein, the client terminal includes:
[0024] A second NPC action control unit is used to control the action of the non-player object based on the notification.
[0025] In addition, the present invention provides:
[0026] A control method for a game system, the game system comprising a server and a client terminal,
[0027] The server executes:
[0028] a first NPC action control step for controlling the action of the non-player object and sending first NPC action information indicating the action content of the non-player object to the client terminal;
[0029] a parameter value management step for managing a first parameter value in association with the non-player object and each of the plurality of player objects;
[0030] a target object setting step, for setting a target object based on the first parameter value, the target object being a target for the non-player object to perform a predetermined action; and
[0031] a notification step for issuing a notification for permitting control of the action of the non-player object to the client terminal that controls the action of the player object set as the target object, and
[0032] Wherein, the client terminal executes:
[0033] A second NPC action control step is used to control the action of the non-player object based on the notification.
[0034] In addition, the present invention provides:
[0035] A server in a game system, the game system comprising the server and a client terminal,
[0036] The server comprises:
[0037] a first NPC action control unit, configured to control the action of the non-player object and send first NPC action information indicating the action content of the non-player object to the client terminal;
[0038] a management unit for managing a first parameter value in association with the non-player object and each player object of the plurality of player objects;
[0039] a target object setting unit, configured to set a target object based on the first parameter value, the target object being a target for the non-player object to perform a predetermined action; and
[0040] A notification unit for issuing a notification for permitting the action control of the non-player object to the client terminal that controls the action of the player object set as the target object.
[0041] In addition, the present invention provides:
[0042] A program for causing a game system including a server and a client terminal to function as:
[0043] a first NPC action control component, used to control the action of the non-player object and send first NPC action information indicating the action content of the non-player object to the client terminal;
[0044] a parameter value management component for managing a first parameter value in association with the non-player object and each of the plurality of player objects;
[0045] a target object setting component, configured to set a target object based on the first parameter value, the target object being a target for the non-player object to perform a predetermined action; and
[0046] A notification means for issuing a notification for permitting the control of the action of the non-player object to the client terminal controlling the action of the player object set as the target object.
[0047] Effects of the Invention
[0048] According to the present invention, the above-mentioned real-time problem that may occur in MMORPG can be alleviated. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] The above objects, other objects, features and advantages will be further clarified through the preferred embodiments described below and the following drawings accompanying the preferred embodiments.
[0050] Figure 1 1 is a diagram for explaining an overview of a game system 1 according to the present embodiment.
[0051] Figure 2 is a diagram showing an example of a virtual world implemented by the game system 1 according to the present embodiment.
[0052] Figure 3 is a diagram showing an example of the hardware configuration of the server 10 and the client terminal 20 in the present embodiment.
[0053] Figure 4is a diagram showing an example of functional blocks of the server 10 in the present embodiment.
[0054] Figure 5 An example of information managed by the server 10 in the present embodiment is schematically shown.
[0055] Figure 6 An example of information managed by the server 10 in the present embodiment is schematically shown.
[0056] Figure 7 It is a diagram for explaining the process of setting a target object by the server 10 in this embodiment.
[0057] Figure 8 It is a diagram for explaining the process of setting a target object by the server 10 in this embodiment.
[0058] Fig. 9 It is a diagram for explaining the flow of processing executed by the server 10 in this embodiment.
[0059] Fig.10 It is a flowchart for explaining the flow of processing executed by the server 10 in this embodiment.
[0060] Fig.11 It is a flowchart for explaining the flow of processing executed by the server 10 in this embodiment.
[0061] Fig.12 It is a flowchart for explaining the flow of processing executed by the server 10 in this embodiment.
[0062] Fig.13 : is a diagram showing an example of functional blocks of the client terminal 20 in the present embodiment.
[0063] Fig.14 It is a diagram for explaining the flow of processing executed by the server 10 in this embodiment.
[0064] Fig.15 It is a flowchart for explaining the flow of processing executed by the server 10 in this embodiment.
[0065] Fig.16 It is a flowchart for explaining the flow of processing executed by the server 10 in this embodiment.
[0066] Fig.17 It is a flowchart for explaining the flow of processing executed by the server 10 in this embodiment.
[0067] Fig.18 It is a flowchart for explaining the flow of processing executed by the server 10 in this embodiment. DETAILED DESCRIPTION
[0068] <First Embodiment>
[0069] "Overview of Game System 1"
[0070] First, we will use Figure 1 1 is used to illustrate the overview of the game system 1 according to the present embodiment. As shown in the figure, the game system 1 includes a server 10 and a plurality of client terminals 20. It should be noted that the server 10 may be composed of a plurality of physically and / or logically separated servers, or a single physically and logically separated server. Examples of the client terminal 20 include, but are not limited to, a personal computer, a smart phone, a tablet device, a mobile phone, and a game console. The server 10 and the client terminal 20 can communicate with each other via a communication network (e.g., the Internet).
[0071] The game system 1 implements a client-server online game, especially an MMORPG. The server 10 executes a predetermined program to implement a virtual world of the game. Figure 2 An example of a virtual world realized by the game system 1 is shown.
[0072] In this virtual world, there appear player characters (player objects) that perform motion control based on player input and non-player characters (non-player objects) that perform motion control by computers. In the figure, PCs are player characters, and NPCs are non-player characters. In addition, although not shown, there may appear characters that are companions of the player characters and that perform motion control by computers of the client terminal 20 or the server 10.
[0073] The player logs in to the server 10 via his or her own client terminal 20 and performs a predetermined input to the client terminal 20 to control the action of his or her own player character. For example, the player makes his or her own player character move in the virtual world or fight with other characters.
[0074] “Overview of features used to mitigate the above real-time issues”
[0075] Next, the features provided in the game system 1 to alleviate the above-mentioned real-time problem will be briefly described. In the game system 1, the actions of the non-player characters are controlled by both the computer on the server 10 side and the computer on the client terminal 20 side. The game system 1 is different from a conventional MMORPG in this respect, in which only the computer on the server 10 side performs the action control of the non-player characters. The specific content of the action control includes the selection of whether to move or attack, the determination of the movement destination, and the selection of the attack skill.
[0076] The non-player character has a state in which a target (other character) for executing a predetermined action (e.g., attack) has been set, and a state in which the target has not been set. When a predetermined condition is satisfied in the state in which a target for executing a predetermined action has been set, the non-player character executes the predetermined action on the target. On the other hand, in the state in which a target for executing a predetermined action has not been set, the non-player character does not execute the predetermined action on the player character. In this case, the non-player character can execute an action for setting a target for executing a predetermined action, such as moving or searching.
[0077] In a state where a target on which a predetermined action is to be performed is not set, or in a case where another non-player character is set as a target on which a predetermined action is to be performed, the computer on the server 10 side performs action control on the non-player character.
[0078] On the other hand, in the case where a player character is set as a target to perform a predetermined action, the client terminal 20 that performs action control on the player character performs action control on the non-player character.
[0079] As a result, with the player character set as a target for which a predetermined action is to be performed, the single client terminal 20 performs action control on both the player character and the non-player character for which the player character is set as a target for the predetermined action.
[0080] For example, in Figure 2 The player character settings shown as Figure 2 When the non-player character shown is about to perform a predetermined action, Figure 2 The client terminal 20 shown in the figure performs action control on the player character Figure 2 The non-player character shown performs the motion control.
[0081] In this case, when the client terminal 20 has accepted the input of the player character attacking the non-player character, the client terminal 20 displays a screen showing the attack while determining the content of the action to be taken by the attacked non-player character. Thereafter, based on the determined content, the client terminal 20 displays a screen showing the action of the non-player character. That is, a screen showing the response of the non-player character to the attack of the player character is displayed.
[0082] As described above, in the case where a single client terminal 20 performs action control on both a player character and a non-player character for which a predetermined action is set, the action content of the non-player character can be determined without performing communication between the server 10 and the client terminal 20. Therefore, the real-time performance of the display of the response of the non-player character to the action of the player character is improved.
[0083] "Configuration of Server 10"
[0084] The configuration of the server 10 is described in detail below. First, an example of the hardware configuration of the server 10 will be described. The various functional units provided in the server 10 in this embodiment are implemented by any combination of hardware and software, which mainly involve the CPU (central processing unit) of any computer, memory, programs loaded into the memory, storage units such as hard disks for storing programs (which can store programs stored before the device leaves the factory, and programs stored on storage media such as CDs (compressed disks) or downloaded from servers on the Internet), and network connection interfaces. In addition, those skilled in the art will understand that there are various variations of methods and devices for implementing functional units.
[0085] Figure 3 1 is a block diagram showing an example of the hardware configuration of the server 10 in this embodiment. Figure 3 As shown, the server 10 includes a processor 1A, a memory 2A, an input / output interface 3A, a peripheral circuit 4A and a bus 5A. The peripheral circuit 4A includes various modules. The server 10 does not need to include the peripheral circuit 4A. It should be noted that the server 10 can be composed of multiple physically and / or logically separated devices. In this case, each device can be provided with the above-mentioned hardware configuration.
[0086] The bus 5A is a data transmission path that allows the processor 1A, the memory 2A, the peripheral circuit 4A and the input / output interface 3A to send and receive data to each other. The processor 1A is a computing processing device, such as a CPU or a GPU (graphics processing unit). The memory 2A is a memory such as a RAM (random access memory) or a ROM (read-only memory). The input / output interface 3A includes: an interface for obtaining information from an input device, an external device, an external server, an external sensor, etc.; and an interface for outputting information to an output device, an external device, an external server, etc. The input device is, for example, a keyboard, a mouse or a microphone. The output device is, for example, a display, a speaker, a printer or a mail transceiver. The processor 1A can issue instructions to each module and perform calculations based on the calculation results of the module.
[0087] Next, the functional configuration of the server 10 will be described. Figure 4 An exemplary functional block diagram of the server 10 is shown. As shown in the figure, the server 10 includes a first NPC action control unit 11, a communication unit 12, a management unit 13, a notification unit 14, a target object setting unit 15, and a relay unit 16.
[0088] The communication unit 12 communicates with each of the plurality of client terminals 20 via a network such as the Internet.
[0089] For example, the communication unit 12 transmits information (first NPC action information) indicating the action content of the non-player character whose action control has been performed by the server 10 to the client terminal 20 .
[0090] Furthermore, for example, the communication unit 12 receives, from each client terminal 20 , information (PC action information) indicating the content of an action of a player character for which the client terminal 20 has performed action control based on a player input.
[0091] Furthermore, for example, the communication unit 12 transmits the PC operation information received from each client terminal 20 to other client terminals 20 .
[0092] Furthermore, the communication unit 12 receives, from each client terminal 20 , information indicating the content of an action of a non-player character whose action control has been performed by the client terminal 20 (second NPC action information).
[0093] Furthermore, for example, the communication unit 12 transmits the second NPC action information received from each client terminal 20 to other client terminals 20 .
[0094] Note that the communication unit 12 may send other information to each client terminal 20 , and may receive other information from each client terminal 20 .
[0095] The management unit 13 manages various game-related information. "Management" means storage and update.
[0096] For example, the management unit 13 manages parameter values of each player character. Figure 5 An example of parameter values of each player character managed by the management unit 13 is shown. In the example shown, for each player character, the ID (PCID), current health value (HP), current level, current amount of currency, and current position in the game virtual world are recorded in a mutually associated manner. The management unit 13 can update the parameter values of each player character based on the action content of the player character represented by the PC action information, the action content of the non-player character represented by the first NPC action information, and the action content of the non-player character represented by the second NPC action information.
[0097] Furthermore, the management unit 13 manages parameter values of the respective non-player characters. Figure 6An example of parameter values of each non-player character managed by the management unit 13 is shown. In the example shown, for each non-player character, an ID (NPCID), current health value (HP), current level, current position in the game virtual world, hatred value (first parameter value), and target object currently set as a target for performing a predetermined action are recorded in a manner associated with each other. The management unit 13 can update the parameter values of each non-player character based on the action content of the player character represented by the PC action information, the action content of the non-player character represented by the first NPC action information, the action content of the non-player character represented by the second NPC action information, etc.
[0098] Now, the hatred value will be described. The "hatred value" is a value indicating the current state (degree of hostility) of a non-player character with respect to other characters. "Other characters" refer to the player character, characters associated with the player character, and the like. The character associated with the player character is a companion of the player character and is controlled by the computer on the server 10 side or the computer on the client terminal 20 side.
[0099] Typically, a player who plays a role called a "tank" takes an action that actively increases hatred to attract attacks on himself so that the enemy (non-player character) will not attack the ally character, thereby protecting the ally. The health value, defense ability, avoidance ability, etc. of the "tank" character are usually set to high. Players who play roles such as "attacker" and "healer" attack the enemy or help the ally recover, while taking actions to avoid increasing the hatred value, minimizing the chance of being attacked by the enemy. Compared with the "tank" character, roles such as "attacker" and "healer" usually set health value, defense ability, avoidance ability, etc. to low.
[0100] like Figure 6 As shown, the management unit 13 manages the hatred value in association with the non-player character and each of the plurality of player characters. In addition, the management unit 13 may manage the hatred value in association with the non-player character and each of the plurality of other non-player characters.
[0101] The management unit 13 may update the hatred value based on the action content of other characters, etc. For example, when other characters have performed a predetermined action (such as attack) on a non-player character, the management unit 13 may update the hatred value representing the state of the non-player character with respect to the other characters.
[0102] It is possible to set special effects on increasing or decreasing the hatred value for various actions taken by the character. For example, it can be set in advance so that the first action increases the hatred value by Q1, the second action increases the hatred value by Q2, the third action decreases the hatred value by Q3, and so on.
[0103] In addition, the amount of increase or decrease in the hatred value can be determined based on the results of the action that has been performed. For example, in the case where the character attacks a non-player character, the amount of increase in the hatred value can be determined based on the amount of damage caused by the attack. In this case, the amount of increase in the hatred value will increase as the damage inflicted increases.
[0104] In addition, in addition to attacking non-player characters, actions to increase the hatred value may also include actions to assist characters participating in a battle with non-player characters. Although the specific content of the assistance varies depending on the game, examples thereof include restoring health, using items, and enabling skills.
[0105] In addition, the hatred value may gradually decrease over time. In this case, if a character does not attack a non-player character for a long time, the hatred value of the non-player character for the character gradually decreases.
[0106] Next, a description will be given of target objects managed by the management unit 13. A "target object" is a character set as a target for a non-player character to perform a predetermined action (eg, attack). A player object or other non-player characters is set as a target object.
[0107] exist Figure 6 In the example, for the non-player character "NPCID: NPC000001", the player character "PCID: PC000001" is set as the target object. For the non-player character "NPCID: NPC00002", no target object is set. In this way, the non-player character has a state where the target object is set and a state where the target object is not set.
[0108] The information indicating whether the target object is set is used as status information indicating whether the client terminal 20 is in a state where it is permitted to control the actions of the non-player character. In the case where the target object is set, the client terminal 20 is in a state where it is permitted to control the actions of the non-player character in this state. On the other hand, in the case where the target object is not set, the client terminal 20 is not permitted to control the actions of the non-player character in this state. Figure 6 In the case of the example of , the client terminal 20 is permitted to control the action of the non-player character of "NPCID: NPC00001". On the other hand, the client terminal 20 is not permitted to control the action of the non-player character of "NPCID: NPC00002".
[0109] Snap-in 13 based on Figure 4 The setting in the target object setting unit 15 shown updates the value in the target object column for each non-player character.
[0110] The target object setting unit 15 sets a target object for each non-player character based on the hatred value of the non-player character. The "hatred value of each non-player character" refers to the hatred value of the current state of the non-player character for other characters. The hatred value of each non-player character may include hatred values for multiple other characters, that is, multiple hatred values.
[0111] The target object setting unit 15 sets other characters satisfying the setting conditions defined based on the hatred value as target objects for the respective non-player characters. Although examples of the setting conditions will be described below, the setting conditions are not limited to these examples.
[0112] As an example, the target object setting unit 15 may set other characters with the largest hatred value of the first non-player character as the target object of the first non-player character. For example, assuming that the hatred value of the first non-player character is as follows:
[0113] First other character: 0.6
[0114] Second other role: 0.8
[0115] Third other role: 0.4
[0116] Fourth other role: 0.9
[0117] In this case, the target object setting unit 15 may set the fourth other character whose hatred value of the first non-player character is the largest as the target object of the first non-player character.
[0118] As another example, the target object setting unit 15 may set other characters satisfying setting conditions defined based on the relative position relationship with respect to the position of each non-player character and the hatred value of the non-player character as the target object of the non-player character.
[0119] Specifically, the target object setting unit 15 may set other characters whose distance from the first non-player character is within the reference value L and whose hatred value for the first non-player character is the largest among other characters satisfying the position condition as the target object of the first non-player character.
[0120] For example, suppose the first non-player character and the other characters have Figure 7 The position relationship is shown, and the hatred value of the first non-player character is as follows. Figure 7 , N1 is the first non-player character, and C1 to C4 are the first to fourth other characters, respectively.
[0121] First other character: 0.6
[0122] Second other role: 0.8
[0123] Third other role: 0.4
[0124] Fourth other role: 0.9
[0125] In this case, the target object setting unit 15 may set the second other character whose hatred value for the first non-player character is the largest among the first to third other characters whose distances from the first non-player character are within the reference value L as the target object of the first non-player character.
[0126] According to this example, it is sufficient to compare the magnitude of the hatred value only for the characters that meet the position conditions, so there is no need to compare the magnitude of the hatred value for all the characters in the game. This reduces the processing load of the computer.
[0127] Alternatively, the target object setting unit 15 may set, as the target object of the first non-player character, another character whose distance relative to the first non-player character is within the reference value L, whose predetermined obstacle does not exist between the first non-player character and whose hatred value for the first non-player character is the largest among the other characters satisfying the position condition.
[0128] For example, suppose the first non-player character and the other characters have Figure 8 The position relationship is shown, and the hatred value of the first non-player character is as follows. Figure 8 , N1 is the first non-player character, C1 to C4 are the first to fourth other characters, respectively, and W is a wall (predetermined obstacle).
[0129] First other character: 0.6
[0130] Second other role: 0.8
[0131] Third other role: 0.4
[0132] Fourth other role: 0.9
[0133] In this case, the target object setting unit 15 can set the first other character whose hatred value for the first non-player character is the largest among the first and third other characters whose distance relative to the first non-player character is within the reference value L and for which there is no predetermined obstacle between the first non-player character and the first non-player character as the target object of the first non-player character.
[0134] For example, by determining whether there is any predetermined obstacle on a straight line interconnecting the first non-player character with the other characters, it may be determined whether there is any predetermined obstacle between the first non-player character and the other characters.
[0135] According to this example, it is sufficient to compare the magnitude of the hatred value only for the characters that meet the position conditions, so there is no need to compare the magnitude of the hatred value for all characters in the game. This reduces the processing load of the computer. In addition, this example has the gameplay that the player character can avoid becoming the target of attack by the non-player character by hiding behind obstacles, which enhances the fun of the game.
[0136] Return to reference Figure 4 , the first NPC action control unit 11 performs action control on the non-player character, and sends the first NPC action information indicating the action content of the non-player character to the client terminal 20. The action control content includes the selection of whether to move or attack, the determination of the moving destination, and the selection of the attack skill. The action content indicated by the first NPC action information includes the type of action (movement, attack, etc.), the moving direction, the action distance, and the selected attack skill.
[0137] The first NPC action control unit 11 grasps whether the client terminal 20 is in a state where the client terminal 20 is permitted to control actions of each non-player character based on the information (the above-mentioned state information) managed by the management unit 13 , and executes processing according to the state.
[0138] In a case where the target object is not set, that is, in a case where the client terminal 20 is not permitted to control the action of the non-player character, the first NPC action control unit 11 performs action control on the non-player character.
[0139] On the other hand, when the target object has been set, that is, when the client terminal 20 is allowed to control the action of the non-player character, in principle, the first NPC action control unit 11 does not control the action of the non-player character. In this case, in principle, one of the client terminals 20 performs action control on the non-player character.
[0140] Note that even in the case where the client terminal 20 is permitted to control the actions of the non-player character, the first NPC action control unit 11 can control the actions of the non-player character when a predetermined condition is satisfied. In this case, both the server 10 and the client terminal 20 control the actions of a single non-player character. By pre-specifying that the action control performed by the server 10 is prioritized in this case, the game can be played without causing any problems.
[0141] The notification unit 14 issues a notification for permitting the motion control of the non-player character to the client terminal 20 that performs motion control on the player character set as the target object of the non-player character. An example of this notification will be described below.
[0142] For example, whenever a target object of a non-player character is newly set, the notification unit 14 may issue a notification to that effect to a plurality of client terminals 20 (e.g., all client terminals 20). The content of the notification includes information identifying the non-player character and information identifying a character set that is a target object of the non-player character.
[0143] Each client terminal 20 can identify whether the player character that performs action control by itself has been set as the target object by judging whether the target object represented by the notification is consistent with the player character that performs action control by itself. Afterwards, when it is identified that the player character that performs action control by itself has been set as the target object, the client terminal 20 can start to control the action of the non-player character represented by the notification accordingly. The content of action control includes the selection of movement or attack, the determination of the movement destination, and the selection of the attack technique.
[0144] In the case of this example, for the client terminal 20 that performs motion control on the non-player character, the notification indicating that the target object of the non-player character is newly set serves as notification for permitting motion control of the non-player character set as the target object.
[0145] In addition, immediately after the target object of the non-player character is set, that is, immediately after the subject that performs the motion control of the non-player character is changed (for example, from the server 10 to the client terminal 20), it is possible that the real-time performance of the motion of the non-player character displayed on the client terminal 20 that does not control the motion of the non-player character becomes low due to the change. In order to overcome this disadvantage, immediately after the target object of the non-player character is set, each of the plurality of client terminals 20 can control the movement of the non-player character. This is used to improve the real-time performance of the game even immediately after the target object is set. It should be noted that, as will be described below, in the state where the target object of the non-player character is set, the movement of the non-player character basically occurs in the direction close to the target object. Therefore, even if each of the plurality of client terminals 20 controls the movement of the non-player character, there is basically no difference in the control content, and even if there is a difference, the difference is small.
[0146] For example, a client terminal 20 whose target object indicated by the notification is not consistent with the player character that performs action control, that is, a client terminal 20 whose player character that performs action control is not set as the target object (hereinafter referred to as a "non-set client terminal 20"), can control the movement of the non-player character indicated by the notification according to the notification, so that the non-player character indicated by the notification approaches the target object (player character) indicated by the notification. After controlling the movement of the non-player character according to the notification, each non-set client terminal 20 changes the display content of the non-player character based on the second NPC action information received from the server 10.
[0147] It should be noted that in the case where each of the multiple client terminals 20 controls the movement of a non-player character, an inconsistency (even a slight inconsistency) may occur in the control content. In order to resolve the inconsistency, each non-setup client terminal 20, after receiving the second NPC action information indicating the content of the action control performed on the non-player character by the client terminal 20 that performs action control on the target object (hereinafter referred to as the "setup client terminal 20"), can check whether there is any inconsistency between the content of the action control performed on the non-player character by itself and the content of the action control performed on the non-player character by the setup client terminal 20, and can control the movement of the non-player character to correct any inconsistency that has occurred. Each non-setup client terminal 20 assumes that the action content of the non-player character represented by the received second NPC action information is true, and controls the movement of the non-player character according to the action content, that is, so that the non-player character is positioned at a certain position after the movement represented by the second NPC action information is performed.
[0148] It should be noted that, as described above, although there may be inconsistencies between the content of action control performed by each non-setup client terminal 20 and the content of action control performed by the setup client terminal 20, since the inconsistency only occurs on the non-setup client terminal 20, this is unlikely to cause problems with the game as a whole.
[0149] The relay unit 16 receives second NPC action information indicating the content of the action of the non-player character from the client terminal 20 that performs action control on the non-player character via the communication unit 12. Then, the relay unit 16 transmits the second NPC action information to other client terminals 20.
[0150] Next, an example of the processing flow of the server 10 will be described. Fig. 9 An example of the outline of the processing performed by the server 10 is described below. The server 10 repeatedly performs the following processing for each non-player character: Fig. 9 Here, the following description will be made assuming that the first non-player character is the object of the process. Fig. 9 The process in .
[0151] In S1, the server 10 determines whether a target object of the first non-player character is set. In the case where a target object is set ("Yes" in S1), the server 10 determines whether the set target object is a player character or a non-player character (S2).
[0152] In the case where the target object is a player character (PC in S2), the relay unit 16 performs relay processing (S3). On the other hand, in the case where the target object is a non-player character (NPC in S2), the first NPC action control unit 11 performs action control on the first non-player character (S4). Here, for example, an action (e.g., attack or approach) on the target object is performed.
[0153] When the target object is not set (No in S1), the first NPC action control unit 11 performs action control on the first non-player character (S5). Here, for example, an action for setting a target object (eg, moving or searching) is performed.
[0154] Next, we will use Fig.10 The flowchart in the figure is used to describe the operation performed by the server 10 without setting the target object. Fig. 9 An example of the processing flow of the action control in S5 in .
[0155] In S10, the first NPC motion control unit 11 determines the movement content (movement direction, movement distance, etc.) of the first non-player character. The method of determining the movement content is a design matter. Then, the notification unit 14 sends a notification of the determined movement content to the client terminal 20.
[0156] Then, the target object setting unit 15 searches for other characters that meet the setting conditions at the moved position (S11). For example, the target object setting unit 15 searches for other characters whose distance from the first non-player character is within the reference value L and whose hatred value for the first non-player character is the largest among other characters that meet the position conditions. As another example, a field of view area of the non-player character is set, and a character whose hatred value for the first non-player character is the largest among the characters in the area is searched.
[0157] If there is a character that satisfies the setting condition (Yes in S12), the target object setting unit 15 sets the character as the target object of the first non-player character (S13). Then, the notification unit 14 notifies the client terminal 20 to that effect (S13).
[0158] On the other hand, in the case where there is no role satisfying the setting condition (NO in S12), the process is terminated.
[0159] Next, we will use Fig.11 The flowchart in FIG. 1 is used to describe the operation executed by the server 10 when the player object is set as the target object. Fig. 9 An example of the relay process flow in S3.
[0160] The relay unit 16 receives second NPC action information indicating the action content of the first non-player character from the client terminal 20 that performs action control on the player character set as the target object (S20). Then, the relay unit 16 transmits the second NPC action information to other client terminals 20 (S21).
[0161] Upon receiving the second NPC action information (S20), the server 10 updates the management data (life value, etc.) associated with the non-player character based on the received second NPC action information. The client terminal 20 is also notified of the management data associated with the non-player character, and for the purpose of fraud prevention, the data at the server 10 is always considered to be authentic.
[0162] Next, we will use Fig.12 The flowchart in FIG. 1 is used to describe the process executed by the server 10 when a non-player object is set as a target object. Fig. 9 An example of the action control processing flow in S4 in FIG.
[0163] In S30 , the first NPC motion control unit 11 determines whether the distance between the first non-player character and the target object is less than or equal to a reference value.
[0164] When the distance is less than or equal to the reference value ("Yes" in S30), the first NPC action control unit 11 determines the attack to be performed on the target object and the content of the attack (e.g., attack skill) (S31). Then, the notification unit 14 issues a notification of the determined attack content to the client terminal 20 (S31).
[0165] On the other hand, if the distance is greater than the reference value (No in S30), the first NPC action control unit 11 determines the target object to be approached and the content of the approach (moving direction, moving distance, etc.) (S32). Then, the notification unit 14 issues a notification of the determined approach content to the client terminal 20 (S32).
[0166] "Configuration of client terminal 20"
[0167] The configuration of the client terminal 20 will be described in detail below. First, an example of the hardware configuration of the client terminal 20 will be described. The various functional units provided in the various client terminals 20 in this embodiment are implemented by any combination of hardware and software, which mainly involve the CPU of any computer, memory, programs loaded into the memory, storage units such as hard disks for storing programs (which can store programs stored before the storage device leaves the factory, as well as programs stored on storage media such as CDs or downloaded from servers on the Internet, etc.), and network connection interfaces. In addition, those skilled in the art will understand that there are various variations on the methods and devices for implementing the functional units. Similarly to the server 10, Figure 3 An example of the hardware configuration of each client terminal 20 is shown in FIG.
[0168] Next, the functional configuration of the client terminal 20 will be described. Fig.13 2 is a block diagram showing an exemplary function of each client terminal 20. As shown in the figure, the client terminal 20 includes a communication unit 21, a PC action control unit 22, a second NPC action control unit 23, a display control unit 25, and a display unit 26.
[0169] The communication unit 21 communicates with the server 10 via a network such as the Internet.
[0170] For example, the communication unit 21 transmits information (PC motion information) indicating the content of the motion of the player character whose motion control is performed by the client terminal 20 based on the player input to the server 10 .
[0171] Furthermore, for example, the communication unit 21 transmits information (second NPC action information) indicating the action content of the non-player character whose action control is performed by the client terminal 20 to the server 10 .
[0172] Furthermore, for example, the communication unit 21 receives information (first NPC action information) indicating the action content of the non-player character whose action control is performed by the server 10 from the server 10 .
[0173] Furthermore, the communication unit 21 receives information (PC action information) indicating the action content of the player character whose action control is performed by another client terminal 20 from the server 10 .
[0174] Furthermore, for example, the communication unit 21 receives information (second NPC action information) indicating the action content of the non-player character whose action control is performed by the other client terminal 20 from the server 10 .
[0175] It should be noted that the communication unit 21 may send other information to the server 10 , and may receive other information from the server 10 .
[0176] The PC action control unit 22 performs action control on the player character based on the player input, and sends PC action information indicating the action content of the player character to the server 10. The action control content includes the selection of whether to move or attack, the determination of the moving destination, and the selection of the attack skill. The action content indicated by the PC action information includes the action type (movement, attack, etc.), the moving direction, the moving distance, and the selected attack skill.
[0177] The second NPC action control unit 23 manages information indicating whether the local client terminal 20 is in a state where it is permitted to control the action of the non-player character based on the notification from the server 10. As described above, the notification unit 14 of the server 10 issues a notification for permitting the execution of action control of the non-player character to the client terminal 20 that performs action control on the player character set as the target object of the non-player character. The second NPC action control unit 23 manages information indicating whether the local client terminal 20 is in a state where it is permitted to control the action of the non-player character based on the notification from the server 10.
[0178] Then, when the local client terminal 20 is in a state where it is permitted to control the actions of the non-player character, the second NPC action control unit 23 performs action control on the non-player character. Fig. 9 The actions in S4 in control the same process, for example, Fig.12 Then, the second NPC action control unit 23 sends the second NPC action information indicating the action content of the non-player character that has performed the action control to the server 10. The action content indicated by the second NPC action information includes the type of action (movement, attack, etc.), movement direction, movement distance and selected attack skill.
[0179] The display control unit 25 updates the information displayed on the display unit (display) 26 based on the PC action information, the first NPC action information, the second NPC action information, etc. For example, the position of the character is moved, or information indicating a predetermined action (such as attack) performed by the character is displayed.
[0180] "Effects"
[0181] According to the game system 1 based on the above-described embodiment, the actions of non-player characters can be controlled by the computer on the client terminal 20 side. By making the computer on the client terminal 20 side control the actions of both the player character and the non-player character, the real-time display of the mutual response of the actions performed between the player character and the non-player character is improved.
[0182] Note that, since there are a plurality of client terminals 20, the real-time problem will not be alleviated unless control is performed so that the appropriate client terminal 20 controls the action of the appropriate non-player character. For example, when a first player character is engaged in a battle with a first non-player character, the real-time problem will not be alleviated even if the client terminal 20 that performs action control on the second player character performs action control on the first non-player character.
[0183] This problem can also be alleviated by using the game system 1 according to this embodiment. In the game system 1 according to this embodiment, the action of the non-player character is controlled by the client terminal 20 that performs action control on the player character, wherein the non-player character is set as a target to perform a predetermined action (e.g., attack). That is, the action of the non-player character is controlled by the client terminal 20 that performs action control on the player character that has been set as the target object and thus becomes possible to take a predetermined action (e.g., attack) with the non-player character. According to the game system 1 based on the above-mentioned embodiment, the appropriate client terminal 20 controls the action of the appropriate non-player character, so as to alleviate the problem of real-time performance.
[0184] Furthermore, in the game system 1 according to the present embodiment, in the case where the client terminal 20 performs action control on a non-player character, information (second NPC action information) indicating the action content of the non-player character for which the client terminal 20 has performed action control can be transmitted to other client terminals 20 via the server 10. Therefore, even if the configuration is such that the client terminal 20 performs action control on the non-player character, the game can be run at all the client terminals 20 without causing a problem.
[0185] "Variation"
[0186] Here, a modified example of the game system 1 according to the present embodiment will be described. In the above example, the hatred value is used as the first parameter value, and the target object setting unit 15 sets the target object of the non-player character based on the hatred value. In the modified example, other parameter values may be used as the first parameter value, and the target object setting unit 15 may set the target object of the non-player character based on the other parameter values.
[0187] For example, life value, level or money amount etc. may be used as the first parameter value. In addition, the target object setting unit 15 may set the character with the highest or lowest life value, level or money amount as the target object of the non-player character among other characters within the reference value L relative to the non-player character.
[0188] Alternatively, the target object setting unit 15 may set the character with the highest or lowest health value, level, or currency amount as the target object of the non-player character among other characters whose distance to the non-player character is within the reference value L and between which no predetermined obstacle exists.
[0189] According to these modified examples, it is possible to achieve the same operational effects as those of the game system 1 according to the embodiment.
[0190] <Second Embodiment>
[0191] "summary"
[0192] The game system 1 according to the present embodiment is different from the game system 1 according to the first embodiment in that, when the client terminal 20 is performing motion control on a non-player character, the server 10 monitors a predetermined state and performs control according to the state to change the subject that performs motion control on the non-player character to another subject. The other configurations are the same as those in the first embodiment. The game system 1 according to the present embodiment will be described in detail below.
[0193] "Configuration of Server 10"
[0194] The example of the hardware configuration of the server 10 is the same as that in the first embodiment.
[0195] As in the first embodiment, Figure 4 , an exemplary functional block diagram of the server 10 is shown. As shown in the figure, the server 10 includes a first NPC action control unit 11, a communication unit 12, a management unit 13, a notification unit 14, a target object setting unit 15, and a relay unit 16. The first NPC action control unit 11, the communication unit 12, the management unit 13, the notification unit 14, and the relay unit 16 are configured to be the same as in the first embodiment.
[0196] As in the first embodiment, the target object setting unit 15 sets the target object of each non-player character based on the first parameter value of the non-player character. Specifically, the target object setting unit 15 searches for other characters that meet the setting conditions defined based on the first parameter value, and sets the other characters that meet the setting conditions as the target object. As described above in the context of the first embodiment, for example, the setting condition is "the distance relative to the first non-player character is within the reference value L, and the first parameter value is the largest (or smallest) among the other characters that meet the position condition."
[0197] Then, even when the target object is set for the first non-player character, the target object setting unit 15 repeatedly searches for other characters associated with the first non-player character that meet the setting conditions. Then, the target object setting unit 15 performs processing according to the search results. The processing of the target object setting unit 15 will be described below for various cases.
[0198] - Situation 1 -
[0199] For example, when a first player character is set as a target object of a first non-player character, if it is determined that the first player character no longer satisfies a setting condition and a second player character becomes to satisfy the setting condition, the target object setting unit 15 releases the first player character from the target object of the first non-player character and sets the second player character as the target object of the first non-player character.
[0200] As the game progresses, the hatred value of the first non-player character, the positional relationship between the first non-player character and other characters, etc. may change. According to this change, the first player character may no longer meet the set conditions and the second player character may meet the set conditions.
[0201] According to the above release and setting, the notification unit 14 sends a notification for allowing the motion control of the first non-player character to the client terminal 20 that performs motion control on the second player character. In addition, the notification unit 14 sends a notification of not allowing the motion control of the first non-player character to the client terminal 20 that performs motion control on the first player character.
[0202] For example, the notification unit 14 issues a notification indicating that the second player character has been set as a target object for the first non-player character to the plurality of client terminals 20. The content of the notification includes information identifying the first non-player character and information identifying the target object for the first non-player character.
[0203] The client terminal 20 that performs action control on the second player character recognizes that the second player character that it performs action control on has been set as the target object of the first non-player character by determining whether the target object represented by the notification is consistent with the second player character that it performs action control on, and can start action control on the first non-player character accordingly.
[0204] In addition, the client terminal 20 that performs action control on the first player character recognizes that the first player character that it performs action control on is not set as the target object of the first non-player character by determining whether the target object represented by the notification is consistent with the first player character that it performs action control on, and can terminate the action control on the first non-player character accordingly.
[0205] In the case of this example, for the client terminal 20 that performs action control on the player character set as the target object, the notification that the target object of the non-player character has been newly set is used as a notification for permitting action control on the non-player character, and for the other client terminals 20, the notification is used as a notification for not permitting action control on the non-player character.
[0206] - Situation 2 -
[0207] For example, when the first player character is set as the target object of the first non-player character, if it is determined that the first player character no longer satisfies the setting condition and another second non-player character becomes to satisfy the setting condition, the target object setting unit 15 releases the first player character from the target object of the first non-player character and sets the second non-player character as the target object of the first non-player character. Based on the release and setting, the first NPC action control unit 11 starts action control of the first non-player character.
[0208] According to the above release and setting, the notification unit 14 issues a notification for not permitting the motion control of the first non-player character to the client terminal 20 that performs motion control on the first player character.
[0209] For example, the notification unit 14 issues a notification indicating that the second non-player character has been set as a target object of the first non-player character to the plurality of client terminals 20. The content of the notification includes information identifying the first non-player character and information identifying the target object of the first non-player character.
[0210] The client terminal 20 that performs action control on the first player character determines whether the target object represented by the notification is consistent with the first player character that it performs action control on, so as to recognize that the first player character that it performs action control on is not set as the target object of the first non-player character, and can terminate the action control of the first non-player character accordingly.
[0211] In the case of this example, the notification that a target object of a non-player character is newly set serves as a notification that the action control of the non-player character is not permitted.
[0212] Next, we will use Fig.14 An example of the outline of the processing performed by the server 10 is described below. The server 10 repeatedly performs the following processing for each non-player character: Fig.14 Here, the following description will be made assuming that the first non-player character is the object of the process. Fig.14 The process in .
[0213] In S1, the server 10 determines whether a target object of the first non-player character has been set. If a target object has been set ("Yes" in S1), the server 10 determines whether the set target object is a player character or a non-player character (S2).
[0214] In the case where the target object is a player character (PC in S2), the relay unit 16 performs relay processing (S3). In addition, the target object setting unit 15 performs a status check and the like (S3).
[0215] On the other hand, when the target object is a non-player character (NPC in S2), the first NPC action control unit 11 performs action control on the first non-player character (S4). Here, for example, an action (e.g., attack or approach) is performed on the target object.
[0216] When the target object is not set (No in S1), the first NPC action control unit 11 performs action control on the first non-player character (S5). Here, for example, an action for setting a target object (eg, moving or searching) is performed.
[0217] The examples of the relay processing in S3, the action control in S4, and the action control in S5 are the same as those in the first embodiment.
[0218] Next, we will use Fig.15 The flowchart in FIG. 1 describes the process performed by the server 10 when the player character is set as the target object. Fig.14 Flow of an example of status check processing in S3.
[0219] First, the target object setting unit 15 searches for other characters that meet the setting conditions (S40). For example, the target object setting unit 15 searches for other characters whose distance from the first non-player character is within the reference value L and whose first parameter value is the largest (or smallest) among other characters that meet the position conditions.
[0220] When there is a role satisfying the setting condition (Yes in S41 ), the target object setting unit 15 determines whether the newly searched role is consistent with the currently set target object ( S42 ).
[0221] If these characters are consistent with each other ("Yes" in S42), the process is terminated. On the other hand, if these characters are inconsistent with each other ("No" in S42), the target object setting unit 15 sets the newly searched character as the target object of the first non-player character (S43). Then, the notification unit 14 notifies the client terminal 20 of this fact (S43). Due to the setting in S43, the character that has been set as the target object of the first non-player character is released from the target object of the first non-player character.
[0222] On the other hand, if there is no character that meets the setting condition (No in S41), the target object setting unit 15 cancels the currently set target object (S44). Then, the notification unit 14 notifies the client terminal 20 of this fact (S44). In the state caused by the cancellation in S44, the target object of the first non-player character is not set.
[0223] "Configuration of client terminal 20"
[0224] An example of the hardware configuration of the client terminal 20 is the same as that in the first embodiment.
[0225] As in the first embodiment, Fig.13 2 shows an example of a functional block diagram of each client terminal 20. As shown in the figure, the client terminal 20 includes a communication unit 21, a PC action control unit 22, a second NPC action control unit 23, a display control unit 25, and a display unit 26. The communication unit 21, the PC action control unit 22, the display control unit 25, and the display unit 26 are configured the same as in the first embodiment.
[0226] As described in the context of the first embodiment, the second NPC action control unit 23 manages information indicating whether the local client terminal 20 is in a state where it is permitted to perform action control on a non-player character based on a notification from the server 10 .
[0227] It should be noted that, in addition to the notification for permitting the action control of the non-player character, each client terminal 20 in this embodiment can also receive a notification for not permitting the action control of the non-player character. Based on these notifications, the second NPC action control unit 23 manages information indicating whether the local client terminal 20 is in a state where the action control of the non-player character is permitted.
[0228] "Effects"
[0229] According to the game system 1 based on the above-mentioned embodiment, the same operational effects as those of the first embodiment can be achieved.
[0230] Furthermore, in the game system 1 according to the present embodiment, even after a character is set as a target object of a non-player character, the target object can be changed to another character according to a change in state as the game progresses. Therefore, a rich and varied game can be realized so that the situation continuously changes as the game progresses. Furthermore, in the game system 1 according to the present embodiment, when the target object is changed, the subject that performs action control on the non-player character can be changed accordingly. Therefore, the problem of real-time performance can be alleviated while realizing a rich and varied game.
[0231] <Third Embodiment>
[0232] "summary"
[0233] As in the second embodiment, the game system 1 according to the present embodiment is different from the game system 1 according to the first embodiment in that, when the client terminal 20 is performing motion control on a non-player character, the server 10 monitors a predetermined state and performs control according to the state to change the subject that performs motion control on the non-player character to another subject. The other configurations are the same as those in the first embodiment. The game system 1 according to the present embodiment will be described in detail below.
[0234] "Configuration of Server 10"
[0235] An example of the hardware configuration of the server 10 is the same as that in the first embodiment or the second embodiment.
[0236] As in the first and second embodiments, Figure 4 , an exemplary functional block diagram of the server 10 is shown. As shown in the figure, the server 10 includes a first NPC action control unit 11, a communication unit 12, a management unit 13, a notification unit 14, a target object setting unit 15, and a relay unit 16. The first NPC action control unit 11, the communication unit 12, the notification unit 14, the target object setting unit 15, and the relay unit 16 are configured to be the same as in the first embodiment or the second embodiment.
[0237] In a state where the client terminal 20 is permitted to perform action control on the first non-player character, the management unit 13 monitors whether the second parameter value of the player character set as the target object of the first non-player character satisfies the numerical condition. The second parameter value is, for example, "life value", and the numerical condition is, for example, "life value is zero". When the life value becomes zero, the game ends.
[0238] Then, when the second parameter value of the player character set as the target object of the first non-player character satisfies the numerical condition, the management unit 13 releases the player character from the target object of the first non-player character. In the state caused by the release, the target object of the first non-player character is not set. As a result, the state becomes a state in which the client terminal 20 is not permitted to perform action control on the first non-player character.
[0239] According to the release, the first NPC action control unit 11 starts to perform action control on the first non-player character. In addition, the notification unit 14 may issue a notification to the plurality of client terminals 20 indicating that the target object of the first non-player character has not been set.
[0240] In addition to the functions described here, the management unit 13 may also have at least a part of the functions described in the context of the first embodiment and the second embodiment, for example, all of the functions.
[0241] As in the second embodiment, the server 10 in this embodiment repeatedly executes Fig.14 The example of the relay processing in S3, the action control in S4, and the action control in S5 is the same as that in the first embodiment.
[0242] Next, we will use Fig.16 The flowchart in FIG. 1 describes the process performed by the server 10 when the first player character is set as the target object of the first non-player character. Fig.14 An example flow of the S3 status check process.
[0243] First, the management unit 13 determines whether the life value of the player character set as the target object of the first non-player character satisfies the numerical condition (the life value is zero) (S50).
[0244] When the numerical condition is satisfied (Yes in S50), the management unit 13 releases the player character from the target object of the first non-player character (S51). In the state caused by the release in S51, the target object of the first non-player character is not set.
[0245] On the other hand, when the numerical condition is not satisfied (No in S50 ), the process is terminated.
[0246] Please note that Fig.14 In addition to the S3 status check process, Fig.16 In addition to the above processing described in the flowchart of the second embodiment, it is also possible to perform the following steps in the context of the second embodiment by using Fig.15 The above process is described by the flowchart.
[0247] "Configuration of client terminal 20"
[0248] The hardware configuration and functional configuration of the client terminal 20 are the same as those in the first embodiment or the second embodiment.
[0249] Note that, when the health value of the player character set as the target object meets the numerical condition (health value is zero), the game ends. Therefore, the PC action control unit 22 terminates the action control of the player character, and the second NPC action control unit 23 terminates the action control of the non-player character.
[0250] "Effects"
[0251] According to the game system 1 based on the above-described embodiment, the same operational effects as those of the first embodiment and the second embodiment can be achieved.
[0252] Furthermore, with the game system 1 according to the present embodiment, the state of the player character for which the action control is performed by the client terminal 20 for performing the action control on the non-player character can be monitored, and when the termination of the game is detected, the subject for performing the action control on the non-player character can be switched to the server 10. Therefore, even if a situation occurs in which the player character set as the target object leaves the game due to the end of the game of the player character, the subject for performing the action control on the non-player character can be quickly changed to the server 10, which enables the game to proceed smoothly.
[0253] <Fourth Embodiment>
[0254] "summary"
[0255] As with the second and third embodiments, the game system 1 according to the present embodiment is different from the game system 1 according to the first embodiment in that, when the client terminal 20 is performing motion control on a non-player character, the server 10 monitors a predetermined state and performs control according to the state to change the subject that performs motion control on the non-player character to another subject. The other configurations are the same as those in the first embodiment. The game system 1 according to the present embodiment will be described in detail below.
[0256] "Configuration of Server 10"
[0257] An example of the hardware configuration of the server 10 is the same as that of one of the first to third embodiments.
[0258] As with the first to third embodiments, Figure 4 , an exemplary functional block diagram of the server 10 is shown. As shown in the figure, the server 10 includes a first NPC action control unit 11, a communication unit 12, a management unit 13, a notification unit 14, a target object setting unit 15, and a relay unit 16. The first NPC action control unit 11, the communication unit 12, the notification unit 14, the target object setting unit 15, and the relay unit 16 are configured to be the same as one of the first to third embodiments.
[0259] In a state where the first player character is set as a target object of the first non-player character and the client terminal 20 that performs motion control on the first player character is permitted to perform motion control on the first non-player character, the management unit 13 monitors whether the communication between the client terminal 20 and the server 10 is disconnected.
[0260] Then, when the communication disconnection is detected, the management unit 13 releases the first player character from the target object of the first non-player character. In the state caused by the release, the target object of the first non-player character is not set. As a result, the state becomes a state in which the client terminal 20 is not allowed to perform action control on the first non-player character.
[0261] According to the release, the first NPC action control unit 11 starts to perform action control on the first non-player character. In addition, the notification unit 14 may issue a notification to the plurality of client terminals 20 indicating that the target object of the first non-player character has not been set.
[0262] In addition to the functions described here, the management unit 13 may also have at least a part of the functions described in the context of the first to third embodiments, for example, all of the functions.
[0263] As in the second and third embodiments, the server 10 in this embodiment repeatedly executes Fig.14 The example of the relay processing in S3, the action control in S4, and the action control in S5 is the same as that in the first embodiment.
[0264] Next, we will use Fig.17 The flowchart in FIG. 1 describes the process performed by the server 10 when the first player character is set as the target object of the first non-player character. Fig.14 An example flow of the S3 status check process.
[0265] First, the management unit 13 determines whether the communication between the client terminal 20 that performs motion control on the first player character set as the target object of the first non-player character and the server 10 is disconnected (S60). The determination method is not particularly limited, and the determination can be achieved by using any technology.
[0266] In the case of disconnection of communication (Yes in S60), the management unit 13 releases the first player character from the target object of the first non-player character (S61). In the state caused by the release in S61, the target object of the first non-player character is not set.
[0267] On the other hand, when the communication is not disconnected (No in S60 ), the process is terminated.
[0268] Please note that Fig.14 In addition to the S3 status check process, Fig.17 In addition to the above processing described in the flowchart in the second embodiment, it is also possible to perform the following steps in the context of the second embodiment by using Fig.15 The above processing described in the flowchart in FIG. 1 and in the context of the third embodiment by using Fig.16 At least one of the above processes described by the flowchart in .
[0269] "Configuration of client terminal 20"
[0270] The hardware configuration and functional configuration of the client terminal 20 are the same as those of one of the first to third embodiments.
[0271] "Effects"
[0272] According to the game system 1 based on the above-described embodiment, the same operational effects as those of the first to third embodiments can be achieved.
[0273] Furthermore, with the game system 1 according to the present embodiment, it is possible to monitor the communication status between the client terminal 20 that performs motion control on the non-player character and the server 10, and when a disconnection in communication is detected, the subject that performs motion control on the non-player character is quickly switched to the server 10. Therefore, even in the case where the communication between the client terminal 20 that performs motion control on the non-player character and the server 10 is disconnected, the game can be smoothly performed.
[0274] <Fifth Embodiment>
[0275] "summary"
[0276] As with the second to fourth embodiments, the game system 1 according to the present embodiment is different from the game system 1 according to the first embodiment in that, when the client terminal 20 is performing motion control on a non-player character, the server 10 monitors a predetermined state and performs control according to the state to change the subject that performs motion control on the non-player character to another subject. The other configurations are the same as those in the first embodiment. The game system 1 according to the present embodiment will be described in detail below.
[0277] "Configuration of Server 10"
[0278] An example of the hardware configuration of the server 10 is the same as that of one of the first to fourth embodiments.
[0279] As with the first to fourth embodiments, Figure 4 , an exemplary functional block diagram of the server 10 is shown. As shown in the figure, the server 10 includes a first NPC action control unit 11, a communication unit 12, a management unit 13, a notification unit 14, a target object setting unit 15, and a relay unit 16. The first NPC action control unit 11, the communication unit 12, the notification unit 14, the target object setting unit 15, and the relay unit 16 are configured to be the same as one of the first to fourth embodiments.
[0280] When the first player character is set as a target object of the first non-player character, the management unit 13 monitors the state of the first non-player character.
[0281] Here, the state of the first non-player character monitored by the management unit 13 will be described. If a predetermined condition is satisfied in the case where the non-player character is attacked by other characters, the non-player character enters an action prohibited state. When in the action prohibited state, the non-player character cannot perform actions such as moving and attacking. When a return condition is satisfied after the non-player character enters the action prohibited state (e.g., a predetermined time has passed or a predetermined action by other characters is received), the non-player character returns to a normal state where actions such as moving and attacking can be taken.
[0282] When the first player character is set as the target object of the first non-player character, the management unit 13 manages whether the first non-player character is in the action prohibited state. Then, when detecting that the first non-player character is in the action prohibited state, the management unit 13 releases the first player character from the target object of the first non-player character. In the state caused by the release, the target object of the first non-player character is not set. As a result, the state becomes a state in which the client terminal 20 is not permitted to perform action control on the first non-player character.
[0283] According to the release, the notification unit 14 may issue a notification indicating that the target object of the first non-player character is not set to the plurality of client terminals 20. When the first non-player character returns to a normal state after the release, the first NPC motion control unit 11 starts to perform motion control on the first non-player character.
[0284] In addition to the functions described here, the management unit 13 may have at least a part of the functions described in the context of the first to fourth embodiments, for example, all of the functions.
[0285] As in the second to fourth embodiments, the server 10 in this embodiment repeatedly executes Fig.14 The example of the relay processing in S3, the action control in S4, and the action control in S5 is the same as that in the first embodiment.
[0286] Next, we will use Fig.18 The flowchart in FIG. 1 describes the process performed by the server 10 when the first player character is set as the target object of the first non-player character. Fig.14 An example flow of the S3 status check process.
[0287] First, the management unit 13 determines whether the first non-player character is in an action prohibited state (S70).
[0288] When the first non-player character is in the action prohibited state (Yes in S70), the management unit 13 releases the first player character from the target object of the first non-player character (S71). Then, the notification unit 14 issues a notification to that effect to the client terminal 20 (S71). In the state caused by the release in S71, the target object of the first non-player character is not set.
[0289] On the other hand, when the first non-player character is not in the action prohibited state (No in S70 ), the process is terminated.
[0290] Please note that Fig.14 In addition to the S3 status check process in Fig.18 In addition to the above processing described in the flowchart in the second embodiment, it is possible to perform the following operations in the context of the second embodiment by using Fig.15 The above process described in the flowchart in the context of the third embodiment is performed by using Fig.16 In the above process described in the flowchart in, and in the context of the fourth embodiment by using Fig.17 At least one of the above processes described by the flowchart in .
[0291] "Configuration of client terminal 20"
[0292] The hardware configuration and functional configuration of the client terminal 20 are the same as those of one of the first to fourth embodiments.
[0293] "Effects"
[0294] According to the game system 1 based on the above-mentioned embodiment, the same operational effects as those of the first to fourth embodiments can be achieved.
[0295] Furthermore, with the game system 1 according to the present embodiment, the state of the non-player character for which the action control is being performed by the client terminal 20 can be monitored, and when it is detected that the non-player character has entered the action-prohibited state, the subject that performs the action control on the non-player character can be switched to the server 10. The non-player character in the action-prohibited state and other characters do not mutually perform predetermined actions. The client terminal 20 does not need to perform the action control on the non-player character. According to the game system 1 based on the present embodiment, the action control on the non-player character can be performed by an appropriate subject.
[0296] The reference model is attached below.
[0297] 1. A game system, comprising a server and a client terminal,
[0298] Wherein, the server includes:
[0299] a first NPC action control unit, configured to control the action of the non-player object and send first NPC action information indicating the action content of the non-player object to the client terminal;
[0300] a management unit for managing a first parameter value in association with the non-player object and each player object of the plurality of player objects;
[0301] a target object setting unit, configured to set a target object based on the first parameter value, the target object being a target for the non-player object to perform a predetermined action; and
[0302] a notification unit for issuing a notification for permitting control of the action of the non-player object to the client terminal controlling the action of the player object set as the target object, and
[0303] Wherein, the client terminal includes:
[0304] A second NPC action control unit is used to control the action of the non-player object based on the notification.
[0305] 2. The game system according to 1,
[0306] wherein the second NPC action control unit sends second NPC action information indicating the action content of the non-player object to the server when controlling the action of the non-player object based on the notification, and
[0307] The server further includes a relay unit, and the relay unit is used to receive the second NPC action information and send the second NPC action information to other client terminals.
[0308] 3. The gaming system according to 1 or 2,
[0309] The client terminal includes a PC action control unit, which is used to control the action of the player object based on the player input and send PC action information representing the action content of the player object to the server,
[0310] wherein the management unit changes the first parameter value based on the action content of the player object represented by the PC action information, and
[0311] The target object setting unit sets a player object that meets a setting condition defined based on the first parameter value as the target object.
[0312] 4. The gaming system according to 3,
[0313] The target object setting unit sets a player object that satisfies a setting condition defined based on a relative position relationship with respect to the position of the non-player object as the target object.
[0314] 5. The gaming system according to 3 or 4,
[0315] Wherein, the target object setting unit:
[0316] When a first player object among the player objects is set as the target object, and it is determined that the first player object no longer satisfies the setting condition and a second player object among the player objects becomes to satisfy the setting condition, the first player object is released from the target object and the second player object is set as the target object, and
[0317] Wherein, the notification unit:
[0318] A notification for permitting control of the action of the non-player object is issued to the client terminal that controls the action of the second player object.
[0319] 6. The gaming system according to any one of 1 to 5,
[0320] wherein the management unit manages status information indicating whether the client terminal is in a state where it is permitted to perform motion control on the non-player object;
[0321] wherein the first NPC action control unit controls the action of the non-player object based on the state information, and
[0322] In which, when the client terminal is permitted to perform action control on the non-player object and the second parameter value of the player object set as the target object satisfies a numerical condition, the management unit changes the status information to a state in which the client terminal is not permitted to perform action control on the non-player object.
[0323] 7. The gaming system according to any one of 1 to 6,
[0324] wherein the management unit manages status information indicating whether the client terminal is in a state where it is permitted to perform motion control on the non-player object;
[0325] wherein the first NPC action control unit controls the action of the non-player object based on the state information, and
[0326] In which, when the client terminal is permitted to perform action control on the non-player object and the communication between the client terminal permitted to perform action control on the non-player object and the server becomes disconnected, the management unit changes the status information to a state in which the client terminal is not permitted to perform action control on the non-player object.
[0327] 8. A control method for a game system, the game system comprising a server and a client terminal, wherein the server executes:
[0328] a first NPC action control step for controlling the action of the non-player object and sending first NPC action information indicating the action content of the non-player object to the client terminal;
[0329] a parameter value management step for managing a first parameter value in association with the non-player object and each of the plurality of player objects;
[0330] a target object setting step, for setting a target object based on the first parameter value, the target object being a target for the non-player object to perform a predetermined action; and
[0331] a notification step for issuing a notification for permitting control of the action of the non-player object to the client terminal that controls the action of the player object set as the target object, and
[0332] Wherein, the client terminal executes:
[0333] A second NPC action control step is used to control the action of the non-player object based on the notification.
[0334] 9. A server in a game system, the game system comprising the server and a client terminal, the server comprising:
[0335] a first NPC action control unit, configured to control the action of the non-player object and send first NPC action information indicating the action content of the non-player object to the client terminal;
[0336] a management unit for managing a first parameter value in association with the non-player object and each player object of the plurality of player objects;
[0337] a target object setting unit, configured to set a target object based on the first parameter value, the target object being a target for the non-player object to perform a predetermined action; and
[0338] A notification unit for issuing a notification for permitting the action control of the non-player object to the client terminal that controls the action of the player object set as the target object.
[0339] 10. The server according to 9, further comprising:
[0340] A relay unit is configured to receive second NPC action information indicating action content of the non-player object from the client terminal that controls the action of the non-player object based on the notification, and transmit the second NPC action information to other client terminals.
[0341] 11. The server according to 9 or 10,
[0342] wherein the management unit changes the first parameter value based on the action content of the player object, and
[0343] The target object setting unit sets a player object that meets a setting condition defined based on the first parameter value as the target object.
[0344] 12. The server according to 11,
[0345] The target object setting unit sets a player object that satisfies a setting condition defined based on a relative position relationship with respect to the position of the non-player object as the target object.
[0346] 13. The server according to 11 or 12,
[0347] Wherein, the target object setting unit:
[0348] When a first player object among the player objects is set as the target object, and it is determined that the first player object no longer satisfies the setting condition and a second player object among the player objects becomes to satisfy the setting condition, the first player object is released from the target object and the second player object is set as the target object, and
[0349] Wherein, the notification unit:
[0350] issuing a notification for permitting control of the action of the non-player object to the client terminal controlling the action of the first player object, and
[0351] A notification for permitting execution of action control of the non-player object is issued to the client terminal that controls the action of the second player object.
[0352] 14. The server according to any one of 9 to 13,
[0353] wherein the management unit manages status information indicating whether the client terminal is in a state where it is permitted to perform motion control on the non-player object;
[0354] wherein the first NPC action control unit controls the action of the non-player object based on the state information, and
[0355] In which, when the client terminal is permitted to perform action control on the non-player object and the second parameter value of the player object set as the target object satisfies a numerical condition, the management unit changes the status information to a state in which the client terminal is not permitted to perform action control on the non-player object.
[0356] 15. The server according to any one of 9 to 14,
[0357] wherein the management unit manages status information indicating whether the client terminal is in a state where it is permitted to perform motion control on the non-player object;
[0358] wherein the first NPC action control unit controls the action of the non-player object based on the state information, and
[0359] In which, when the client terminal is permitted to perform action control on the non-player object and the communication between the client terminal permitted to perform action control on the non-player object and the server becomes disconnected, the management unit changes the status information to a state in which the client terminal is not permitted to perform action control on the non-player object.
[0360] 16. A program for causing a game system including a server and a client terminal to function as:
[0361] a first NPC action control component, used to control the action of the non-player object and send first NPC action information indicating the action content of the non-player object to the client terminal;
[0362] a parameter value management component for managing a first parameter value in association with the non-player object and each of the plurality of player objects;
[0363] a target object setting component, configured to set a target object based on the first parameter value, the target object being a target for the non-player object to perform a predetermined action; and
[0364] A notification means for issuing a notification for permitting the control of the action of the non-player object to the client terminal controlling the action of the player object set as the target object.
[0365] This application claims priority based on Japanese application No. 2018-135588 filed on July 19, 2018, and all the disclosures thereof are incorporated herein.
Claims
1. A game system, comprising a server and a client terminal, in, The server comprises: a first NPC action control unit, configured to control the action of the non-player object and send first NPC action information indicating the action content of the non-player object to the client terminal; a management unit for managing a first parameter value in association with the non-player object and each player object of the plurality of player objects; a target object setting unit, configured to set a target object based on the first parameter value, the target object being a target for the non-player object to perform a predetermined action; and a notification unit for issuing a notification for permitting control of the action of the non-player object to the client terminal controlling the action of the player object set as the target object, and Wherein, the client terminal includes: A second NPC action control unit is configured to control an action of the non-player object based on the notification. wherein the management unit manages status information indicating whether the client terminal is in a state where it is permitted to perform motion control on the non-player object; wherein the first NPC action control unit controls the action of the non-player object based on the state information, and In which, when the client terminal is permitted to perform action control on the non-player object and the second parameter value of the player object set as the target object satisfies a numerical condition, the management unit changes the status information to a state in which the client terminal is not permitted to perform action control on the non-player object.
2. The gaming system according to claim 1, in, The second NPC action control unit sends second NPC action information indicating the action content of the non-player object to the server when controlling the action of the non-player object based on the notification, and The server further includes a relay unit, and the relay unit is used to receive the second NPC action information and send the second NPC action information to other client terminals.
3. The game system according to claim 1 or 2, in, The client terminal includes a PC action control unit for controlling the action of the player object based on a player input and sending PC action information indicating the action content of the player object to the server, wherein the management unit changes the first parameter value based on the action content of the player object represented by the PC action information, and The target object setting unit sets a player object that meets a setting condition defined based on the first parameter value as the target object.
4. The gaming system according to claim 3, in, The target object setting unit sets a player object that satisfies a setting condition defined based on a relative positional relationship with respect to the position of the non-player object as the target object.
5. The gaming system according to claim 3, in, The target object setting unit: When a first player object among the player objects is set as the target object, and it is determined that the first player object no longer satisfies the setting condition and a second player object among the player objects becomes to satisfy the setting condition, the first player object is released from the target object and the second player object is set as the target object, and Wherein, the notification unit: A notification for permitting control of the action of the non-player object is issued to the client terminal that controls the action of the second player object.
6. The gaming system according to claim 1 or 2, in, In a state in which the client terminal is permitted to perform action control on the non-player object and in a case in which communication between the client terminal permitted to perform action control on the non-player object and the server becomes disconnected, the management unit changes the status information to a state in which the client terminal is not permitted to perform action control on the non-player object.
7. A control method for a game system, the game system comprising a server and a client terminal, in, The server executes: a first NPC action control step for controlling the action of the non-player object and sending first NPC action information indicating the action content of the non-player object to the client terminal; a parameter value management step for managing a first parameter value in association with the non-player object and each of the plurality of player objects; a target object setting step, for setting a target object based on the first parameter value, the target object being a target for the non-player object to perform a predetermined action; as well as a notification step for issuing a notification for permitting control of the action of the non-player object to the client terminal that controls the action of the player object set as the target object, and Wherein, the client terminal executes: A second NPC action control step is used to control the action of the non-player object based on the notification, wherein, in the parameter value management step, state information indicating whether the client terminal is in a state where it is permitted to perform motion control on the non-player object is managed; wherein, in the first NPC action control step, the action of the non-player object is controlled based on the state information, and Among them, in the parameter value management step, when the client terminal is allowed to perform action control on the non-player object and the second parameter value of the player object set as the target object satisfies the numerical condition, the status information is changed to a state in which the client terminal is not allowed to perform action control on the non-player object.
8. A server in a game system, the game system comprising the server and a client terminal, The server comprises: a first NPC action control unit, configured to control the action of the non-player object and send first NPC action information indicating the action content of the non-player object to the client terminal; a management unit for managing a first parameter value in association with the non-player object and each player object of the plurality of player objects; a target object setting unit, configured to set a target object based on the first parameter value, the target object being a target for the non-player object to perform a predetermined action; as well as a notification unit for issuing a notification for permitting control of the action of the non-player object to the client terminal that controls the action of the player object set as the target object, wherein the management unit manages status information indicating whether the client terminal is in a state where it is permitted to perform motion control on the non-player object; wherein the first NPC action control unit controls the action of the non-player object based on the state information, and In which, when the client terminal is permitted to perform action control on the non-player object and the second parameter value of the player object set as the target object satisfies a numerical condition, the management unit changes the status information to a state in which the client terminal is not permitted to perform action control on the non-player object.
9. The server according to claim 8, further comprising: A relay unit is configured to receive second NPC action information indicating action content of the non-player object from the client terminal that controls the action of the non-player object based on the notification, and transmit the second NPC action information to other client terminals.
10. The server according to claim 8 or 9, in, The management unit changes the first parameter value based on the action content of the player object, and The target object setting unit sets a player object that meets a setting condition defined based on the first parameter value as the target object.
11. The server according to claim 10, in, The target object setting unit sets a player object that satisfies a setting condition defined based on a relative positional relationship with respect to the position of the non-player object as the target object.
12. The server according to claim 10, in, The target object setting unit: When a first player object among the player objects is set as the target object, and it is determined that the first player object no longer satisfies the setting condition and a second player object among the player objects becomes to satisfy the setting condition, the first player object is released from the target object and the second player object is set as the target object, and Wherein, the notification unit: issuing a notification for disallowing control of the action of the non-player object to the client terminal controlling the action of the first player object, and A notification for permitting execution of action control of the non-player object is issued to the client terminal that controls the action of the second player object.
13. The server according to claim 8 or 9, in, In a state in which the client terminal is permitted to perform action control on the non-player object and in a case in which communication between the client terminal permitted to perform action control on the non-player object and the server becomes disconnected, the management unit changes the status information to a state in which the client terminal is not permitted to perform action control on the non-player object.
14. A computer-readable storage medium storing a program for causing a server in a game system including a server and a client terminal to execute: a first NPC action control step for controlling the action of the non-player object and sending first NPC action information indicating the action content of the non-player object to the client terminal; a parameter value management step for managing a first parameter value in association with the non-player object and each of the plurality of player objects; a target object setting step, for setting a target object based on the first parameter value, the target object being a target for the non-player object to perform a predetermined action; as well as a notification step for issuing a notification for permitting control of the action of the non-player object to the client terminal that controls the action of the player object set as the target object, wherein, in the parameter value management step, state information indicating whether the client terminal is in a state where it is permitted to perform motion control on the non-player object is managed; wherein, in the first NPC action control step, the action of the non-player object is controlled based on the state information, and Among them, in the parameter value management step, when the client terminal is allowed to perform action control on the non-player object and the second parameter value of the player object set as the target object satisfies the numerical condition, the status information is changed to a state in which the client terminal is not allowed to perform action control on the non-player object.