Non-transitory computer readable medium and video game processing system

By setting navigation grids, laying and reducing path points in the virtual space of video games, the problem of excessive processing load in the prior art is solved, and more efficient mobile path search is achieved.

CN112439198BActive Publication Date: 2025-05-16SQUARE ENIX HLDG CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202010902501.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-09-03
Filing Date
2020-09-01
Publication Date
2025-05-16
Estimated Expiration
2040-09-01

AI Technical Summary

Technical Problem

The prior art, as the number of waypoints increases in video games, leads to excessive processing load, affecting the efficiency of mobile path search.

Method used

By setting a navigation grid in the virtual space and laying multiple waypoints on the grid according to predetermined rules, some waypoints are then cut, and finally the movement path of the search object is arranged based on the reduced waypoints.

Benefits of technology

Reduces the processing load required for object moving path search and improves search efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112439198B_ABST
    Figure CN112439198B_ABST
Patent Text Reader

Abstract

The present invention provides a non-transitory computer-readable medium, comprising a video game processing program, the video game processing program being used to enable a server to implement functions related to searching for a moving path in a virtual space. The functions include a setting function, a layout function, a reduction function, and a search function. The setting function is configured to set a navigation grid corresponding to a movable range of an object in the virtual space. The layout function is configured to arrange a plurality of waypoints on the set navigation grid according to a predetermined layout rule. The reduction function is configured to reduce some waypoints selected according to a predetermined selection rule from the arranged plurality of waypoints. The search function is configured to search for a moving path of an object based on the arrangement of the reduced plurality of waypoints.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] At least one of the embodiments of the present invention relates to a non-transitory computer-readable medium (Non-transitory Computer-readable Medium) including a video game processing program and a video game processing system, which is used to enable a server to implement a function of searching for a movement path in a virtual space. Background Art

[0002] To date, various techniques for moving characters in video games have been proposed.

[0003] Among such technologies, there is a technology for searching for a moving path of a character by using position information related to a virtual space constituting a video game, and such technology utilizes a navigation mesh and waypoints. In order to suppress an increase in a processing load required for searching for a moving path, there is a scheme for determining the arrangement of path candidate positions in a search area so that the interval between path candidate positions arranged outside a predetermined range of the search area is greater than the interval between path candidate positions arranged within a predetermined range of the search area (refer to JP2012-213485A; hereinafter referred to as "Patent Document 1").

[0004] However, in the prior art, as the number of waypoints (path candidate positions) that become search targets increases, the processing load required for the arrangement of waypoints and the path search for the arranged waypoints increases. For this reason, when controlling the movement of an object such as a character that can move in a virtual space, the processing load may be too large. Summary of the invention

[0005] An object of the present invention is to provide a non-transitory computer-readable medium containing a video game processing program and a video game processing system to solve the above-mentioned problems and reduce the processing load required for searching for a moving path of an object.

[0006] According to one non-limiting aspect of the present invention, a non-transitory computer-readable medium is provided, comprising a video game processing program for causing a server to implement functions related to searching for a moving path in a virtual space.

[0007] The functions include: a setting function configured to set a navigation grid corresponding to a movable range of an object in a virtual space.

[0008] The functions also include: an arrangement function configured to arrange a plurality of waypoints on the set navigation grid according to a predetermined arrangement rule.

[0009] The functions also include: a reduction function configured to reduce some waypoints selected according to a predetermined selection rule from the arranged multiple waypoints.

[0010] The functions also include: a search function configured to search for a moving path of the object based on the arrangement of the plurality of waypoints after the reduction.

[0011] According to another non-limiting aspect of the present invention, there is provided a video game processing system for performing a process related to searching for a moving path in a virtual space. In this case, the video game processing system includes a communication network, a server, and a user terminal.

[0012] The video game processing system includes a setting unit configured to set a navigation mesh corresponding to a movable range of an object in a virtual space.

[0013] The video game processing system further includes: an arrangement unit configured to arrange a plurality of waypoints on the set navigation grid according to a predetermined arrangement rule.

[0014] The video game processing system further includes a reduction unit configured to reduce some waypoints selected according to a predetermined selection rule from the arranged plurality of waypoints.

[0015] The video game processing system further includes a search unit configured to search for a movement path of the object based on the arrangement of the plurality of waypoints after the reduction.

[0016] According to yet another non-limiting aspect of the present invention, a non-transitory computer-readable medium is provided, comprising a video game processing program for enabling a user terminal to implement functions related to searching for a moving path in a virtual space.

[0017] The functions include: a setting function configured to set a navigation grid corresponding to a movable range of an object in a virtual space.

[0018] The functions also include: an arrangement function configured to arrange a plurality of waypoints on the set navigation grid according to a predetermined arrangement rule.

[0019] The functions also include: a reduction function configured to reduce some waypoints selected according to a predetermined selection rule from the arranged multiple waypoints.

[0020] The functions also include: a search function configured to search for a moving path of the object based on the arrangement of the plurality of waypoints after the reduction.

[0021] According to various embodiments of the present application, one or more than two deficiencies are solved.

[0022] The foregoing and other objects, features and advantages of the present invention will become more apparent from the following detailed description of preferred embodiments of the present invention with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] Figure 1 is a block diagram showing an example of a configuration of a video game processing system corresponding to at least one of the embodiments of the present invention;

[0024] Figure 2 is a block diagram showing a configuration of a server corresponding to at least one of the embodiments of the present invention;

[0025] Figure 3 is a flowchart showing an example of a game process corresponding to at least one of the embodiments of the present invention;

[0026] Figure 4 is a flowchart showing an example of actions on the server side in game processing corresponding to at least one of the embodiments of the present invention;

[0027] Figure 5 is a flowchart showing an example of actions on the terminal side in a game process corresponding to at least one of the embodiments of the present invention;

[0028] Figure 6 is a block diagram showing a configuration of a server corresponding to at least one of the embodiments of the present invention;

[0029] Figure 7 is a flowchart showing an example of a game process corresponding to at least one of the embodiments of the present invention;

[0030] Figure 8 is a block diagram showing a configuration of a server corresponding to at least one of the embodiments of the present invention;

[0031] Fig. 9 is a flowchart showing an example of a game process corresponding to at least one of the embodiments of the present invention;

[0032] Fig.10 is a block diagram showing a configuration of a server corresponding to at least one of the embodiments of the present invention;

[0033] Fig.11 is a flowchart showing an example of a game process corresponding to at least one of the embodiments of the present invention;

[0034] Fig.12 is a block diagram showing a configuration of a server corresponding to at least one of the embodiments of the present invention;

[0035] Fig.13is an explanatory diagram for explaining an example of reduction of waypoints corresponding to at least one of the embodiments of the present invention;

[0036] Fig.14 is an explanatory diagram for explaining an example of a waypoint that should not be deleted corresponding to at least one of the embodiments of the present invention;

[0037] Fig.15 is an explanatory diagram for explaining an example of a method of generating a region corresponding to at least one of the embodiments of the present invention;

[0038] Fig.16 is an explanatory diagram for explaining an example of a storage state of information corresponding to at least one of the embodiments of the present invention; and

[0039] Fig.17 is a flowchart showing an example of a game process corresponding to at least one of the embodiments of the present invention. DETAILED DESCRIPTION

[0040] The following will describe examples of embodiments according to the present invention with reference to the accompanying drawings. It is noted that the various constituent elements in the embodiments described below can be appropriately combined without any contradiction, etc. In addition, the content described in a certain embodiment can be omitted in another embodiment. In addition, the content of actions or processing that are not related to the characteristic parts of each embodiment can be omitted. In addition, the order of various processing that constitutes the various processes described below can be changed without any contradiction, etc. in the processing content.

[0041] [First embodiment]

[0042] Figure 1 1 is a block diagram showing an example of the configuration of a video game processing system 100 according to one embodiment of the present invention. Figure 1 As shown, the video game processing system 100 includes a video game processing server 10 (hereinafter referred to as "server 10") and user terminals 20, 201 to 20N ("N" is an arbitrary integer) used by users of the video game processing system 100. In this regard, the configuration of the video game processing system 100 is not limited to this configuration. The video game processing system 100 may be configured so that multiple users use a single user terminal, or may be configured to include multiple servers.

[0043] Each of the server 10 and the plurality of user terminals 20, 201 to 20N is connected to a communication network 30 such as the Internet. In this regard, although not shown in the drawings, the plurality of user terminals 20, 201 to 20N are connected to the communication network 30 by performing data communication with a base station managed by a communication operator using a wireless communication line.

[0044] The video game processing system 100 includes a server 10 and a plurality of user terminals 20, 201 to 20N, thereby realizing various functions for executing various processes in response to user operations.

[0045] The server 10 is managed by the manager of the video game processing system 100, and has various functions of providing information related to various processes to multiple user terminals 20, 201~20N. In the present embodiment, the server 10 is composed of an information processing device such as a WWW server, and the server 10 includes a storage medium for storing various information. At this point, the server 10 has a general configuration for performing various processes like a computer, such as a control unit and a communication unit. However, its description is omitted here. In addition, in the video game processing system 100, preferably, from the perspective of reducing the processing load of each of the multiple user terminals 20, 201~20N, various information is managed by the server 10. However, the storage unit for storing various information may include a storage area and be in a state where the server 10 can access the storage area. For example, the server 10 may be configured to be provided with a dedicated storage area outside the server 10.

[0046] Figure 2 1 is a block diagram showing the configuration of a video game processing server 10A (hereinafter referred to as “server 10A”), which is an example of the video game processing server 10. Figure 2 As shown, the server 10A at least includes a setting unit 11 , a placement unit 12 , a reduction unit 13 and a search unit 14 .

[0047] The setting unit 11 has a function of setting a navigation mesh corresponding to a movable range of an object in a virtual space.

[0048] Here, the object refers to an object that can be arranged in a virtual space. The configuration of the object is not particularly limited. However, preferably, the object can be recognized by the user (or player) of the user terminal 20. Examples of the object include characters that can be operated by the user (e.g., player characters) and characters that cannot be operated by the user (e.g., non-player characters).

[0049] In addition, the movable range refers to a range within which an object is allowed to move in a virtual space. The configuration of the movable range is not particularly limited. The movable range may be configured by a 2D map, or may be configured by a 3D map.

[0050] In addition, the phrase "setting a navigation mesh corresponding to the movable range" means that the navigation mesh is associated with the movable range in the virtual space. There is no particular limitation on the configuration of setting the navigation mesh. For example, there is a configuration in which a passable flag is set for each polygon continuous from the player's initial position.

[0051] The arrangement unit 12 has a function of arranging a plurality of waypoints on a set navigation grid according to a predetermined arrangement rule.

[0052] Here, each waypoint refers to spot information (SpotInformation) that can be associated with information about the video game. That is, each waypoint has a role as a base (Base) of information necessary for embedding the video game. The configuration of each waypoint is not particularly limited as long as each waypoint can specify a position on the navigation mesh. However, preferably, each waypoint is configured so that the waypoint can be associated with information that can be useful according to the purpose of path search. As an example of such a configuration, there is a configuration in which an XYZ position in 3D space and a navigation mesh polygon ID under the waypoint are included.

[0053] In addition, there is no particular limitation on the configuration of arranging a plurality of waypoints according to a predetermined arrangement rule. The arrangement unit 12 may be configured to use a plurality of arrangement rules in different ways. As an example of an arrangement rule, a rule of arranging waypoints by a flood fill algorithm based on the initial position of the player is included.

[0054] The thinning unit 13 has a function of thinning out some waypoints selected according to a predetermined selection rule from among the arranged plurality of waypoints.

[0055] Here, the configuration of selecting some waypoints according to a predetermined selection rule is not particularly limited. The reduction unit 13 may be configured to select some waypoints in a random manner. As an example of such a configuration, there is a configuration in which a predetermined proportion of waypoints are selected from the arranged waypoints according to a rule that provides randomness by using random numbers.

[0056] In addition, the phrase "reducing some waypoints" means excluding some waypoints from the target of the route search. The configuration of reducing some waypoints is not particularly limited. The reduction unit 13 may be configured to delete information, or may be configured to leave the information and record the fact that the information is not set as the target of the route search.

[0057] The search unit 14 has a function of searching for a moving path of an object based on the arrangement of a plurality of waypoints after cutting down some waypoints.

[0058] Here, the phrase "searching for a moving path of an object" means defining a path for an object to move by connecting a plurality of waypoints to each other. There is no particular limitation on the configuration for searching for a moving path. However, preferably, the search unit 14 is configured to be able to search for a path or paths that satisfy the search condition. As an example of such a configuration, there is a configuration in which a well-known path search technique is adopted by using each waypoint as a node.

[0059] Each of the plurality of user terminals 20, 201 to 20N is managed by a user and is configured, for example, by a communication terminal capable of playing a network-transmitted game, such as a cellular phone terminal, a PDA (personal digital assistant), a portable game device, or a so-called wearable device. In this regard, the configuration of the user terminal that the video game processing system 100 may include is not limited to the above-mentioned example. Each of the user terminals 20, 201 to 20N may be configured so that the user can recognize a video game. As other examples of the user terminal, there are a configuration obtained by combining various communication terminals, a personal computer, and a fixed game device.

[0060] In addition, each of the plurality of user terminals 20, 201 to 20N is connected to the communication network 30, and includes hardware (e.g., a display device for displaying a browser screen or a game screen based on coordinates, etc.) and software for performing various processes by communicating with the server 10A. In this regard, each of the plurality of user terminals 20, 201 to 20N may be configured to be able to communicate directly with each other without going through the server 10A.

[0061] Next, the action of the video game processing system 100 (hereinafter referred to as "system 100") according to the present embodiment will be described.

[0062] Figure 3 1 is a flowchart showing an example of a game process performed by the system 100. In the game process according to the present embodiment, a process related to controlling the progress of a video game is performed. Hereinafter, a case where the server 10A and the user terminal 20 (hereinafter referred to as "terminal 20") perform the game process will be described as an example.

[0063] For example, when the terminal 20 accessing the server 10A satisfies the arrangement conditions of the waypoints, the game process starts. Hereinafter, a case where the user operating the terminal 20 inputs a search request for a movement route will be described as an example.

[0064] In the game process, the server 10A first sets a navigation mesh (step S11). In the present embodiment, the server 10A specifies a virtual space to be provided to the terminal 20, and sets a navigation mesh corresponding to a range in which an object can move in the specified virtual space.

[0065] After setting the navigation grid, the server 10A arranges waypoints (step S12). In this embodiment, the server 10A arranges a plurality of waypoints on the set navigation grid according to a predetermined arrangement rule.

[0066] After arranging the waypoints, the server 10A reduces some waypoints (step S13). In the present embodiment, the server 10A reduces some waypoints selected according to a predetermined selection rule from the arranged plurality of waypoints.

[0067] After reducing the waypoints, the server 10A searches for a moving path (step S14 ). In the present embodiment, the server 10A searches for a moving path of the object based on the arrangement of a plurality of waypoints arranged in the virtual space.

[0068] Figure 4 1 is a flowchart showing an example of the operation of the server 10A side in the game process. Here, the operation of the server 10A in the system 100 will be described again.

[0069] In the game processing, the server 10A first sets a navigation grid (step S101); arranges waypoints on the set navigation grid (step S102); cuts some waypoints from the arranged multiple waypoints (step S103); and after cutting some waypoints, searches for a moving path based on the arrangement of the remaining waypoints in the virtual space (step S104).

[0070] Figure 5 1 is a flowchart showing an example of the operation of the terminal 20 side in the case where the terminal 20 executes the game process. Hereinafter, the case where the terminal 20 executes the game process alone will be described as an example. In this regard, the configuration of the terminal 20 includes the same functions as those of the server 10 except that the terminal 20 receives various information from the server 10. For this reason, the description thereof is omitted from the perspective of avoiding duplicate description.

[0071] In the game process, the terminal 20 first sets a navigation grid (step S201); arranges waypoints on the set navigation grid (step S202); cuts some waypoints from the arranged multiple waypoints (step S203); and after cutting some waypoints, searches for a moving path based on the arrangement of the remaining waypoints in the virtual space (step S204). In the present embodiment, the terminal 20 communicates with the server 10A to obtain information used in each step. At this point, the terminal 20 can be configured to specify the information used in each step with reference to a storage unit included in the terminal 20.

[0072] As described above, as one aspect of the first embodiment, the server 10A having a function related to searching for a moving path in a virtual space is configured to include a setting unit 11, an arrangement unit 12, a reduction unit 13, and a search unit 14. Therefore, the setting unit 11 sets a navigation grid corresponding to the movable range of an object in the virtual space; the arrangement unit 12 arranges a plurality of waypoints on the set navigation grid according to a predetermined arrangement rule; the reduction unit 13 reduces some waypoints selected according to a predetermined selection rule from the arranged plurality of waypoints; and the search unit 14 searches for the moving path of the object based on the arrangement of the plurality of waypoints after reducing some waypoints. Therefore, the processing load required for searching for the moving path of the object can be reduced.

[0073] That is, the amount of information to be searched is reduced not only by arranging waypoints but also by cutting some waypoints after arranging them. Therefore, the processing load required for searching for the moving path of the object can be reduced.

[0074] In this regard, although not particularly mentioned in the above-mentioned first embodiment, the timing at which the server 10A performs each process through the setting unit 11, the arrangement unit 12, and the reduction unit 13 is not particularly limited. The server 10A may be configured to perform the process when developing a video game or when playing the video game. That is, the server 10A may be configured such that the search unit 14 reads information generated before the player plays the video game; updates the read information according to the status of the video game; and searches for a moving path. In addition, the server 10A may be configured such that the search unit 14 searches for a moving path by using information generated in real time according to the progress of the video game (e.g., the arrangement of waypoints and the generated area).

[0075] [Second embodiment]

[0076] Figure 6 1 is a block diagram showing the configuration of a video game processing server 10B (hereinafter referred to as "server 10B"), which is a video game processing server 10 (refer to Figure 1 In this embodiment, the server 10B at least includes a setting unit 11, a placement unit 12, a reduction unit 13B and a search unit 14.

[0077] The reduction unit 13B has a function of referring to a predetermined storage unit (not shown in the drawings), storing information on connections between each of a plurality of waypoints and other waypoints and information related to the video game in association with each other in the storage unit, and not reducing the selected waypoint if the selected waypoint satisfies a predetermined prohibition condition.

[0078] Here, the content of the prohibition condition is not particularly limited. However, preferably, the prohibition condition has content indicating that if the waypoint is cut, it will cause an obstacle to the route search. As an example of such content, there is a waypoint that makes the distance after the cut become too wide after the waypoint is cut.

[0079] In addition, the configuration of not cutting the selected waypoints is not particularly limited. However, it is preferable that the waypoints determined not to be cut are not selected in the same process. As an example of such a configuration, there is a configuration in which the cutting unit 13B is configured to set identification information for the waypoints determined not to be cut in the determination after the selection.

[0080] Figure 7 is a diagram showing the video game processing system 100 (see Figure 1 ) is a flowchart of an example of a game process executed by the server 10B. Hereinafter, the actions of the server 10B and the user terminal 20 (hereinafter referred to as "terminal 20") will be described as an example. At this point, the flowchart showing the actions of each of the server 10B and the terminal 20 is omitted from the perspective of avoiding repeated description.

[0081] In the game process, after arranging the waypoints, the server 10B cuts some waypoints (step S2-11). However, the server 10B does not cut every waypoint that satisfies the prohibition condition. In the present embodiment, the server 10B refers to predetermined information to determine whether each waypoint selected as a reduction target satisfies the prohibition condition, and excludes each waypoint that satisfies the prohibition condition from the reduction target.

[0082] As described above, as one aspect of the second embodiment, the server 10B is configured to include the setting unit 11, the layout unit 12, the reduction unit 13B, and the search unit 14. Therefore, the reduction unit 13B refers to a predetermined storage unit, stores information on the connection between each of the plurality of waypoints and other waypoints and information related to the video game in the predetermined storage unit as being associated with each other, and does not reduce the selected waypoint in the case where the selected waypoint satisfies a predetermined prohibition condition. Therefore, it is possible to prevent the waypoints that should be left for searching for a moving path from being reduced. In addition, compared with the case where the waypoints that are not excluded are determined from all the waypoints before reduction, by limiting the waypoints that are the determination targets to "the waypoints selected as the reduction targets", the processing load can be reduced accordingly.

[0083] [Third embodiment]

[0084] Figure 8 1 is a block diagram showing the configuration of a video game processing server 10C (hereinafter referred to as "server 10C"), which is a video game processing server 10 (refer to Figure 1In the present embodiment, the server 10C includes at least a setting unit 11, a placement unit 12, a reduction unit 13, a search unit 14C, a generation unit 15, and a determination unit 16.

[0085] The generation unit 15 has a function of generating a plurality of areas by grouping a plurality of waypoints arranged in a virtual space according to a predetermined classification rule.

[0086] Here, the configuration of grouping waypoints according to a predetermined classification rule is not particularly limited. The generation unit 15 may be configured to classify waypoints based on the arrangement of the waypoints, or may be configured to classify waypoints based on information associated with the waypoints. As an example of such a configuration, there is a configuration in which the distance between each waypoint and an immovable area (e.g., a wall) is classified by a watershed algorithm (or the navigation grid is divided by the arrangement of each waypoint after classification).

[0087] Furthermore, the phrase "generating a plurality of regions by grouping" means defining a range in a virtual space (or a set navigation grid) where waypoints belonging to a group are located as a region. The configuration for generating a plurality of regions is not particularly limited. The generation unit 15 may be configured to generate information indicating a group of waypoints belonging to a group as a region, or may be configured to generate information indicating a portion of a navigation grid from the arrangement of waypoints belonging to a group as a region.

[0088] The determination unit 16 has a function of determining a region in which the object is allowed to move (hereinafter referred to as a “movable region”) based on the generated arrangement of the plurality of regions.

[0089] Here, the configuration for determining the movable area is not particularly limited. The determination unit 16 may be configured to be able to determine a plurality of areas including an area including a moving start position connected to an area including a moving end position as the movable area. As an example of such a configuration, there is a configuration in which a well-known path search technology is utilized by using each area as a node. In this regard, the determination unit 16 may be configured to determine the connection relationship of each area by using information associated with a waypoint located on the boundary of the area.

[0090] The search unit 14C has a function of searching for a moving path of the object based on waypoints included in the determined movable area.

[0091] Here, the configuration for searching for a moving path based on waypoints included in the movable area is not particularly limited. However, preferably, the search unit 14C is configured to be able to search for one path or multiple paths that satisfy the search condition. As an example of such a configuration, there is a configuration in which a well-known path search technology is utilized by using each waypoint included in the movable area as a node.

[0092] Fig. 9 is a diagram showing the video game processing system 100 (see Figure 1 ) is a flowchart of an example of a game process executed by the server 10C. Hereinafter, the actions of the server 10C and the user terminal 20 (hereinafter referred to as "terminal 20") will be described as an example. At this point, the flowchart showing the actions of each of the server 10C and the terminal 20 is omitted from the perspective of avoiding repeated description.

[0093] After cutting some waypoints, the server 10C generates a plurality of areas (step S3-11). In the present embodiment, the server 10C generates a plurality of areas by grouping a plurality of waypoints arranged in the virtual space according to a predetermined classification rule.

[0094] After generating the plurality of regions, the server 10C determines a movable region (step S3-12). In this embodiment, the server 10C determines a movable region suitable for movement from the region including the movement start position to the region including the movement end position based on the arrangement of the generated plurality of regions.

[0095] After determining the movable area, the server 10C searches for a moving path based on waypoints included in the movable area (step S3-13). In this embodiment, the server 10C searches for a moving path from a moving start position to a moving end position based on waypoints included in the determined movable area.

[0096] As described above, as one aspect of the third embodiment, the server 10C is configured to include the setting unit 11, the arrangement unit 12, the reduction unit 13, the search unit 14C, the generation unit 15, and the determination unit 16. Therefore, the generation unit 15 generates a plurality of areas by grouping a plurality of waypoints arranged in a virtual space according to a predetermined classification rule; the determination unit 16 determines an area (i.e., a movable area) in which the object is allowed to move based on the arrangement of the generated plurality of areas; and the search unit 14C searches for a moving path of the object based on the waypoints included in the determined movable area. Therefore, the moving path can be searched stepwise, and this can reduce the processing load required to search for the moving path.

[0097] [Fourth embodiment]

[0098] Fig.101 is a block diagram showing the configuration of a video game processing server 10D (hereinafter referred to as "server 10D"), which is a video game processing server 10 (refer to Figure 1 In this embodiment, the server 10D includes at least a setting unit 11, a placement unit 12, a reduction unit 13D and a search unit 14.

[0099] The reducing unit 13D has a function of preferentially reducing some waypoints other than waypoints arranged on boundary portions of a plurality of areas.

[0100] Here, the boundary portion of multiple areas refers to a portion of waypoints adjacent to a certain waypoint belonging to other areas. There is no particular limitation on the configuration of preferentially cutting some waypoints other than the waypoints arranged on the boundary portion of multiple areas. However, preferably, the cutting unit 13D is configured not to cut at least one of the waypoints arranged on the boundary portion. As an example of such a configuration, there is a configuration in which waypoints arranged on the boundary portion of one area are excluded from the cutting target. At this point, with respect to the timing of cutting some waypoints, a configuration in which the cutting is performed before generating multiple areas, a configuration in which the cutting is performed after generating multiple areas, and a configuration in which multiple cuttings are performed before and after generating multiple areas can be considered.

[0101] Fig.11 is a diagram showing the video game processing system 100 (see Figure 1 ) is a flowchart of an example of a game process executed by the server 10D. Hereinafter, the actions of the server 10D and the user terminal 20 (hereinafter referred to as "terminal 20") will be described as an example. At this point, the flowchart showing the actions of each of the server 10D and the terminal 20 is omitted from the perspective of avoiding repeated description.

[0102] After arranging the waypoints, the server 10D preferentially reduces some waypoints except a part of the waypoints (step S4-11). In the present embodiment, the server 10D preferentially reduces some waypoints except the waypoints arranged on the boundary parts of the plurality of areas.

[0103] As described above, as one aspect of the fourth embodiment, the server 10D is configured to include the setting unit 11, the arrangement unit 12, the reduction unit 13D, and the search unit 14. Therefore, the reduction unit 13D preferentially reduces waypoints other than waypoints arranged on the boundary portions of a plurality of areas. Therefore, excessive reduction can be prevented.

[0104] [Fifth embodiment]

[0105] Fig.12 1 is a block diagram showing the configuration of a video game processing server 10Z (hereinafter referred to as "server 10Z"), which is a video game processing system 100 (refer to Figure 1 ) is an example of a video game processing server 10. In this embodiment, the server 10Z includes at least a setting unit 11Z, a placement unit 12Z, a reduction unit 13Z, a search unit 14Z, a generation unit 15Z, and a determination unit 16Z.

[0106] The setting unit 11Z has a function of setting a navigation mesh corresponding to the movable range of an object in a virtual space. Hereinafter, the case of setting a navigation mesh in a virtual space of a 3D cover shooting game in which soldiers and weapons appear will be described as an example.

[0107] In this embodiment, enemy soldiers are allowed to search for players from the edge of the map. In addition, enemy soldiers can engage players anywhere on the map. Therefore, normal movement such as walking or running is performed on the navigation grid.

[0108] Here, in order to realize the function of the enemy soldier, the server 10Z can search for a long and large path from one end of the map to the other end. In this embodiment, in order to suppress the search load of the path, a hierarchical path search is performed. In addition, the enemy soldier can not only reach the vicinity of the arranged position, but also reach the place where the player can reach. That is, the enemy soldier can cross or climb the cover, or move through the door, window and ladder. In this embodiment, in order to ensure the freedom of movement, a jump link is used to make each of the player and the enemy soldier pass through the discontinuous place of the navigation grid.

[0109] In addition, in this embodiment, as functions related to navigation, movement through continuous parts of a navigation mesh (hereinafter also referred to as "NavMesh"), movement outside the mesh through jump links, a hierarchical structure for reducing the search load of long and large paths, and a function for automatically generating the above data will also be described.

[0110] Here, as examples of terrain representation used for the above-mentioned functions, there are a navigation mesh, a waypoint, a connection graph, and an upper layer graph (Upper Layer Graph) based on the waypoint.

[0111] The navigation mesh uses a well-known technique (e.g., Recast Navigation). Therefore, a detailed description thereof is omitted here. In this regard, in the present embodiment, a passable flag is set for a polygon that is continuous from the player's initial position, etc. Since the player can climb a wall having a certain height, a passable flag may also be set for a polygon that is not continuous from the player's initial position but continuous from the wall climbed by the player. In this case, for example, a mesh set near a position that deviates by a height distance that can be climbed from the edge of a non-adjacent polygon is searched. If a corresponding mesh exists, a continuous flag is set from there.

[0112] The arrangement unit 12Z has a function of arranging a plurality of waypoints on a set navigation grid according to a predetermined arrangement rule. In the following, the case where waypoints are automatically arranged on a navigation grid offline is taken as an example for explanation.

[0113] Here, the waypoint functions as a basis for information necessary for embedding a video game. In this embodiment, if necessary, information such as XYZ position, navigation mesh polygon ID under the point, LOF (Line of Fire), point attributes, point connection information, adjacent cover ID, adjacent door ID, adjacent ladder / window ID, shooting cover list, height from the point's position to the ceiling, height when crossing adjacent cover, distance from the wall, or broken gimmick ID riding on a certain point is associated with the waypoint.

[0114] Furthermore, in the present embodiment, waypoints are automatically arranged by arranging points based on the player's initial position and using a flood fill algorithm. At this point, points may not be formed at the desired position due to the grid shape. Therefore, the arrangement unit 12Z may be configured to arbitrarily add points. In this case, the arrangement unit 12Z may be configured to receive the addition of waypoints for the positions of various objects in the virtual space (e.g., doors, low shelters, edges of high shelters, and positions where ladders are installed).

[0115] The reduction unit 13Z has a function of reducing some waypoints selected according to a predetermined selection rule from the arranged plurality of waypoints. Hereinafter, the case of reducing waypoints as a process after the waypoint spread (Spread All Over) will be described as an example. In this regard, it is preferred that the index (Index) after the reduction is within 16 bits. This is because it is not desirable to increase the index of the point because it is stored here and there. In addition, in the case where the number of indexes is large, the load at the time of its search increases too much.

[0116] Fig.1313 is an explanatory diagram for explaining an example of reducing waypoints. In this embodiment, after automatically arranging a plurality of waypoints (for example, waypoint 1311 and waypoint 1312) based on the player's initial position 1301, a point is selected in a random manner (see Fig.13 (A) in the figure), reduce the arranged waypoints (refer to Fig.13 (B)). In addition, in this embodiment, some points that should not be cut will not be cut. That is, for example, when a point that makes the distance after the cut too wide when cutting the waypoint, a point that cuts the graph by cutting the waypoint, a point that forms a too circuitous path by cutting the waypoint, a boundary of an upper-level graph node, a position that becomes a trigger of an action such as a door, etc. is selected, the corresponding waypoint will not be cut.

[0117] Fig.14 is an explanatory diagram for explaining an example of a waypoint that should not be cut. Fig.14 As shown, if waypoint 1411 is deleted in range 1401 where the navigation mesh is set, the connection between its upper and lower parts will be lost. That is, raycast on the navigation mesh will not pass through waypoint 1411 from each of waypoint 1412 and waypoint 1413. Therefore, waypoint 1411 is not cut.

[0118] The search unit 14Z has a function of searching for a moving path of an object based on the arrangement of a plurality of waypoints after cutting down some waypoints. Hereinafter, a case of performing a path search from a start point to an end point (such as a path from an enemy's position to a player's position, a path from an enemy's position to a target object, or a path from a player's position to a position selected by the player) by using a known path search technique using the arranged waypoints as path candidate positions will be described as an example.

[0119] The generation unit 15Z has a function of generating a plurality of areas by grouping a plurality of waypoints arranged in a virtual space according to a predetermined classification rule. Hereinafter, a case where an area (AI area) where points close in position are concentrated to a certain extent and marked is generated as the top structure for a hierarchical path search is described as an example. At this point, information connecting points marking the boundaries is used as connection information for specifying a connection relationship between a plurality of areas. That is, in order to determine an area for moving from an area including a moving start position to an area including a moving target position, information associated with each waypoint located on the boundary of each area is used.

[0120] In this embodiment, the AI ​​region plays the role of treating these points as a certain degree of wholeness (Lump). Preferably, the AI ​​region is configured to roughly express the position rather than being too detailed. In addition, the AI ​​region also has the function of preventing objects from crossing the same path as a cost increase target. The AI ​​region can also be used for a map of the influence between the player and the enemy (influence map), etc. In addition, it can be expected that the AI ​​region allows the search load of the path to be reduced by the hierarchical representation of the position.

[0121] Fig.15 : is an explanatory diagram for explaining an example of a method for generating a region. Fig.15 As shown in (A) in FIG. 1 , when a region (i.e., an AI region according to the present embodiment) is generated from a terrain 1501, waypoints are distributed over the terrain 1501; adjacent waypoints are connected to each other; a distance from a corresponding wall is set for each waypoint; and the set distance is segmented by a watershed algorithm. Fig.15 As shown in (B) in FIG. 1 , region S1 and region S2 can be generated. At this point, the watershed algorithm is supplemented. In the case where the distance to the wall is regarded as the height, a first peak having a waypoint 1511 at its top and a second peak having a waypoint 1512 at its top can be formed. When the evaluation starts from the highest point, the waypoint 1511 (mark 1) is marked first. Next, by lowering the height to be evaluated, two points located on the upper and lower sides of the waypoint 1511 in the first peak and the top of the second peak (i.e., the waypoint 1512) are evaluated. In this case, since the point of the second peak is at its top, the waypoint 1512 (mark 2) is marked. Since the two points of the first peak are part of the first peak, the two points are marked in the same manner as the top of the first peak (i.e., the waypoint 1511) (mark 1). At this point, whether a certain point is part of a peak can be determined by determining whether its adjacent points are marked. Next, by performing the same process after lowering the height to be evaluated, the remaining points are marked at the bottom of the first peak and the bottom of the second peak. Finally, the parts not included in the first peak and the second peak are marked from their adjacent points (i.e., the parts whose distance from the corresponding wall is determined to be 0 or the minimum). From above, the points up to the lowest height can be marked. That is, the upper graph can be generated by the nodes marked 1 and the nodes marked 2.

[0122] Furthermore, in the present embodiment, the generated regions are adjusted based on predetermined adjustment rules. That is, each region satisfying a predetermined segmentation condition is segmented from a plurality of regions, and the region satisfying a predetermined merging condition is merged with other regions. By configuring the generation unit 15Z in this manner, each region that is too small is attached to an adjacent large region, and the region that is too large is repeatedly segmented so that "its long side is cut in half". And by forming regions of a certain size in this manner, they can be roughly treated as "units". In this regard, the generation unit 15Z is not configured to generate each region having a size that falls within a certain range, but the generation unit 15Z can be configured to provide segmentation conditions and merging conditions so that each region satisfies any one of a plurality of size conditions.

[0123] The determination unit 16Z has a function of determining an area where the object is allowed to move (hereinafter referred to as a "movable area") based on the arrangement of the generated plurality of areas. In this embodiment, a case where a well-known path search technique is used by using each area as a node is described as an example.

[0124] As described above, data may be created in the order of the navigation mesh, the waypoint map, and the upper-layer map, and path search may be implemented in the order of the upper-layer map, the waypoint map, and the navigation mesh.

[0125] At this point, the moving path ultimately desired by the path search is the smooth moving path desired by the designer of the video game. That is, preferably, the determination unit 16Z is configured to derive a Bezier curve, a straight line, or a line that requires an action due to the discontinuity of the line from the current position of the object to the target position according to the type of the object. In the present embodiment, various lines can be derived by specifying the required action and position in the upper graph level, specifying the required action and position in the waypoint level, and searching for the moving path of the object to move continuously between the specified positions. At this point, a path of continuous (or continuous) movement can be derived by passing through the upper path, creating a path of waypoints within the upper node, connecting the waypoints of all nodes, creating a navigation mesh polygon list along the point path, creating a list of edges passed by the object, and creating a Bezier curve using the middle point of the edge.

[0126] Fig.16 1 is an explanatory diagram for explaining an example of a storage state of information stored in a storage unit (not shown in the figure) provided by the server 10. Fig.16 As shown, the area number and identification information of each waypoint belonging to the area are stored in the storage unit as area-related information so as to be associated with each other.

[0127] Here, the area number refers to identification information of each generated area (e.g., AI area). There is no particular limitation on the configuration of creating the area number. However, preferably, the server 10Z is configured so that each of the plurality of areas can be uniquely specified. As an example of the area number, there is a mark attached to each waypoint.

[0128] Fig.17 1 is a flowchart showing an example of a game process performed by a video game processing system 100Z (hereinafter referred to as "system 100Z") provided with a server 10Z. In the game process according to the present embodiment, a process related to the arrangement of waypoints and the like are performed. Hereinafter, each process will be described. At this point, the order of each process may be changed without contradicting the process content and the like.

[0129] For example, when the user terminal 20 (hereinafter referred to as "terminal 20") accessing the server 10Z satisfies the arrangement conditions of the waypoints, the game process starts. Hereinafter, the case where the user operating the terminal 20 inputs a search request for a movement route will be described as an example.

[0130] In the game process, the system 100Z first sets a navigation mesh (step S301). In the present embodiment, the server 100Z specifies a virtual space to be provided to the terminal 20, and sets a navigation mesh corresponding to a range in which an object can move in the specified virtual space.

[0131] After setting the navigation grid, the system 100Z arranges waypoints (step S302). In this embodiment, the server 100Z arranges a plurality of waypoints on the set navigation grid according to a predetermined arrangement rule.

[0132] After arranging the waypoints, the system 100Z reduces some waypoints (step S303). In this embodiment, the server 100Z reduces some waypoints selected according to a predetermined selection rule from the arranged multiple waypoints.

[0133] After cutting some waypoints, the system 100Z generates a plurality of areas (step S304). In the present embodiment, the server 100Z generates a plurality of areas by grouping a plurality of waypoints arranged in the virtual space according to a predetermined classification rule.

[0134] After generating a plurality of areas, the system 100Z determines a movable area (step S305). In this embodiment, the server 100Z determines a movable area suitable for moving from an area including a moving start position to an area including a moving end position based on the arrangement of the generated plurality of areas.

[0135] After determining the movable area, the system 100Z searches for a moving path (step S306). In the present embodiment, the server 100Z searches for a moving path of the object based on the arrangement of a plurality of waypoints arranged in the virtual space.

[0136] As described above, as one aspect of the fifth embodiment, the server 10Z having a function related to the search for a moving path in a virtual space is configured to include a setting unit 11Z, a placement unit 12Z, a reduction unit 13Z, a search unit 14Z, a generation unit 15Z, and a determination unit 16Z. Thus, the setting unit 11Z sets a navigation grid corresponding to the movable range of an object in a virtual space; the placement unit 12Z places a plurality of waypoints on the set navigation grid according to a predetermined placement rule (e.g., a flood fill algorithm); the reduction unit 13Z reduces some waypoints selected according to a predetermined selection rule (e.g., random selection) from the arranged plurality of waypoints; and the search unit 14Z searches for the moving path of the object based on the placement of the plurality of waypoints after reducing some waypoints. Therefore, the processing load required to search for the moving path of the object can be reduced.

[0137] That is, the amount of information to be searched can be reduced not only by arranging waypoints but also by cutting some waypoints after arranging them. Therefore, the processing load required to search for the moving path of the object can be reduced.

[0138] In this regard, although not particularly mentioned in the fifth embodiment described above, there is no particular limitation on the timing when the server 10Z performs the respective processing by the setting unit 11Z, the arrangement unit 12Z, the reduction unit 13Z, the generation unit 15Z, and the determination unit 16Z. The server 10Z may be configured to perform processing when developing a video game or when playing the video game. That is, the server 10Z may be configured to perform the setting of the navigation mesh, the arrangement of waypoints, and the generation of the AI ​​area independently of the path search, or may be configured so that these are performed in a series of processes together with the path search. As an example of such a configuration, there is a configuration in which the search unit 14Z reads information generated before the player plays the video game according to the progress of the video game (e.g., area-related information); updates the read information according to the status of the video game (e.g., changes in the movable area); and searches for a moving path based on the updated information. In addition, as another example, there is a configuration in which the search unit 14 sets the navigation mesh according to the progress of the video game, and searches for a moving path in real time by using the generated information.

[0139] In this regard, although not particularly mentioned in the fifth embodiment described above, the server 10Z may be configured to: set a navigation grid corresponding to the movable range of the object in the virtual space; arrange a plurality of waypoints on the set navigation grid according to a predetermined arrangement rule (e.g., a flood fill algorithm); reduce some waypoints selected according to a predetermined selection rule (e.g., random selection) from the arranged plurality of waypoints; and store information for search (e.g., a terrain representation of the virtual space) including the arrangement of the reduced waypoints in a storage unit. In this case, the server 10Z that acquires the information related to the video game including the information for search searches for the moving path of the object in the virtual space based on the information for search.

[0140] As described above, each of the embodiments according to the present application can solve one or more than two deficiencies. In this regard, the effects of each of the embodiments are non-limiting effects or an example of non-limiting effects.

[0141] At this point, in each of the above-mentioned embodiments, each of the plurality of user terminals 20, 201~20N and the server 10 performs the above-mentioned various processes according to various control programs (e.g., video game processing programs) stored in a storage device provided in the corresponding terminal or server.

[0142] In addition, the configuration of the system 100 is not limited to the configuration that has been described as an example in each of the above-mentioned embodiments. For example, the system 100 may be configured so that the server 10 performs a part or all of the processing that has been described as the processing performed by the user terminal 20. In addition, the system 100 may be configured so that any one of the multiple user terminals 20, 201~20N (for example, the user terminal 20) performs a part or all of the processing that has been described as the processing performed by the server 10. In addition, the system 100 may be configured so that a part or all of the storage unit included in the server 10 is included in any one of the multiple user terminals 20, 201~20N. That is, the system 100 may be configured so that a part or all of the functions of any one of the user terminal 20 and the server 10 of the system 100 are included in the other.

[0143] Furthermore, the system 100 may be configured so that a single device not including any communication network can be programmed to implement a part or all of the functions as exemplified in the above-described embodiments.

[0144] [appendix]

[0145] The explanation of the above-mentioned embodiments has been described so that at least the following invention can be implemented by one of ordinary skill in the art to which the present invention pertains.

[0146] (1) A non-transitory computer-readable medium, comprising a video game processing program, the video game processing program being used to enable a server to implement functions related to searching for a moving path in a virtual space, the functions comprising:

[0147] a setting function configured to set a navigation grid corresponding to a movable range of an object in a virtual space;

[0148] a placement function configured to place a plurality of waypoints on a set navigation grid according to a predetermined placement rule;

[0149] a reduction function configured to reduce some waypoints selected according to a predetermined selection rule from the arranged plurality of waypoints; and

[0150] A search function is configured to search for a moving path of the object based on an arrangement of the plurality of waypoints after the reduction.

[0151] (2) The non-transitory computer-readable medium according to (1), wherein:

[0152] The reduction function includes the following functions: referring to a predetermined storage unit and storing information on connections between each of a plurality of waypoints and other waypoints and information related to the video game in the storage unit as being associated with each other, and not reducing the selected waypoint if the selected waypoint satisfies a predetermined prohibition condition.

[0153] (3) The non-transitory computer-readable medium according to (1) or (2), wherein:

[0154] The functionality also includes:

[0155] a generating function configured to generate a plurality of areas by grouping a plurality of waypoints arranged in a virtual space according to a predetermined classification rule; and

[0156] a determination function configured to determine an area where the object moves (hereinafter referred to as a "movable area") based on the generated arrangement of the plurality of areas;

[0157] The search function further includes a function configured to search for a moving path of the object based on waypoints included in the determined movable area.

[0158] (4) The non-transitory computer-readable medium according to any one of (1) to (3), wherein:

[0159] The pruning function includes a function configured to preferentially prune some waypoints other than waypoints arranged on boundary portions of a plurality of areas.

[0160] (5) The non-transitory computer-readable medium according to any one of (1) to (4), wherein:

[0161] The pruning function includes a function configured to prune waypoints so that the number of the plurality of waypoints is less than a predetermined number.

[0162] (6) A non-transitory computer-readable medium comprising a video game processing program, the video game processing program being used to enable a user terminal to implement at least one of the functions that the video game processing program enables a server to implement as described in any one of (1) to (5), the user terminal being capable of communicating with the server.

[0163] (7) A server having installed therein the video game processing program described in any one of (1) to (6).

[0164] (8) A video game processing system for performing processing related to searching for a moving path in a virtual space, the video game processing system comprising a communication network, a server, and a user terminal, the video game processing system comprising:

[0165] a setting unit configured to set a navigation grid corresponding to a movable range of an object in a virtual space;

[0166] a placement unit configured to place a plurality of waypoints on a set navigation grid according to a predetermined placement rule;

[0167] a reduction unit configured to reduce some waypoints selected according to a predetermined selection rule from the arranged plurality of waypoints; and

[0168] A search unit is configured to search for a moving path of the object based on the arrangement of the plurality of waypoints after the reduction.

[0169] (9) The video game processing system according to (8), wherein:

[0170] The server includes the setting unit, the placement unit, the reduction unit and the search unit.

[0171] Furthermore, the user terminal includes: an output unit configured to output a game screen showing the moving path searched by the search unit to a display screen of the display device.

[0172] (10) A non-transitory computer-readable medium comprising a video game processing program, the video game processing program being used to enable a user terminal to implement a terminal function related to searching for a moving path in a virtual space, the terminal function comprising:

[0173] functionality configured to receive, from a server, information about server functionality included by the server; and

[0174] a function configured to perform an input or output corresponding to each of the server functions;

[0175] The server includes server functions, and the server functions include:

[0176] a setting function configured to set a navigation grid corresponding to a movable range of an object in a virtual space;

[0177] a placement function configured to place a plurality of waypoints on a set navigation grid according to a predetermined placement rule;

[0178] a reduction function configured to reduce some waypoints selected according to a predetermined selection rule from the arranged plurality of waypoints; and

[0179] A search function is configured to search for a moving path of the object based on an arrangement of the plurality of waypoints after the reduction.

[0180] (11) A non-transitory computer-readable medium, comprising a video game processing program, the video game processing program being used to enable a user terminal to implement functions related to searching for a moving path in a virtual space, the functions comprising:

[0181] a setting function configured to set a navigation grid corresponding to a movable range of an object in a virtual space;

[0182] a placement function configured to place a plurality of waypoints on a set navigation grid according to a predetermined placement rule;

[0183] a reduction function configured to reduce some waypoints selected according to a predetermined selection rule from the arranged plurality of waypoints; and

[0184] A search function is configured to search for a moving path of the object based on an arrangement of the plurality of waypoints after the reduction.

[0185] (12) A non-transitory computer-readable medium comprising a video game processing program, the video game processing program being used to enable a server to implement at least one of the functions that the video game processing program described in (11) enables a user terminal to implement, and the server is capable of communicating with the user terminal.

[0186] (13) A user terminal having installed therein the video game processing program according to (11) or (12).

[0187] (14) A video game processing method for performing processing related to searching for a movement path in a virtual space, the video game processing method comprising:

[0188] a setting process configured to set a navigation mesh corresponding to a movable range of an object in a virtual space;

[0189] Arrangement processing, configured to arrange a plurality of waypoints on a set navigation grid according to a predetermined arrangement rule;

[0190] a reduction process configured to reduce some waypoints selected according to a predetermined selection rule from the arranged plurality of waypoints; and

[0191] The search process is configured to search for a movement path of the object based on the arrangement of the plurality of waypoints after the reduction.

[0192] (15) A video game processing method, wherein a video game processing system is used to perform processing related to searching for a moving path in a virtual space, wherein the video game processing system includes a communication network, a server, and a user terminal, and the video game processing method includes:

[0193] a setting process configured to set a navigation mesh corresponding to a movable range of an object in a virtual space;

[0194] Arrangement processing, configured to arrange a plurality of waypoints on a set navigation grid according to a predetermined arrangement rule;

[0195] a reduction process configured to reduce some waypoints selected according to a predetermined selection rule from the arranged plurality of waypoints; and

[0196] The search process is configured to search for a movement path of the object based on the arrangement of the plurality of waypoints after the reduction.

[0197] (16) A non-transitory computer-readable medium comprising a video game processing program, the video game processing program being used to enable a computer to implement functions related to searching for a moving path in a virtual space, the functions comprising:

[0198] a setting function configured to set a navigation grid corresponding to a movable range of an object in a virtual space;

[0199] a placement function configured to place a plurality of waypoints on a set navigation grid according to a predetermined placement rule; and

[0200] The reduction function is configured to reduce some waypoints selected according to a predetermined selection rule from the arranged multiple waypoints.

[0201] (17) A non-transitory computer-readable medium comprising a video game processing program, the video game processing program being used to enable a computer to implement functions related to searching for a moving path in a virtual space, the functions comprising:

[0202] A setting function configured to set a navigation grid corresponding to a movable range in a virtual space;

[0203] a placement function configured to place a plurality of waypoints on a set navigation grid according to a predetermined placement rule;

[0204] a reduction function configured to reduce some waypoints selected according to a predetermined selection rule from the arranged plurality of waypoints; and

[0205] A search function configured to search for a moving path of an object arranged in the virtual space based on information generated by using the setting function, the arranging function, and the reducing function.

[0206] (18) A non-transitory computer-readable medium including a video game processing program, the video game processing program being used to cause a computer to implement a function of generating information for searching for a moving path in a virtual space, the function comprising:

[0207] a setting function configured to set a navigation grid corresponding to a movable range of an object in a virtual space;

[0208] a placement function configured to place a plurality of waypoints on a set navigation grid according to a predetermined placement rule;

[0209] a reduction function configured to reduce some waypoints selected according to a predetermined selection rule from the arranged plurality of waypoints; and

[0210] The storage function is configured to store information used for searching in a storage unit, wherein the information used for searching includes the arrangement of the reduced waypoints.

[0211] According to the embodiments of the present invention, it is useful to reduce the processing load required to search for the moving path of an object.

Claims

1. A non-transitory computer-readable medium, comprising a video game processing program, the video game processing program being used to enable a server to implement functions related to searching for a moving path in a virtual space, the functions comprising: a setting function configured to set a navigation grid corresponding to a movable range of an object in a virtual space; a placement function configured to place a plurality of waypoints on a set navigation grid according to a predetermined placement rule; a reduction function configured to reduce some waypoints selected according to a predetermined selection rule from the arranged plurality of waypoints; as well as A search function configured to search for a moving path of an object based on an arrangement of the plurality of waypoints after the reduction; The trimming function includes the following functions: referring to a predetermined storage unit and storing information about connections between each of the arranged plurality of waypoints and other waypoints and information related to the video game in the storage unit as being associated with each other, and not trimming the selected waypoint if the waypoint selected according to the selection rule satisfies a predetermined prohibition condition, The prohibition condition is that the reduction of waypoints will cause an obstacle to the search of the movement path.

2. The non-transitory computer readable medium of claim 1, wherein: The functionality also includes: a generating function configured to generate a plurality of areas by grouping a plurality of waypoints arranged in a virtual space according to a predetermined classification rule; and a determination function configured to determine an area where the object moves, i.e., a movable area, based on the generated arrangement of the plurality of areas; The search function further includes a function configured to search for a moving path of the object based on waypoints included in the determined movable area.

3. The non-transitory computer readable medium of claim 1, wherein: The pruning function includes a function configured to preferentially prune some waypoints other than waypoints arranged on boundary portions of a plurality of areas.

4. The non-transitory computer readable medium of claim 1, wherein: The pruning function includes a function configured to prune waypoints so that the number of the plurality of waypoints is less than a predetermined number.

5. A video game processing system for performing processing related to searching for a moving path in a virtual space, the video game processing system comprising a communication network, a server and a user terminal, the video game processing system comprising: a setting unit configured to set a navigation grid corresponding to a movable range of an object in a virtual space; a placement unit configured to place a plurality of waypoints on a set navigation grid according to a predetermined placement rule; a reduction unit configured to reduce some waypoints selected according to a predetermined selection rule from the arranged plurality of waypoints; as well as a search unit configured to search for a moving path of the object based on an arrangement of the plurality of waypoints after the reduction; The reduction unit refers to a predetermined storage unit and stores information on connections between each of the arranged plurality of waypoints and other waypoints and information related to the video game in the storage unit as being associated with each other, and does not reduce the selected waypoint if the waypoint selected according to the selection rule satisfies a predetermined prohibition condition, The prohibition condition is that the reduction of waypoints will cause an obstacle to the search of the movement path.

6. A non-transitory computer-readable medium, comprising a video game processing program, the video game processing program being used to enable a user terminal to implement functions related to searching for a moving path in a virtual space, the functions comprising: a setting function configured to set a navigation grid corresponding to a movable range of an object in a virtual space; a placement function configured to place a plurality of waypoints on a set navigation grid according to a predetermined placement rule; a reduction function configured to reduce some waypoints selected according to a predetermined selection rule from the arranged plurality of waypoints; as well as A search function configured to search for a moving path of an object based on an arrangement of the plurality of waypoints after the reduction; The trimming function includes the following functions: referring to a predetermined storage unit and storing information about connections between each of the arranged plurality of waypoints and other waypoints and information related to the video game in the storage unit as being associated with each other, and not trimming the selected waypoint if the waypoint selected according to the selection rule satisfies a predetermined prohibition condition, The prohibition condition is that the reduction of waypoints will cause an obstacle to the search of the movement path.

Citation Information

Patent Citations

  • Game program and game system

    JP2012213485A

  • Method and equipment for determining moving paths of objects in games

    CN103714234A

  • Path searching method and device, processor and electronic device

    CN108268971A