Program and object control device
Patent Information
- Application Number
- JP2023134084
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-21
- Publication Date
- 2025-03-06
- Estimated Expiration
- 2043-08-21
AI Technical Summary
【0015】 本開示によれば、オブジェクトに起因する効果またはオブジェクトの行動を、オブジェクトの群れ単位で決定できる。
Smart Images

Figure 2025029436000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a program and an object control device. [Background technology]
[0002] In some game programs, sounds are played as pronunciations of non-player characters (see, for example, Patent Document 1). In the example of Patent Document 1, a judgment area of a predetermined shape is set, and sounds are played repeatedly at random time intervals determined within a time range according to the number of non-player characters present in the judgment area. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent No. 6198375 Summary of the Invention [Problem to be solved by the invention]
[0004] Effects caused by objects such as non-player characters or the behavior of the objects affect the user's physical sensation (so-called user experience). For example, in a virtual space, it is important to determine the effects and behavior of objects that form a group.
[0005] The present disclosure allows for effects attributable to objects or behavior of objects to be determined on a swarm basis. [Means for solving the problem]
[0006] A first aspect of the present invention provides a computer comprising: an area specification unit that attempts to specify an object group area, which is an area in the virtual space that includes a threshold number or more of first objects, within a predetermined range of the virtual space; A determination unit that determines an action or an effect caused by the first object for the first object in the object group area; a processing unit that realizes the action or the effect determined by the determination unit in the virtual space; The predetermined range of the virtual space is divided into a plurality of small regions, The object group region is one of the small regions or a predetermined number of the small regions arranged side by side. It is a program.
[0007] In a first aspect, The area specifying unit may perform the division by determining the predetermined range based on a position of a second object operated by a user.
[0008] In the above aspect, The area specifying section may redo the division in response to a movement of the second object.
[0009] In the above aspect, The processing unit may control the first object that is not included in the object group area so that at least a part of the action and the effect are different from those of the first object within the object group area.
[0010] In the above aspect, The region specifying unit is First step: Select a small region group as a candidate for the object group region. A second step: if the number of the first objects in the small region group selected as the candidate exceeds the threshold number, the small region group is determined as the object group region. Repeat the process, In the first step, the currently selected range may be shifted during the repetitive process to newly select the small region group as the candidates.
[0011] In the above aspect, A timing for producing a sound is set for each of the first objects; When the sound production of a plurality of the first objects is determined as the action, the processing unit may play audio data including the sounds of a predetermined number of the first objects when it is time for a predetermined one of the first objects (hereinafter referred to as a sound production object) in the object group area to produce a sound.
[0012] In the above aspect, The processing unit may be configured not to reproduce sound data even when it is time for the first object in the object group area other than the sound producing object to produce sound.
[0013] In the above aspect, The area specifying unit may change a form of the object group area in accordance with a topography set in the virtual space or an object placed in the virtual space.
[0014] A second aspect of the present invention is a method for controlling a computer-implemented program for a computer-implemented system, comprising: A control unit that executes the program; The object control device includes: Effect of the Invention
[0015] According to the present disclosure, effects attributable to objects or behavior of objects can be determined on a group-by-group basis. [Brief description of the drawings]
[0016] [Figure 1] 1 is a block diagram showing the configuration of a game device according to an embodiment of the present invention; [Diagram 2] FIG. 13 is a diagram showing examples of segment ranges and small regions. [Diagram 3] 13A and 13B are diagrams showing small regions and object group regions in a modified example. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0017] [Embodiment] The program and object control device of the present disclosure can be used to provide services in a virtual space (for example, a so-called metaverse service). There is no limitation on the services that can be provided.
[0018] As an example, a case will be described below in which a game is provided as a service in a virtual space. In the following example, a program is implemented as a game program, and an object control device is realized as a game device. The game program is executed in the game device.
[0019] Game Overview This game program uses meters (m) as the unit of distance in the virtual game space (hereafter referred to as virtual space VS). In this game program, the size of objects (e.g. characters, buildings, trees, etc.) in the virtual space VS is determined by corresponding a distance of 1.0 in the virtual space coordinate system to 1.0 meter in the real world.
[0020] In a game based on this game program, a player character is operated by a user to move in a three-dimensional virtual space VS. In this game, the player characters may be organized into groups to perform various actions.
[0021] There are non-player characters in the virtual space VS. The non-player characters are objects that can perform actions independently. In other words, the non-player characters cannot be controlled by the user.
[0022] In this game, non-player characters appear as opponents (targets to be defeated) of the player characters. Non-player characters may appear in groups.
[0023] A non-player character may make a sound. For example, a monster may bark. Each non-player character is assigned a sound timing and a type of sound (e.g., a bark) to be made at that timing.
[0024] Configuration of the Game Device Hardware Configuration 1 is a block diagram showing the configuration of a game device 5. The game device 5 executes a predetermined game based on a user's operation. The game device 5 has a display 61 (display device), a speaker 62, and a controller 63 either externally connected or built-in.
[0025] The game device 5 may be, for example, a personal computer, PlayStation (registered trademark), XBox (registered trademark), PlayStation Vita (registered trademark), Nintendo Switch (registered trademark), or other commercially available device.
[0026] In the game device 5, the game progresses based on the installed game program and game data. The game devices 5 can communicate data with each other using a communication network (not shown) or a short-range wireless communication device (not shown).
[0027] The game device 5 has a network interface 51, a graphics processing unit 52, an audio processing unit 53, an operation unit 54, a storage unit 55, and a control unit 56. The network interface 51, the graphics processing unit 52, the audio processing unit 53, the operation unit 54, and the storage unit 55 are electrically connected to the control unit 56 via a bus 59.
[0028] The network interface 51 is communicatively connected to the communication network in order to transmit and receive various data to and from, for example, other game devices 5 and external server devices (not shown).
[0029] The graphics processing unit 52 renders game images including the player character and various objects in a virtual space (hereinafter, virtual space VS) in a moving image format according to game image information output from the control unit 56. The graphics processing unit 52 is connected to a display 61 (e.g., a liquid crystal display). The game images rendered in a moving image format are displayed on the display 61 as a game screen.
[0030] The graphics processing unit 52 displays a predetermined range within the virtual space VS on the display 61. The graphics processing unit 52 determines the display range in response to an instruction from the control unit 56.
[0031] The audio processing unit 53 is connected to the speaker 62. The audio processing unit 53 reproduces digital game sounds in accordance with instructions from the control unit 56. Specifically, the audio processing unit 53 converts the sound data output by the control unit 56 into an analog signal and outputs it to the speaker 62.
[0032] The operation unit 54 is connected to the controller 63. The operation unit 54 transmits and receives signals to and from the controller 63. A user (a game player) operates various operators such as buttons of the controller 63 to input signals (such as commands and data) to the game device 5.
[0033] The storage unit 55 is composed of an HDD, an SSD, a RAM, a ROM, etc. Game data, various programs including a game program, etc. are stored in the storage unit 55. Examples of game data include game media and user account information.
[0034] The control unit 56 controls the operation of the game device 5. The control unit 56 includes a CPU (microcomputer) and a semiconductor memory. The semiconductor memory stores programs and data for operating the CPU.
[0035] <Functional configuration of the control unit 56> The control unit 56 executes a game program, thereby functioning as a game progression unit 561, an area identification unit 562, a determination unit 563, and a processing unit 564 (see FIG. 1).
[0036] (Game Progression Section 561) The game progression unit 561 progresses the game by operating the player character PC, non-player character NPC, and predetermined objects in the virtual space VS. Note that, hereinafter, the non-player character NPC may be referred to as a first object, and the player character PC may be referred to as a second object.
[0037] In this game, the non-player character NPC is an enemy character such as a monster. A plurality of non-player character NPCs appears in this game. The game progression unit 561 uses, for example, AI (artificial intelligence) to control the actions of the non-player character NPCs.
[0038] In response to the action control of the game progression unit 561, the non-player character NPC may launch an attack on the player character PC. When attacking the non-player character NPC, the non-player character NPC may surround the player character PC in a group (a flock).
[0039] The game progression unit 561 controls the movements of the player character PC in response to instructions from the user (player). The user's instructions are input to the operation unit 54 by the controller 63. The operation unit 54 sends the input from the controller 63 (user's instructions) to the game progression unit 561.
[0040] For example, the user can instruct the game progression unit 561 to move the player character PC by operating the controller 63. The user can cause the player character PC to attack enemy characters (non-player characters NPC) such as monsters by operating the controller 63.
[0041] (Area identification unit 562) The area identification unit 562 identifies a group of non-player character NPCs (monsters). In this game program, the group includes a threshold number Th or more of non-player character NPCs. The value of the threshold number Th may be set arbitrarily by the developer of the program. In this embodiment, the threshold number Th is 5.
[0042] When identifying a group, the area identifying unit 562 divides a predetermined area of the virtual space VS (hereinafter, for convenience of explanation, referred to as a divided area A) into a plurality of small areas R (grids). Fig. 2 shows an example of the divided area A and the small area R. Fig. 2 shows only a portion of the divided area A.
[0043] The area specifying unit 562 determines the segmented range A based on the position of the player character PC. In this example, the segmented range A is a predetermined two-dimensional range centered on the player character PC.
[0044] The size of the segment range A may be set arbitrarily by the developer of the program. In this game program, the segment range A is the range in which the sound produced by the non-player character NPC can reach the player character PC. In this game program, the segment range A is an area of 40m x 40m.
[0045] Since the range A is a two-dimensional area, the small area R is also a two-dimensional area. The size of the small area R may be set arbitrarily by the developer of the program. In this game program, each small area R is a square with each side measuring 2m.
[0046] When identifying a group, the area identification unit 562 attempts to identify an object group area G within the divided range A. The object group area G is an area in the virtual space VS that includes a threshold number Th or more of non-player characters NPC. The object group area G is formed by a predetermined number (described later) of small areas R lined up. The object group area G is a two-dimensional area.
[0047] The size of the object group area G (the number of small areas R it contains) may be set arbitrarily by the program developer. In the example of Figure 2, the object group area G is made up of 2x2 small areas R.
[0048] In order to identify a group within the segmented range A (object group region G), the region identifying unit 562 repeats the following steps.
[0049] 1st step: In the first step, a group of small regions is selected as candidates for the object group region G. More specifically, in the first step, a group of small regions (in this example, 2×2 small region R) having the same shape as the object group region G is selected as candidates for the object group region G. If there is no candidate for the object group region G currently selected, a predetermined number of small regions R (in this example, 2×2) starting from the small region R at the very edge of the segmented range A are obtained as initial candidates.
[0050] On the other hand, if a small region group has already been selected as a candidate for the object group region G, the region identification unit 562 shifts the current selection range and selects a new small region group as the candidate. However, the region identification unit 562 selects the candidate so that it does not overlap with the object group region G that has already been determined.
[0051] Second step: In the second step, if the number of first objects in the small region group selected as a candidate exceeds a threshold number Th, the small region group is determined as an object group region G. More specifically, in the second step, the region identification unit 562 counts the number of non-player characters NPC in the small region group selected as a candidate. If the count value exceeds the threshold number Th, the small region group is determined as an object group region G. It may be considered that a group consisting of a predetermined number of non-player characters NPC exists in the object group region G.
[0052] Various methods can be used to count the non-player character NPCs in the small area group. In this program, the area identification unit 562 compares the coordinate range of the selected small area group with the coordinates of the focused non-player character NPC. If it is determined that the non-player character NPC is in the small area group as a result of the comparison, the count is increased.
[0053] The repetition of the first and second steps ends when the selection range in the first step covers the entire divided range A. At the end of the process, there may be cases where no object group region G has been set at all.
[0054] (Decision unit 563) The determination unit 563 determines the behavior of the non-player characters NPCs in the object group area G in units (flock units) of the object group area G. The determination unit 563 may determine, as the determined behavior, the pronunciation of the barking sounds of a plurality of non-player characters NPCs (monsters in a flock).
[0055] The determination unit 563 may determine the effect caused by the non-player characters NPCs in the object group area G on a group basis. The effect caused by the non-player characters NPCs is a phenomenon that occurs in the virtual space as a result of the actions of the non-player characters NPCs. As such a phenomenon, the determination unit 563 may determine, for example, the sound of footsteps generated by the walking of the non-player characters NPCs.
[0056] The determination unit 563 determines the action and the effect for each of the non-player characters NPC outside the object group area G.
[0057] (Processing section 564) The processing unit 564 realizes in the virtual space VS the effect or the action determined by the determination unit 563. For example, when the sound of a non-player character NPC in the object group area G is determined as the action, the processing unit 564 reproduces the sound of the non-player character NPC as a group.
[0058] Specifically, the processing unit 564 instructs the audio processing unit 53 to play back sound data when it is time for a predetermined non-player character NPC (hereinafter, referred to as a sound producing object) in the object group area G to produce a sound. When instructing the audio processing unit 53, the processing unit 564 designates one piece of sound data for the audio processing unit 53.
[0059] The sound data specified by the processing unit 564 includes sounds of a group (sounds of a plurality of non-player character NPCs). In other words, for the non-player character NPCs in the object group area G, the sound data of each individual non-player character NPC is not reproduced.
[0060] The number of non-player character NPCs to be recorded in the voice data for the flock is arbitrary. The voice data may include voices of non-player character NPCs with a threshold number Th or more, or may include voices of non-player character NPCs with a number less than the threshold number Th. It is important that the voice data is configured so that it is not noisy when listened to by the user.
[0061] The non-player character NPC that becomes the sound-producing object may be any non-player character NPC in the object group area G. The non-player character NPC that becomes the sound-producing object may be determined in advance. For example, if a leader-type non-player character NPC exists in the object group area G, the sound of the group may be reproduced at the sound-producing timing of the leader.
[0062] The processing unit 564 does not emit sound even when it is time to emit sound for non-player characters NPCs in the object group area G other than the sound-emitting object. This prevents the user from feeling annoyed.
[0063] The processing unit 564 controls the non-player characters NPC outside the object group area G so that at least a part of the actions and effects are different from those of the non-player characters NPC within the object group area G.
[0064] Example of operation When the game starts, the game progression unit 561 operates the player character PC (second object) within the virtual space VS in response to the operation of the controller 63 by the user (game player). The game progression unit 561 also operates objects such as non-player characters NPCs in the virtual space VS as necessary. The game progression unit 561 displays the movements of the player character PC, non-player characters NPCs, etc. on the display 61 via the graphics processing unit 52.
[0065] The area specifying unit 562 detects the position of the player character PC. The area specifying unit 562 determines a segmented range A according to the position of the player character PC. The area specifying unit 562 divides the segmented range A into a plurality of small areas R. The area specifying unit 562 redoes the division when the player character PC moves.
[0066] The area specifying unit 562 attempts to specify an object group area G in the divided range A. That is, the area specifying unit 562 searches for a group of non-player characters NPC (monsters) equal to or greater than the threshold number Th. In this example, the threshold number Th is 5.
[0067] As the game progresses, it is assumed that a plurality of non-player characters NPC (assumed to be monsters) gather around the player character PC (see FIG. 2). It is also assumed that the area specifying unit 562 sets an object group area G. In the example of FIG. 2, three object group areas G are set.
[0068] Once the object group area G is set, the determination unit 563 determines the action of the non-player character NPC within the object group area G or the effect attributable to the non-player character NPC within the object group area G.
[0069] Here, it is assumed that the determination unit 563 has determined that the non-player character NPC will bark. In response to this determination, the processing unit 564 designates sound data for the flock (the sound of a flock of barking monsters) and instructs the audio processing unit 53 to play it back.
[0070] Also, suppose that the determination unit 563 determines that an earth rumbling sound is to be generated as an effect caused by the action of the non-player character NPC. In response to this determination, the processing unit 564 designates sound data of the earth rumbling sound for each flock and instructs the audio processing unit 53 to play it back.
[0071] The audio processing unit 53 reproduces the audio data specified by the processing unit 564. As a result, the sound of a flock of non-player characters NPCs (monsters) roaring is reproduced from the speaker 62. Furthermore, the speaker 62 reproduces the sound of rumbling.
[0072] To summarize the above, the present embodiment is a program that causes a computer to function as an area identification unit 562 that attempts to identify an object group area G, which is an area within a virtual space VS that contains a threshold number or more of first objects (non-player characters NPCs), within a specified range of the virtual space VS, a determination unit 563 that determines an action or an effect attributable to the first object for the first object within the object group area G, and a processing unit 564 that realizes the action or the effect determined by the determination unit 563 in the virtual space VS, wherein the specified range of the virtual space VS is divided into a plurality of small areas R, and the object group area G is one of the small areas R or a specified number of the small areas R lined up.
[0073] Effects of this embodiment According to this embodiment, the effect caused by an object or the behavior of the object can be determined for each group of objects. For example, if each member of the group were to make a sound individually, the user may feel that it is noisy. It is not easy to control the volume of each member of the group individually. In contrast, in this embodiment, since the sound reproduction can be controlled for each group, the sound data (sound source) can be selected so that the user does not feel that it is noisy.
[0074] [Modifications of the embodiment] Fig. 3 is a diagram showing a small region R and an object group region G in a modified example of the embodiment. For ease of explanation, the small region R in Fig. 3 is given a subnumber (for example, R-1, R-2, etc.) after its reference number.
[0075] As shown in Fig. 3, the object group region G is made up of 1 x 1 small regions R (see small region R-6 in Fig. 3). In this modified example, the size of the object group region G is equal to the size of the small regions R. The small regions R in this modified example are larger than the small regions R in the above embodiment.
[0076] In this modification, the region identification unit 562 also divides the divided range A into a plurality of small regions R. The region identification unit 562 executes a first step and a second step. Because the object group region G is a 1×1 small region R, the processing load of these steps on the control unit 56 is smaller than the processing load in the first embodiment.
[0077] Example of operation In this modified example, the area identification unit 562 also detects the position of the player character PC. The area identification unit 562 determines a segmented range A according to the position of the player character PC. The area identification unit 562 divides the segmented range A into a plurality of small areas R. The determination of the segmented range A by the area identification unit 562 and the division are updated whenever the player character PC moves.
[0078] The region identifying section 562 attempts to identify an object group region G in the divided range A. In this modified example as well, the threshold number Th=5.
[0079] In the example of Fig. 3, small area R-6 is detected as an object group area G. In other words, the non-player characters NPC in small area R-6 are treated as a flock. On the other hand, the five non-player characters NPC (=threshold number Th) present in small areas R-1 to R-4 are not treated as a flock.
[0080] Once the object group area G is set, the determination unit 563 determines the action of the non-player character NPC in the object group area G or the effect caused by the non-player character NPC in the object group area G. In this example, it is assumed that the sound of a bark is determined as the action.
[0081] The determination unit 563 determines the individual behavior of the non-player characters NPCs within the division range A and outside the object group area G. In this example, the determination unit 563 determines the barking sound for each of the non-player characters NPCs present in the small areas R-1 to R-4.
[0082] The processing unit 564 selects the sound data according to the determination by the determination unit 563, and instructs the audio processing unit 53 to play back the sound. The audio processing unit 53 plays back the sound data specified by the processing unit 564. As a result, the speaker 62 plays back the sound of a group of non-player characters NPCs (monsters) barking. Furthermore, the speaker 62 plays back the sound of each of the non-player characters NPCs in the small areas R-1 to R-4 barking individually.
[0083] Effects of this embodiment In this embodiment, the success or failure of a flock is determined for each small region R. Therefore, the processing load on the region identifying unit 562 is smaller than the processing load on the region identifying unit 562 of embodiment 1. In other words, this modification is useful for applications that require a reduction in the processing load.
[0084] In this modified example, the sounds made by the non-player characters NPC as a group are also controlled so that the user does not feel that the sounds are loud. In other words, even if the non-player characters NPCs in the small areas R-1 to R-4 make sounds individually, the loudness felt by the user as a whole can be reduced.
[0085] [Other embodiments] The control by this program is not limited to the control of sound. It can be used to control objects in a flock (multiple objects) in a virtual space. For example, a group of objects determined to be a flock may be made to act as a flock. More specifically, it is conceivable to move the flock as a unit, or to have the individuals of the flock perform cooperative actions (attacks).
[0086] The use of this program is not limited to games. It can be used to control objects in virtual spaces other than games.
[0087] The position reference (second object) when determining the divided range A is not limited to the player character PC. The second object may be another character or a virtual camera (a virtual object that specifies the displayed screen).
[0088] The sound producing object may be selected randomly from among the non-player characters NPC within the object group area G. The non-player character NPC that is closest to the player character PC within the object group area G may be set as the sound producing object.
[0089] The size of the small region R and the number of small regions R that make up the object group region G are merely examples. The shape of the small region R is not limited to a square. For example, the small region R may be a rectangle or another shape.
[0090] The divided range A and the small area R may be configured in three dimensions.
[0091] At least one of the divided range A and the small area R may be created in advance during the development stage of the program, and the information on the created range and the small area R may be stored as data.
[0092] The object group region G may change its form in accordance with the terrain and the like set in the virtual space. For example, in a narrow passage, it is conceivable to form a long and thin object group region G. The number of small regions R that make up the object group region G may be changed dynamically.
[0093] The program may be provided with an interface that allows the user to set the threshold number Th.
[0094] The threshold number Th may be different depending on the type of object (eg, monster).
[0095] The audio data may be generated (synthesized) during execution of the program.
[0096] The processing unit 564 may change the sound data to be selected depending on the size of the group (the number of first objects in the object group area G).
[0097] The region identification unit 562 may perform segmentation at predetermined time intervals.
[0098] The program may be implemented so as to be executed by a plurality of computers (e.g., a server and a client) working together. For example, the program may be implemented as a game program for an online game. When the program is executed by the server and the client, the processing that was performed by the control unit 56 on the client side may be performed by the server instead of the client, or the processing may be shared between the server and the client (game device 5).
[0099] Even when these other embodiments are adopted, the effects of the present aspect are exhibited. In addition, this embodiment can be appropriately combined with other embodiments, and other embodiments can be appropriately combined with each other. [Explanation of symbols]
[0100] 55 Storage section 56 Control section 562 Area identification part 563 Decision Section 564 Processing section A Classification Range (Predetermined Range) G Object Group Domain NPC Non-player character (first object) PC Player character (second object) R small area Th Threshold number VS Virtual Space
Claims
1. Computer, an area specification unit that attempts to specify, within a predetermined range of the virtual space, an object group area that is an area in the virtual space that includes a threshold number or more of first objects; A determination unit that determines an action or an effect caused by the first object for the first object in the object group area; a processing unit that realizes the action or the effect determined by the determination unit in the virtual space; The predetermined range of the virtual space is divided into a plurality of small regions, The object group region is one of the small regions or a predetermined number of the small regions arranged side by side. program.
2. In the program of claim 1, The area specifying unit performs the division by determining the predetermined range based on a position of a second object operated by a user. program.
3. In the program of claim 2, The area specifying unit redoes the division in response to the movement of the second object. program.
4. In the program of claim 1 or 2, The processing unit controls the first object not included in the object group area so that at least a part of the action and the effect is different from that of the first object within the object group area. program.
5. In the program of claim 1 or 2, The region specifying unit is First step: Select a small region group as a candidate for the object group region. A second step: if the number of the first objects in the small region group selected as the candidate exceeds the threshold number, the small region group is determined as the object group region. Repeat the process, In the first step, the currently selected range is shifted in the process of repetition, and the small region group is newly selected as the candidate. program.
6. In the program of claim 1 or 2, A timing for producing a sound is set for each of the first objects, When the sound generation of the plurality of first objects is determined as the action, the processing unit reproduces sound data including sounds of a predetermined number of the first objects when a timing for a predetermined one of the first objects (hereinafter, referred to as a sound generation object) in the object group area to generate a sound has come. program.
7. In the program of claim 6, The processing unit does not reproduce sound data even when it is time for the first object in the object group area other than the sound producing object to produce sound. program.
8. In the program of claim 1 or 2, The area specifying unit changes the form of the object group area in accordance with a topography set in the virtual space or an object arranged in the virtual space. program.
9. A storage unit storing the program according to claim 1 or 2; A control unit that executes the program; An object control device comprising:
Citation Information
Patent Citations
The data transfer state estimation [shimiyure[shimiyure]crowd -
JP1984142842U
Game program, storage medium and computer unit
JP2010088634A
Simulation program, simulation method, and simulation device
WO2018211599A1
Learning apparatus
JP1986098375A