Data editing program, data editing system, data editing method, and data editing device
Patent Information
- Application Number
- JP2023132595
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-16
- Publication Date
- 2025-02-28
AI Technical Summary
【0020】 本開示によれば、ゲームの開発時において、ノードエディタを用いて要素の設定を行う場合に、編集の手間が少なく、開発し易い開発環境を提供できる。
Smart Images

Figure 2025027640000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a node editor for use in a game development environment. [Background technology]
[0002] Conventionally, a node editor that is used in a game development environment has been known (for example, Non-Patent Document 1). [Prior art documents] [Non-patent literature]
[0003] [Non-Patent Document 1] EPIC GAMES "Unreal Engine 4.27 Documentation Nodes", [online], [Retrieved August 22, 2023], Internet (URL: https: / / docs.unrealengine.com / 4.27 / ja / ProgrammingAndScripting / Blueprints / UserGuide / Nodes / ) Summary of the Invention [Problem to be solved by the invention]
[0004] The above technology provides an environment that makes it easy to develop games. In this regard, there is room for improvement in order to provide an environment that is even easier to develop by reducing the amount of editing work required, for example when editing a large number of objects that will appear in the game. [Means for solving the problem]
[0005] In view of the above, the following configuration example is given.
[0006] (Configuration 1) Configuration 1 is a data editing program that causes a computer of an information processing device to execute the following process. That is, the computer is caused to present a UI of a node editor for setting elements included in a game under development. Furthermore, the program causes a first group including at least one node to be created based on an operation input to the node editor, and a second group that is a copy destination group with the first group as a copy source and includes nodes and connection information corresponding to the nodes and connection information of the nodes included in the first group, respectively, is generated, and when a first edit is made to the nodes or connection information included in the first group, the first edit is reflected in the corresponding nodes or connection information included in the second group at a predetermined timing, and when a second edit is made to the nodes or connection information included in the second group, the edited nodes or connection information are further changed to a state in which the first edit is not reflected thereafter.
[0007] According to the above configuration example, editing of the first group, which is the copy source, is also reflected in the second group, which is the copy destination. This allows adjustments to be made to a variety of elements that have common characteristics all at once. Furthermore, when a part of the second group is edited to give it a characteristic independent of the first group, the independent characteristic can be retained regardless of whether the first group is subsequently edited. This allows editing of a large number of elements to be performed efficiently.
[0008] (Configuration 2) Configuration 2 in the above configuration 1 may cause the computer to hold the nodes or connection information included in the second group as edit content additionally performed on the nodes or connection information included in the first group.
[0009] According to the above configuration example, the information of the first group itself that is the copy source is not rewritten, and the edited content is held as additional edit information for the content of the first group. This makes it possible to realize a state in which the first edit is reflected when there is no second edit, and the first edit is not reflected when the second edit is performed.
[0010] (Configuration 3) Configuration 3 may be such that, in configuration 2 above, when editing is performed to delete nodes or connection information included in the second group based on an operational input to the node editor, the computer stores the deletion as an additional editing content to be performed.
[0011] According to the above configuration example, it is possible to reflect edit contents specific to the second group, such as contents that remain in the first group but are deleted from the second group. This enables flexible editing work, such as making small changes based on the first group, improving development efficiency.
[0012] (Configuration 4) In configuration 4, in configuration 2, the node may include a group. When editing is performed to add a new node or connection information to the second group based on an operation input to the node editor, the computer may store the addition of the node or connection information to the node representing the first group as additional editing content.
[0013] According to the above configuration example, when it is desired to add a feature unique to the second group that is not present in the first group but is present in the second group, information on the added feature is held as additional editing content for the first group. This enables flexible editing work, such as making small changes to the second group based on the first group, without making direct changes to the first group itself, thereby improving development efficiency.
[0014] (Configuration 5) In configuration 5, in configuration 1 or 2, the element may be an in-game object. Also, the first group may be a group including at least one node among at least one node associated with the first object, and the nodes and connection information included in the second group may be associated with the second object.
[0015] According to the above configuration example, when creating an object by referring to another object, development work can be performed more efficiently.
[0016] (Configuration 6) Configuration 6, in any of configurations 1 to 5 above, may cause the computer to display, in a node editor, nodes or connection information for which a second edit has been performed in a display manner different from that of nodes or connection information for which the second edit has not been performed.
[0017] According to the above configuration example, when editing the second group, it becomes easier to visually grasp the parts (differences) that are different from the first group.
[0018] (Configuration 7) Configuration 7 may be such that, in any of configurations 1 to 6 above, a computer generates a third group based on an operational input to a node editor, the third group being a destination group with the second group as the source, the third group including nodes and node connection information corresponding to the nodes and node connection information included in the second group, and retains the nodes or connection information included in the third group as additional editing content applied to the nodes or connection information included in the second group.
[0019] According to the above configuration example, the second group is used as a copy source to create a copy destination group, and the edit content performed in the third group can be stored as an edit further added to the second group that is used as the copy source. Effect of the Invention
[0020] According to the present disclosure, when using a node editor to set elements during game development, a development environment that requires less editing effort and is easy to develop can be provided. [Brief description of the drawings]
[0021] [Figure 1] A block diagram showing a hardware configuration of an information processing device 1. [Diagram 2] An example of the node editor UI screen [Diagram 3] A diagram showing an example of a link-type node [Figure 4] A diagram showing an example of editing [Diagram 5] A diagram showing an example of editing [Figure 6] A diagram showing an example of editing [Figure 7] A diagram showing an example of editing [Figure 8] A diagram showing an example of editing [Figure 9] A diagram showing an example of editing [Figure 10] A diagram showing an example of editing [Figure 11] A diagram showing an example of editing [Figure 12] A diagram showing an example of editing [Figure 13] Diagram to explain node generations [Figure 14] A memory map showing an example of various data stored in the storage unit 12 of the information processing device 1. [Figure 15] An example of the data configuration of the node configuration data 304 [Figure 16] An example of the data configuration of detailed information 313 in the case of an ad-hoc node [Figure 17] An example of the data structure of the action data 315 [Figure 18] An example of the data configuration of the drawing processing data 305 [Figure 19] Flowchart showing details of the node editor process [Figure 20] Flowchart showing details of the node editor process [Figure 21] Flowchart showing details of the node editor process [Figure 22] Flowchart showing details of display processing DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0022] An embodiment of the present invention will be described below. FIG. 1 is a block diagram showing a hardware configuration of an information processing device 1 according to this embodiment. The information processing device 1 is, for example, a personal computer. The information processing device 1 includes a processor 11. The processor 11 is an information processing unit that executes various information processes executed in the information processing device 1. The processor 11 executes various information processes by executing information processing programs (for example, programs of various tools for game development) stored in a storage unit 12. The storage unit 12 may be, for example, an internal storage medium such as a flash memory or a DRAM (Dynamic Random Access Memory), or may be configured to use an external storage medium, etc.
[0023] The information processing device 1 also includes an input device communication unit 14 for performing wired or wireless communication with various input devices 16 such as a keyboard and a mouse. The information processing device 1 is also connected to a display unit 17 (e.g., a monitor for a personal computer) via an image and audio output unit 15. The processor 11 outputs, for example, images and sounds generated by executing the above information processing to the display unit 17 via the image and audio output unit 15.
[0024] [Outline of processing assumed in this embodiment] Next, an outline of the processing assumed in this embodiment will be described. This embodiment relates to a node editor used in game development sites and the like. The node editor provides a UI for setting "game elements" included in a game. The game elements include, for example, character objects such as a player character and an enemy character, various in-game objects that appear in the game, in-game events, game sequences (overall progress control), shaders in CG, and the like.
[0025] FIG. 2 shows an example of a node editor screen. In the example screen of FIG. 2, a first command related area 101, a second command related area 102, and an editing work area 103 are shown. In the first command related area 101, for example, a menu bar or a toolbar is displayed. In the second command related area 102, a list of a plurality of game elements is displayed, for example, in a tree format. The editing work area 103 is an area for visually presenting the configuration of the nodes and allowing the user to perform various editing operations. In the example of FIG. 2, four nodes 111 are shown in the editing work area 103. In addition, the nodes are connected to each other by a connection line 113 via a plug 112 included in each node, and the connection relationship between the nodes is shown. In FIG. 2, the node 111 is defined, for example, as a function to be performed by the game element, various parameters and operation contents associated with the function, etc. The plug 112 is a locational concept for connecting the nodes 111, and for example, the input / output relationship of data between the nodes and the order of processing can be set. The connection 113 indicates a connection relationship between nodes via the plug 112. In other words, the plug 112 and the connection 113 can be said to be connection information of the nodes. Hereinafter, the node 111, the plug 112, and the connection 113 may be collectively referred to as "component elements". In addition, the images of the node 111, the plug 112, and the connection 113 displayed in the editing work area 103 may be collectively referred to as "node images". Using the UI of such a node editor, the user can create (add), delete, and change the contents of the node 111, the plug 112, and the connection 113 (hereinafter, collectively referred to as "edit"). In other words, the user can define the contents of various game elements by connecting the nodes 111 having various functions. For example, the user can create the actions of various objects, set the game sequence, and create the processing contents of a shader. As an example, when using the node editor to define a function for a "box-shaped object," which is one of the game elements, you can create a first node for the function "always execute during gameplay" and a second node for the function "rotate," and by connecting these, you can define a game element that is a box-shaped object that always rotates during game processing.
[0026] In addition, in the node editor according to this embodiment, a combination of the above-mentioned nodes, plugs, and connections can be grouped and organized into a single new node. For ease of explanation, the grouped nodes will be referred to as "group nodes" below.
[0027] In addition, in the node editor according to this embodiment, a new node can be created by linking a certain node as the "reference source". In other words, a new node can be created by copying the entire contents of the node to be the "reference source". For example, a new node with a link to the copy source can be created by performing a so-called "copy and paste" operation. Hereinafter, such a linked node is called a "link type node". Also, a node (link source node) that is set as the "reference source" in a link type node is called a "reference node". Note that only the above group nodes can be treated as the "reference source", and in this embodiment, nodes, plugs, and connections that are not grouped cannot be directly specified as the "reference source". However, in other embodiments, nodes that are not grouped may also be specified as the "reference source".
[0028] In this embodiment, the edit content in the reference node is in principle reflected in the link type node as well, but the edit content made in the link type node is not reflected in the reference node. Also, control is performed so that edits made in the reference node that occur afterwards are not reflected in the parts that have been uniquely edited in the link type node (parts that have been locally edited, as described below). Below, examples of operations related to the link type node in this embodiment will be described using example screens.
[0029] First, the creation of a link type node will be explained. Here, it is assumed that a node configuration like that shown in Figure 2 above has been created based on the user's operation. Once such a node configuration has been created, the user performs an operation to group this node configuration. For example, this is an operation such as selecting the nodes, plugs, and connections that the user wants to group, and then selecting the "Group" command. This results in the creation of a group node.
[0030] Next, the user specifies the group node as the "reference source" and performs a "link type node generation operation" to create a link type node. FIG. 3 shows an example of a node image of a link type node created with a group node as shown in FIG. 2 as a reference node. In FIG. 3, the node configuration is exactly the same as that of the reference node in FIG. 2. However, the link type node is displayed on the screen in a different display mode from that of the reference node. In this embodiment, for example, the link type node is displayed semi-transparently. Note that on the actual node editor screen, separate group nodes that are not directly connected to each other can also be displayed in parallel. For example, it is also possible to display two node images, a reference node and a link type node, together in the editing work area 103.
[0031] Next, assume that the reference node is edited after the link type node is created. For example, assume that the node configuration of FIG. 2 is edited as shown in FIG. 4. FIG. 4 shows an example in which a new node is added to the reference node. In this case, as shown in FIG. 5, the addition of the new node is reflected in the configuration of the link type node. The timing at which the edited contents of the reference node are reflected is, for example, when the user operates a button for "update display contents" or when the file related to the link type node is opened. In addition, as soon as the edited contents of the reference node are confirmed, they may be immediately reflected in the display of the link type node.
[0032] Next, assume that the link type node is edited after it is created. For example, assume that the node configuration in FIG. 5 is changed to the contents shown in FIG. 6. FIG. 6 shows an example in which a new node is added to the link type node. In this case, the contents of the edit made in the link type node (hereinafter referred to as local edit) are not reflected in the reference node. Therefore, when the contents of the reference node at this time are displayed, they will be the same as those in FIG. 4. In other words, the local edit made in the link type node is applied only to the link type node. Therefore, it is possible to give the link type node a feature that is not present in the reference node. For example, assume that you want to create and edit other characters called "character A1" and "character A2" that are slightly different in appearance and behavior, based on "character A". In this case, you can create link type nodes related to each character using the group node related to character A as the reference node, and edit them in the link type node, thereby making it possible to perform efficient editing work.
[0033] Here, in this embodiment, information indicating the contents of the local edit performed in the link type node is saved as "action information". Then, when displaying the link destination node in the node editor, the contents of the reference node are taken in and the action information is applied thereto (the taken-in contents of the reference node are overwritten with the local edit contents), so that the link type node is constructed and displayed. Therefore, even if further editing is performed on the same node in the reference node after that, the node locally edited in the link type node is overwritten with the contents of the action information. In other words, the result is a state in which subsequent editing in the reference node is not reflected. For example, assume that a local edit is performed to change or add a parameter to a specific node taken in from the reference node, rather than adding a new node as described above. As a specific example, assume that a local edit is performed in the link type node to change the value of the first parameter included in node C from "A" to "B" as shown in FIG. 7. In this case, for example, action information with the content "change the value of the first parameter of node C to "B"" is saved. Then, suppose that the value of the first parameter of the same node C is subsequently changed from "A" to "C" in the reference node, as shown in FIG. 7. In this case, when the link type node is subsequently reopened, the reference node with the value of the first parameter set to "C" is once imported. Then, the above action information is applied, and the value of the first parameter of the node C in the link type node is overwritten from "C" to "B". As a result, the changes in the reference node that correspond to the locally edited portion are not reflected in the link type node (the locally edited portion takes precedence). On the other hand, for the portions of the link type node that have not been locally edited, the edits in the reference node are reflected as described above.
[0034] As described above, since the contents of local editing in a link type node are saved as action information, even if a specific node is deleted from a link destination node, the information on the deletion is saved as action information. Therefore, even if the deleted node remains in the reference node, when the link type node is displayed, the link destination node is displayed in a state in which the node has been deleted based on the action information. In other words, the contents of local editing, that is, the node has been deleted, is reflected.
[0035] In addition, on the UI of the node editor, the parts where local editing has been performed are displayed in a different manner so as to be distinguished from the configuration in the reference node. In this example, the link type nodes are displayed semi-transparently as described above. Then, for example, if there is a "change" to any node (a node displayed semi-transparently), the changed node is displayed surrounded by a dotted frame as shown in Fig. 6 and Fig. 7 above. In the example of Fig. 6, the change to "add a plug" is made to the node. This makes it easy to see that the node has been changed in the reference node. Also, if a node that does not exist in the reference node is "added," the added node (and its associated plug and connection) is displayed not semi-transparently and not surrounded by a dotted frame as shown in Fig. 6 above. This makes it easy to see that the node does not exist in the reference node.
[0036] In addition, in relation to the above action information, a case is assumed in which after a local edit occurs in a link type node, the node in which the local edit has been performed is deleted in a reference node. For example, assume that the reference node has a configuration as shown in FIG. 9, and the link type node has a configuration as shown in FIG. 10. In FIG. 9, it is assumed that node C includes only the first parameter. And, FIG. 10 shows that the value of the first parameter of this node C has been changed, and further, a second parameter has been added. From this state, it is assumed that an edit is performed in the reference node to delete node C, as shown in FIG. 11. In this case, as a result, node C is also deleted in the link type node, as shown in FIG. 12. In other words, although the edit information for node C is stored in the action information of the link type node, the edit target node C has been deleted from the reference node, and therefore the edit content cannot be applied.
[0037] In this embodiment, the link type node can be used as a reference node to further create a new link type note. For example, three node configurations are shown in FIG. 13. In FIG. 13, a first generation node, a second generation node, and a third generation node are shown from the top. The first generation node is a reference node in relation to the second generation node. The second generation node is a link type node created with the first generation node as the reference node. Moreover, the third generation node is a link type node created with the second generation node as the reference node. Therefore, the second generation node corresponds to a link type node in relation to the first generation node, and corresponds to a reference node in relation to the third generation node. Moreover, the node configuration of the second generation node is a configuration in which the configuration of the first generation node is incorporated, and the contents of local editing in the second generation node are added. FIG. 13 shows an example in which a node that is not present in the first generation node is added to the second generation node. Moreover, the node configuration of the third generation node is a configuration in which the configuration of the second generation node is incorporated, and the contents of local editing in the third generation node are added. FIG. 13 shows an example in which a node not present in the second generation node is further added. Even if link type nodes are created in such a way that generations are overlapped in this way, the edited contents in the reference node are reflected in the link type node except for nodes that have been locally edited, and the edited contents in the link type node are not reflected in the reference node, as described above. Therefore, in FIG. 13, when an edit is performed on a certain node in the first generation node, the edited contents are reflected up to the third generation node unless the node has been locally edited. Also, the edited contents in the second generation node are not reflected in the first generation node, but are reflected in the third generation node. Also, the edited contents in the third generation node are applied only to the third generation node. If a link type node of a later generation is created with the third generation node as the reference node, the edited contents in the third generation node are reflected in the generations after this.
[0038] [Details of the processing in this embodiment] Next, the processing in this embodiment will be described in more detail with reference to FIGS.
[0039] [About data usage] First, an example of various data used in this embodiment will be described. Note that the data configuration shown below is just an example, and any data configuration may be adopted as long as it is possible to control the nodes as described above.
[0040] 14 is a memory map showing an example of various data stored in the storage unit 12 of the information processing device 1. The storage unit 12 stores a development tool program 301, a project file 302, drawing processing data 305, operation data 306, and the like.
[0041] The development tool program 301 is a development tool program including the above-mentioned node editor processing in the information processing device 1.
[0042] The project file 302 is a file including a plurality of game element data 303. The project file 302 is, for example, a file corresponding to a predetermined game title. The game element data 303 is data corresponding to each of the game elements described above, such as various objects that appear in the game. The game element data 303 includes node configuration data 304. The node configuration data 304 is content that defines the function of the game element using the above-mentioned nodes, and is data corresponding to the node configuration shown in FIG. 2 and the like. In other words, the node configuration data 304 is data that records information on the above-mentioned nodes, plugs, and connections related to the game element.
[0043] FIG. 15 shows an example of the data configuration of the node configuration data 304. The node configuration data 304 is data in a table format consisting of a set of records including items of a component ID 311, a configuration type 312, and detailed information 313. The component ID 311 is an ID for uniquely identifying each of the above-mentioned nodes, plugs, and connections. The configuration type 312 is information indicating the type of the component identified by the component ID 311. Specifically, the information is information indicating any of an ungrouped node, a plug, a connection, a group node, and a link-type node. The detailed information 313 is information for indicating the contents of the component. Specifically, in the case of an ungrouped node, the detailed information 313 includes information indicating the function (e.g., a function, etc.) of the node, various parameters, etc. Also, in the case of a plug, the detailed information 313 includes, for example, the component ID 311 of the node to which the plug belongs, and information indicating the nature of the plug, such as whether the plug is an input plug or an output plug. Also, in the case of a connection, the component ID 311 of the plug (or node) to which it is connected is included. Furthermore, when the component is a group node, the component ID 311 for identifying the nodes, plugs, and connections included in the group node is included as detailed information 313 .
[0044] Furthermore, when the component is a link type node, information as shown in FIG. 16 is stored in the detailed information 313. FIG. 16 shows that the detailed information 313 includes reference node information 314 and action data 315. The reference node information 314 is information (component ID 311) that identifies the node (in this example, any of the group nodes) referenced by the link type node. The action data 315 is the action information data as described above. FIG. 17 shows an example of the configuration of action data. The action data 315 is table-format data that is made up of a set of records including the fields of action number 316, action type 317, action target ID 318, and action detail information 319.
[0045] The action number 316 is a number for identifying each action in the action information, and in this example, it is stored in the order in which the local edits were confirmed. Note that if multiple local edits are performed on the same component, only the most recent edit content is saved.
[0046] Action type 317 is information for identifying whether the content of the local edit is "change," "add," or "delete." If the content of the local edit is "change," action target ID 318 indicates the component ID 311 for which the local edit was performed. If the content of the local edit is "add," it indicates the component ID 311 assigned when the component was added. If the content of the local edit is "delete," it indicates the component ID 311 of the component that was targeted for deletion.
[0047] The action detail information 319 is information indicating the specific contents of the local edit when the action type 317 is "change". For example, information indicating the contents of the changed parameters, etc. is included. When the action type 317 is "add", information based on the component ID 311 of the added component is acquired from the node configuration data 304. When the action type 317 is "delete", the action target ID 318 indicates the target to be deleted. Therefore, in these cases, for example, a Null value is set in the action detail information 319.
[0048] Returning to FIG. 15, in addition to the above data, the node configuration data 304 also includes information indicating the display position of each component on the UI screen of the node editor, although this is not shown.
[0049] Returning to FIG. 14, the drawing processing data 305 is temporary working data used when displaying a node image on the UI screen of the node editor. For example, when displaying a link type node, information indicating a specific node configuration for screen display is generated as the drawing processing data 305 based on the information of the reference node and the action information. Also, for example, when displaying a link type node, a case is assumed in which a node is not deleted in the reference node but is deleted in local editing. In this case, the information of the node is not deleted from the node configuration data 304, but information of the node configuration in which the information is deleted is created in the drawing processing data 305. Based on this, a node image for screen display related to the link type node is generated.
[0050] FIG. 18 shows an example of the data configuration of the drawing processing data 305. The drawing element ID 321 indicates the component ID 311 of the component to be drawn. The drawing type 322 is information indicating the type of the component. The drawing element detailed information 323 is based on the detailed information 313, and is information indicating the specific content of the component. As described above, in the case of a link type node, the node image is generated based on the information of the reference node and the action information. For example, in FIG. 18, six drawing elements are shown, and the first three of them may be contents taken from the information of the reference node and contents reflecting local edits "changed" based on the action information, and the last three may be contents reflecting local edits "added" based on the action information.
[0051] Also, data such as that shown in Fig. 18 may be created for each game element. For example, when node configurations of multiple game elements are displayed in parallel on the UI, rendering process data 305 such as that shown in Fig. 18 is prepared in association with each game element. In other words, rendering process data 305 may be generated for each game element that is simultaneously open on the node editor.
[0052] Returning to FIG. 14, the operation data 306 is data indicating the content of an operation performed on the input device 16 by the user.
[0053] Next, an example of the processing in this embodiment will be described in detail. In this embodiment, one or more processors read and execute a program stored in one or more memories to realize the processing of the flowchart shown below. In addition, the flowchart is merely an example of the processing process. Therefore, the processing order of each step may be changed as long as the same result is obtained. In addition, the values of the variables and the threshold values used in the judgment step are merely examples, and other values may be adopted as necessary.
[0054] 19 to 21 are flowcharts showing an example of the node editor process in this embodiment. The process is started, for example, by performing an operation to start up the "node editor" from a menu or the like with a predetermined game element selected on the UI screen of the development tool.
[0055] 19, first, in step S1, processor 11 reads data of one component element from node configuration data 304 of a specified game element. Note that in this example, it is also possible to read data on a plurality of game elements and display the respective node configurations in parallel on the UI screen.
[0056] Next, in step S2, processor 11 determines whether the read component is data of a link type node. If the result of the determination is that the component is not a link type node (NO in step S2), in step S6, processor 11 registers the content of the read component in rendering processing data 305. Then, the process proceeds to step S7 described below.
[0057] On the other hand, if the result of the determination in step S2 above is that the node is a link type node (YES in step S2), then in step S3, processor 11 searches for the reference node indicated by reference node information 314 included in detailed information 313, and reads the data. In this example, the reference node is one of the group nodes, so data of multiple components that make up the group node is read. Then, processor 11 registers the information of the read reference node in data for rendering processing 305. As a result, the node configuration indicated by the reference node is expanded in data for rendering processing 305.
[0058] Next, in step S4, the processor 11 judges whether or not there is valid action data 315 in the detailed information 313 of the link type node. In this example, if the action data 315 is not null data, it is treated as valid action data. If the result of the judgment is that there is valid action data 315 (YES in step S4), the processor 11 reflects the content of the action data 315 in the data for drawing processing 305 in step S5. That is, a process is performed to overwrite the content of the reference node with the content of the local edit. For example, if there is a node that has been "changed", the information of the corresponding node in the data for drawing processing 305 is rewritten based on the content of the action data 315. Also, if there is an "added" node, the information of the added node is added to the data for drawing processing 305. Also, if there is a "deleted" node, the data of the corresponding node is deleted from the data for drawing processing 305. On the other hand, if there is no valid action data 315 as a result of the judgment in step S4 (NO in step S4), the process in step S5 is skipped.
[0059] Next, in step S7, processor 11 determines whether or not the above-mentioned processing has been performed for all components included in node configuration data 304 to be read. If the result of the determination indicates that there are still unprocessed components remaining (NO in step S7), the process returns to step S1 and the processing is repeated.
[0060] On the other hand, if all the components have been processed (YES in step S7), in step S8, the processor 11 performs display processing. FIG. 22 is a flowchart showing the details of the display processing. In FIG. 22, first, in step S31, the processor 11 generates a node image that visually shows the node configuration as shown in FIG. 2 and the like based on the drawing processing data 305. Next, in step S22, if the drawing processing data 305 includes a link type node, the processor 11 performs setting to display the node image of the link type node semi-transparently. Note that, at this time, for an "added" node that is not in the reference node, semi-transparent display setting is not performed, and the node is set to be displayed in an opaque state. Next, in step S23, if there is a locally edited portion of the link type node (if there is action data 315), the processor 11 performs setting to further change the display mode of the locally edited portion and display it. That is, a setting is performed to display a node in which some "change" has occurred in the configuration of the reference node using a dotted frame. Next, in step S34, the processor 11 generates and displays a UI image that reflects the above-mentioned display settings. This ends the display process.
[0061] 20, processor 11 determines whether or not an operation to create a group node has been performed. If the result of the determination is that an operation to create a group node has been performed (YES in step S9), processor 11 sets information indicating the components for which grouping has been specified as detailed information 313 in step S10, and generates data in which "group node" is set as configuration type 312. Then, processor 11 adds the data to node configuration data 304. Thereafter, the process proceeds to step S21, which will be described later.
[0062] On the other hand, if the result of the determination in step S9 above is not a group node creation operation (NO in step S9), then in step S11, the processor 11 determines whether or not a link type node creation operation has been performed. If a link type node creation operation has been performed (YES in step S11), in step S12, the processor 11 sets the reference node information 314 and the empty action data 315 in the detailed information 313 based on the operation content. Furthermore, data in which "link type node" is set as the configuration type 312 is added to the node configuration data 304. Thereafter, the process proceeds to step S21 described below. As an example of the creation of a link type node, for example, a case where a second object is generated based on a first object, which is one of the game elements, is assumed. In this case, the user first performs an operation to create the second object. As a result, the game element data 303 itself related to the second object is newly generated (at this stage, the content is empty or default setting data is set). In addition, an area corresponding to the second object, such as a window corresponding to the second object, is displayed. Then, for example, an operation of copying and pasting the group node in the first object into a window corresponding to the second object is performed. This operation corresponds to an operation of creating a link type node in which the group node in the first object is specified as a reference node. As a result, detailed information 313 is generated in which component element ID 311 of the group node in the first object is set in reference node information 314. Then, data of the link type node including this is added to node configuration data 304. Furthermore, this node configuration data 304 is included in game element data 303 related to the second object.
[0063] In addition, when creating a second object based on a first object as described above, the second object may be created using the entire node configuration of the first object as the reference node, or the second object may be created using only a part of the node configuration of the first object as the reference node.
[0064] On the other hand, if the result of the determination in step S11 above is not a creation operation of a link type node (NO in step S15), in step S13, processor 11 determines, based on operation data 306, whether or not an editing operation has been performed on the node configuration of a predetermined game element (here, the editing content has not yet been finalized and the state is under editing). The editing operation is either an operation of creating (adding) a new component, an operation of changing the content of an existing component (for example, changing or adding a parameter included in a node), or an operation of deleting an existing component. If the result of the determination is that an editing operation has been performed (YES in step S9), in step S14, processor 11 updates data for drawing processing 305 to reflect the content of the editing operation. That is, a process is performed to reflect the content of the editing operation in real time on the screen display. Thereafter, the process proceeds to step S21 described below.
[0065] On the other hand, if the result of the determination in step S13 above is that an editing operation has not been performed (NO in step S13), in step S15, processor 11 determines whether or not an operation has been performed to confirm the editing contents of a predetermined game element. The operation is, for example, an operation to complete the input being edited or an operation to instruct "save data". If the operation to confirm the editing contents has been performed (YES in step S15), then in step S16, processor 11 determines whether or not the target for which the editing has been confirmed is a link type node. If the result of the determination is that it is not a link type node (NO in step S16), in step S17, processor 11 updates the contents of node configuration data 304 based on the editing contents (the contents of drawing process data 305 at this point). For example, when a node is added, processor 11 assigns new component ID 311 and registers the contents. When the contents of a certain node are changed, the contents of corresponding detailed information 313 are updated according to the changes. When a certain node is deleted, the information of the node is deleted from node configuration data 304.
[0066] On the other hand, if the edit confirmation operation is performed on a link type node (YES in step S16), this corresponds to local edit. In this case, in step S18, processor 11 adds information indicating the content of the local edit to action data 315 based on drawing processing data 305. Then, the process proceeds to step S19, which will be described later.
[0067] On the other hand, if the result of the determination in step S15 above is not an edit confirmation operation (NO in step S15), then in step S19 of FIG. 21, processor 11 determines whether or not an operation to end the node editor has been performed. If an operation to end has been performed (YES in step S19), the processor ends the node editor processing. On the other hand, if an operation to end has not been performed (NO in step S19), in step S20, processor 11 executes various processes other than those described above based on the operation content indicated by operation data 306. For example, if an operation to read data regarding another game element has been performed, processor 11 reads data related to the specified game element in the same process as steps S1 to S7 above. Then, based on the read content, data for drawing processing 305 is created.
[0068] Next, in step S21, processor 11 determines whether or not the display of the reference node is required for the currently displayed node configuration. This is determined to be necessary when, for example, a "display update button" provided in the UI toolbar is pressed, when the reference node is saved in the above-mentioned process, when a file is read, or the like. If the result of this determination is that the display content needs to be updated (YES in step S21), in step S22, processor 11 reloads the data of the reference node to be displayed in the UI and reflects the content in drawing process data 305. On the other hand, if the display content does not need to be updated (NO in step S21), the process of step S22 is skipped.
[0069] Next, in step S23, the processor 11 performs a display process, which is the same as that in step S8 above and will not be described in detail, but a UI screen is displayed based on the drawing process data 305 reflecting the various editing contents, etc. Thereafter, the process returns to step S9 above and is repeated.
[0070] This concludes the detailed description of the node editor processing according to this embodiment.
[0071] In this manner, in this embodiment, by reflecting the edits made to the reference node in the link type node as well, adjustments can be made collectively to many different game elements that share common characteristics. Furthermore, if a link type node is given a characteristic independent of the reference node by editing part of it, this characteristic can be retained regardless of any subsequent edits made to the reference node. This allows editing of many game elements efficiently, reduces the amount of editing work required, and provides an easy-to-develop development environment.
[0072] [Variations] In the above embodiment, a node editor used in game development has been described as an example. The above-described control of link-type nodes can also be applied to cases where a node editor is used in situations other than game development. For example, the above-described process may be applied to a node editor that uses document files such as business documents instead of the above-described game elements.
[0073] In the above embodiment, the series of processes related to the node editor is executed in a single information processing device. In another embodiment, the series of processes may be executed in an information processing system consisting of a plurality of information processing devices. For example, in an information processing system including a terminal device and a server device capable of communicating with the terminal device via a network, a part of the series of processes may be executed by the server device. Furthermore, in an information processing system including a terminal device and a server device capable of communicating with the terminal device via a network, a main part of the series of processes may be executed by the server device, and a part of the processes may be executed by the terminal device. In the above information processing system, the server system may be composed of a plurality of information processing devices, and the processes to be executed on the server side may be shared and executed by the plurality of information processing devices. [Explanation of symbols]
[0074] 1. Information processing device 11 Processors 12 Storage section 14 Input device communication section 15 Video and audio output section 16 Input Devices 17 Display section
Claims
1. The computer of the information processing device Present a node editor UI for configuring the elements of the game being developed; Based on an operation input to the node editor, creating a first group including at least one node; generating a second group which is a copy destination group with the first group as a copy source and includes nodes and connection information corresponding to the nodes and node connection information included in the first group, respectively; When a first edit is performed on the node or connection information included in the first group, the first edit is reflected in the corresponding node or connection information included in the second group at a predetermined timing; When a second edit is performed on the node or connection information included in the second group, the edited node or connection information is further changed to a state in which the first edit is not reflected thereafter. Data editing program.
2. The computer includes:
2. The data editing program according to claim 1, further comprising: storing the node or connection information included in the second group as an edit content additionally performed on the node or connection information included in the first group.
3. The computer includes:
3. The data editing program according to claim 2, wherein when an edit is made to delete a node or connection information included in the second group based on an operational input to the node editor, the deletion is retained as the additional edit content.
4. the nodes include groups; The computer includes:
3. The data editing program according to claim 2, wherein when editing is performed to add a new node or connection information to the second group based on operational input to the node editor, the addition of a node or connection information to the node representing the first group is retained as the additional editing content.
5. the element is an in-game object, the first group is a group including at least one node among at least one node associated with a first object; 3. The data editing program according to claim 1, wherein the nodes and connection information included in the second group are associated with a second object.
6. The computer includes:
6. The data editing program according to claim 5, wherein the node editor displays nodes or connection information for which the second edit has been performed in a display manner different from that for nodes or connection information for which the second edit has not been performed.
7. The computer includes: Based on an operation input to the node editor, generating a third group, which is a copy destination group with the second group as a copy source, and which includes nodes and node connection information corresponding to the nodes and node connection information included in the second group, respectively; 6. The data editing program according to claim 5, further comprising: storing the node or connection information included in the third group as the additional editing content performed on the node or connection information included in the second group.
8. At least one processor, the processor comprising: Present a node editor UI for configuring elements included in the game under development; Based on an operation input to the node editor, Creating a first group including at least one node; generating a second group which is a copy destination group with the first group as a copy source and includes nodes and connection information corresponding to the nodes and node connection information included in the first group, respectively; When a first edit is performed on the node or connection information included in the first group, the first edit is reflected in the corresponding node or connection information included in the second group at a predetermined timing; When a second edit is performed on the node or connection information included in the second group, the edited node or connection information is further changed to a state in which the first edit is not reflected thereafter. Data editing system.
9. The processor, The data editing system according to claim 8 , wherein the node or connection information included in the second group is held as an edit content additionally performed on the node or connection information included in the first group.
10. The processor, The data editing system according to claim 9, wherein when an edit is made to delete a node or connection information included in the second group based on an operational input to the node editor, the deletion is retained as the additional edit content.
11. the nodes include groups; The processor, The data editing system of claim 9, wherein when editing is performed to add a new node or connection information to the second group based on operational input to the node editor, the addition of a node or connection information to the node representing the first group is retained as the additional editing content.
12. the element is an in-game object, the first group is a group including at least one node among at least one node associated with a first object; 10. The data editing system according to claim 8 or 9, wherein the nodes and connection information included in the second group are associated with a second object.
13. The processor, The data editing system according to claim 12 , wherein in the node editor, nodes or connection information for which the second edit has been performed are displayed in a display manner different from that for nodes or connection information for which the second edit has not been performed.
14. The processor, Based on an operation input to the node editor, generating a third group, which is a copy destination group with the second group as a copy source, and which includes nodes and node connection information corresponding to the nodes and node connection information included in the second group, respectively; 13. The data editing system according to claim 12, wherein the node or connection information included in the third group is held as the additional editing content performed on the node or connection information included in the second group.
15. The computer of the information processing device Present a node editor UI for configuring the elements of the game being developed; Based on an operation input to the node editor, creating a first group including at least one node; generating a second group which is a copy destination group with the first group as a copy source and includes nodes and connection information corresponding to the nodes and node connection information included in the first group, respectively; When a first edit is performed on the node or connection information included in the first group, the first edit is reflected in the corresponding node or connection information included in the second group at a predetermined timing; When a second edit is performed on the node or connection information included in the second group, the edited node or connection information is further changed to a state in which the first edit is not reflected thereafter. How to edit data.
16. The computer includes: The data editing method according to claim 15 , further comprising the step of: storing the node or connection information included in the second group as an edit content additionally performed on the node or connection information included in the first group.
17. The computer includes:
17. The data editing method according to claim 16, wherein when editing is performed to delete a node or connection information included in the second group based on an operation input to the node editor, the deletion is retained as the additional editing content.
18. the nodes include groups; The computer includes: The data editing method according to claim 16, wherein when editing is performed to add a new node or connection information to the second group based on an operational input to the node editor, the addition of a node or connection information to the node representing the first group is retained as the additional editing content.
19. the element is an in-game object, the first group is a group including at least one node among at least one node associated with a first object; 17. The data editing method according to claim 15 or 16, wherein the nodes and connection information included in the second group are associated with a second object.
20. The computer includes:
20. The data editing method according to claim 19, wherein in the node editor, nodes or connection information for which the second edit has been performed are displayed in a display manner different from nodes or connection information for which the second edit has not been performed.
21. The computer includes: Based on an operation input to the node editor, generating a third group, which is a copy destination group with the second group as a copy source, and which includes nodes and node connection information corresponding to the nodes and node connection information included in the second group, respectively; 20. The data editing method according to claim 19, further comprising holding the node or connection information included in the third group as the additional editing content performed on the node or connection information included in the second group.
22. At least one processor, the processor comprising: Present a node editor UI for configuring elements included in the game under development; Based on an operation input to the node editor, Creating a first group including at least one node; generating a second group which is a copy destination group with the first group as a copy source and includes nodes and connection information corresponding to the nodes and node connection information included in the first group, respectively; When a first edit is performed on the node or connection information included in the first group, the first edit is reflected in the corresponding node or connection information included in the second group at a predetermined timing; When a second edit is performed on the node or connection information included in the second group, the edited node or connection information is further changed to a state in which the first edit is not reflected thereafter. Data editing device.
23. The processor, 23. The data editing device according to claim 22, wherein the node or connection information included in the second group is held as an edit content additionally performed on the node or connection information included in the first group.
24. The processor, The data editing device according to claim 23, wherein when editing is performed to delete a node or connection information included in the second group based on an operational input to the node editor, the deletion is retained as the additional editing content.
25. the nodes include groups; The processor, A data editing device as described in claim 23, wherein when editing is performed to add a new node or connection information to the second group based on operational input to the node editor, the addition of a node or connection information to the node representing the first group is retained as the additional editing content.
26. the element is an in-game object, the first group is a group including at least one node among at least one node associated with a first object; 24. The data editing apparatus according to claim 22 or 23, wherein the nodes and connection information included in the second group are associated with a second object.
27. The processor, 27. The data editing device according to claim 26, wherein in the node editor, nodes or connection information for which the second edit has been performed are displayed in a display manner different from that for nodes or connection information for which the second edit has not been performed.
28. The processor, Based on an operation input to the node editor, generating a third group, which is a copy destination group with the second group as a copy source, and which includes nodes and node connection information corresponding to the nodes and node connection information included in the second group, respectively; 27. The data editing device according to claim 26, wherein the node or connection information included in the third group is held as the additional editing content performed on the node or connection information included in the second group.