U.S. Pat. No. 11,673,052

NON-PLAYER CHARACTER ACTION CONTROL USING GAME SERVER

AssigneeCYGAMES, INC.

Issue DateJanuary 15, 2021

Illustrative Figure

Abstract

The present invention provides a game system including a server and a client terminal. The server includes: a means for controlling an action of a non-player object and sending first NPC action information indicating the content of the action of the non-player object to the client terminal; a means for managing a first parameter value in association with the non-player object and each of a plurality of player objects; a means for setting a target object on the basis of the first parameter value, the target object being a target on which the non-player object performs a predetermined action; and a means for issuing a notification for permitting action control for the non-player object to the client terminal that controls the action of the player object set as the target object. The client terminal includes a means for controlling an action of the non-player object based on the notification.

Description

DESCRIPTION OF EMBODIMENTS First Embodiment “Overview of Game System1” First, an overview of a game system1according to this embodiment will be described by using a functional block diagram inFIG.1. As shown in the figure, the game system1includes a server10and a plurality of client terminals20. Note that the server10may be constituted of a plurality of physically and/or logically separated servers or a physically and logically single server. Examples of the client terminals20include personal computers, smartphones, tablets, mobile phones, and game machines, without limitation thereto. The server10and the client terminals20are allowed to communicate with each other via a communication network such as the Internet. The game system1realizes a client-server online game, specifically, an MMORPG. The server10executes a predetermined program, whereby a virtual world of the game is realized.FIG.2shows an example of the virtual world realized by the game system1. In this virtual world, a player character (player object) for which action control is performed on the basis of inputs by a player and non-player characters (non-player objects) for which action control is performed by a computer appear. In the figures, PC is the player character, and NPC is a non-player character. Furthermore, although not shown, characters that are colleagues of the player character and for which action control is performed by a computer of a client terminal20or the server10may appear. A player logs into the server10via his or her own client terminal20and performs predetermined inputs to the client terminal20to control the actions of his or her own player character. For example, the player causes his or her own player character to move in the virtual world or to battle against another character. “Overview of Features for Alleviating Aforementioned Problem with Real-Time Properties” Next, the features provided in the game system1in order to alleviate the aforementioned problem with the real-time properties will be ...

DESCRIPTION OF EMBODIMENTS

First Embodiment

“Overview of Game System1”

First, an overview of a game system1according to this embodiment will be described by using a functional block diagram inFIG.1. As shown in the figure, the game system1includes a server10and a plurality of client terminals20. Note that the server10may be constituted of a plurality of physically and/or logically separated servers or a physically and logically single server. Examples of the client terminals20include personal computers, smartphones, tablets, mobile phones, and game machines, without limitation thereto. The server10and the client terminals20are allowed to communicate with each other via a communication network such as the Internet.

The game system1realizes a client-server online game, specifically, an MMORPG. The server10executes a predetermined program, whereby a virtual world of the game is realized.FIG.2shows an example of the virtual world realized by the game system1.

In this virtual world, a player character (player object) for which action control is performed on the basis of inputs by a player and non-player characters (non-player objects) for which action control is performed by a computer appear. In the figures, PC is the player character, and NPC is a non-player character. Furthermore, although not shown, characters that are colleagues of the player character and for which action control is performed by a computer of a client terminal20or the server10may appear.

A player logs into the server10via his or her own client terminal20and performs predetermined inputs to the client terminal20to control the actions of his or her own player character. For example, the player causes his or her own player character to move in the virtual world or to battle against another character.

“Overview of Features for Alleviating Aforementioned Problem with Real-Time Properties”

Next, the features provided in the game system1in order to alleviate the aforementioned problem with the real-time properties will be briefly described. In the game system1, the actions of non-player characters are controlled by both a computer on the server10side and a computer on the client terminal20side. The game system1differs in this respect from ordinary MMORPGs, in which only a computer on the server10side performs action control for non-player characters. The specific content of action control includes the choice as to whether to move or to attack, the determination of a moving destination, and the selection of an attacking skill.

A non-player character has a state in which a target (another character) on which a predetermined action (e.g., an attack) is to be taken is set and a state in which such a target is not set. When a predetermined condition is satisfied in the state where a target on which a predetermined action is to be taken is set, the non-player character performs that predetermined action on that target. Meanwhile, in the state where a target on which a predetermined action is to be taken is not set, the non-player character does not perform a predetermined action on the player character. In this case, the non-player character can perform an action for setting a target on which a predetermined action is to be taken, such as moving or searching.

In the state where a target on which a predetermined action is to be taken is not set or in the case where another non-player character is set as a target on which a predetermined action is to be taken, the computer on the server10side performs action control for the non-player character.

Meanwhile, in the case where the player character is set as a target on which a predetermined action is to be taken, the client terminal20that performs action control for the player character performs action control for the non-player character.

As a result, in the case where the player character is set as a target on which a predetermined action is to be taken, a single client terminal20performs action control for both the player character and a non-player character for which the player character is set as a target of a predetermined action.

For example, in the case where a player character shown inFIG.2is set as a target on which a predetermined action is to be taken by a non-player character shown inFIG.2, the client terminal20that performs action control for the player character shown inFIG.2performs action control for the non-player character shown inFIG.2.

In this case, when the client terminal20has accepted an input with which the player character attacks the non-player character, the client terminal20displays a screen showing the attack, while determining the content of an action to be taken by the attacked non-player character. Then, on the basis of the determined content, the client terminal20displays a screen showing the action of the non-player character. That is, a screen showing a response by the non-player character to the attack by the player character is displayed.

As described above, in the case where a single client terminal20performs action control for both a player character and a non-player character for which the player character is set as a target of a predetermined action, it becomes possible to determine the content of an action of the non-player character without having to carry out communication between the server10and the client terminal20. Thus, the real-time properties of the display of a response by the non-player character to an action of the player character are improved.

“Configuration of Server10”

The configuration of the server10will be described in detail below. First, an example of the hardware configuration of the server10will be described. Each of the functional units provided in the server10in this embodiment is realized by an arbitrary combination of hardware and software, which mainly involves a CPU (Central Processing Unit) of an arbitrary computer, a memory, programs loaded into the memory, a storage unit such as a hard disk that stores the programs (which may store programs already stored before the shipping of the device as well as programs stored on a storage medium such as a CD (Compact Disc) or downloaded from a server on the Internet or the like), and a network connection interface. Furthermore, it will be understood by a person skilled in the art that there are various modifications concerning the methods and devices for realizing the functional units.

FIG.3is a block diagram showing an example of the hardware configuration of the server10in this embodiment. As shown inFIG.3, the server10includes a processor1A, a memory2A, an input/output interface3A, a peripheral circuit4A, and a bus5A. The peripheral circuit4A includes various modules. The server10need not include the peripheral circuit4A. Note that the server10may be constituted of a plurality of physically and/or logically separated devices. In this case, each of the devices may be provided with the hardware configuration described above.

The bus5A is a data transmission path that allows the processor1A, the memory2A, the peripheral circuit4A, and the input/output interface3A to send data to and receive data from each other. The processor1A is a computational processing device, such as a CPU or a GPU (Graphics Processing Unit). The memory2A is a memory such as a RAM (Random Access Memory) or a ROM (Read Only Memory). The input/output interface3A includes interfaces for obtaining information from an input device, an external device, an external server, an external sensor, etc., as well as interfaces 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 mailer. The processor1A is capable of issuing instructions to the individual modules and performing computations on the basis of the results of computations by the modules.

Next, the functional configuration of the server10will be described.FIG.4shows an example functional block diagram of the server10. As shown in the figure, the server10includes a first NPC action control unit11, a communication unit12, a management unit13, a notification unit14, a target-object setting unit15, and a relay unit16.

The communication unit12communicates with each of the plurality of client terminals20via a network such as the Internet.

For example, the communication unit12sends, to a client terminal20, information indicating the content of an action of a non-player character for which action control has been performed by the server10(first NPC action information).

Furthermore, for example, the communication unit12receives, from each client terminal20, information indicating the content of an action of a player character for which action control has been performed by that client terminal20on the basis of player inputs (PC action information).

Furthermore, for example, the communication unit12sends the PC action information received from each client terminal20to the other client terminals20.

Furthermore, the communication unit12receives, from each client terminal20, information indicating the content of an action of a non-player character for which action control has been performed by that client terminal20(second NPC action information).

Furthermore, for example, the communication unit12sends the second NPC action information received from each client terminal20to the other client terminals20.

Note that the communication unit12can send other information to each client terminal20and receive other information from each client terminal20.

The management unit13manages various kinds of information relating to a game. “Management” refers to storage and updating.

For example, the management unit13manages parameter values of each player character.FIG.5shows an example of the parameter values of each player character, managed by the management unit13. In the example shown, for each player character, the ID (PCID), the current hit points (H.P.), the current level, the amount of currency currently possessed, and the current position in the virtual world of the game are recorded in association with each other. The management unit13can update the parameter values of each player character on the basis of the content of an action of the player character as indicated by the PC action information, the content of an action of a non-player character as indicated by the first NPC action information, the content of an action of a non-player character as indicated by the second NPC action information, etc.

In addition, the management unit13manages parameter values of each non-player character.FIG.6shows an example of the parameter values of each non-player character, managed by the management unit13. In the example shown, for each non-player character, the ID (NPCID), the current hit points (H.P.), the current level, the current position in the virtual world of the game, the hatred value (first parameter value), and the target object currently set as a target on which a predetermined action is to be taken are recorded in association with each other. The management unit13can update the parameter values of each non-player character on the basis of the content of an action of the player character as indicated by the PC action information, the content of an action of a non-player character as indicated by the first NPC action information, the content of an action of a non-player character as indicated by the second NPC action information, etc.

Now, the hatred value will be described. A “hatred value” is a value indicating the current state (the level of hostility) of a non-player character in relation to another character. “Another character” refers to a player character, a character associated with a player character, etc. A character associated with a player character is a character that is a colleague of that player character and for which action control is performed by the computer on the server10side or the computer on the client terminal20side.

Generally, a player having the role referred to as a “tank” takes such actions that positively enhance hatred so as to attract attacks to itself so that enemies (non-player characters) will not attack ally characters, thereby protecting the allies. It is often the case with a “tank” character that the hit points, the defensive ability, the avoidance capability, etc. are set to be high. Players having the role of an “attacker”, a “healer”, etc. attack enemies or make allies recover, while taking actions so as not to enhance the hatred value so that the chance of being attacked by enemies will be minimized. As compared with a “tank” character, it is often the case with characters such as an “attacker” and a “healer” that the hit points, the defensive ability, the avoidance ability, etc. are set to be low.

As shown inFIG.6, the management unit13manages a hatred value in association with a non-player character and each of a plurality of player characters. Furthermore, the management unit13can manage a hatred value in association with a non-player character and each of a plurality of other non-player characters.

The management unit13can update the hatred value on the basis of the content of an action of another character, etc. For example, when another character has taken a predetermined action (e.g., an attack) on a non-player character, the management unit13can update the hatred value indicating the state of the non-player character in relation to the other character.

It may be allowed to set special effects concerning increases or decreases in the hatred value for various actions that are taken by characters. For example, settings may be made in advance such that a first action increases the hatred value by Q1, a second action increases the hatred value by Q2, a third action decreases the hatred value by Q3, and so forth.

Furthermore, the amount of increase or decrease in the hatred value may be determined on the basis of the result of an action that has been executed. For example, in the case where a character has attacked a non-player character, the amount of increase in the hatred value may be determined on the basis of the amount of damage given by the attack. In this case, the amount of increase in the hatred value becomes greater as the damage given becomes greater.

Furthermore, actions that increase the hatred value may include an action of assisting a character participating in a battle with a non-player character in addition to an attack on a non-player character. Although the specific content of assistance varies depending on the game, examples thereof include the recovery of the hit points, the use of an item, and the invocation of a skill.

Furthermore, the hatred value may be gradually decreased as time elapses. In this case, if a character does not perform an attack or the like on a non-player character over a long period, the hatred value of the non-player character in relation to that character is gradually decreased.

Next, target objects managed by the management unit13will be described. A “target object” is a character that is set as a target on which a predetermined action (e.g., an attack) is to be taken by a non-player character. A player character or another non-player character is set as a target object.

In the example inFIG.6, for a non-player character with “NPCID:NPC00001”, a player character with “PCID:PC000001” is set as a target object. For a non-player character with “NPCID:NPC00002”, a target object is not set. As such, a non-player character has a state in which a target object is set and a state in which a target object is not set.

Information indicating whether or not such a target object is set serves as state information indicating whether or not a client terminal20is in a state permitted to control the actions of a non-player character. In the case where a target object is set, the client terminal20is in a state permitted to control the actions of the non-player character in that state. Meanwhile, in the case where a target object is not set, the client terminal20is not permitted to control the actions of the non-player character in that state. In the case of the example inFIG.6, the client terminal20is permitted to control the actions of the non-player character with “NPCID:NPC00001”. Meanwhile, the client terminal20is not permitted to control the actions of the non-player character with “NPCID:NPC00002”.

The management unit13updates the values in the fields of the target objects for the individual non-player characters on the basis of the settings in the target-object setting unit15shown inFIG.4.

The target-object setting unit15sets a target object for each non-player character on the basis of the hatred value of that non-player character. “The hatred value of each non-player character” refers to a hatred value indicating the current state of that non-player character in relation to another character. The hatred value of each non-player character may include hatred values individually in relation to a plurality of other characters, i.e., a plurality of hatred values.

The target-object setting unit15sets, as the target object for each non-player character, another character satisfying a setting condition defined on the basis of the hatred value. Although examples of the setting condition will be described below, the setting condition is not limited to these examples.

As an example, the target-object setting unit15may set, as the target object for a first non-player character, another character with which the hatred value of the first non-player character is the greatest. For example, suppose that the hatred values of the first non-player character are as follows:

First other character: 0.6

Second other character: 0.8

Third other character: 0.4

Fourth other character: 0.9

In this case, the target-object setting unit15can set, as the target object for the first non-player character, a fourth other character, with which the hatred value of the first non-player character is the greatest.

As another example, the target-object setting unit15may set, as the target object for each non-player character, another character satisfying a setting condition defined on the basis of a relative positional relationship with respect to that position of that non-player character and the hatred values of that non-player character.

Specifically, the target-object setting unit15may set, as the target object for the first non-player character, another character whose distance from the first non-player character is within a reference value L and with which the hatred value of the first non-player character is the greatest among other characters satisfying the positional condition.

For example, suppose that the first non-player character and other characters have positional relationships shown inFIG.7and that the hatred values of the first non-player character are as follows. InFIG.7, N1is the first non-player character, and C1to C4are first to fourth other characters, respectively.

First other character: 0.6

Second other character: 0.8

Third other character: 0.4

Fourth other character: 0.9

In this case, the target-object setting unit15can set, as the target object for the first non-player character, the second other character, with which the hatred value of the first non-player character is the greatest among the first to third other characters, whose distances from the first non-player character are within the reference value L.

With this example, it suffices to compare the magnitudes of the hatred values only for the characters satisfying the positional condition, and thus there is no need to compare the magnitudes of the hatred values for all the characters in the game. This alleviates the processing load on the computer.

Alternatively, the target-object setting unit15may set, as the target object for the first non-player character, another character whose distance from the first non-player character is within the reference value L, with which there is no predetermined obstacle between the first non-player character and itself, and with which the hatred value of the first non-player character is the greatest among the other characters satisfying the positional condition.

For example, suppose that the first non-player character and other characters have positional relationships shown inFIG.8and that the hatred values of the first non-player character are as follows. InFIG.8, N1is the first non-player character, C1to C4are first to fourth other characters, respectively, and W is a wall (predetermined obstacle).

First other character: 0.6

Second other character: 0.8

Third other character: 0.4

Fourth other character: 0.9

In this case, the target-object setting unit15can set, as the target object for the first non-player character, the first other character, whose distance from the first non-player character is within the reference value L, and with which the hatred value of the first non-player character is the greatest among the first to third other characters, with which there is no predetermined obstacle between the first non-player character and themselves.

The determination as to whether or not there is any predetermined obstacle between the first non-player character and another character can be realized, for example, by determining whether or not there is any predetermined obstacle on the straight line interconnecting the first non-player character and the other character.

With this example, it suffices to compare the magnitudes of the hatred values only for the characters satisfying the positional condition, and thus there is no need to compare the magnitudes of the hatred values for all the characters in the game. This alleviates the processing load on the computer. Furthermore, the example has a game property in which a player character can avoid being a target of an attack by a non-player character by hiding behind an obstacle, which enhances the fun of the game.

Referring back toFIG.4, the first NPC action control unit11performs action control for a non-player character and sends first NPC action information indicating the content of an action of the non-player character to a client terminal20. The content of action control includes the selection as to whether to move or attack, the determination of a movement destination, and the selection of an attacking skill. The action content indicated by the first NPC action information includes the kind of action (movement, attack, etc.), the movement direction, the movement distance, and the selected attacking skill.

The first NPC action control unit11controls, on the basis of the information managed by the management unit13(the aforementioned state information), ascertains whether or not the client terminal20is in a state where the client terminal20is permitted to control the actions of each non-player character, and executes processing in accordance with that state.

In the case where a target object is not set, i.e., in the case where the client terminal20is not permitted to control the actions of a non-player character, the first NPC action control unit11performs action control for that non-player character.

Meanwhile, in the case where a target object is set, i.e., in the case where the client terminal20is permitted to control the actions of a non-player character, as a rule, the first NPC action control unit11does not control the actions of that non-player character. In this case, as a rule, one of the client terminals20performs action control for the non-player character.

Note that, even in the case where the client terminal20is permitted to control the actions of a non-player character, the first NPC action control unit11may control the actions of that non-player character in the case where a predetermined condition is satisfied. In this case, both the server10and the client terminal20control the actions of the single non-player character. By dictating in advance that priority is given to the action control by the server10in such a case, it is possible to proceed with the game without causing a problem.

The notification unit14issues a notification for permitting action control for a non-player character to the client terminal20that performs action control for a player character set as the target object for that non-player character. An example of this notification will be described below.

For example, each time a target object for a non-player character has been newly set, the notification unit14may issue a notification to that effect to a plurality of client terminals20(e.g., all the client terminals20). The content of this notification includes information identifying the non-player character as well as information identifying a character set as the target object for the non-player character.

Each client terminal20can recognize whether or not the player character for which action control is performed by itself has been set as a target object by determining whether or not the target object indicated by the notification matches the player character for which action control is performed by itself. Then, upon recognizing that the player character for which action control is performed by itself has been set as a target object, the client terminal20can accordingly start to control the actions of the non-player character indicated by the notification. The content of action control includes the selection as to move or attack, the determination of a movement destination, and the selection of an attacking skill.

In the case of this example, the notification to the effect that a target object for a non-player character has newly been set serves as a notification for permitting action control for the non-player character set as the target object for the client terminal20that performs action control for that non-player character.

As an aside, immediately after a target object for a non-player character is set, i.e., immediately after the agent that performs action control for the non-player character is changed (e.g., changed from the server10to a client terminal20), it is possible, due to this change, that the real-time properties of the actions of the non-player character as displayed on the client terminal20that does not control the actions of the non-player character become compromised. In order to overcome this shortcoming, immediately after a target object for a non-player character is set, each of the plurality of client terminals20may control the movement of that non-player character. This serves to improve the real-time properties of the game even immediately after a target object is set. Note that, as will be described later, in the state where a target object for a non-player character is set, the movement of that non-player character occurs basically in the direction approaching the target object. Thus, even if each of the plurality of client terminals20controls the movement of the non-player character, there are substantially no differences in the content of the control, and the differences are only small, if any.

For example, a client terminal20for which the target object indicated by the abovementioned notification does not match the player character for which action control is performed by itself, i.e., a client terminal20with which the player character for which action control is performed by itself is not set as a target object (hereinafter referred to as a “non-set client terminal20”), may control, in accordance with the notification, the movement of the non-player character indicated by the notification so that the non-player character indicated by the notification approaches the target object (player character) indicated by the notification. After the movement of the non-player character is controlled in accordance with the notification, each non-set client terminal20changes how the non-player character is displayed on the basis of the second NPC action information received from the server10.

Note that, in the case where each of the plurality of client terminals20controls the movement of the non-player character, inconsistencies, even though slight, may occur in the content of the control. In order to solve the inconsistencies, each non-set client terminal20, upon receiving second NPC action information indicating the content of action control for a non-player character, performed by the client terminal20that performs action control for the target object (hereinafter referred to as a “set client terminal20”), may check whether or not any inconsistency has occurred between the content of the action control for the non-player character performed by itself and the content of the action control for the non-player character performed by the set client terminal20, and may control the movement of the non-player character so as to correct the inconsistency if any has occurred. Each non-set client terminal20assumes that the content of an action of a non-player character as indicated by the second NPC action information received is true, and controls the movement of the non-player character in accordance therewith, i.e., so as to locate the non-player character at a position after performing the movement indicated by the second NPC action information.

Note that, as described earlier, although inconsistencies may occur between the content of the action control performed by each non-set client terminal20and the content of the action control performed by the set client terminal20, since such inconsistencies occur only on the non-set client terminals20, this is not likely to result in a problem in the game as a whole.

The relay unit16receives, via the communication unit12, second NPC action information indicating the content of an action of a non-player character from the client terminal20that performs action control for the non-player character. Then, the relay unit16sends the second NPC action information to the other client terminals20.

Next, an example of the flow of processing by the server10will be described. First, an example of an overview of the processing performed by the server10will be described by usingFIG.9. The server10iteratively performs the flow shown inFIG.9for each non-player character. Here, the flow inFIG.9will be described while assuming that a first non-player character is the subject of the processing.

In S1, the server10determines whether or not a target object for the first non-player character is set. In the case where a target object is set (Yes in S1), the server10determines whether the set target object is a player character or a non-player character (S2).

In the case where the target object is a player character (PC in S2), the relay unit16performs relay processing (S3). Meanwhile, in the case where the target object is a non-player character (NPC in S2), the first NPC action control unit11performs action control, etc. for the first non-player character (S4). Here, for example, an action (e.g., attacking or approaching) with the target object is executed.

In the case where a target object is not set (No in S1), the first NPC action control unit11performs action control, etc. for the first non-player character (S5). Here, for example, an action (e.g., moving or searching) for setting a target object is executed.

Next, an example of the flow of processing for the action control in S5inFIG.9, performed by the server10in the case where a target object is not set, will be described by using a flowchart inFIG.10.

In S10, the first NPC action control unit11determines the content of movement (moving direction, moving distance, etc.) of the first non-player character. The method of determining the movement content is a design matter. Then, the notification unit14issues a notification of the determined movement content to the client terminals20.

Then, the target-object setting unit15searches for another character satisfying a setting condition at the position after the movement (S11). As an example, the target-object setting unit15searches for another character whose distance from the first non-player character is within the reference value L and with which the hatred value of the first non-player character is the greatest among other characters satisfying the positional condition. As another example, a visual field region for non-player characters is set, and a character with which the hatred value of the first non-player character is the greatest among characters in that region is searched for.

In the case where there is a character satisfying the setting condition (Yes in S12), the target-object setting unit15sets the character as the target object for the first non-player character (S13). Then, the notification unit14issues a notification to that effect to the client terminals20(S13).

Meanwhile, in the case where there is no character satisfying the setting condition (No in S12), the processing is terminated.

Next, an example of the flow of relay processing in S3inFIG.9, performed by the server10in the case where a player character is set as a target object, will be described by using a flowchart inFIG.11.

The relay unit16receives second NPC action information indicating the content of an action of the first non-player character from the client terminal20that performs action control for the player character set as a target object (S20). Then, the relay unit16sends the second NPC action information to the other client terminals20(S21).

Upon receiving the second NPC action information (S20), the server10updates the management data (hit points, etc.) associated with the non-player character on the basis of the second NPC action information received. The client terminals20are also notified of the management data associated with the non-player character, and the data at the server10is always considered as being true for the purpose of fraud prevention.

Next, an example of the flow of processing for the action control in S4inFIG.9, performed by the server10in the case where a non-player character is set as a target object, will be described by using a flowchart inFIG.12.

In S30, the first NPC action control unit11determines whether the distance between the first non-player character and the target object is less than or equal to a reference value.

In the case where the distance is less than or equal to the reference value (Yes in S30), the first NPC action control unit11determines that an attack is to be performed on the target object as well as the content of the attack (e.g., attacking skill) (S31). Then, the notification unit14issues a notification of the determined attack content to the client terminals20(S31).

Meanwhile, in the case where the distance is greater than the reference value (No in S30), the first NPC action control unit11determines that the target object is to be approached, as well as the content of the approaching (moving direction, moving distance, etc.) (S32). Then, the notification unit14issues a notification of the determined approaching content to the client terminals20(S32).

“Configuration of Client Terminals20”

The configuration of the client terminals20will be described in detail below. First, an example of the hardware configuration of a client terminal20will be described. Each of the functional units provided in each client terminal20in this embodiment is realized by an arbitrary combination of hardware and software, which mainly involves a CPU of an arbitrary computer, a memory, programs loaded into the memory, a storage unit such as a hard disk that stores the programs (which may store programs already stored before the shipping of the device, as well as programs stored on a storage medium such as a CD or downloaded from a server on the Internet or the like), and a network connection interface. Furthermore, it will be understood by a person skilled in the art that there are various modifications concerning the methods and devices for realizing the functional units. An example of the hardware configuration of each client terminal20is shown inFIG.3, similarly to the server10.

Next, the functional configuration of the client terminals20will be described.FIG.13shows an example functional block diagram of each client terminal20. As shown in the figure, the client terminal20includes a communication unit21, a PC action control unit22, a second NPC action control unit23, a display control unit25, and a display unit26.

The communication unit21communicates with the server10via a network such as the Internet.

For example, the communication unit21sends, to the server10, information indicating the content of an action of the player character (PC action information) for which action control has been performed by the client terminal20on the basis of a player input.

Furthermore, for example, the communication unit21sends, to the server10, information indicating the content of an action of a non-player character (second NPC action information) for which action control has been performed by the client terminal20.

Furthermore, for example, the communication unit21receives, from the server10, information indicating the content of an action of a non-player character (first NPC action information) for which action control has been performed by the server10.

Furthermore, the communication unit21receives, from the server10, information indicating the content of an action (PC action information) of the player character for which action control has been performed by another client terminal20.

Furthermore, for example, the communication unit21receives, from the server10, information indicating the content of an action of a non-player character (second NPC action information) for which action control has been performed by another client terminal20.

Note that the communication unit21can send other information to the server10and can receive other information from the server10.

The PC action control unit22performs action control for the player character on the basis of player inputs and sends PC action information indicating the content of the actions of the player character to the server10. The content of action control includes the selection as to whether to move or attack, the determination of a movement destination, and the selection of an attacking skill. The content of actions indicated by the PC action information includes the kind of action (movement, attack, etc.), the moving direction, the moving distance, and the selected attacking skill.

The second NPC action control unit23, on the basis of a notification from the server10, manages information indicating whether or not the local client terminal20is in a state permitted to control the actions of a non-player character. As described earlier, the notification unit14of the server10issues a notification for permitting action control for a non-player character to the client terminal20that performs action control for the player character set as the target object for that non-player character. The second NPC action control unit23, on the basis of this notification from the server10, manages information indicating whether or not the local client terminal20is in a state permitted to control the actions of a non-player character.

Then, in the case where the local client terminal20is in a state permitted to control the actions of a non-player character, the second NPC action control unit23performs action control for that non-player character. Specifically, the second NPC action control unit23executes processing similar to the action control in S4inFIG.9, e.g., a flow inFIG.12. Then, the second NPC action control unit23sends, to the server10, second NPC action information indicating the content of an action of the non-player character for which action control has been performed. The action content indicated by the second NPC action information includes the kind of action (movement, attack, etc.), the moving direction, the moving distance, and the selected attacking skill.

The display control unit25updates information displayed on the display unit (display)26on the basis of the PC action information, the first NPC action information, the second NPC action information, etc. For example, the position of a character is moved, or information indicating a predetermined action (e.g., an attack) performed by a character is displayed.

“Operations and Advantages”

With the game system1according to the embodiment described above, it is possible to control the actions of a non-player character with the computer on the client terminal20side. By letting the computer on the client terminal20side control the actions of both the player character and a non-player character, the real-time properties in displaying mutual responses to actions performed between the player character and the non-player character are improved.

Note that, since a plurality of client terminals20exist, the problem with the real-time properties is not alleviated unless control is executed so that suitable client terminals20control the actions of suitable non-player characters. For example, the problem with the real-time properties is not alleviated even if the client terminal20that performs action control for a second player character performs action control for a first non-player character while the first player character is engaged in a battle with a first non-player character.

This problem can also be alleviated with the game system1according to this embodiment. In the game system1according to this embodiment, the actions of a non-player character are controlled by the client terminal20that performs action control for a player character, with which that non-player character is set as a target on which a predetermined action (e.g., an attack) is to be taken. That is, the actions of a non-player character are controlled by the client terminal20that performs action control for a player character that has been set as a target object and thus has become likely to mutually take a predetermined action (e.g., an attack) with that non-player character. With the game system1according to the embodiment described above, suitable client terminals20control the actions of suitable non-player characters, which serves to alleviate the problem with the real-time properties.

Furthermore, with the game system1according to this embodiment, in the case where a client terminal20performs action control for a non-player character, it is possible to send information indicating the content of an action of the non-player character (second NPC action information) for which action control has been performed by the client terminal20to the other client terminals20via the server10. Thus, even if the configuration is such that a client terminal20performs action control for a non-player character, it is possible to run the game at all the client terminals20without causing a problem.

“Modifications”

Here, modifications of the game system1according to this embodiment will be described. In the example described above, the hatred value is used as a first parameter value, and the target-object setting unit15sets a target object for a non-player character on the basis of the hatred value. In a modification, another parameter value may be used as a first parameter value, and the target-object setting unit15may set a target object for a non-player character on the basis of the other parameter value.

For example, the hit points, the level, the amount of currency, or the like may be used as a first parameter value. Furthermore, the target-object setting unit15may set, as the target object for a non-player character, a character having the greatest or least hit points, level, or amount of currency among other characters having distances within the reference value L from the non-player character.

Alternatively, the target-object setting unit15may set, as the target object for a non-player character, a character having the greatest or least hit points, level, or amount of currency among other characters whose distances from the non-player character are within the reference value L and with which there is no predetermined obstacle between the non-player character and themselves.

With these modifications, it is also possible to realize operations and advantages similar to those of the game system1according to the embodiment.

Second Embodiment

“Overview”

A game system1according to this embodiment differs from the game system1according to the first embodiment in that, while a client terminal20is performing action control for a non-player character, the server10monitors a predetermined state and performs control to change the agent that performs action control for the non-player character to another agent in accordance with the state. The configuration is otherwise the same as that in the first embodiment. The game system1according to this embodiment will be described below in detail.

“Configuration of Server10”

An example of the hardware configuration of the server10is the same as that in the first embodiment.

An example functional block diagram of the server10is shown inFIG.4, similarly to the first embodiment. As shown in the figure, the server10includes a first NPC action control unit11, a communication unit12, a management unit13, a notification unit14, a target-object setting unit15, and a relay unit16. The first NPC action control unit11, the communication unit12, the management unit13, the notification unit14, and the relay unit16are configured the same as those in the first embodiment.

Similarly to the first embodiment, the target-object setting unit15sets a target object for each non-player character on the basis of a first parameter value of that non-player character. Specifically, the target-object setting unit15searches for another character satisfying a setting condition defined on the basis of the first parameter value and sets the other character satisfying the setting condition as a target object. As described earlier in the context of the first embodiment, for example, the setting condition is that “the distance from a first non-player character is within a reference value L and that the first parameter value is the greatest (or the least) among other characters satisfying the positional condition”.

Then, even when a target object is set for the first non-player character, the target-object setting unit15repeatedly searches for another character satisfying the setting condition in association with the first non-player character. Then, the target-object setting unit15executes processing in accordance with the result of the searching. The processing by the target-object setting unit15will be described below, individually for a plurality of cases.

—Case 1—

For example, when a first player character is set as the target object for a first non-player character, if it is determined that the first player character no longer satisfies the setting condition and a second player character comes to satisfy the setting condition, the target-object setting unit15discharges the first player character from the target object for the first non-player character and sets the second player character as the target object for the first non-player character.

As the game proceeds, the hatred values of the first non-player character, the positional relationships between the first non-player character and the other characters, etc. change. In accordance with such changes, such a situation may occur in which the first player character no longer satisfies the setting condition and the second player character comes to satisfy the setting condition.

In accordance with the abovementioned discharging and setting, the notification unit14issues a notification for permitting action control for the first non-player character to the client terminal20that performs action control for the second player character. Furthermore, the notification unit14issues a notification for not permitting action control for the first non-player character to the client terminal20that performs action control for the first player character.

For example, the notification unit14issues a notification to the plurality of client terminals20to the effect that the second player character has been set as the target object for the first non-player character. 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.

The client terminal20that performs action control for the second player character can recognize that the second player character, for which action control is performed by itself, has been set as the target object for the first non-player character by determining whether or not the target object indicated by the notification coincides with the second player character, for which action control is performed by itself, and can start action control for the first non-player character accordingly.

Furthermore, the client terminal20that performs action control for the first player character can recognize that the first player character, for which action control is performed by itself, is not set as the target object for the first non-player character by determining whether or not the target object indicated by the notification coincides with the first player character, for which action control is performed by itself, and can terminate action control for the first non-player character accordingly.

In the case of this example, a notification that a target object for a non-player character has newly been set serves as a notification for permitting action control for the non-player character for the client terminal20that performs action control for the player character set as the target object, and serves as a notification for not permitting action control for the non-player character for the other client terminals20.

—Case 2—

For example, when a first player character is set as the target object for a 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 comes to satisfy the setting condition, the target-object setting unit15discharges the first player character from the target object for the first non-player character and sets the second non-player character as the target object for the first non-player character. In accordance with the discharging and setting, the first NPC action control unit11starts action control for the first non-player character.

In accordance with the abovementioned discharging and setting, the notification unit14issues a notification for not permitting action control for the first non-player character to the client terminal20that performs action control for the first player character.

For example, the notification unit14issues a notification to the plurality of client terminals20to the effect that the second non-player character has been set as the target object for the first non-player character. 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.

The client terminal20that performs action control for the first player character can recognize that the first player character, for which action control is performed by itself, is not set as the target object for the first non-player character by determining whether or not the target object indicated by the notification coincides with the first player character, for which action control is performed by itself, and can terminate action control for the first non-player character accordingly.

In the case of this example, a notification that a target object for a non-player character has newly been set serves as a notification for not permitting action control for that non-player character.

Next, an example of an overview of processing performed by the server10will be described by usingFIG.14. The server10iteratively performs the flow shown inFIG.14for each non-player character. Here, the flow inFIG.14will be described while assuming that a first non-player character is the subject of the processing.

In S1, the server10determines whether or not a target object for the first non-player character is set. In the case where a target object is set (Yes in S1), the server10determines whether the set target object is a player character or a non-player character (S2).

In the case where the target object is a player character (PC in S2), the relay unit16performs relay processing (S3). Furthermore, the target-object setting unit15performs state checking, etc. (S3).

Meanwhile, in the case where the target object is a non-player character (NPC in S2), the first NPC action control unit11performs action control, etc. for the first non-player character (S4). Here, for example, an action (e.g., attacking or approaching) with the target object is executed.

In the case where a target object is not set (No in S1), the first NPC action control unit11performs action control, etc. for the first non-player character (S5). Here, for example, an action (e.g., moving or searching) for setting a target object is executed.

Examples of the relay processing in S3, the action control in S4, and the action control in S5are the same as those in the first embodiment.

Next, the flow of an example of the state check processing in S3inFIG.14, performed by the server10in the case where a player character is set as a target object, will be described by using a flowchart inFIG.15.

First, the target-object setting unit15searches for another character satisfying the setting condition (S40). For example, the target-object setting unit15searches for another character whose distance from the first non-player character is within the reference value L and for which the first parameter value is the greatest (or the least) among other characters satisfying the positional relationship.

In the case where there is a character satisfying the setting condition (Yes in S41), the target-object setting unit15determines whether or not the newly searched character coincides with the target object currently set (S42).

In the case where these characters coincide with each other (Yes in S42), the processing is terminated. Meanwhile, in the case where these characters do not coincide with each other (No in S42), the target-object setting unit15sets the newly searched character as the target object for the first non-player character (S43). Then, the notification unit14notifies the client terminals20to that effect (S43). Due to the setting in S43, the character that has been set as the target object for the first non-player character is discharged from the target object for the first non-player character.

Meanwhile, in the case where there is no character satisfying the setting condition (No in S41), the target-object setting unit15discharges the target object currently set (S44). Then, the notification unit14notifies the client terminals20to that effect (S44). In the state resulting from this discharging in S44, no target object for the first non-player character is set.

“Configuration of Client Terminal20”

An example of the hardware configuration of the client terminals20is the same as that in the first embodiment.

An example of the functional block diagram of each client terminal20is shown inFIG.13, similarly to the first embodiment. As shown in the figure, the client terminal20includes a communication unit21, a PC action control unit22, a second NPC action control unit23, a display control unit25, and a display unit26. The communication unit21, the PC action control unit22, the display control unit25, and the display unit26are configured the same as those in the first embodiment.

As described in the context of the first embodiment, the second NPC action control unit23, on the basis of notifications from the server10, manages information indicating whether or not the local client terminal20is in a state permitted to perform action control for a non-player character.

Note that, in addition to a notification for permitting action control for a non-player character, each client terminal20in this embodiment can receive a notification for not permitting action control for that non-player character. On the basis of these notifications, the second NPC action control unit23manages information indicating whether or not the local client terminal20is in a state permitted to perform action control for a non-player character.

“Operations and Advantages”

With the game system1according to the embodiment described above, it is possible to realize operations and advantages similar to those in the first embodiment.

Furthermore, with the game system1according to this embodiment, even after a character is set as a target object for a non-player character, it is possible to change the target object to another character in accordance with state changes as the game proceeds. Thus, it is possible to realize a game with rich variety such that the situation continues to change as the game proceeds. Furthermore, with the game system1according to this embodiment, when the target object is changed, it is possible to accordingly change the agent that performs action control for the non-player character. Thus, it is possible to alleviate the problem with the real-time properties, while realizing such a game with rich variety.

Third Embodiment

“Overview”

Similarly to the second embodiment, a game system1according to this embodiment differs from the game system1according to the first embodiment in that, while a client terminal20is performing action control for a non-player character, the server10monitors a predetermined state and performs control to change the agent that performs action control for the non-player character to another agent in accordance with the state. The configuration is otherwise the same as that in the first embodiment. The game system1according to this embodiment will be described below in detail.

“Configuration of Server10”

An example of the hardware configuration of the server10is the same as that in the first or second embodiment.

An example functional block diagram of the server10is shown inFIG.4, similarly to the first and second embodiments. As shown in the figure, the server10includes a first NPC action control unit11, a communication unit12, a management unit13, a notification unit14, a target-object setting unit15, and a relay unit16. The first NPC action control unit11, the communication unit12, the notification unit14, the target-object setting unit15, and the relay unit16are configured the same as those in the first or second embodiment.

In the state where a client terminal20is permitted to perform action control for a first non-player character, the management unit13monitors whether or not a second parameter value of a player character set as the target object for the first non-player character satisfies a numerical condition. The second parameter value is, for example, the “hit points”, and the numerical condition is, for example, that “the hit points are zero”. When the hit points become zero, the game is over.

Then, when the second parameter value of the player character set as the target object for the first non-player character satisfies the numerical condition, the management unit13discharges the player character from the target object for the first non-player character. In the state resulting from this discharging, no target object for the first non-player character is set. As a result, the state changes to a state in which the client terminal20is not permitted to perform action control for the first non-player character.

In accordance with the discharging, the first NPC action control unit11starts to perform action control for the first non-player character. Furthermore, the notification unit14may issue a notification to the plurality of client terminals20to the effect that a target object for the first non-player character is not set.

The management unit13may be provided with at least some of the functions described in the context of the first and second embodiments, e.g., all of those functions, in addition to the functions described here.

Similarly to the second embodiment, the server10in this embodiment iteratively performs the flow shown inFIG.14for each non-player character. Examples of the relay processing in S3, the action control in S4, and the action control in S5are the same as those in the first embodiment.

Next, the flow of an example of the state check processing in S3inFIG.14, performed by the server10in the case where a first player character is set as the target object for a first non-player character, will be described by using a flowchart inFIG.16.

First, the management unit13determines whether or not the hit points of the player character set as the target object for the first non-player character satisfies the numerical condition (that the hit points are zero) (S50).

In the case where the numerical condition is satisfied (Yes in S50), the management unit13discharges the player character from the target object for the first non-player character (S51). In the state resulting from this discharging in S51, no target object for the first non-player character is set.

Meanwhile, in the case where the numerical condition is not satisfied (No in S50), the processing is terminated.

Note that, in the state check processing in S3inFIG.14, in addition to the above processing described by using the flowchart inFIG.16, the above processing described by using the flowchart inFIG.15in the context of the second embodiment may be performed.

“Configuration of Client Terminals20”

The hardware configuration and functional configuration of the client terminals20are the same as those in the first or second embodiment.

Note that the game is over in the case where the hit points of the player character set as the target object satisfy the numerical condition (that the hit points are zero). Accordingly, the PC action control unit22terminates action control for the player character, and the second NPC action control unit23terminates action control for the non-player character.

“Operations and Advantages”

With the game system1according to the embodiment described above, it is possible to realize operations and advantages similar to those in the first and second embodiments.

Furthermore, with the game system1according to this embodiment, it is possible to monitor the state of a player character for which action control is performed by a client terminal20performing action control for a non-player character and to transfer the agent that performs action control for the non-player character to the server10when a game-over is detected. Thus, even if a situation in which a player character set as a target object leaves the game occurs as a result of a game-over for that player character, it is possible to swiftly change the agent that performs action control for the non-player character to the server10, which allows the game to proceed smoothly.

Fourth Embodiment

“Overview”

Similarly to the second and third embodiments, a game system1according to this embodiment differs from the game system1according to the first embodiment in that, while a client terminal20is performing action control for a non-player character, the server10monitors a predetermined state and performs control to change the agent that performs action control for the non-player character to another agent in accordance with the state. The configuration is otherwise the same as that in the first embodiment. The game system1according to this embodiment will be described below in detail.

“Configuration of Server10”

An example of the hardware configuration of the server10is the same as that in one of the first to third embodiments.

An example functional block diagram of the server10is shown inFIG.4, similarly to the first to third embodiments. As shown in the figure, the server10includes a first NPC action control unit11, a communication unit12, a management unit13, a notification unit14, a target-object setting unit15, and a relay unit16. The first NPC action control unit11, the communication unit12, the notification unit14, the target-object setting unit15, and the relay unit16are configured the same as those in one of the first to third embodiments.

In the state where a first player character is set as the target object for a first non-player character and the client terminal20that performs action control for the first player character is permitted to perform action control for the first non-player character, the management unit13monitors whether or not communication between the client terminal20and the server10is disconnected.

Then, when a disconnection of communication is detected, the management unit13discharges the first player character from the target object for the first non-player character. In the state resulting from this discharging, no target object for the first non-player character is set. As a result, the state is changed to a state in which the client terminal20is not permitted to perform action control for the first non-player character.

In accordance with the discharging, the first NPC action control unit11starts to perform action control for the first non-player character. Furthermore, the notification unit14may issue a notification to the plurality of client terminals20to the effect that a target object for the first non-player character is not set.

The management unit13may be provided with at least some of the functions described in the context of the first to third embodiments, e.g., all of those functions, in addition to the functions described here.

Similarly to the second and third embodiments, the server10in this embodiment iteratively performs the flow shown inFIG.14for each non-player character. Examples of the relay processing in S3, the action control in S4, and the action control in S5are the same as those in the first embodiment.

Next, the flow of an example of the state check processing in S3inFIG.14, performed by the server10in the case where a first player character is set as the target object for a first non-player character, will be described by using a flowchart inFIG.17.

First, the management unit13determines whether or not communication is disconnected between the client terminal20that performs action control for the first player character set as the target object for the first non-player character and the server10(S60). The determination method is not particularly limited, and the determination may be realized by using any technique.

In the case where the communication is disconnected (Yes in S60), the management unit13discharges the first player character from the target object for the first non-player character (S61). In the state resulting from the discharging in S61, no target object for the first non-player character is set.

Meanwhile, in the case where the communication is not disconnected (No in S60), the processing is terminated.

Note that, in the state check processing in S3inFIG.14, in addition to the above processing described by using the flowchart inFIG.17, at least one of the above processing described by using the flowchart inFIG.15in the context of the second embodiment and the above processing described by using the flowchart inFIG.16in the context of the third embodiment may be performed.

“Configuration of Client Terminals20”

The hardware configuration and functional configuration of the client terminals20are the same as those in one of the first to third embodiments.

“Operations and Advantages”

With the game system1according to the embodiment described above, it is possible to realize operations and advantages similar to those in the first to third embodiments.

Furthermore, with the game system1according to this embodiment, it is possible to monitor the communication status between a client terminal20performing action control for a non-player character and the server10and to swiftly transfer the agent that performs action control for the non-player character to the server10when a disconnection of communication is detected. Thus, even when a disconnection of communication occurs between the client terminal20performing action control for the non-player character and the server10, it is possible to let the game proceed smoothly.

Fifth Embodiment

“Overview”

Similarly to the second to fourth embodiments, a game system1according to this embodiment differs from the game system1according to the first embodiment in that, while a client terminal20is performing action control for a non-player character, the server10monitors a predetermined state and performs control to change the agent that performs action control for the non-player character to another agent in accordance with the state. The configuration is otherwise the same as that in the first embodiment. The game system1according to this embodiment will be described below in detail.

“Configuration of Server10”

An example of the hardware configuration of the server10is the same as that in one of the first to fourth embodiments.

An example functional block diagram of the server10is shown inFIG.4, similarly to the first to fourth embodiments. As shown in the figure, the server10includes a first NPC action control unit11, a communication unit12, a management unit13, a notification unit14, a target-object setting unit15, and a relay unit16. The first NPC action control unit11, the communication unit12, the notification unit14, the target-object setting unit15, and the relay unit16are configured the same as those in one of the first to fourth embodiments.

The management unit13monitors the state of a first non-player character while a first player character is set as the target object for the first non-player character.

Here, the state of the first non-player character, monitored by the management unit13, will be described. A non-player character enters an action-prohibited state if a predetermined condition is satisfied in the case where the non-player character is attacked by another character. While in the action-prohibited state, the non-player character cannot execute actions such as moving and attacking. When a returning condition (e.g., the elapse of a predetermined time or being subjected to a predetermined action by another character) is satisfied after the non-player character enters the action-prohibited state, the non-player character returns to a normal state in which actions such as moving and attacking can be taken.

While the first player character is set as the target object for the first non-player character, the management unit13manages whether or not the first non-player character is in the action-prohibited state. Then, upon detecting that the first non-player character is in the action-prohibited state, the management unit13discharges the first player character from the target object for the first non-player character. In the state resulting from this discharging, no target object for the first non-player character is set. As a result, the state changes to a state in which the client terminal20is not permitted to perform action control for the first non-player character.

In accordance with the discharging, the notification unit14may issue a notification to the plurality of client terminals20to the effect that a target object for the first non-player character is not set. When the first non-player character returns to the normal state after the discharging, the first NPC action control unit11starts to perform action control for the first non-player character.

The management unit13may be provided with at least some of the functions described in the context of the first to fourth embodiments, e.g., all of those functions, in addition to the functions described here.

Similarly to the second to fourth embodiments, the server10in this embodiment iteratively performs the flow shown inFIG.14for each non-player character. Examples of the relay processing in S3, the action control in S4, and the action control in S5are the same as those in the first embodiment.

Next, the flow of an example of the state check processing in S3inFIG.14, performed by the server10in the case where a first player character is set as the target object for a first non-player character, will be described by using a flowchart inFIG.18.

First, the management unit13determines whether or not the first non-player character is in the action-prohibited state (S70).

In the case where the first non-player character is in the action-prohibited state (Yes in S70), the management unit13discharges the first player character from the target object for the first non-player character (S71). Then, the notification unit14issues a notification to that effect to the client terminals20(S71). In the state resulting from the discharging in S71, no target object for the first non-player character is set.

Meanwhile, in the case where the first non-player character is not in the action-prohibited state (No in S70), the processing is terminated.

Note that, in the state check processing in S3inFIG.14, in addition to the above processing described by using the flowchart inFIG.18, at least one of the above processing described by using the flowchart inFIG.15in the context of the second embodiment, the above processing described by using the flowchart inFIG.16in the context of the third embodiment, and the above processing described by using the flowchart inFIG.17in the context of the fourth embodiment may be performed.

“Configuration of Client Terminals20”

The hardware configuration and functional configuration of the client terminals20are the same as those in one of the first to fourth embodiments.

“Operations and Advantages”

With the game system1according to the embodiment described above, it is possible to realize operations and advantages similar to those in the first to fourth embodiments.

Furthermore, with the game system1according to this embodiment, it is possible to monitor the state of a non-player character for which a client terminal20is performing action control and to transfer the agent that performs action control for the non-player character to the server10when it is detected that the non-player character has entered an action-prohibited state. Predetermined actions are not performed mutually between a non-player character in the action-prohibited state and other characters. There is no need for a client terminal20to perform such action control for a non-player character. With the game system1according to this embodiment, action control for a non-player character can be performed by a suitable agent.

This application claims the right of priority based on Japanese Patent Application No. 2018-135588 filed on 19 Jul. 2018, and incorporates the entire disclosure thereof herein.

Claims

  1. A game system comprising a server and a client terminal, wherein the server comprises: a first non-player character (NPC) action control unit that controls a non-player object and sends first NPC action information indicating first action content of the non-player object to the client terminal;a management unit that manages a first parameter value in association with the non-player object and a plurality of player objects;a target-object setting unit that sets a target object based on the first parameter value, the target object being a first player object among the plurality of player objects on which the non-player object performs a predetermined action comprising a plurality of action contents for a battle scene;and a notification unit that issues a notification for permitting action control for the non-player object to the client terminal that controls the first player object set as the target object, and wherein the client terminal comprises: a second NPC action control unit that controls second action content of the non-player object for the predetermined action based on receiving the notification from the server, wherein the plurality of action contents comprise the first action content and the second action content, and wherein the non-player object is controlled by the server and the client terminal during the predetermined action based on the first action content and the second action content, wherein the management unit manages state information indicating whether or not the client terminal is in a state permitted to perform action control for the non-player object, wherein the first NPC action control unit controls the non-player object based on the state information, and wherein, when a second parameter value of the first player object set as the target object satisfies a numerical condition in the state in which the client terminal is permitted to perform action control for the non-player object, the management unit changes the state information to a state in which the client terminal is not permitted to perform action control for the non-player object.
  1. A game system according to claim 1, wherein, upon controlling the non-player object based on the notification, the second NPC action control unit sends second NPC action information indicating the second action content of the non-player object to the server, and wherein the server further includes a relay unit that receives the second NPC action information and sends the second NPC action information to another client terminal.
  2. A game system according to claim 1, wherein the client terminal includes a player character (PC) action control unit that controls the first player object based on a player input and sends PC action information indicating action content of the first player object to the server, wherein the management unit changes the first parameter value based on the action content of the first player object, indicated by the PC action information, and wherein the target-object setting unit sets, as the target object, the first player object satisfying a setting condition defined based on the first parameter value.
  3. A game system according to claim 3, wherein the target-object setting unit sets, as the target object, the first player object satisfying the setting condition defined based on a relative positional relationship with respect to a position of the non-player object.
  4. A game system according to claim 3, wherein the target-object setting unit, upon determining, while the first player object of the plurality of player objects is set as the target object, that the first player object no longer satisfies the setting condition and that a second player object of the plurality of player objects comes to satisfy the setting condition, discharges the first player object from the target object, and sets the second player object as the target object, and wherein the notification unit issues a notification for permitting action control for the non-player object to the client terminal that controls an action of the second player object.
  5. A game system according to claim 1, wherein the predetermined action is an attack by the non-player object on the first player object.
  6. A game system according to claim 1, wherein the plurality of action contents comprise a movement direction of the non-player object, a movement distance of the non-player object, and a selected attacking skill.
  7. A game system comprising a server and a client terminal, wherein the server comprises: a first non-player character (NPC) action control unit that controls a non-player object and sends first NPC action information indicating first action content of the non-player object to the client terminal;a management unit that manages a first parameter value in association with the non-player object and a plurality of player objects;a target-object setting unit that sets a target object based on the first parameter value, the target object being a player object among the plurality of player objects on which the non-player object performs a predetermined action comprising a plurality of action contents for a battle scene;and a notification unit that issues a notification for permitting action control for the non-player object to the client terminal that controls the player object set as the target object, and wherein the client terminal comprises: a second NPC action control unit that controls second action content of the non-player object for the predetermined action based on receiving the notification from the server, wherein the plurality of action contents comprise the first action content and the second action content, and wherein the non-player object is controlled by the server and the client terminal during the predetermined action based on the first action content and the second action content, wherein the management unit manages state information indicating whether or not the client terminal is in a state permitted to perform action control for the non-player object, wherein the first NPC action control unit controls the non-player object based on the state information, and wherein, when communication between the client terminal permitted to perform action control for the non-player object and the server becomes disconnected in the state in which the client terminal is permitted to perform action control for the non-player object, the management unit changes the state information to a state in which the client terminal is not permitted to perform action control for the non-player object.
  8. A control method for a game system including a server and a client terminal, wherein the server executes: a first non-player character (NPC) action control step of controlling a non-player object and sending first NPC action information indicating first action content of the non-player object to the client terminal;a parameter-value management step of managing a first parameter value in association with the non-player object and a plurality of player objects;a target-object setting step of setting a target object based on the first parameter value, the target object being a player object among the plurality of player objects on which the non-player object performs a predetermined action comprising a plurality of action contents for a battle scene;and a notification step of issuing a notification for permitting action control for the non-player object to the client terminal that controls the player object set as the target object, and wherein the client terminal executes: a second NPC action control step of controlling second action content of the non-player object for the predetermined action based on receiving the notification from the server, wherein the plurality of action contents comprise the first action content and the second action content, and wherein the non-player object is controlled by the server and the client terminal during the predetermined action based on the first action content and the second action content, wherein the server manages state information indicating whether or not the client terminal is in a state permitted to perform action control for the non-player object, wherein the client terminal controls the non-player object based on the state information, and wherein, when a second parameter value of the player object set as the target object satisfies a numerical condition in the state in which the client terminal is permitted to perform action control for the non-player object, the server changes the state information to a state in which the client terminal is not permitted to perform action control for the non-player object.
  9. A server in a game system including the server and a client terminal, the server comprising: a first non-player character (NPC) action control unit that controls a non-player object and sends first NPC action information indicating first action content of the non-player object to the client terminal;a management unit that manages a first parameter value in association with the non-player object and a plurality of player objects;a target-object setting unit that sets a target object based on the first parameter value, the target object being a first player object among the plurality of player objects on which the non-player object performs a predetermined action comprising a plurality of action contents for a battle scene;and a notification unit that issues a notification for permitting action control for the non-player object to the client terminal that controls the first player object set as the target object, wherein second action content of the non-player object for the predetermined action is controlled based on receiving the notification from the server, wherein the plurality of action contents comprise the first action content and the second action content, and wherein the non-player object is controlled by the server and the client terminal during the predetermined action based on the first action content and the second action content, wherein the management unit manages state information indicating whether or not the client terminal is in a state permitted to perform action control for the non-player object, wherein the first NPC action control unit controls the non-player object based on the state information, and wherein, when a second parameter value of the first player object set as the target object satisfies a numerical condition in the state in which the client terminal is permitted to perform action control for the non-player object, the management unit changes the state information to a state in which the client terminal is not permitted to perform action control for the non-player object.
  10. A server according to claim 10, further comprising: a relay unit that receives second NPC action information indicating the first action content of the non-player object from the server that controls the non-player object based on the notification and sends the second NPC action information to another client terminal.
  11. A server according to claim 10, wherein the management unit changes the first parameter value based on action content of the first player object, and wherein the target-object setting unit sets, as the target object, the first player object satisfying a setting condition defined based on the first parameter value.
  12. A server according to claim 12, wherein the target-object setting unit sets, as the target object, the first player object satisfying the setting condition defined based on a relative positional relationship with respect to a position of the non-player object.
  13. A server according to claim 12, wherein the target-object setting unit sets, as the target object, the first player object satisfying the setting condition defined based on a relative positional relationship with respect to a position of the non-player object, wherein the target-object setting unit, upon determining, while the first player object of the plurality of player objects is set as the target object, that the first player object no longer satisfies the setting condition and that a second player object of the plurality of player objects comes to satisfy the setting condition, discharges the first player object from the target object, and sets the second player object as the target object, and wherein the notification unit issues a notification for not permitting action control for the non-player object to the client terminal that controls the first player object, and issues a notification for permitting action control for the non-player object to the client terminal that controls the second player object.
  14. A server in a game system including the server and a client terminal, the server comprising: a first non-player character (NPC) action control unit that controls a non-player object and sends first NPC action information indicating first action content of the non-player object to the client terminal;a management unit that manages a first parameter value in association with the non-player object and a plurality of player objects;a target-object setting unit that sets a target object based on the first parameter value, the target object being a player object among the plurality of player objects on which the non-player object performs a predetermined action comprising a plurality of action contents for a battle scene;and a notification unit that issues a notification for permitting action control for the non-player object to the client terminal that controls the player object set as the target object, wherein second action content of the non-player object for the predetermined action is controlled based on receiving the notification from the server, wherein the plurality of action contents comprise the first action content and the second action content, and wherein the non-player object is controlled by the server and the client terminal during the predetermined action based on the first action content and the second action content, wherein the management unit manages state information indicating whether or not the client terminal is in a state permitted to perform action control for the non-player object, wherein the first NPC action control unit controls the non-player object based on the state information, and wherein, when communication between the client terminal permitted to perform action control for the non-player object and the server becomes disconnected in the state in which the client terminal is permitted to perform action control for the non-player object, the management unit changes the state information to a state in which the client terminal is not permitted to perform action control for the non-player object.
  15. A program in a non-transitory storage medium for causing a server in a game system including the server and a client terminal to function as: a first non-player character (NPC) action control means for controlling a non-player object and sending first NPC action information indicating first action content of the non-player object to the client terminal;a parameter-value management means for managing a first parameter value in association with the non-player object and a plurality of player objects;a target-object setting means for setting a target object based on the first parameter value, the target object being a player object among the plurality of player objects on which the non-player object performs a predetermined action comprising a plurality of action contents for a battle scene;and a notification means for issuing a notification for permitting action control for the non-player object to the client terminal that controls the player object set as the target object, wherein second action content of the non-player object for the predetermined action is controlled based on receiving the notification from the server, wherein the plurality of action contents comprise the first action content and the second action content, and wherein the non-player object is controlled by the server and the client terminal during the predetermined action based on the first action content and the second action content, wherein the server indicating whether or not the client terminal is in a state permitted to perform action control for the non-player object, wherein the client terminal controls the non-player object based on the state information, and wherein, when a second parameter value of the player object set as the target object satisfies a numerical condition in the state in which the client terminal is permitted to perform action control for the non-player object, the server changes the state information to a state in which the client terminal is not permitted to perform action control for the non-player object.

Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.