Program and information processing system

The program dynamically adjusts NPC objects in a virtual space based on user object placements to enhance user engagement and maintain a lively environment, addressing the lack of interest in static NPC distributions.

JP7725685B1Active Publication Date: 2025-08-19COLOPL
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
JP2024169450
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-09-27
Publication Date
2025-08-19
Estimated Expiration
2044-09-27

AI Technical Summary

Technical Problem

Existing virtual space technologies lack mechanisms to maintain user interest by dynamically adjusting the number and placement of non-player character (NPC) objects in response to user object placements, leading to potential feelings of loneliness or discomfort.

Method used

A program and information processing system that sets a total number of objects in a virtual space, comprising both user and NPC objects, and adjusts the number of NPC objects based on the number of user objects to maintain a balanced and lively environment.

Benefits of technology

Enhances user engagement by ensuring a lively virtual space experience through dynamic adjustment of NPC objects, reducing processing load, and maintaining user comfort by strategic placement and deletion.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007725685000001_ABST
    Figure 0007725685000001_ABST
Patent Text Reader

Abstract

Improves interest. [Solution] The program causes a computer to set the total number of objects that can be placed in a virtual space, consisting of a first type of object and a second type of object different from the first type, and changes the number of second type of objects to be placed in the virtual space in accordance with changes in the number of first type of objects currently placed in the virtual space so as to maintain the total number.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a program and an information processing system. [Background technology]

[0002] There is known a technique for moving a user object in a virtual space based on a user's operation input, and generating a virtual space image based on a virtual camera that moves in accordance with the movement of the user object. Patent Document 1 discloses a method for generating a virtual space image when a virtual space is shared by multiple users. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2017-156909 Summary of the Invention [Problem to be solved by the invention]

[0004] The present disclosure aims to improve interest. [Means for solving the problem]

[0005] A program according to an embodiment of the present disclosure includes: On the computer, setting a total number of objects that can be placed in a virtual space, the total number being made up of a first type of object and a second type of object different from the first type; The number of second-type objects to be placed in the virtual space is changed in accordance with a change in the number of first-type objects currently placed in the virtual space so as to maintain the total number.

[0006] An information processing system according to an embodiment of the present disclosure includes: An information processing system including one or more information processing devices, setting a total number of objects that can be placed in a virtual space, the total number being made up of a first type of object and a second type of object different from the first type; The number of second-type objects to be placed in the virtual space is changed in accordance with a change in the number of first-type objects currently placed in the virtual space so as to maintain the total number. [Effects of the Invention]

[0007] According to the present disclosure, interest can be improved. [Brief explanation of the drawings]

[0008] [Figure 1] FIG. 1 is a diagram illustrating a configuration of an information processing system according to an embodiment of the present disclosure. [Figure 2] FIG. 2 is a block diagram showing the configuration of the terminal device shown in FIG. [Figure 3] FIG. 3 is a diagram showing an example of a virtual space image displayed on the display unit shown in FIG. [Figure 4] FIG. 4 is a diagram showing an example of a virtual space image displayed on the display unit shown in FIG. 2, in which an NPC object is arranged. [Figure 5] FIG. 5 is a flowchart showing an example of the operation flow of the display control of the NPC object by the control unit shown in FIG. [Figure 6] FIG. 6 is a diagram for explaining a method (part 1) for determining an NPC object to be deleted. [Figure 7] FIG. 7 is a diagram for explaining a method (part 2) for determining an NPC object to be deleted. [Figure 8] FIG. 8 is a diagram for explaining a method (part 3) for determining an NPC object to be deleted. DETAILED DESCRIPTION OF THE INVENTION

[0009] Hereinafter, embodiments of this technical concept will be described in detail with reference to the drawings. In the following description, the same components are denoted by the same reference numerals. The names and functions of these components are also the same. Therefore, detailed descriptions thereof will not be repeated.

[0010] [Configuration of information processing system] Fig. 1 is a diagram showing a configuration of an information processing system 1 according to an embodiment of the present disclosure. As shown in Fig. 1, the information processing system 1 includes one or more terminal devices 10 and a server 20, which are connected to each other so as to be able to communicate with each other via a network 13. Fig. 1 shows terminal devices 10A and 10B used by multiple users, respectively.

[0011] The terminal device 10 is connected to the network 13 by communicating with a wireless router 14 installed in a facility such as a house. The terminal device 10 may be configured to be connected to the network 13 by wired communication.

[0012] The terminal device 10 is a computer (information processing device) used by a user. The terminal device 10 is, for example, a smartphone, a tablet, a phablet, or a head-mounted device (HMD) including virtual reality (VR) glasses, augmented reality (AR) glasses, or mixed reality (MR) glasses. The terminal device 10 may also be a contact-type device that can be worn on the eyes, like contact lenses.

[0013] The terminal device 10 executes an application program installed via a platform that distributes apps, for example. Instead of executing an application program, the terminal device 10 may execute a program acquired via software for browsing websites, i.e., a web browser. By executing the program, the terminal device 10 generates a virtual space image and displays the virtual space image. When generating the virtual space image, the terminal device 10 transmits and receives various data to and from the server 20 as necessary.

[0014] The virtual space is generated using XR technology such as VR, AR, MR, or SR (Substitutional Reality). The virtual space may be common to multiple users, or may be different for each user. That is, multiple user objects may exist in one virtual space, or one user object may exist in one virtual space.

[0015] The server 20 receives information regarding user operation input from the terminal device 10, and transmits virtual space information and the like required to generate a virtual space in accordance with the received information to the terminal device 10. The virtual space information includes information for generating various objects, such as a virtual camera, user objects, and other user objects operated by other users, to be placed in the virtual space.

[0016] For example, suppose that a user performs an operation on the terminal device 10 to place a user object in a virtual space. In this case, the server 20 transmits information for generating the user object, specifically virtual space information indicating the placement position of the user object, to the terminal device 10 of each user sharing the virtual space. This allows a virtual space image including the user object to be displayed on each terminal device 10 of multiple users sharing the same virtual space.

[0017] [Terminal device configuration] (Configuration overview) Fig. 2 is a block diagram showing the configuration of the terminal device 10 shown in Fig. 1. As shown in Fig. 2, the terminal device 10 includes a communication unit 21, a control unit 22, a storage unit 23, a memory 24, a display unit 25, and an operation reception unit 26.

[0018] The communication unit 21 functions as an interface for the terminal device 10 to communicate with an external device such as the server 20 (see FIG. 1). For example, when virtual space information is transmitted from the server 20 to the terminal device 10, the communication unit 21 receives the virtual space information and outputs it to the control unit 22.

[0019] The storage unit 23 includes a storage device such as a hard disk drive (HDD) or a flash memory. Specifically, the storage unit 23 stores a program 41, user information 42, and the like. The program 41 is a program for the terminal device 10 to execute various processes. The user information 42 includes information about the user, such as identification information of the terminal device 10.

[0020] The memory 24 includes a storage device such as a ROM (Read Only Memory) or a RAM (Random Access Memory). The memory 24 temporarily stores various data generated in accordance with the operation of the control unit 22, such as information about user objects operated by the user.

[0021] The display unit 25 is a monitor on which a virtual space image is displayed. For example, if the terminal device 10 is an HMD, the display unit 25 is provided at a position within the field of view of the user when the user wears the terminal device 10.

[0022] The operation receiving unit 26 receives an operation by the user on the terminal device 10, and outputs operation information indicating the operation content to the communication unit 21 or the control unit 22.

[0023] The control unit 22 is a processor including, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or a GPU (Graphics Processing Unit), etc. The control unit 22 operates in accordance with a program 41 to function as a space generation unit 31, a placement unit 32, and an image processing unit 33.

[0024] The space generation unit 31 generates a virtual space and objects such as a virtual camera and user objects to be placed in the virtual space based on virtual space information transmitted from the server 20 (see FIG. 1). The objects generated by the space generation unit 31 are not limited to user objects but also include other user objects and NPC (Non Player Character) objects that can operate without user operation.

[0025] Hereinafter, user objects and other user objects that can move in response to user operation will be referred to as "PC objects" (first type of objects). NPC objects that can move without user operation will be referred to as "NPC objects" (second type of objects). NPC objects have the same appearance as user objects or other user objects. Note that NPC objects are not limited to objects that move, but also include objects that do not move, such as objects that remain in a predetermined position.

[0026] The placement unit 32 places various objects in the virtual space, such as a virtual camera, a user object, other user objects, and NPC objects. The image processing unit 33 generates a virtual space image, which is an image captured within the virtual space by the virtual camera, and displays the generated virtual space image on the display unit 25.

[0027] Fig. 3 is a diagram showing an example of a virtual space image displayed on the display unit 25 shown in Fig. 2. For example, when a virtual camera is placed behind a user object 601 operated by a user, as shown in Fig. 3, a third-person perspective virtual space image including at least a part of the user object 601 is displayed on the display unit 25 (see Fig. 2).

[0028] [NPC object display control] (Display Control Overview) 3, if there are no other user objects around the user object 601 in the virtual space, the user operating the user object 601 may feel lonely. For this reason, the control unit 22 shown in FIG. 2 performs display control to display NPC objects around the user object 601.

[0029] 2 again, in more detail, the virtual space is divided into, for example, a plurality of rooms. A total number of objects (hereinafter referred to as the "maximum number") that can be placed, consisting of PC objects and NPC objects, is set for each room. Information indicating the maximum number of objects that can be placed for each room is stored in the storage unit 23.

[0030] When a user object 601 is placed in a room in the virtual space, the space generation unit 31 in the control unit 22 checks the maximum number of NPC objects that can be placed in the room. Then, the space generation unit 31 changes the number of NPC objects in accordance with the number of PC objects in the room so that the maximum number of NPC objects is maintained.

[0031] That is, if the total number of PC objects and NPC objects currently placed in the room does not reach the maximum number, the space generation unit 31 generates a new NPC object. Then, the placement unit 32 places the NPC object generated by the space generation unit 31 in the room.

[0032] Fig. 4 is a diagram showing an example of a virtual space image displayed on the display unit 25 shown in Fig. 2, in which NPC objects are arranged. In the example shown in Fig. 4, a user object 601, which is a PC object, and another user object 602 are arranged in a room in the virtual space, and further, NPC objects 701 and 702 are arranged. This allows the user to feel as if the area around the user object 601 is lively.

[0033] (Operation flow) 5 is a flowchart showing an example of the operational flow of the display control of NPC objects by the control unit 22 shown in FIG. 2. The order of the processes constituting each flowchart described in this specification may be random and may be executed in parallel as long as no contradictions or inconsistencies occur in the process content. Also, some of the processes constituting each flowchart described in this specification may be omitted.

[0034] 2 and 5, it is assumed that the operation accepting unit 26 in the terminal device 10 accepts an operation to place the user object 601 in a room in the virtual space (step S11). In this case, the operation accepting unit 26 outputs operation information indicating that an operation to place the user object 601 in the room has been performed to the control unit 22. Then, upon receiving the operation information, the space generation unit 31 in the control unit 22 checks the maximum number of objects to be placed that is set for the room (step S12).

[0035] Next, the space generation unit 31 checks the number of other user objects 602 currently placed in the room. The space generation unit 31 also checks the total number of the newly placed user objects 601 and the currently placed other user objects 602, i.e., the number of PC objects to be placed in the room. Then, the space generation unit 31 determines the number of NPC objects to be placed in the room based on the number of PC objects to be placed in the room and the maximum number of NPC objects set for the room (step S13).

[0036] For example, the space generation unit 31 determines the number of NPC objects so that the total number of PC objects and the number of NPC objects is equal to the maximum number to be placed. That is, the space generation unit 31 calculates the number of NPC objects to be placed in the room as the value obtained by subtracting the number of PC objects to be placed in the room from the maximum number to be placed in the room.

[0037] Specifically, if the maximum number of placements in the room is "30" and the number of PC objects placed in the room is "5," the number of NPC objects placed in the room will be calculated as "25." Also, if the maximum number of placements in the room is "30" and the number of PC objects placed in the room is "15," the number of NPC objects placed in the room will be calculated as "15."

[0038] Next, in response to the operation received in step S11, the space generation unit 31 downloads, for example, information required to generate a user object 601 from the server 20 (see FIG. 1), and generates the user object 601. In addition, the space generation unit 31 downloads, for example, information required to generate an NPC object from the server 20, and generates the number of NPC objects determined in step S13 (step S14).

[0039] Next, the placement unit 32 places the user object 601 and the NPC object generated by the space generation unit 31 in the room in the virtual space (step S15). Then, the image processing unit 33 generates a virtual space image, which is an image captured within the virtual space by the virtual camera, and displays the generated virtual space image on the display unit 25 (step S16).

[0040] Next, it is assumed that the space generation unit 31 receives virtual space information transmitted from the server 20 (see FIG. 1) (step S17). In this case, the space generation unit 31 checks, based on the virtual space information, whether or not an operation to place another user's object 602 in the room has been performed by another user (step S18).

[0041] Here, it is assumed that an operation to place other user's objects 602 in the room has been performed ("YES" in step S18). In this case, the space generation unit 31 determines the number of NPC objects to delete from among the NPC objects to be placed in the room, based on the number of other user's objects 602 to be newly placed and the maximum number of objects to be placed set in the room. For example, the space generation unit 31 determines the number of other user's objects 602 to be newly placed as the number of NPC objects to be deleted (step S19).

[0042] Next, the space generation unit 31 generates other user's objects 602 to be newly placed based on the virtual space information received in step S17 (step S20). Then, the placement unit 32 deletes the number of NPC objects determined in step S19 from the room before placing the other user's objects 602. For example, the placement unit 32 unloads information required to generate the NPC objects to be deleted, thereby deleting the NPC objects from the room (step S21).

[0043] Next, the placement unit 32 places the other user object 602 generated by the space generation unit 31 in the room (step S22). Then, the operations from step S17 onwards are repeated until the user performs an operation to delete the user object 601 from the room.

[0044] Also, in step S18, it is assumed that an operation to place another user's object 602 in the room has not been performed ("NO" in step S18). In this case, the space generation unit 31 checks, based on the virtual space information received in step S17, whether or not an operation to delete another user's object 602 from the room has been performed by another user (step S23).

[0045] Here, it is assumed that another user has performed an operation to delete another user's objects 602 from the room ("YES" in step S23). In this case, the space generation unit 31 determines the number of NPC objects to be newly placed in the room based on the number of other user's objects 602 to be deleted and the maximum number of objects to be placed set in the room. For example, the space generation unit 31 determines the number of other user's objects 602 to be deleted as the number of NPC objects to be newly placed (step S24).

[0046] Next, the space generation unit 31 downloads, for example, information required to generate an NPC object from the server 20 (see FIG. 1) and generates one or more NPC objects (step S25). Then, before placing the NPC object, the placement unit 32 deletes one or more other user objects 602 from the room (step S26).

[0047] Next, the placement unit 32 places one or more NPC objects generated in step S25 in the room (step S27). Then, the operations from step S17 onwards are repeated until the user performs an operation to delete the user object 601 from the room.

[0048] Also, in step S23, it is assumed that an operation to delete the other user object 602 from the room has not been performed ("NO" in step S23). In this case as well, the operations from step S17 onwards are repeated until the user performs an operation to delete the user object 601 from the room.

[0049] (Variations on how to determine the number of NPC objects) The total number of PC objects and NPC objects placed in a room is not limited to the maximum number of objects that can be placed in the room, and may be less than the maximum number of objects that can be placed in the room.

[0050] For example, the space generation unit 31 calculates the number obtained by multiplying the maximum number of arrangements in a room by a predetermined ratio as the minimum total number of PC objects and NPC objects to be arranged in the room (hereinafter referred to as the "minimum arrangement number"). Specifically, if the maximum number of arrangements in a room is "30" and the predetermined ratio is 50%, the minimum arrangement number in the room is calculated to be "15".

[0051] The space generation unit 31 can then determine the number of NPC objects in accordance with the attributes of the room so that the total number of PC objects and NPC objects to be placed in the room falls within a range from the minimum number to the maximum number to be placed. The attributes of the room are determined according to the size of the room, the type of event being held in the room, the type of objects placed in the room, etc.

[0052] For example, when a room is small, the space generation unit 31 determines the number of NPC objects so that the sum of the number of PC objects and the number of NPC objects to be placed in the room is the minimum number. Also, when a room is large, the space generation unit 31 determines the number of NPC objects so that the sum of the number of PC objects and the number of NPC objects to be placed in the room is the maximum number.

[0053] Specifically, suppose the minimum number of NPC objects to be placed in a room is "15," the maximum number of NPC objects to be placed in the room is "30," and the number of PC objects to be placed in the room is "5." In such a case, if the room is small, the space generation unit 31 determines the number of NPC objects to be placed in the room to be "10" (= "15" - "5"). On the other hand, if the room is large, the space generation unit 31 determines the number of NPC objects to be placed in the room to be "25" (= "30" - "5").

[0054] Furthermore, for example, when an event aimed at attracting people is being held in the room, the space generation unit 31 can determine the number of NPC objects so that the total number of PC objects and the number of NPC objects becomes the maximum number to be arranged. On the other hand, when no such event is being held in the room, the space generation unit 31 can determine the number of NPC objects so that the total number of PC objects and the number of NPC objects becomes the minimum number to be arranged.

[0055] Furthermore, a maximum number of PC objects or NPC objects may be set separately from the maximum number of rooms. For example, suppose the maximum number of rooms is set to "30," and the maximum number of NPC objects is set to "20." In such a case, if the number of PC objects to be placed in the room is "1," the space generation unit 31 determines the number of NPC objects to be placed in the room to be "20."

[0056] [How to determine which NPC objects to delete and which to place] Next, methods 1 to 3 will be described as methods for determining the NPC object to be deleted in step S21 shown in FIG. 5 and the NPC object to be newly placed in step S27 shown in FIG.

[0057] (Method 1: Decision according to a predetermined order) (1-1) Decide which NPC objects to delete 6 is a diagram for explaining a method (part 1) for determining NPC objects to be deleted. In method 1, the maximum number of NPC objects to be placed is preset for each room in the virtual space, and each NPC object is assigned an initial placement position and a priority for deletion.

[0058] The initial placement position and priority assigned to each NPC object are stored in the storage unit 23 shown in Fig. 2. The placement unit 32 determines the NPC object to be preferentially deleted from the virtual space in accordance with the predetermined order for each NPC object (i.e., the above-mentioned priority order).

[0059] Specifically, each NPC object is assigned a deletion priority of "N1," "N2," "N3," etc. For example, NPC objects placed in areas that need to look raised, such as near the center of a room, are assigned a low priority. On the other hand, NPC objects placed in areas that need to look raised less, such as the edges of a room, are assigned a high priority.

[0060] Figure 6(a) shows a virtual room in which four NPC objects 701, 702, 703, and 704 are placed at their initial placement positions. Priorities "N1," "N2," "N3," and "N4" are assigned to the NPC objects 701, 702, 703, and 704, respectively. For convenience of explanation, it is assumed that the maximum number of objects that can be placed in this room is set to "4."

[0061] In this state, assume that a user object 601 is placed in the room as shown in (b) of Fig. 6. In this case, the placement unit 32 determines, for example, the NPC object 701 with the highest priority among four NPC objects 701, 702, 703, and 704 placed in the room as the object to be deleted.

[0062] Furthermore, as shown in (c) of Figure 6, when another user's object 602A is placed in the room, the placement unit 32 determines, for example, the NPC object 702 with the highest priority among the three NPC objects 702, 703, and 704 placed in the room as the object to be deleted.

[0063] Furthermore, as shown in (d) of Figure 6, when another user's object 602B is placed in the room, the placement unit 32 determines, for example, the NPC object 703 with the highest priority among the two NPC objects 703 and 704 placed in the room as the object to be deleted.

[0064] In this way, the placement unit 32 can reduce the processing load when deleting NPC objects by determining which NPC objects to delete in a predetermined order. Furthermore, since the order of deletion corresponds to the initial placement positions of the NPC objects, it is possible to delete NPC objects in a balanced manner.

[0065] (1-2) Deciding on a new NPC object to place Furthermore, the placement unit 32 determines an NPC object to be newly placed in the virtual space in accordance with a predetermined order for each NPC object.

[0066] That is, when placing a new NPC object in a room, the placement unit 32 checks the priority of each NPC object that is set in the room but is not currently placed in the room, and then places the NPC object in the room preferentially starting from the NPC object with the lowest priority.

[0067] In this way, the placement unit 32 is configured to determine the NPC objects to be newly placed in a predetermined order, thereby reducing the processing load when placing new NPC objects. Furthermore, since the order in which the NPC objects are newly placed corresponds to the initial placement positions of the NPC objects, the NPC objects can be placed in a balanced manner.

[0068] The placement unit 32 may be configured to place NPC objects in the room in order of priority, depending on the size of the room, the type of event taking place in the room, or the type of object placed in the room.

[0069] Furthermore, when the number of NPC objects in a room decreases, the placement position of the NPC object may be close to the placement position of the PC object, and in such a case, the placement unit 32 may perform control so as to move the NPC object to a position at least a predetermined distance away from the PC object.

[0070] Furthermore, when the number of NPC objects in a room decreases, the placement unit 32 may perform control to move the NPC objects to an area with fewer PC objects or NPC objects, as shown by arrow X1 in (d) of FIG. 6.

[0071] (Method 2: Determined based on distance from user object) (2-1) Decide which NPC objects to delete 7 is a diagram illustrating a method (part 2) for determining an NPC object to be deleted. In method 2, when deleting an NPC object placed in a room, the placement unit 32 determines the NPC object to be deleted from the room according to the distance from the user object 601 to each NPC object.

[0072] More specifically, the placement unit 32 acquires the distance from the user object 601 for each NPC object currently placed in the room. Then, the placement unit 32 determines that an NPC object that is farthest from the user object 601 is to be deleted preferentially.

[0073] 7(a) shows a state in which four NPC objects 701, 702, 703, and 704 are placed at initial placement positions in a room in the virtual space. In this state, when a user object 601 is placed in the room as shown in FIG. 7(b), the placement unit 32 acquires the distance from the user object 601 for each of the four NPC objects 701, 702, 703, and 704. Then, the placement unit 32 determines the NPC object farthest from the user object 601 (NPC object 701 in the example shown in FIG. 7(b)) to be deleted.

[0074] Furthermore, suppose that another user's object 602A is further placed in the room as shown in (c) of Fig. 7. In this case, the placement unit 32 determines, for example, the NPC object that is farthest from the user object 601 among the three NPC objects 702, 703, and 704 (in the example shown in (c) of Fig. 7), as the object to be deleted.

[0075] Furthermore, as shown in (d) of Fig. 7, it is assumed that another other user's object 602B is placed in the room. In this case, the placement unit 32 determines, for example, the NPC object that is farthest from the user object 601 of the two NPC objects 702 and 704 (in the example shown in (d) of Fig. 7), as the object to be deleted.

[0076] In this way, priority is given to deleting NPC objects that are farthest from the user object 601, i.e., NPC objects that are located in inconspicuous positions as viewed from the user operating the user object 601. This makes it possible to prevent the user from feeling uncomfortable when an NPC object is deleted. Furthermore, unlike the above-described method 1, there is no need to assign a priority to each NPC object in advance.

[0077] In the above-described method, the NPC objects placed in the room differ for each user. Therefore, when deleting an NPC object, the placement unit 32 may acquire the distance from each PC object, including the user object 601 and other user objects 602, for each NPC object placed in the room.

[0078] In this case, the placement unit 32 can prioritize the NPC object with the largest total distance from each PC object (the longest total distance) as the deletion target, thereby allowing multiple users to share the same NPC objects placed in the room.

[0079] (2-2) Deciding on a new NPC object to place Furthermore, when placing a new NPC object in a room, the placement unit 32 determines the NPC object to be newly placed in the room according to the distance from the user object 601 to each NPC object.

[0080] For example, for each NPC object not currently placed in the room, the placement unit 32 checks the distance between the initial placement position of the NPC object and the position of the user object 601. Then, the placement unit 32 places in the room NPC objects that are closest to the position of the user object 601 with priority. This makes it possible to more effectively make the area around the user object 601 appear more lively.

[0081] On the other hand, as described above, if NPC objects closest to the user object 601 are preferentially placed, the user may feel uncomfortable seeing an NPC object suddenly appear on the virtual space screen. For this reason, the placement unit 32 may be configured to preferentially place NPC objects in the room that are farthest from the user object 601. This makes it appear as if the number of people in the virtual space is naturally increasing.

[0082] It can be set for each room whether to prioritize placement of NPC objects that are closer to the position of the user object 601 or to prioritize placement of NPC objects that are farther from the position of the user object 601.

[0083] For example, in a room where an event aimed at attracting people is being held, priority is given to placing NPC objects that are closest to the position of the user object 601. On the other hand, in a room where no such event is being held, priority is given to placing NPC objects that are farthest from the position of the user object 601.

[0084] (Method 3: Determined according to the line of sight of each PC object) (3-1) Decide which NPC objects to delete 8 is a diagram illustrating a third method for determining an NPC object to be deleted. In the third method, when deleting an NPC object placed in a room, the placement unit 32 determines the NPC object to be deleted from the room depending on whether the placement position of the NPC object in the room is within the field of view of each PC object.

[0085] More specifically, the placement unit 32 checks the line of sight of each PC object placed in the room to identify NPC objects included in the field of view of each PC object. Then, the placement unit 32 determines, with priority, NPC objects not included in the field of view of each PC object as targets for deletion.

[0086] 8(a) shows a state in which five NPC objects 701, 702, 703, 704, and 705 are placed at initial placement positions in a room in the virtual space. In this state, it is assumed that a user object 601 is placed in the room as shown in FIG. 8(b). In this case, the placement unit 32 identifies the NPC objects included in the field of view of the user object 601 by checking the line of sight of the user object 601 (arrow X11 shown in FIG. 8(b)).

[0087] Here, it is assumed that NPC objects 702, 703, 704, and 705 are included in the field of view of the user object 601. In this case, the placement unit 32 determines that the NPC object 701 is to be deleted.

[0088] Furthermore, as shown in (c) of Fig. 8, it is assumed that another user's object 602A is further placed in the room. In this case, the placement unit 32 checks the line of sight (arrow X21 shown in (c) of Fig. 8) of the user's object 601 to identify an NPC object included in the field of view of the user's object 601. Furthermore, the placement unit 32 checks the line of sight (arrow X22 shown in (c) of Fig. 8) of the other user's object 602A to identify an NPC object included in the field of view of the other user's object 602A.

[0089] Here, it is assumed that NPC objects 702, 703, 704, and 705 are within the field of view of the user object 601. However, since another object (another user object 602A in the example shown in FIG. 8(c)) exists between the user object 601 and the NPC object 704, it is assumed that the NPC object 704 is not visible to the user object 601.

[0090] Also, here, it is assumed that NPC objects 702, 703, and 705 are included in the field of view of another user's object 602A. In such a case, the placement unit 32 determines, as a deletion target, the NPC object 704, which is not visible to the user's object 601 and is not included in the field of view of the other user's object 602A.

[0091] Furthermore, as shown in (d) of FIG. 8, it is assumed that another other user's object 602B is placed in the room. In this case, the arrangement unit 32 identifies an NPC object included in the field of view of the user's object 601 by checking the line of sight (arrow X31 shown in (d) of FIG. 8) of the user's object 601. The arrangement unit 32 also identifies an NPC object included in the field of view of the other user's object 602A by checking the line of sight (arrow X32 shown in (d) of FIG. 8). The arrangement unit 32 also identifies an NPC object included in the field of view of the other user's object 602B by checking the line of sight (arrow X33 shown in (d) of FIG. 8).

[0092] Here, it is assumed that no NPC object is included in the field of view of the user object 601. It is also assumed that an NPC object 702 is included in the field of view of another user's object 602A.

[0093] Also, assume that NPC objects 702, 703, and 705 are within the field of view of other user's object 602B. However, since another object (other user's object 602A in the example shown in FIG. 8(d)) exists between other user's object 602B and NPC object 703, NPC object 703 is not visible to other user's object 602B.

[0094] In such a case, the placement unit 32 determines, as an object to be deleted, an NPC object 703 that is not included in the field of view of the user object 601 and the other user's object 602A and is not visible to the other user's object 602B.

[0095] As described above, priority is given to deleting NPC objects that are located in inconspicuous positions from the perspective of each user, which prevents users from feeling uncomfortable when an NPC object is deleted.

[0096] (3-2) Deciding on new NPC objects to place Furthermore, when placing a new NPC object in a room, the placement unit 32 determines the NPC object to be newly placed in the room by checking whether the initial placement position of each NPC object not currently placed in the room is within the field of view of the PC object.

[0097] More specifically, the placement unit 32 identifies the field of view of each PC object placed in the room by checking the line of sight direction of each PC object. Then, the placement unit 32 preferentially places, in the room, NPC objects whose initial placement positions are within the field of view of the PC object among a plurality of NPC objects not currently placed in the room.

[0098] In this way, priority is given to placing NPC objects whose initial placement positions are within the range visible to each user, which effectively gives each user the feeling that the room is lively.

[0099] Note that method 3 is effective when the virtual space image is a first-person perspective image seen from the user object 601, or when it is a third-person perspective image including at least a part of the user object 601, as in Fig. 3, and the line of sight direction of the user object 601 is the same as the direction of the virtual camera. On the other hand, when the virtual space image is a bird's-eye view image looking down on the periphery of the user object 601 from above, method 1 or method 2 is more effective than method 3.

[0100] Furthermore, the processing load on the placement unit 32 when deleting an NPC object increases in the order of Method 1, Method 2, and Method 3. Furthermore, the placement unit 32 may be configured to determine NPC objects to delete and NPC objects to newly place in the virtual space by combining two or more of Methods 1 to 3 described above.

[0101] [Variations] When deleting a PC object or an NPC object from a room in the virtual space, the placement unit 32 may control the transparency of the PC object or the NPC object to increase continuously or in stages. Furthermore, when placing a PC object or an NPC object in a room in the virtual space, the placement unit 32 may control the transparency of the PC object or the NPC object to decrease continuously or in stages.

[0102] In the above example, when an NPC object is deleted, the information required to generate the NPC object is unloaded. When a new NPC object is placed, the information required to generate the NPC object is downloaded. With this configuration, the load on the memory 24 can be reduced.

[0103] However, the present invention is not limited to this configuration. For example, instead of unloading information required to generate an NPC object, the image processing unit 33 may switch an NPC object to be deleted from a displayed state to a hidden state when generating a virtual space image. Also, instead of downloading information required to generate an NPC object, the image processing unit 33 may switch an NPC object to be newly placed from a hidden state to a displayed state when generating a virtual space image.

[0104] Furthermore, the image processing unit 33 may be configured to perform a culling process that does not draw PC objects or NPC objects outside the image capture area of the virtual camera, thereby reducing the drawing load when generating a virtual space image.

[0105] [Additional Notes] The contents according to the embodiments of the present disclosure are listed as follows. [assignment] The purpose is to increase interest.

[0106] [Solution] (Item 1) On the computer, setting a total number of objects that can be placed in a virtual space, the total number being made up of a first type of object and a second type of object different from the first type; A program that changes the number of second-type objects to be placed in the virtual space in accordance with changes in the number of first-type objects currently placed in the virtual space, so as to maintain the total number.

[0107] With this configuration, for example, when there are few first-type objects placed in the virtual space, many second-type objects are placed, which makes it possible for a user operating a first-type object to feel that the virtual space in which the first-type objects are placed is lively, thereby increasing interest.

[0108] (Item 2) The program described in item 1, wherein when the number of second type objects placed in the virtual space is changed, the second type objects to be deleted from the virtual space or the second type objects to be newly placed in the virtual space are determined in a predetermined order for each second type object.

[0109] This configuration makes it possible to reduce the processing load when deleting second-type objects from the virtual space or placing new second-type objects in the virtual space, and also makes it possible to delete and place second-type objects in a balanced manner.

[0110] (Item 3) The program described in item 1, wherein when the number of second-type objects placed in the virtual space is changed, the second-type objects to be deleted from the virtual space or the second-type objects to be newly placed in the virtual space are determined depending on the distance from the first-type objects to each second-type object.

[0111] With this configuration, for example, by prioritizing the deletion of second-type objects that are far from first-type objects, it is possible to prevent the sense of incongruity that would be caused by the deletion of second-type objects. Also, for example, by prioritizing the placement of second-type objects that are close to first-type objects, it is possible to make the area around the first-type objects appear more raised.

[0112] (Item 4) The program described in item 1, wherein when the number of second type objects placed in the virtual space is changed, the second type objects to be deleted from the virtual space or the second type objects to be newly placed in the virtual space are determined depending on whether the placement positions of the second type objects in the virtual space are within the field of view of each first type object.

[0113] With this configuration, for example, by preferentially deleting second-type objects that are not within the field of view of each first-type object, it is possible to prevent the sense of incongruity caused by the deletion of second-type objects. Also, for example, by preferentially arranging second-type objects that are within the field of view of each first-type object, it is possible to make the area around the first-type objects appear more raised.

[0114] (Item 5) 5. The program according to claim 1, wherein, when changing the number of second-type objects to be placed in the virtual space, the program determines the number of second-type objects to be placed in the virtual space based on attributes of the virtual space so as to maintain the total number.

[0115] With this configuration, it is possible to arrange a more appropriate number of second type objects, taking into consideration the size of the virtual space and the purpose of the event being held in the virtual space.

[0116] (Item 6) 6. The program according to any one of items 1 to 5, wherein, in response to a decrease in the number of second-type objects in the virtual space, second-type objects currently placed in the virtual space are moved to positions at least a predetermined distance away from first-type objects.

[0117] With this configuration, it is possible to prevent the user from feeling uncomfortable due to the first type of object and the second type of object being too close to each other.

[0118] (Item 7) 7. The program according to any one of items 1 to 6, wherein, in response to a decrease in the number of second-type objects in the virtual space, second-type objects currently placed in the virtual space are moved to an area where the total number of first-type objects and second-type objects is smaller.

[0119] With this configuration, the first type of objects and the second type of objects can be arranged in a well-balanced manner in the virtual space.

[0120] (Item 8) 8. The program according to any one of items 1 to 7, wherein, when information indicating that a first type of object will be newly placed in the virtual space is acquired, a second type of object placed in the virtual space is deleted before the first type of object is placed.

[0121] This configuration prevents a user operating a first type of object from feeling uncomfortable when a second type of object is deleted immediately after the first type of object is placed in the virtual space. It also prevents the total number of first type of objects and second type of objects placed in the virtual space from exceeding the total number of objects that can be placed in the virtual space.

[0122] (Item 9) 9. The program according to any one of items 1 to 8, wherein when a second type of object is deleted from the virtual space or when a second type of object is newly placed in the virtual space, the transparency of the second type of object is changed continuously or in stages.

[0123] With this configuration, the second type of object can be removed without being noticeable.

[0124] The solution constituted by the above program may be appropriately applied to the fields of devices, systems, methods, and media.

[0125] Furthermore, the operations of the control unit 22 (see FIG. 2) in the terminal device 10 of each of the above-described embodiments may be executed by one processor or by multiple processors. For example, some or all of the operations of the control unit 22 may be executed by the server 20 shown in FIG.

[0126] Furthermore, the above-described embodiments are merely examples for facilitating understanding of the present invention, and are not intended to limit the present invention. The present invention can be modified, improved, or partially deleted from the configuration of the embodiments without departing from the spirit of the present invention, and it goes without saying that the present invention also includes equivalents thereof. [Explanation of symbols]

[0127] 1: Information processing system, 10, 10A, 10B: Terminal device, 13: Network, 14: Wireless router, 20: Server, 21: Communication unit, 22: Control unit, 23: Storage unit, 24: Memory, 25: Display unit, 26: Operation reception unit, 31: Space generation unit, 32: Placement unit, 33: Image processing unit, 41: Program, 42: User information, 601: User object, 602, 602A, 602B: Other user objects, 701, 702, 703, 704, 705: NPC objects

Claims

1. On the computer, setting a total number of objects that can be arranged in a virtual space, the total number being made up of a first type of object and a second type of object different from the first type; changing the number of second-type objects to be placed in the virtual space in accordance with a change in the number of first-type objects currently placed in the virtual space so as to maintain the total number; a program that moves second-type objects currently placed in the virtual space to positions at least a predetermined distance away from first-type objects in response to a decrease in the number of second-type objects in the virtual space;

2. On the computer, setting a total number of objects that can be arranged in a virtual space, the total number being made up of a first type of object and a second type of object different from the first type; changing the number of second-type objects to be placed in the virtual space in accordance with a change in the number of first-type objects currently placed in the virtual space so as to maintain the total number; A program that moves second-type objects currently placed in the virtual space to an area where the total number of first-type objects and second-type objects is smaller in response to a decrease in the number of second-type objects in the virtual space.

3. The program according to claim 1 or claim 2, further comprising, when changing the number of second type objects placed in the virtual space, determining, in a predetermined order for each second type object, which second type object to be deleted from the virtual space or which second type object to be newly placed in the virtual space.

4. The program according to claim 1 or claim 2, wherein when the number of second type objects placed in the virtual space is changed, the program further determines the second type objects to be deleted from the virtual space or the second type objects to be newly placed in the virtual space depending on the distance from the first type objects to each second type object.

5. 3. The program according to claim 1, wherein when the number of second-type objects placed in the virtual space is changed, the second-type objects to be deleted from the virtual space or the second-type objects to be newly placed in the virtual space are determined depending on whether the placement positions of the second-type objects in the virtual space are within the field of view of each first-type object.

6. The program according to claim 1 or claim 2, wherein when the number of second type objects to be placed in the virtual space is changed, the number of second type objects to be placed in the virtual space is determined based on the attributes of the virtual space so as to maintain the total number.

7. 3. The program according to claim 2, wherein the program moves the second type of object currently placed in the virtual space to a position at least a predetermined distance away from the first type of object in response to a decrease in the number of the second type of object in the virtual space.

8. 3. The program according to claim 1, wherein when information indicating that a first type of object will be newly placed in the virtual space is acquired, a second type of object placed in the virtual space is deleted before the first type of object is placed.

9. 3. The program according to claim 1, wherein when a second type of object is deleted from the virtual space or when a second type of object is newly placed in the virtual space, the transparency of the second type of object is changed continuously or in stages.

10. An information processing system including one or more information processing devices, setting a total number of objects that can be placed in a virtual space, the total number being made up of a first type of object and a second type of object different from the first type; changing the number of second-type objects to be placed in the virtual space in accordance with a change in the number of first-type objects currently placed in the virtual space so as to maintain the total number; An information processing system that moves second-type objects currently placed in the virtual space to positions at least a predetermined distance away from first-type objects in response to a decrease in the number of second-type objects in the virtual space.

11. An information processing system including one or more information processing devices, setting a total number of objects that can be placed in a virtual space, the total number being made up of a first type of object and a second type of object different from the first type; changing the number of second-type objects to be placed in the virtual space in accordance with a change in the number of first-type objects currently placed in the virtual space so as to maintain the total number; An information processing system that moves second-type objects currently placed in the virtual space to an area where the total number of first-type objects and second-type objects is smaller in response to a decrease in the number of second-type objects in the virtual space.

Citation Information

Patent Citations

  • Information processor, information processing method, and program

    JP2009134394A

  • Game apparatus, game processing method, and program

    JP2009148483A

  • Game program, recording medium, and computer device

    JP2011186834A

  • Computer program, image processing device and method

    JP2017156909A

  • Simulation system and program

    JP2019139424A