A method and system for implementing game plot state management
By generating a blocked timeline, the limitations of game plot state management in the existing technology are solved, the interactive control, jump and restore of plots are realized, and the development and maintenance of game plots are simplified.
Patent Information
- Application Number
- CN202111230610.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-22
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2041-10-22
AI Technical Summary
The prior art is limited to specific state management when generating game plots, and cannot support interactive control of blocking the timeline, plot restoration and jumping to designated nodes, resulting in difficulty in expansion and inability to widely use.
By entering the game plot data, the blocked timeline is analyzed and generated, and the timeline management of blocked conditions is supported, so as to realize the restoration and jumping of the plot state.
It realizes the status management of the game plot, supports interactive control of blocking the timeline, supports plot jump and restoration, simplifies game plot development and maintenance, and reduces post-maintenance costs.
Smart Images

Figure CN113893529B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of game production, and in particular to a method and system for implementing game plot state management. Background Art
[0002] For game players, the "elements" seen on the game interface vary greatly and are ever-changing, but for game developers, the elements on the game interface are all data at the bottom layer, and the pictures drawn by different data are different. Therefore, establishing a state data model for the game is an important step in realizing the game logic. Existing technologies for generating game plots include dynamically generating game plots based on configuration, generating game plots based on Json, etc.; the existing technologies have high limitations on generation, usually only performing state management for specific game plots, and do not support interactive control in a way that blocks the timeline, do not support plot restoration, do not support jumping to specified plot nodes, are difficult to expand, and cannot be widely used. Summary of the invention
[0003] To overcome the above problems, the purpose of the present invention is to provide a method for implementing game plot state management, which can manage the state of the plot and support interactive control by blocking the timeline, so that the game plot supports jumping to a specified plot node.
[0004] The present invention is implemented by the following scheme: a method for implementing game plot state management, the method comprising the following steps:
[0005] Step S1, inputting game plot data, parsing the game plot data to generate a blocking timeline; the blocking timeline is a timeline that supports blocking conditions, wherein when the blocking condition node is not set in the blocking timeline plot node data, the timeline will run normally in chronological order; when the blocking condition is set, the playing time stops updating when the playing time is updated to the blocking condition node, and waits until the blocking condition is met before the playing time moves to the start position of the next node to continue playing;
[0006] Step S2, restoring the plot state data in the game plot data, and updating the progress value of the blocked time axis;
[0007] Step S3, waiting for user interaction to start plot playback, distributing plot status data corresponding to the blocked time axis according to the blocked time axis; judging whether the distribution of the plot status data corresponding to the blocked time axis is completed; if yes, stop and end the process; if no, proceed to step S4;
[0008] Step S4, executing the plot instructions in the plot status data, continuing to distribute the plot status data corresponding to the blocking time axis according to the blocking time axis, and waiting for the execution of the plot instructions to be completed;
[0009] Step S5: record the plot status data, wait for user interaction, and update the plot status data and the progress value of the blocked time axis according to the interaction event.
[0010] Furthermore, the analysis of the game plot data to generate the blocking timeline is further specific as follows:
[0011] Step S11, inputting game plot data; the game plot data includes a plurality of sub-plot data, and the data recorded in the game plot data includes plot instructions and their execution methods, plot node time length, whether the node is blocked, blocking conditions, and whether skipping is supported;
[0012] Step S12, creating a blocking timeline;
[0013] Step S13, reading all plot node data in the game plot data; adding all plot node data to a plot node data queue;
[0014] Step S14, determine whether the plot node data queue is empty, if yes, return to the blocked timeline and end the process; if no, proceed to step S15;
[0015] Step S15, reading a plot node data from the plot node data queue, and adding the plot node data to the current node position of the blocking time axis; the current time value of the blocking time axis is moved backward to the time value accessed in the plot node data;
[0016] Step S16, determine whether the plot node data records a blocking value, which is the data value corresponding to the blocking condition; if not, proceed to step S17; if yes, add a blocking condition node in the blocking timeline, set the blocking value to the blocking condition recorded in the plot node data; move the current timeline of the blocking timeline backward by a blocking node unit time value, and proceed to step S17;
[0017] Step S17, determine whether there are other plot data nodes in the plot data node queue, if yes, execute step S15; if not, return to the blocked timeline and end the process.
[0018] Further, the step S2 is further specifically as follows: step S21, inputting plot data, reading the progress value of the blocking time axis from the blocking time axis, reading the plot status data from the storage file, judging whether the plot status data is empty, if not, proceeding to step S22, if yes, creating a new plot status data; and proceeding to step S22;
[0019] Step S22, determine whether the progress value of the blocked time axis is less than the current plot progress value, if yes, proceed to step S24; if no, proceed to step S23;
[0020] Step S23, updating the current plot progress value in the plot status data to the progress value of the blocked time axis, and saving the plot status data to the storage file, the state synchronization is completed, and the process ends;
[0021] Step S24, reading the plot instruction data corresponding to the progress value of the blocked time axis from the plot instruction set in the plot state data, and reading the plot instruction in the plot instruction data;
[0022] Step S25, determine whether the plot instruction has a corresponding execution mode registered, if yes, execute the corresponding execution mode to pass in the plot instruction data and pass in the skip execution process parameter, wait for the execution mode to be completed, and go to step S26; if no, directly go to step S26;
[0023] Step S26, the plot instruction is executed, the progress value of the blocking timeline is updated to the next time node of the blocking timeline, and step S22 is continued.
[0024] Furthermore, the step S3 further specifically includes:
[0025] Step S31, inputting the plot status data corresponding to the blocking time axis;
[0026] Step S32, reading the progress value of the blocking time axis;
[0027] Step S33, judging whether the blocking timeline is executed, if yes, the distribution of the plot status data corresponding to the blocking timeline is completed and the process is ended, if no, the plot status data of the current progress value is read;
[0028] Step S34, reading the plot instruction data set in the plot state data, and adding the data in the plot instruction data set to a plot instruction data queue;
[0029] Step S35, determine whether the plot instruction data queue is empty, if yes, update the blocking time axis progress value to the next node and execute step S33, if no, execute step S36;
[0030] Step S36, reading a plot instruction data from the plot instruction data queue, and executing the plot instruction data;
[0031] Step S37, determine whether there are other plot instruction data in the plot instruction data queue, if yes, execute step S36; if not, update the blocking time axis progress value to the next node, and execute step S33.
[0032] Furthermore, the updating of the plot status data and the progress value of the blocked time axis according to the interaction event further specifically includes: step S51, inputting user interaction data,
[0033] Step S52, reading the plot progress value record in the user interaction data as the target progress value, and reading the current plot progress value from the plot status data;
[0034] Step S53, reading the maximum plot progress value and the minimum plot progress value corresponding to the plot instruction data in the plot instruction set from the plot state data;
[0035] Step S54, determine whether the target progress value is greater than the maximum plot progress value, if yes, update the target progress value to the maximum plot progress value, and proceed to step S55; if no, proceed to step S55;
[0036] Step S55, determine whether the target progress value is less than the minimum plot progress value, if yes, update the target progress value to the minimum plot progress value, and proceed to step S56; if no, proceed to step S56;
[0037] Step S56, determine whether the target progress value is greater than the current plot progress value, if yes, update the progress value of the blocking time axis to the current plot progress value, and proceed to step S57, if no, update the progress value of the blocking time axis to the minimum plot progress value, and proceed to step S57;
[0038] Step S57, updating the current plot progress value in the plot status data to the plot test progress;
[0039] Step S58, determine whether the progress value of the blocked time axis is less than the current plot progress value, if not, update the current plot progress value in the plot state data to the progress value of the blocked time axis, save the plot state data to the storage file, the interactive event is executed, and the process ends; if yes, read the plot instruction data corresponding to the progress value of the blocked time axis from the plot instruction set in the plot state data, read the plot instruction in the plot instruction data, and enter step S59;
[0040] Step S59, determine whether the plot instruction has a corresponding execution mode registered, if yes, execute the corresponding execution mode to pass in the plot instruction data and pass in the skip execution process parameter, wait for the execution mode to be completed, and go to step S60; if no, directly go to step S60;
[0041] Step S60: After the plot instruction is executed, the progress value of the blocking timeline is updated to the next time node on the blocking timeline.
[0042] The present invention also provides a system for implementing game plot state management, the system comprising a data parsing module, a data restoration module, a plot distribution module, a plot data execution module, and a data recording module;
[0043] The data parsing module is used to input game plot data, parse the game plot data to generate a blocking timeline; the blocking timeline is a timeline that supports blocking conditions, wherein when the blocking condition node is not set in the blocking timeline plot node data, the timeline will run normally in chronological order; when the blocking condition is set, the playback time stops updating when the playback time is updated to the blocking condition node, and waits until the blocking condition is met before the playback time moves to the start position of the next node to continue playing;
[0044] The data restoration module is used to restore the plot state data in the game plot data and update the progress value of the blocked time axis;
[0045] The plot distribution module is used to wait for user interaction to start plot playback, distribute plot status data corresponding to the blocked time axis according to the blocked time axis; determine whether the distribution of the plot status data corresponding to the blocked time axis is completed; if yes, stop the end process; if no, directly execute the plot data execution module;
[0046] The plot data execution module is used to execute the plot instructions in the plot state data, continue to distribute the plot state data corresponding to the blocking time axis according to the blocking time axis, and wait for the execution of the plot instructions to be completed;
[0047] The data recording module is used to record the plot status data, wait for user interaction, and update the plot status data and the progress value of the blocked time axis according to the interaction event.
[0048] Furthermore, the analysis of the game plot data to generate the blocking timeline is further specific as follows:
[0049] Step S61, inputting game plot data; the game plot data includes a plurality of sub-plot data, and the data recorded in the game plot data includes plot instructions and their execution methods, plot node time length, whether the node is blocked, blocking conditions, and whether skipping is supported;
[0050] Step S62, creating a blocking timeline;
[0051] Step S63, reading all plot node data in the game plot data; adding all plot node data to a plot node data queue;
[0052] Step S64, determine whether the plot node data queue is empty, if yes, return to the blocked timeline and end the process; if no, proceed to step S65;
[0053] Step S65, read a plot node data from the plot node data queue, add the plot node data to the current node position of the blocking time axis; the current time value of the blocking time axis moves backward to the time value accessed in the plot node data;
[0054] Step S66, determine whether the plot node data records a blocking value, which is the data value corresponding to the blocking condition; if not, proceed to step S67; if yes, add a blocking condition node to the blocking timeline, set the blocking value to the blocking condition recorded in the plot node data; move the current timeline of the blocking timeline backward by a blocking node unit time value, and proceed to step S67;
[0055] Step S67, determine whether there are other plot data nodes in the plot data node queue, if yes, execute step S65; if no, return to the blocked timeline and end the process.
[0056] Furthermore, the implementation method of the data restoration module is further specifically as follows: Step S71, input plot data, read the progress value of the blocking time axis from the blocking time axis, read the plot status data from the storage file, and determine whether the plot status data is empty, if not, proceed to step S72, if yes, create a new plot status data; and proceed to step S72;
[0057] Step S72, determine whether the progress value of the blocked time axis is less than the current plot progress value, if yes, proceed to step S74; if no, proceed to step S73;
[0058] Step S73: update the current plot progress value in the plot status data to the progress value of the blocked time axis, and save the plot status data to the storage file, the state synchronization is completed, and the process ends;
[0059] Step S74, reading the plot instruction data corresponding to the progress value of the blocked time axis from the plot instruction set of the plot state data, and reading the plot instruction in the plot instruction data;
[0060] Step S75, determine whether the plot instruction has a corresponding execution mode registered, if yes, execute the corresponding execution mode to pass in the plot instruction data and pass in the skip execution process parameter, wait for the execution mode to be completed, and go to step S76; if no, directly go to step S76;
[0061] Step S76, the plot instruction is executed, the progress value of the blocking timeline is updated to the next time node of the blocking timeline, and step S72 is continued.
[0062] Furthermore, the implementation of the plot distribution module further specifically includes:
[0063] Step S81, inputting the plot status data corresponding to the blocking time axis;
[0064] Step S82, reading the progress value of the blocking time axis;
[0065] Step S83, judging whether the blocking timeline is executed, if yes, the distribution of the plot status data corresponding to the blocking timeline is completed and the process is ended, if no, the plot status data of the current progress value is read;
[0066] Step S84, reading the plot instruction data set in the plot state data, and adding the data in the plot instruction data set to a plot instruction data queue;
[0067] Step S85, determine whether the plot instruction data queue is empty, if yes, update the blocking time axis progress value to the next node and execute step S83, if no, execute step S86;
[0068] Step S86, reading a plot instruction data from the plot instruction data queue, and executing the plot instruction data;
[0069] Step S87, determine whether there are other plot instruction data in the plot instruction data queue, if yes, execute step S86; if not, update the blocking time axis progress value to the next node, and execute step S83.
[0070] Furthermore, the implementation method of the plot data execution module further specifically includes: step S91, inputting plot instruction data, and reading plot instructions in the plot instruction data;
[0071] Step S92: determine whether the plot instruction has a corresponding execution mode registered. If not, the plot instruction is executed and the process ends. If yes, proceed to step S93.
[0072] Step S93, executing the corresponding execution mode to input the plot instruction data;
[0073] Step S94, determine whether to execute the execution mode synchronously; if not, wait for the asynchronous execution mode to be completed and return the execution success event; the plot instruction is executed; if yes, return the execution success event and the plot instruction is executed.
[0074] The present invention manages the game plot state by converting it into plot state data, and cooperates with the plot control method of blocking the time axis, so that the plot state can be managed simply and efficiently; the game plot state management and interactive logic development consumption are reduced, the game plot development cycle is shortened, and the development progress is accelerated. In addition, the game plot in the present invention has a unified calling style, fewer game plot-related files and codes, easier maintenance, and lower later maintenance costs.
[0075] The present invention provides a method for managing plot status data and an interactive method for blocking the timeline for the game, supports playing the plot according to the timeline, setting the plot to play at any time, supports saving and restoring the plot status, and supports jumping the plot to any progress value; any type of game project can quickly access and use the game plot through the present invention, supports status management, and is simple and efficient to develop and maintain, and supports customized expansion of plot instructions to adapt to various usage requirements of the game plot. BRIEF DESCRIPTION OF THE DRAWINGS
[0076] Figure 1 It is a schematic flow chart of the method of the present invention.
[0077] Figure 2 It is a schematic diagram of the flow of data analysis to generate plot status data corresponding to the blocking time axis in the method of the present invention.
[0078] Figure 3 It is a data structure diagram of the congestion time axis of the present invention.
[0079] Figure 4 It is a structural schematic diagram of the plot state data of the present invention.
[0080] Figure 5 It is a schematic diagram of the process of restoring plot status data and updating the progress value of the blocked time axis according to the present invention.
[0081] Figure 6 It is a schematic diagram of the flow of distributing plot status data according to the blocking time axis in the method of the present invention.
[0082] Figure 7 It is a flow chart of executing the plot instructions in the plot state data in the method of the present invention.
[0083] Figure 8 It is a schematic diagram of the data flow of recording plot status of the present invention.
[0084] Fig. 9 It is a schematic diagram of the process of updating plot status data and blocking the progress value of the time axis according to the interactive event of the present invention.
[0085] Fig.10 It is a system principle block diagram of the present invention. DETAILED DESCRIPTION
[0086] The present invention will be further described below in conjunction with the accompanying drawings.
[0087] The present invention can be applied to the state management process of all types of game plots, including but not limited to plot skipping, plot restoration, jumping to a specified plot node, etc. Different from the development of conventional game plots, the present invention supports plot interaction logic based on the blocked timeline by extracting the description information of the game plot and generating a blocked timeline, and supports setting the game plot to jump to any progress value by recording each state of the game plot in the form of plot instruction data.
[0088] See also Figure 1 As shown, a method for implementing game plot state management of the present invention comprises the following steps:
[0089] Step S1, inputting game plot data, parsing the game plot data to generate a blocking timeline; the blocking timeline is a timeline that supports blocking conditions, wherein when the blocking condition node is not set in the blocking timeline plot node data, the timeline will run normally in chronological order; when the blocking condition is set, the playing time stops updating when the playing time is updated to the blocking condition node, and waits until the blocking condition is met before the playing time moves to the start position of the next node to continue playing;
[0090] Step S2, restoring the plot state data in the game plot data, and updating the progress value of the blocked time axis;
[0091] Step S3, waiting for user interaction to start plot playback, distributing plot status data corresponding to the blocked time axis according to the blocked time axis; judging whether the distribution of the plot status data corresponding to the blocked time axis is completed; if yes, stop and end the process; if no, proceed to step S4;
[0092] Step S4, executing the plot instructions in the plot status data, continuing to distribute the plot status data corresponding to the blocking time axis according to the blocking time axis, and waiting for the execution of the plot instructions to be completed;
[0093] Step S5: record the plot status data, wait for user interaction, and update the plot status data and the progress value of the blocked time axis according to the interaction event.
[0094] The present invention will be further described below in conjunction with a specific embodiment:
[0095] Step S1, inputting game plot data, parsing the game plot data to generate a blocking timeline; the blocking timeline is a timeline that supports blocking conditions, wherein when the blocking condition node is not set in the blocking timeline plot node data, the timeline will run normally in chronological order; when the blocking condition is set, the playing time stops updating when the playing time is updated to the blocking condition node, and waits until the blocking condition is met before the playing time moves to the start position of the next node to continue playing;
[0096] See also Figure 2As shown, the analysis of game plot data to generate a blocking timeline is further detailed as follows:
[0097] Step S11, inputting game plot data; the game plot data includes a plurality of sub-plot data, and the data recorded in the game plot data includes plot instructions and their execution methods, plot node time length, whether the node is blocked, blocking conditions, and whether skipping is supported;
[0098] Step S12, creating a blocking timeline;
[0099] Step S13, reading all plot node data in the game plot data; adding all plot node data to a plot node data queue;
[0100] Step S14, determine whether the plot node data queue is empty, if yes, return to the blocked timeline and end the process; if no, proceed to step S15;
[0101] Step S15, reading a plot node data from the plot node data queue, and adding the plot node data to the current node position of the blocking time axis; the current time value of the blocking time axis is moved backward to the time value accessed in the plot node data;
[0102] Step S16, determine whether the plot node data records a blocking value, which is the data value corresponding to the blocking condition; if not, proceed to step S17; if yes, add a blocking condition node in the blocking timeline, set the blocking value to the blocking condition recorded in the plot node data; move the current timeline of the blocking timeline backward by a blocking node unit time value, and proceed to step S17;
[0103] Step S17, determine whether there are other plot data nodes in the plot data node queue, if yes, execute step S15; if not, return to the blocked timeline and end the process.
[0104] See also Figure 3 As shown, the congestion timeline includes: a progress value and a time node set of the congestion timeline, wherein the time node set is composed of a plurality of time nodes, each of which includes a time length, a progress value, and a congestion condition; see Figure 4 As shown, the plot status data includes: a current plot progress value and a plot instruction set, and the plot instruction set is composed of a plurality of plot instruction data.
[0105] An example of parsing the transformed data to generate a blocking timeline is as follows:
[0106] On the blocking timeline, add a blocking condition node in the blocking timeline and set the blocking value to the blocking condition recorded in the plot node data:
[0107] The entry animation is played at time 0, and the duration is 5;
[0108] The time 5 node adds a blocking condition to wait for the user to click, and the time length is 1;
[0109] Time 6 node adds the main character's action A animation, with a duration of 2;
[0110] Time 6 node adds NPC1 playing action B animation, the duration is 2;
[0111] The time 7 node adds NPC2 playing action C animation, the time length is 2;
[0112] Then the effect of playing when the timeline is blocked is:
[0113] The entry animation starts playing at time 0 and plays for 5 time units;
[0114] Wait for the user to click, and the playback time value jumps to 6 seconds;
[0115] The protagonist plays the action A animation, and NPC1 plays the action B animation;
[0116] When the time reaches 7 o'clock, NPC2 plays the action C animation.
[0117] The blocking timeline in the present invention is defined as a timeline that supports blocking conditions. If the blocking condition node is not set, the timeline will operate normally in chronological order; when the blocking condition is set, the playback time stops updating when the playback time is updated to the blocking condition node, and waits until the blocking condition is met before the playback time moves to the start position of the next node to continue playing.
[0118] The definition of the blocking condition in the present invention includes but is not limited to the character arriving at a specified location, the user clicking on the interface, the user interacting with a certain character, etc.
[0119] Step S2, restoring the plot state data in the game plot data, and updating the progress value of the blocked time axis;
[0120] See also Figure 5 As shown, the step S2 is further specifically as follows: step S21, inputting plot data, reading the progress value of the blocking time axis from the blocking time axis, reading the plot status data from the storage file, judging whether the plot status data is empty, if not, proceeding to step S22, if yes, creating a new plot status data; and proceeding to step S22;
[0121] Step S22, determine whether the progress value of the blocked time axis is less than the current plot progress value, if yes, proceed to step S24; if no, proceed to step S23;
[0122] Step S23, updating the current plot progress value in the plot status data to the progress value of the blocked time axis, and saving the plot status data to the storage file, the state synchronization is completed, and the process ends;
[0123] Step S24, reading the plot instruction data corresponding to the progress value of the blocked time axis from the plot instruction set in the plot state data, and reading the plot instruction in the plot instruction data;
[0124] Step S25, determine whether the plot instruction has a corresponding execution mode registered, if yes, execute the corresponding execution mode to pass in the plot instruction data and pass in the skip execution process parameter, wait for the execution mode to be completed, and go to step S26; if no, directly go to step S26;
[0125] Step S26, the plot instruction is executed, the progress value of the blocking timeline is updated to the next time node of the blocking timeline, and step S22 is continued.
[0126] Step S3, waiting for user interaction to start plot playback, distributing plot status data corresponding to the blocked time axis according to the blocked time axis; judging whether the distribution of the plot status data corresponding to the blocked time axis is completed; if yes, stop and end the process; if no, proceed to step S4;
[0127] The definition of plot instructions in the present invention includes but is not limited to displaying characters, setting the position, rotation or size of characters, playing character actions, character pathfinding, character dressing, playing character special effects, moving, zooming or shaking the camera lens, plot UI display, etc.
[0128] See also Figure 6 As shown, the step S3 further specifically includes:
[0129] Step S31, inputting the plot status data corresponding to the blocking time axis;
[0130] Step S32, reading the progress value of the blocking time axis;
[0131] Step S33, judging whether the blocking timeline is executed, if yes, the distribution of the plot status data corresponding to the blocking timeline is completed and the process is ended, if no, the plot status data of the current progress value is read;
[0132] Step S34, reading the plot instruction data set in the plot state data, and adding the data in the plot instruction data set to a plot instruction data queue;
[0133] Step S35, determine whether the plot instruction data queue is empty, if yes, update the blocking time axis progress value to the next node and execute step S33, if no, execute step S36;
[0134] Step S36, reading a plot instruction data from the plot instruction data queue, and executing the plot instruction data;
[0135] Step S37, determine whether there are other plot instruction data in the plot instruction data queue, if yes, execute step S36; if not, update the blocking time axis progress value to the next node, and execute step S33.
[0136] Step S4, executing the plot instructions in the plot status data, continuing to distribute the plot status data corresponding to the blocking time axis according to the blocking time axis, and waiting for the execution of the plot instructions to be completed;
[0137] The definition of plot data in the present invention is a collection of data required for plot interaction. One plot data may contain multiple sub-plot data. The data recorded in the plot data includes but is not limited to plot instructions and their execution parameters, plot node time length, whether the node is blocked, blocking conditions, whether skipping is supported, etc.
[0138] See also Figure 7 As shown, step S4 further specifically includes: step S41, inputting plot instruction data, and reading plot instructions in the plot instruction data;
[0139] Step S42: determine whether the plot instruction has a corresponding execution mode registered. If not, the plot instruction is executed and the process ends. If yes, proceed to step S43.
[0140] Step S43, executing the corresponding execution mode to input the plot instruction data;
[0141] Step S44, determine whether to execute the execution mode synchronously; if not, wait for the asynchronous execution mode to be completed and return an execution success event; the plot instruction is executed; if yes, return an execution success event and the plot instruction is executed.
[0142] Step S5: record the plot status data, wait for user interaction, and update the plot status data and the progress value of the blocked time axis according to the interaction event.
[0143] See also Figure 8 As shown, the recording of the plot status data in step S5 further specifically includes: inputting plot instruction data, reading the plot instruction in the plot instruction data, and determining whether the plot instruction has a corresponding execution mode registered. If not, the recording is completed and the process ends; if yes, the plot instruction data is added to the plot instruction set of the plot status data, the current plot progress value in the plot status data is updated, the plot status data is saved in a storage file, the recording is completed, and the process ends.
[0144] See also Fig. 9As shown, the updating of the plot state data and the progress value of the blocking time axis according to the interaction event further specifically includes: step S51, inputting user interaction data,
[0145] Step S52, reading the plot progress value record in the user interaction data as the target progress value, and reading the current plot progress value from the plot status data;
[0146] Step S53, reading the maximum plot progress value and the minimum plot progress value corresponding to the plot instruction data in the plot instruction set from the plot state data;
[0147] Step S54, determine whether the target progress value is greater than the maximum plot progress value, if yes, update the target progress value to the maximum plot progress value, and proceed to step S55; if no, proceed to step S55;
[0148] Step S55, determine whether the target progress value is less than the minimum plot progress value, if yes, update the target progress value to the minimum plot progress value, and proceed to step S56; if no, proceed to step S56;
[0149] Step S56, determine whether the target progress value is greater than the current plot progress value, if yes, update the progress value of the blocking time axis to the current plot progress value, and proceed to step S57, if no, update the progress value of the blocking time axis to the minimum plot progress value, and proceed to step S57;
[0150] Step S57, updating the current plot progress value in the plot status data to the plot test progress;
[0151] Step S58, determine whether the progress value of the blocked time axis is less than the current plot progress value, if not, update the current plot progress value in the plot state data to the progress value of the blocked time axis, save the plot state data to the storage file, the interactive event is executed, and the process ends; if yes, read the plot instruction data corresponding to the progress value of the blocked time axis from the plot instruction set in the plot state data, read the plot instruction in the plot instruction data, and enter step S59;
[0152] Step S59, determine whether the plot instruction has a corresponding execution mode registered, if yes, execute the corresponding execution mode to pass in the plot instruction data and pass in the skip execution process parameter, wait for the execution mode to be completed, and go to step S60; if no, directly go to step S60;
[0153] Step S60: After the plot instruction is executed, the progress value of the blocking timeline is updated to the next time node on the blocking timeline.
[0154] The present invention is based on generating plot status data corresponding to the blocked time axis through a data analysis module. When receiving a plot start from a user, the plot distribution module distributes the plot status data according to the blocked time axis, and the plot data execution module executes the plot instructions in the plot data. The plot status data is restored and the progress value of the blocked time axis is updated through the data restoration module; the data recording module records the plot status data, updates the plot status data, etc., to realize a complete game plot status management and control system.
[0155] The data analysis module provides the ability to parse data to generate plot status data corresponding to the blocked timeline, realizes parsing unified plot data into plot status data corresponding to the blocked timeline, and provides a data source for the plot distribution module.
[0156] The data restoration module provides the restoration of plot status data and updates the progress value of the blocked timeline;
[0157] The plot distribution module provides the ability to distribute plot status data according to the blocking timeline, realizes the merging and distribution of plot instruction data sets from the plot status data, and promotes the execution of plot instructions.
[0158] The plot data execution module provides the ability to execute plot instructions, implements the process of executing plot instructions, and applies the data described in the plot instructions to the scene.
[0159] The data recording module provides the ability to record and update plot status data, and realizes plot management capabilities such as reading, saving, and applying plot status data.
[0160] See also Fig.10 As shown, the present invention also provides a system for implementing game plot state management, the system comprising a data parsing module, a data restoration module, a plot distribution module, a plot data execution module, and a data recording module;
[0161] The data parsing module is used to input game plot data, parse the game plot data to generate a blocking timeline; the blocking timeline is a timeline that supports blocking conditions, wherein when the blocking condition node is not set in the blocking timeline plot node data, the timeline will run normally in chronological order; when the blocking condition is set, the playback time stops updating when the playback time is updated to the blocking condition node, and waits until the blocking condition is met before the playback time moves to the start position of the next node to continue playing;
[0162] The data restoration module is used to restore the plot state data in the game plot data and update the progress value of the blocked time axis;
[0163] The plot distribution module is used to wait for user interaction to start plot playback, distribute plot status data corresponding to the blocked time axis according to the blocked time axis; determine whether the distribution of the plot status data corresponding to the blocked time axis is completed; if yes, stop the end process; if no, directly execute the plot data execution module;
[0164] The plot data execution module is used to execute the plot instructions in the plot state data, continue to distribute the plot state data corresponding to the blocking time axis according to the blocking time axis, and wait for the execution of the plot instructions to be completed;
[0165] The data recording module is used to record the plot status data, wait for user interaction, and update the plot status data and the progress value of the blocked time axis according to the interaction event.
[0166] The analysis of game plot data to generate a blocking timeline is further described as follows:
[0167] Step S61, inputting game plot data; the game plot data includes a plurality of sub-plot data, and the data recorded in the game plot data includes plot instructions and their execution methods, plot node time length, whether the node is blocked, blocking conditions, and whether skipping is supported;
[0168] Step S62, creating a blocking timeline;
[0169] Step S63, reading all plot node data in the game plot data; adding all plot node data to a plot node data queue;
[0170] Step S64, determine whether the plot node data queue is empty, if yes, return to the blocked timeline and end the process; if no, proceed to step S65;
[0171] Step S65, read a plot node data from the plot node data queue, add the plot node data to the current node position of the blocking time axis; the current time value of the blocking time axis moves backward to the time value accessed in the plot node data;
[0172] Step S66, determine whether the plot node data records a blocking value, which is the data value corresponding to the blocking condition; if not, proceed to step S67; if yes, add a blocking condition node to the blocking timeline, set the blocking value to the blocking condition recorded in the plot node data; move the current timeline of the blocking timeline backward by a blocking node unit time value, and proceed to step S67;
[0173] Step S67, determine whether there are other plot data nodes in the plot data node queue, if yes, execute step S65; if no, return to the blocked timeline and end the process.
[0174] The congestion timeline includes: the progress value and time node set of the congestion timeline, the time node set is composed of multiple time nodes, each time node includes time length, progress value, and congestion condition; the plot status data includes: the current plot progress value and plot instruction set, the plot instruction set is composed of multiple plot instruction data.
[0175] The implementation method of the data restoration module is further specifically as follows: Step S71, input plot data, read the progress value of the blocking time axis from the blocking time axis, read the plot status data from the storage file, and determine whether the plot status data is empty, if not, proceed to step S72, if yes, create a new plot status data; and proceed to step S72;
[0176] Step S72, determine whether the progress value of the blocked time axis is less than the current plot progress value, if yes, proceed to step S74; if no, proceed to step S73;
[0177] Step S73: update the current plot progress value in the plot status data to the progress value of the blocked time axis, and save the plot status data to the storage file, the state synchronization is completed, and the process ends;
[0178] Step S74, reading the plot instruction data corresponding to the progress value of the blocked time axis from the plot instruction set of the plot state data, and reading the plot instruction in the plot instruction data;
[0179] Step S75, determine whether the plot instruction has a corresponding execution mode registered, if yes, execute the corresponding execution mode to pass in the plot instruction data and pass in the skip execution process parameter, wait for the execution mode to be completed, and go to step S76; if no, directly go to step S76;
[0180] Step S76, the plot instruction is executed, the progress value of the blocking timeline is updated to the next time node of the blocking timeline, and step S72 is continued.
[0181] The implementation method of the plot distribution module further specifically includes:
[0182] Step S81, inputting the plot status data corresponding to the blocking time axis;
[0183] Step S82, reading the progress value of the blocking time axis;
[0184] Step S83, judging whether the blocking timeline is executed, if yes, the distribution of the plot status data corresponding to the blocking timeline is completed and the process is ended, if no, the plot status data of the current progress value is read;
[0185] Step S84, reading the plot instruction data set in the plot state data, and adding the data in the plot instruction data set to a plot instruction data queue;
[0186] Step S85, determine whether the plot instruction data queue is empty, if yes, update the blocking time axis progress value to the next node and execute step S83, if no, execute step S86;
[0187] Step S86, reading a plot instruction data from the plot instruction data queue, and executing the plot instruction data;
[0188] Step S87, determine whether there are other plot instruction data in the plot instruction data queue, if yes, execute step S86; if not, update the blocking time axis progress value to the next node, and execute step S83.
[0189] The implementation method of the plot data execution module further specifically includes: step S91, inputting plot instruction data, and reading plot instructions in the plot instruction data;
[0190] Step S92: determine whether the plot instruction has a corresponding execution mode registered. If not, the plot instruction is executed and the process ends. If yes, proceed to step S93.
[0191] Step S93, executing the corresponding execution mode to input the plot instruction data;
[0192] Step S94, determine whether to execute the execution mode synchronously; if not, wait for the asynchronous execution mode to be completed and return the execution success event; the plot instruction is executed; if yes, return the execution success event and the plot instruction is executed.
[0193] The implementation method of recording the plot status data further specifically includes: inputting plot instruction data, reading the plot instructions in the plot instruction data, and determining whether the plot instructions have a corresponding execution method registered. If not, the recording is completed and the process ends; if yes, the plot instruction data is added to the plot instruction set of the plot status data, the current plot progress value in the plot status data is updated, the plot status data is saved in a storage file, the recording is completed, and the process ends.
[0194] The updating of the plot status data and the progress value of the blocking time axis according to the interaction event further specifically includes: step S101, inputting user interaction data,
[0195] Step S102, reading the plot progress value record in the user interaction data as the target progress value, and reading the current plot progress value from the plot status data;
[0196] Step S103, reading the maximum plot progress value and the minimum plot progress value corresponding to the plot instruction data in the plot instruction set from the plot state data;
[0197] Step S104, determine whether the target progress value is greater than the maximum plot progress value, if yes, update the target progress value to the maximum plot progress value, and proceed to step S105; if no, proceed to step S105;
[0198] Step S105, determine whether the target progress value is less than the minimum plot progress value, if yes, update the target progress value to the minimum plot progress value, and proceed to step S106; if no, proceed to step S106;
[0199] Step S106, determine whether the target progress value is greater than the current plot progress value, if yes, update the progress value of the blocking time axis to the current plot progress value, and proceed to step S107, if no, update the progress value of the blocking time axis to the minimum plot progress value, and proceed to step S107;
[0200] Step S107, updating the current plot progress value in the plot status data to the plot test progress;
[0201] Step S108, determine whether the progress value of the blocked time axis is less than the current plot progress value, if not, update the current plot progress value in the plot state data to the progress value of the blocked time axis, save the plot state data to the storage file, the interactive event is executed, and the process ends; if yes, read the plot instruction data corresponding to the progress value of the blocked time axis from the plot instruction set of the plot state data, read the plot instruction in the plot instruction data, and enter step S109;
[0202] Step S109, determine whether the plot instruction has a corresponding execution mode registered, if yes, execute the corresponding execution mode to pass in the plot instruction data and pass in the skip execution process parameter, wait for the execution mode to be completed, and go to step S110; if no, directly go to step S110;
[0203] Step S110: After the plot instruction is executed, the progress value of the blocking timeline is updated to the next time node on the blocking timeline.
[0204] The blocking timeline in the present invention is defined as a timeline that supports blocking conditions. If the blocking condition node is not set, the timeline will operate normally in chronological order; when the blocking condition is set, the playback time stops updating when the playback time is updated to the blocking condition node, and waits until the blocking condition is met before the playback time moves to the start position of the next node to continue playing.
[0205] The definition of the blocking condition in the present invention includes but is not limited to the character arriving at a specified location, the user clicking on the interface, the user interacting with a certain character, etc.
[0206] The definition of plot instructions in the present invention includes but is not limited to displaying characters, setting the position, rotation or size of characters, playing character actions, character pathfinding, character dressing, playing character special effects, moving, zooming or shaking the camera lens, plot UI display, etc.
[0207] The definition of plot data in the present invention is a collection of data required for plot interaction. One plot data may contain multiple sub-plot data. The data recorded in the plot data includes but is not limited to plot instructions and their execution parameters, plot node time length, whether the node is blocked, blocking conditions, whether skipping is supported, etc.
[0208] The present invention is applicable to the state management and interaction process of all types of game plots, including but not limited to the state management and interaction process of game plots in 2D games, the state management and interaction process of game plots in 3D games, the state management and interaction process of game plots in AR, VR games or applications, and the state management and interaction process of game plots in other types of games.
[0209] The above description is only a preferred embodiment of the present invention. All equivalent changes and modifications made according to the scope of the patent application of the present invention should fall within the scope of the present invention.
Claims
1. A method for implementing game plot state management, characterized in that: The method comprises the following steps: Step S1, inputting game plot data, parsing the game plot data to generate a blocking timeline; the blocking timeline is a timeline that supports blocking conditions, wherein when the blocking condition node is not set in the blocking timeline plot node data, the timeline will run normally in chronological order; when the blocking condition is set, the playing time stops updating when the playing time is updated to the blocking condition node, and waits until the blocking condition is met before the playing time moves to the start position of the next node to continue playing; Step S2, restoring the plot state data in the game plot data, and updating the progress value of the blocked time axis; Step S3, waiting for user interaction to start plot playback, distributing plot status data corresponding to the blocked time axis according to the blocked time axis; judging whether the distribution of the plot status data corresponding to the blocked time axis is completed; if yes, stop and end the process; if no, proceed to step S4; Step S4, executing the plot instructions in the plot status data, continuing to distribute the plot status data corresponding to the blocking time axis according to the blocking time axis, and waiting for the execution of the plot instructions to be completed; Step S5, recording the plot status data, waiting for user interaction, and updating the plot status data and the progress value of the blocked time axis according to the interaction event; The analysis of game plot data to generate a blocking timeline is further detailed as follows: Step S11, inputting game plot data; the game plot data includes a plurality of sub-plot data, and the data recorded in the game plot data includes plot instructions and their execution methods, plot node time length, whether the node is blocked, blocking conditions, and whether skipping is supported; Step S12, creating a blocking timeline; Step S13, reading all plot node data in the game plot data; adding all plot node data to a plot node data queue; Step S14, determine whether the plot node data queue is empty, if yes, return to the blocked timeline and end the process; if no, proceed to step S15; Step S15, reading a plot node data from the plot node data queue, and adding the plot node data to the current node position of the blocking time axis; the current time value of the blocking time axis is moved backward to the time value accessed in the plot node data; Step S16, determine whether the plot node data records a blocking value, which is the data value corresponding to the blocking condition; if not, proceed to step S17; if yes, add a blocking condition node in the blocking timeline, set the blocking value to the blocking condition recorded in the plot node data; move the current timeline of the blocking timeline backward by a blocking node unit time value, and proceed to step S17; Step S17, determine whether there are other plot data nodes in the plot data node queue, if yes, execute step S15; if not, return to the blocked timeline and end the process.
2. A method for implementing game plot state management according to claim 1, characterized in that: The congestion timeline includes: the progress value and time node set of the congestion timeline, the time node set is composed of multiple time nodes, each time node includes time length, progress value, and congestion condition; the plot status data includes: the current plot progress value and plot instruction set, the plot instruction set is composed of multiple plot instruction data.
3. A method for implementing game plot state management according to claim 2, characterized in that: The step S2 is further specifically as follows: step S21, inputting plot data, reading the progress value of the blocking time axis from the blocking time axis, reading the plot status data from the storage file, and judging whether the plot status data is empty, if not, proceeding to step S22, if yes, creating a new plot status data; And proceed to step S22; Step S22, determine whether the progress value of the blocked time axis is less than the current plot progress value, if yes, proceed to step S24; No, go to step S23; Step S23, updating the current plot progress value in the plot status data to the progress value of the blocked time axis, and saving the plot status data to the storage file, the state synchronization is completed, and the process ends; Step S24, reading the plot instruction data corresponding to the progress value of the blocked time axis from the plot instruction set in the plot state data, and reading the plot instruction in the plot instruction data; Step S25, determine whether the plot instruction has a corresponding execution mode registered, if yes, execute the corresponding execution mode to pass in the plot instruction data and pass in the skip execution process parameter, wait for the execution mode to be completed, and go to step S26; if no, directly go to step S26; Step S26, the plot instruction is executed, the progress value of the blocking timeline is updated to the next time node of the blocking timeline, and step S22 is continued.
4. A method for implementing game plot state management according to claim 3, characterized in that: The step S3 further specifically includes: Step S31, inputting the plot status data corresponding to the blocking time axis; Step S32, reading the progress value of the blocking time axis; Step S33, judging whether the blocking timeline is executed, if yes, the distribution of the plot status data corresponding to the blocking timeline is completed and the process is ended, if no, the plot status data of the current progress value is read; Step S34, reading the plot instruction data set in the plot state data, and adding the data in the plot instruction data set to a plot instruction data queue; Step S35, determine whether the plot instruction data queue is empty, if yes, update the blocking time axis progress value to the next node and execute step S33, if no, execute step S36; Step S36, reading a plot instruction data from the plot instruction data queue, and executing the plot instruction data; Step S37, determine whether there are other plot instruction data in the plot instruction data queue, if yes, execute step S36; if not, update the blocking time axis progress value to the next node, and execute step S33.
5. A method for implementing game plot state management according to claim 3, characterized in that: Step S4 further specifically includes: Step S41, inputting plot instruction data, and reading plot instructions in the plot instruction data; Step S42: determine whether the plot instruction has a corresponding execution mode registered. If not, the plot instruction is executed and the process ends. If yes, proceed to step S43. Step S43, executing the corresponding execution mode to input the plot instruction data; Step S44, determine whether to execute the execution mode synchronously; if not, wait for the asynchronous execution mode to be completed and return an execution success event; the plot instruction is executed; if yes, return an execution success event and the plot instruction is executed.
6. A method for implementing game plot state management according to claim 3, characterized in that: The step S5 of recording the plot status data further specifically includes: inputting plot instruction data, reading the plot instruction in the plot instruction data, and determining whether the plot instruction has a corresponding execution mode registered. If not, the recording is completed and the process ends; if yes, the plot instruction data is added to the plot instruction set of the plot status data, the current plot progress value in the plot status data is updated, the plot status data is saved in a storage file, the recording is completed, and the process ends.
7. A method for implementing game plot state management according to claim 3, characterized in that: The updating of the plot status data and the progress value of the blocking time axis according to the interaction event further specifically includes: step S51, inputting user interaction data; Step S52, reading the plot progress value record in the user interaction data as the target progress value, and reading the current plot progress value from the plot status data; Step S53, reading the maximum plot progress value and the minimum plot progress value corresponding to the plot instruction data in the plot instruction set from the plot state data; Step S54, determine whether the target progress value is greater than the maximum plot progress value, if yes, update the target progress value to the maximum plot progress value, and proceed to step S55; if no, proceed to step S55; Step S55, determine whether the target progress value is less than the minimum plot progress value, if yes, update the target progress value to the minimum plot progress value, and proceed to step S56; if no, proceed to step S56; Step S56, determine whether the target progress value is greater than the current plot progress value, if yes, update the progress value of the blocking time axis to the current plot progress value, and proceed to step S57, if no, update the progress value of the blocking time axis to the minimum plot progress value, and proceed to step S57; Step S57, updating the current plot progress value in the plot status data to the plot test progress; Step S58, determine whether the progress value of the blocked time axis is less than the current plot progress value, if not, update the current plot progress value in the plot state data to the progress value of the blocked time axis, save the plot state data to the storage file, the interactive event is executed, and the process ends; if yes, read the plot instruction data corresponding to the progress value of the blocked time axis from the plot instruction set in the plot state data, read the plot instruction in the plot instruction data, and enter step S59; Step S59, determine whether the plot instruction has a corresponding execution mode registered, if yes, execute the corresponding execution mode to pass in the plot instruction data and pass in the skip execution process parameter, wait for the execution mode to be completed, and go to step S60; if no, directly go to step S60; Step S60: After the plot instruction is executed, the progress value of the blocking timeline is updated to the next time node on the blocking timeline.
8. A system for implementing game plot state management, characterized in that: The system includes a data parsing module, a data restoration module, a plot distribution module, a plot data execution module, and a data recording module; The data parsing module is used to input game plot data, parse the game plot data to generate a blocking timeline; the blocking timeline is a timeline that supports blocking conditions, wherein when the blocking condition node is not set in the blocking timeline plot node data, the timeline will run normally in chronological order; when the blocking condition is set, the playback time stops updating when the playback time is updated to the blocking condition node, and waits until the blocking condition is met before the playback time moves to the start position of the next node to continue playing; The data restoration module is used to restore the plot state data in the game plot data and update the progress value of the blocked time axis; The plot distribution module is used to wait for user interaction to start plot playback, distribute plot status data corresponding to the blocked time axis according to the blocked time axis; determine whether the distribution of the plot status data corresponding to the blocked time axis is completed; if yes, stop the end process; if no, directly execute the plot data execution module; The plot data execution module is used to execute the plot instructions in the plot state data, continue to distribute the plot state data corresponding to the blocking time axis according to the blocking time axis, and wait for the execution of the plot instructions to be completed; The data recording module is used to record the plot status data, wait for user interaction, and update the plot status data and the progress value of the blocked time axis according to the interaction event; The analysis of game plot data to generate a blocking timeline is further detailed as follows: Step S61, inputting game plot data; the game plot data includes a plurality of sub-plot data, and the data recorded in the game plot data includes plot instructions and their execution methods, plot node time length, whether the node is blocked, blocking conditions, and whether skipping is supported; Step S62, creating a blocking timeline; Step S63, reading all plot node data in the game plot data; adding all plot node data to a plot node data queue; Step S64, determine whether the plot node data queue is empty, if yes, return to the blocked timeline and end the process; if no, proceed to step S65; Step S65, read a plot node data from the plot node data queue, add the plot node data to the current node position of the blocking time axis; the current time value of the blocking time axis moves backward to the time value accessed in the plot node data; Step S66, determine whether the plot node data records a blocking value, which is the data value corresponding to the blocking condition; if not, proceed to step S67; if yes, add a blocking condition node to the blocking timeline, set the blocking value to the blocking condition recorded in the plot node data; move the current timeline of the blocking timeline backward by a blocking node unit time value, and proceed to step S67; Step S67, determine whether there are other plot data nodes in the plot data node queue, if yes, execute step S65; if no, return to the blocked timeline and end the process.
9. A system for implementing game plot state management according to claim 8, characterized in that: The congestion timeline includes: the progress value and time node set of the congestion timeline, the time node set is composed of multiple time nodes, each time node includes time length, progress value, and congestion condition; the plot status data includes: the current plot progress value and plot instruction set, the plot instruction set is composed of multiple plot instruction data.
10. A system for implementing game plot state management according to claim 9, characterized in that: The implementation method of the data restoration module is further specifically as follows: Step S71, input plot data, read the progress value of the blocking time axis from the blocking time axis, read the plot status data from the storage file, and determine whether the plot status data is empty, if not, proceed to step S72, if yes, create a new plot status data; and proceed to step S72; Step S72, determine whether the progress value of the blocked time axis is less than the current plot progress value, if yes, proceed to step S74; if no, proceed to step S73; Step S73: update the current plot progress value in the plot status data to the progress value of the blocked time axis, and save the plot status data to the storage file, the state synchronization is completed, and the process ends; Step S74, reading the plot instruction data corresponding to the progress value of the blocked time axis from the plot instruction set of the plot state data, and reading the plot instruction in the plot instruction data; Step S75, determine whether the plot instruction has a corresponding execution mode registered, if yes, execute the corresponding execution mode to pass in the plot instruction data and pass in the skip execution process parameter, wait for the execution mode to be completed, and go to step S76; if no, directly go to step S76; Step S76, the plot instruction is executed, the progress value of the blocking timeline is updated to the next time node of the blocking timeline, and step S72 is continued.
11. A system for implementing game plot state management according to claim 10, characterized in that: The implementation method of the plot distribution module further specifically includes: Step S81, inputting the plot status data corresponding to the blocking time axis; Step S82, reading the progress value of the blocking time axis; Step S83, judging whether the blocking timeline is executed, if yes, the distribution of the plot status data corresponding to the blocking timeline is completed and the process is ended, if no, the plot status data of the current progress value is read; Step S84, reading the plot instruction data set in the plot state data, and adding the data in the plot instruction data set to a plot instruction data queue; Step S85, determine whether the plot instruction data queue is empty, if yes, update the blocking time axis progress value to the next node and execute step S83, if no, execute step S86; Step S86, reading a plot instruction data from the plot instruction data queue, and executing the plot instruction data; Step S87, determine whether there are other plot instruction data in the plot instruction data queue, if yes, execute step S86; if not, update the blocking time axis progress value to the next node, and execute step S83.
12. A system for implementing game plot state management according to claim 10, characterized in that: The implementation method of the plot data execution module further specifically includes: step S91, inputting plot instruction data, and reading plot instructions in the plot instruction data; Step S92: determine whether the plot instruction has a corresponding execution mode registered. If not, the plot instruction is executed and the process ends. If yes, proceed to step S93. Step S93, executing the corresponding execution mode to input the plot instruction data; Step S94, determine whether to execute the execution mode synchronously; if not, wait for the asynchronous execution mode to be completed and return the execution success event; the plot instruction is executed; if yes, return the execution success event and the plot instruction is executed.
13. A system for implementing game plot state management according to claim 10, characterized in that: The implementation method of recording the plot status data further specifically includes: inputting plot instruction data, reading the plot instructions in the plot instruction data, and determining whether the plot instructions have a corresponding execution method registered. If not, the recording is completed and the process ends; if yes, the plot instruction data is added to the plot instruction set of the plot status data, the current plot progress value in the plot status data is updated, the plot status data is saved in a storage file, the recording is completed, and the process ends.
14. A system for implementing game plot state management according to claim 10, characterized in that: The updating of the plot status data and the progress value of the blocking time axis according to the interaction event further specifically includes: step S101, inputting user interaction data, Step S102, reading the plot progress value record in the user interaction data as the target progress value, and reading the current plot progress value from the plot status data; Step S103, reading the maximum plot progress value and the minimum plot progress value corresponding to the plot instruction data in the plot instruction set from the plot state data; Step S104, determine whether the target progress value is greater than the maximum plot progress value, if yes, update the target progress value to the maximum plot progress value, and proceed to step S105; if no, proceed to step S105; Step S105, determine whether the target progress value is less than the minimum plot progress value, if yes, update the target progress value to the minimum plot progress value, and proceed to step S106; if no, proceed to step S106; Step S106, determine whether the target progress value is greater than the current plot progress value, if yes, update the progress value of the blocking time axis to the current plot progress value, and proceed to step S107, if no, update the progress value of the blocking time axis to the minimum plot progress value, and proceed to step S107; Step S107, updating the current plot progress value in the plot status data to the plot test progress; Step S108, determine whether the progress value of the blocked time axis is less than the current plot progress value, if not, update the current plot progress value in the plot state data to the progress value of the blocked time axis, save the plot state data to the storage file, the interactive event is executed, and the process ends; if yes, read the plot instruction data corresponding to the progress value of the blocked time axis from the plot instruction set of the plot state data, read the plot instruction in the plot instruction data, and enter step S109; Step S109, determine whether the plot instruction has a corresponding execution mode registered, if yes, execute the corresponding execution mode to pass in the plot instruction data and pass in the skip execution process parameter, wait for the execution mode to be completed, and enter step S110; No, directly go to step S110; Step S110: After the plot instruction is executed, the progress value of the blocking timeline is updated to the next time node on the blocking timeline.
Citation Information
Patent Citations
Plot animation production method and device
CN109493402A
Method and device for executing script of storyline node, equipment and storage medium
CN109985382A