WO2017148233A1 - 状态控制方法和装置 - Google Patents

状态控制方法和装置 Download PDF

Info

Publication number
WO2017148233A1
WO2017148233A1 PCT/CN2017/072456 CN2017072456W WO2017148233A1 WO 2017148233 A1 WO2017148233 A1 WO 2017148233A1 CN 2017072456 W CN2017072456 W CN 2017072456W WO 2017148233 A1 WO2017148233 A1 WO 2017148233A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
state
behavior tree
server
state machine
Prior art date
Application number
PCT/CN2017/072456
Other languages
English (en)
French (fr)
Inventor
江雷
单浩波
周锦源
Original Assignee
腾讯科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Priority to EP17759084.1A priority Critical patent/EP3425849B1/en
Priority to JP2018544453A priority patent/JP6755325B2/ja
Priority to KR1020187023912A priority patent/KR102085686B1/ko
Publication of WO2017148233A1 publication Critical patent/WO2017148233A1/zh
Priority to US16/110,239 priority patent/US11184216B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4498Finite state machines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0233Object-oriented techniques, for representation of network management data, e.g. common object request broker architecture [CORBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks

Definitions

  • the present invention relates to the field of computers, and in particular to a state control method and apparatus.
  • the manner in which an individual controls an individual to perform an operation generally includes a finite state machine and a behavior tree.
  • the finite state machine and the behavior tree each have defects in performing the operation, specifically: for a finite state machine, when the state is very large, The finite state machine needs to deal with a large number of state transition relationships, which not only increases the workload of the designer, but also makes it difficult to maintain the finite state machine, resulting in low efficiency of individual execution operations in the application.
  • the behavior tree is not intuitive in terms of state jumps; the behavior tree is suitable for performing a series of behaviors as planned, and cannot effectively handle state transitions in some exceptions and special cases.
  • Embodiments of the present invention provide a state control method and apparatus to at least solve the technical problem that the related art uses a finite state machine to control an operation efficiency of an individual in an application.
  • a state control method including: a server detects an operation execution event, wherein an operation execution event is used to request operation on a first object in a first application; and the server determines the first Whether the next node of the current node of the object in the hybrid state machine is the first state node or the first behavior tree node, wherein the node in the hybrid state machine includes a state node and a behavior tree node, and the nodes in the hybrid state machine have State jump off If it is determined that the next node of the current node is the first state node, the server performs an operation in the first state corresponding to the first state node on the first object; if it is determined that the next node in the current state is the first node The behavior tree node, the server performs an operation in the first behavior tree corresponding to the first behavior tree node on the first object.
  • a state control apparatus comprising: a detecting module, configured to detect an operation execution event, wherein the operation execution event is used to request a first object in the first application Performing an operation; the determining module is configured to determine, by the server, whether the next node of the current node of the first object in the hybrid state machine is the first state node or the first behavior tree node, wherein the node in the hybrid state machine includes the state node and the behavior a tree node, the node in the hybrid state machine has a state jump relationship; the first operation module is configured to determine that the next node of the current node is the first state node, and the server executes the first state node on the first object Corresponding operation in the first state; the second operation module is configured to: after determining that the next node of the current state is the first behavior tree node, the server performs the first action corresponding to the first behavior tree node on the first object The action in the behavior tree.
  • the server when the server detects the operation execution event, it is determined whether the next node of the current node of the first object in the hybrid state machine is the first state node or the first behavior tree node, and if it is the first state node And performing an operation in the first state corresponding to the first state node on the first object, and performing an operation in the first behavior tree corresponding to the first behavior tree node on the first object if the first behavior tree node is used,
  • the finite state machine and the behavior tree jointly control the purpose of the individual performing the operation in the application, thereby realizing the technical effect of improving the efficiency of the individual performing the operation in the application, thereby solving the technical problem that the related art uses the finite state machine to control the application to perform the operation efficiency of the individual.
  • FIG. 1 is a schematic diagram of a hardware environment of a state control method according to an embodiment of the present invention
  • FIG. 2 is a flow chart of an alternative state control method in accordance with an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of a finite state machine in accordance with an embodiment of the present invention.
  • 4a is a schematic diagram of a finite state machine between state packets, in accordance with an embodiment of the present invention.
  • 4b is a schematic diagram of a hierarchical state machine in accordance with an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a stack-based state machine in accordance with an embodiment of the present invention.
  • FIG. 6 is a schematic diagram of a behavior tree in accordance with an embodiment of the present invention.
  • Figure 7 is a schematic illustration of a hybrid state machine in accordance with an embodiment of the present invention.
  • Figure 8 is a schematic illustration of a state control device in accordance with an embodiment of the present invention.
  • FIG. 9 is a schematic diagram of an optional state control device in accordance with an embodiment of the present invention.
  • FIG. 10 is a schematic illustration of another alternative state control device in accordance with an embodiment of the present invention.
  • FIG. 11 is a schematic diagram of still another alternative state control device in accordance with an embodiment of the present invention.
  • FIG. 12 is a structural block diagram of a terminal according to an embodiment of the present invention.
  • a method embodiment of a state control method is provided.
  • the foregoing state control method may be applied to a hardware environment composed of the server 102 and the terminal 104 as shown in FIG. 1.
  • the server 102 is connected to the terminal 104 through a network.
  • the network includes but is not limited to a wide area network, a metropolitan area network, or a local area network.
  • the terminal 104 is not limited to a PC, a mobile phone, a tablet, or the like.
  • the data processing method of the embodiment of the present invention may be executed by the server 102, may be performed by the terminal 104, or may be performed by the server 102 and the terminal 104 in common.
  • the data processing method performed by the terminal 104 in the embodiment of the present invention may also be performed by a client installed thereon.
  • FIG. 2 is a flow chart of an optional state control method according to an embodiment of the present invention. As shown in FIG. 2, the method may include the following steps:
  • Step S202 the server detects an operation execution event, where the operation execution event is used to request to operate on the first object in the first application;
  • Step S204 the server determines whether the next node of the current node of the first object in the hybrid state machine is the first state node or the first behavior tree node, wherein the node in the hybrid state machine includes a state node and a behavior tree node, and the mixed state There is a state jump relationship between nodes in the machine;
  • Step S206 if it is determined that the next node of the current node is the first state node, the server performs an operation in the first state corresponding to the first state node on the first object;
  • Step S208 If it is determined that the next node in the current state is the first behavior tree node, the server performs an operation in the first behavior tree corresponding to the first behavior tree node on the first object.
  • the server detects the operation execution event, it is determined whether the next node of the current node of the first object in the hybrid state machine is the first state node or the first behavior tree node, if it is the first state
  • the node performs an operation in the first state corresponding to the first state node on the first object, and performs an operation in the first behavior tree corresponding to the first behavior tree node on the first object if the first behavior tree node is reached.
  • the finite state machine and the behavior tree are used to jointly control the purpose of the individual performing the operation in the application, thereby realizing the technical effect of improving the efficiency of the individual performing the operation in the application, thereby solving the technology that the related art uses the finite state machine to control the individual to perform the operation with low efficiency. problem.
  • the first application may be a game application, an instant communication application, or another type of application, and the present invention limits the first application.
  • the first application may include a plurality of objects, the first object may be included in the plurality of objects, and the first object may be any one of the plurality of objects. It should be noted that the object herein may be one of the applications.
  • the event object that executes the event such as a game character.
  • the first application can be installed in the server or installed on the client (such as a smart phone, power, etc.), and the server is responsible for processing and maintaining the events and objects in the first application.
  • the operation execution event may be used to request operation on the first object in the first application, wherein the operation performed on the first object may include adjusting a first object movement path, controlling a first object release skill, etc., Not specifically limited.
  • the server may detect the operation execution event in real time, so as to operate the first object in the first application in response to the operation execution event in time and accurately.
  • the server may also detect in real time whether the first object in the first application is performing an operation while detecting the operation execution event in real time, and if the server detects that the first object is performing an operation, the operation execution event is detected.
  • the first object is controlled to respond to the operation execution event; if the server detects that the first object is not performing an operation, the control event is immediately controlled when the operation execution event is detected.
  • An object executes an event in response to the operation.
  • the hybrid state machine may control the operation on the first object, and it should be noted that the hybrid state machine may control the one or more first applications.
  • the object is manipulated.
  • the hybrid state machine is composed of a finite state machine and a behavior tree. In order to better illustrate the hybrid state machine, the embodiment of the present invention first specifically describes the finite state machine and the behavior tree as follows:
  • a finite state machine can control the execution of individual objects in an application, and it includes a limited number of states and transition conditions between states. At the same time, the individual objects are only in one state, and the finite state machine needs to switch from one state to another to perform different operations.
  • Figure 3 shows the four states of a game character in a game application, namely wandering, attacking, escaping, finding treatment, and the transition relationship between the above four states, for example, game characters from seeking treatment to loitering.
  • the conversion condition is that the drug is found, and the transition condition from attack to wandering is that the object is not in the field of view, and the transition conditions between the above four states are not exemplified here.
  • the finite state machine can be divided into two types, namely, Hierarchical Finite State Machines (HFSM) and Stack Based Finite State Machines (SFSM).
  • HFSM Hierarchical Finite State Machines
  • SFSM Stack Based Finite State Machines
  • the hierarchical state machine proposes the concept of grouping states, and the states between different groups share the same conversion relationship. It improves the granularity of state control, greatly reduces the repetitive state transition relationship, and allows the designer to better control state transitions.
  • the finite state machine includes three states A, B, and C, wherein the A and B states can jump to the C state when the ⁇ condition is triggered, and the A and B states can be grouped to save. Repeated state-triggered state transitions, grouped finite state machines, ie finite state machines are shown in Figure 4b.
  • the stack-based state machine can use the stack structure to manage state transition relationships. As shown in Figure 5, the top of the stack holds the currently active state C. The transition between states can be achieved by stacking and popping operations. Effectively handles event-triggered state interruptions and continuations. For example, in a game application, you need to add a new feature to make the computer AI pause at any time, you need to add a pause state. If a conventional finite state machine is used, then a transition relationship needs to be designed between the pause state and the state present in each finite state machine. With the stack-based state machine, when the event trigger needs to be paused, only the pause state needs to be pushed onto the stack. At the end of the pause, only the pause state needs to be popped off, and then the original state can be restored to continue execution, which greatly saves state transition. The design of the relationship.
  • hybrid state machine in the embodiment of the present invention may utilize a hierarchical state machine or a stack-based state machine, which is not limited by the present invention.
  • the behavior tree can also control the execution of individual objects in the application.
  • the nodes of the behavior tree can be divided into the following categories:
  • a branch in a behavior tree that is, a non-leaf node, which may include a Selector, a Sequence, and a Simple Parallel.
  • Task A leaf node in the behavior tree that performs a specific task, such as moving AI.
  • Service node Attached to the Composite node, called at a certain frequency, used to update the information of the branch.
  • Root The root of the behavior tree.
  • Selector Execute its child nodes from left to right. If one of its children succeeds and returns, the node will stop executing immediately. If the child node returns success, the node returns success; if all child nodes return failure, the node returns a failure.
  • the child node is executed from left to right. If one of the child nodes fails to execute and returns, the node will stop executing immediately. If a child node returns a failure, the node returns a failure; if all nodes return success, the node returns success.
  • the basic principle of the behavior tree can be described as: starting from the root node top-down, searching the tree through some conditions, finally determining the leaf node that needs to be executed, and executing it.
  • Each node in the tree except the root node has a return value that returns success or failure based on its execution.
  • the return value of the node will be fed back to the parent node of the node, which will have a certain impact on the return value of its parent node.
  • determining that the leaf nodes to be executed are task node 0, task node 1, task node 2, task node 3, and any Node 4.
  • task node 0 fails to execute, returns it to the parent node to select node 0, and continues to execute task node 1.
  • Task node 1 executes successfully and returns to its parent node to select node 0. Since the parent node of task node 0, task node 1, and task node 2 selects node 0 as a selection node, it immediately returns success.
  • task node 3 executes successfully, returns to its parent node sequence node 1, and continues to execute task node 4.
  • Task node 4 fails to execute and returns to its parent node sequence node 1. Since task node 3 and task node 4's parent node order node 1 is a sequential node, it immediately returns a failure.
  • Select node 0 the parent node of the sequence node 1 and the node node 0 is the sequence node.
  • Sequence node 0 returns the return value to the root node, so after the entire behavior tree traversal is completed, the result is a failure.
  • the nodes in the hybrid state machine may include a state node and a behavior tree node, and the nodes in the hybrid state machine have a state jump relationship, which may specifically include state nodes in the hybrid state machine, behavior tree nodes, and states. There is a state jump relationship between the node and the behavior tree node.
  • FIG. 7 is a schematic diagram of a hybrid state machine according to an embodiment of the present invention. As shown in FIG. 7 , a hybrid state machine corresponding to a game character in a game application is taken as an example. The hybrid state machine may include multiple nodes, among the multiple nodes.
  • the state node and the behavior tree node are included, wherein the standby, the path finding, the tracking is the state node, the release skill is the behavior tree node, the state node and the state node in the hybrid state machine, and the state node and the behavior tree node, the behavior There are transition conditions between the tree and the behavior tree node.
  • the arrows in Figure 7 can represent the conversion relationship between the nodes. The specific transition conditions between the nodes are not specified here.
  • the behavior tree includes multiple nodes, as shown in Figure 7. As shown, the behavior tree node may include at least one node, such as a sequence node, a selection node, a decoration node, a task node, and the like.
  • the number of state nodes and behavior tree nodes in the hybrid state machine is not limited, and the conversion conditions between the nodes are not limited, and the number of nodes in the behavior tree, the node type and Node relationships are not limited.
  • the server determines whether the next node of the current node of the first object in the hybrid state machine is the first state node or the behavior tree node.
  • the operation execution event may include a current node where the first object is located in the hybrid state machine, and may also include the first object corresponding to the current node.
  • the target node after the operation that is, the next node of the current node, the first object may be switched from the current node to the next node in the hybrid state machine under the trigger of the operation execution event, wherein the next node may be a state node It can also be a behavior tree node.
  • the state corresponding to any one of the state machines (including the first state node) in the hybrid state machine includes an operation performed on the first object, and any one of the hybrid state machines
  • the behavior tree corresponding to the behavior tree node includes operations on the first object (including the first behavior tree node).
  • the embodiment of the present invention utilizes the hybrid state machine to combine the advantages of the finite state machine and the behavior tree.
  • the behavior tree is used, and the event triggered behavior or some abnormal conditions are processed by the finite state machine. It can handle state jumps in the case of exceptions and features, and can perform a series of phased behaviors according to a certain plan.
  • the embodiment of the present invention uses the finite state machine to control the release skill as a large general state, using the behavior tree to manage, releasing the skill state and transitioning other states such as standby, tracking, and path finding.
  • the finite state machine can be maintained using program code to ensure that the AI handles the stability of various situations in most cases. In practical use, the finite state machine selects a stack-based state machine, which can further reduce the complexity caused by multiple state transitions.
  • the behavior tree is used internally to release the skill state.
  • the game character skill planner only needs to be responsible for editing and modifying the behavior tree without concern for the conversion relationship between the behavior tree and other external states. Since most of the logic inside the behavior tree is only the combination of skills and the control of the stage, it does not affect the overall AI. Logic, planners can do it themselves without the assistance of a programmer. In this way, the planner can only care about the skills that he needs, control the process of the move, balance the rhythm of the game, and greatly save the workload of the planner.
  • the embodiment of the present invention can also perform interruption and recovery very conveniently. Consider the example of the dizziness of the game character after the release of the skill. After the game character stuns, the execution continues from the interruption point.
  • the step S204, the server determining, by the server, whether the next node of the current node in the hybrid state machine is the first state node or the first behavior tree node may include: if the operation execution event indicates an event The triggered operation or the abnormal operation, the server determines that the next node of the current node is the first state node; if the operation execution event indicates the operation of the flow type, the server determines that the next node of the current node is the first behavior tree node. .
  • the server may determine the first state node or the first behavior tree node when the next node of the current node is determined according to the detected operation execution event indication operation, and the operation execution event indication operation may include an event-triggered operation or an abnormality.
  • the operation, the operation of the flow type, and the like, the content of the operation of the operation execution event indication is not limited in this embodiment, and other contents may be included in addition to the contents listed above, and will not be exemplified herein.
  • the embodiment determines whether the next node of the current node is the first state node or the first behavior tree node, and achieves the purpose of accurately determining the type of the next node of the current node, thereby achieving different according to different The effect of the node type performing different operations on the first object.
  • the step S208, the performing, by the server, the operation in the first behavior tree corresponding to the first behavior tree node to the first object includes: performing, by the server, each leaf node in the first behavior tree on the first object The corresponding operation.
  • the server may execute the first row on the first object.
  • the operations in the first behavior tree may include adjusting skill intensity, selecting skill types, and the like.
  • the first behavior tree may include one or more leaf nodes, and each leaf node corresponds to an operation in a first behavior tree, that is, the operations in the first behavior tree may include one or more.
  • the server When the server performs an operation in the first behavior tree corresponding to the first behavior tree node on the first object, the operation corresponding to each leaf node in the first behavior tree may be performed, and the specific execution process introduces the principle of the behavior tree. It has already been explained, and will not be described here.
  • the attributes of the first object such as the life value of the game character, the skill remaining amount, and the like, may be affected.
  • the flow type operation is performed on the first object through the behavior tree, which can avoid the need to set a very complicated conversion relationship by using the wired state machine, thereby achieving the technical effect of improving the efficiency of the object execution operation in the control application.
  • the embodiment may further include the following steps:
  • step S2012 the server acquires first configuration information, where the first configuration information is used to indicate a state node, a behavior tree node, and a state jump relationship.
  • step S2014 the server generates a hybrid state machine for the first object according to the first configuration information.
  • the first configuration information may be information on which the hybrid state machine is generated for the first object, and may be used to indicate a state node, a behavior tree node, and a state jump relationship in the hybrid state machine. It is noted that the state jump relationship may include a state jump relationship between the state nodes, between the behavior tree nodes, and between the state nodes and the behavior tree nodes.
  • the first configuration information may include the number of state nodes in the hybrid state machine, the number of behavior tree nodes, the transition condition between the state nodes, the transition condition between the behavior tree nodes, and the transition between the state node and the behavior tree node.
  • the first configuration information is not specifically limited in this embodiment, and the first configuration information may be adjusted according to actual application scenario requirements.
  • the first configuration information can be set and adjusted by the user according to actual needs.
  • the hybrid state machine of the first object may be generated according to the first configuration information.
  • the state node in the hybrid state machine may be set according to the number of state nodes in the first configuration information
  • the hybrid may be set according to the number of the behavior tree nodes.
  • the behavior tree node in the state machine may set a jump relationship between the state nodes in the hybrid state machine according to the transition condition between the state nodes in the first configuration information, according to the behavior tree nodes in the first configuration information.
  • the transition condition may set a jump relationship between the behavior tree nodes in the hybrid state machine, and the state node and the behavior tree in the hybrid state machine may be set according to the transition condition between the state node and the behavior tree node in the first configuration information.
  • the jump relationship between the nodes, according to the operation in the state corresponding to the state node in the first configuration information, the operation of the state corresponding to the state node in the hybrid state machine may be configured, according to the behavior tree node in the first configuration information.
  • the operation in the corresponding behavior tree can configure the operation of the state corresponding to the behavior tree node in the hybrid state machine .
  • the first configuration information required to generate the hybrid state machine for the first object is obtained in advance, and the first configuration information can be set according to the actual application scenario requirement, and the effect that meets the actual needs of the user can be achieved, and at the same time, Obtaining the first configuration information required for generating the hybrid state machine in advance can achieve the effect of shortening the generation time of the hybrid state machine.
  • the embodiment may further include the following steps:
  • step S2016 the server acquires the second configuration information.
  • step S2018 the server updates the hybrid state machine according to the second configuration information.
  • the second configuration information may be used to update the hybrid state machine generated for the first object according to the first configuration information, and the second configuration information may include the content in the first configuration information, and may further include A content other than the configuration information, modifying the operation in the state corresponding to the state node in the hybrid state machine, modifying the operation in the behavior tree corresponding to the behavior tree node in the hybrid state machine, and modifying the transition condition between the nodes in the hybrid state machine And jump relationship, add or delete nodes in the hybrid state machine, add or delete nodes in the hybrid state machine Conversion conditions and jump relationships, etc.
  • the second configuration information is not specifically limited in this embodiment, and the second configuration information may include other content, which is not illustrated here.
  • the server may update the hybrid state machine according to the second configuration information, and may include updating the node in the hybrid state machine, or may include the mixed state.
  • the jump relationship between nodes in the machine is updated.
  • the step S2018, the server updating the hybrid state machine according to the second configuration information may include at least one of: a server to a state node already existing in the hybrid state machine, and/or an existing behavior tree node, and/or The state transition relationship between the existing state node and the existing behavior tree node is updated; the server deletes the existing state node in the hybrid state machine, and/or the existing behavior tree node, and/or existing State transition relationship between a state node and an existing behavior tree node; the server adds a state node and/or a behavior tree node in the hybrid state machine, and/or an existing state node and/or behavior tree node and existing A state jump relationship is established between the state node and/or the existing behavior tree node.
  • the above-mentioned update operation of the hybrid state machine is only an optional embodiment of the present invention. It should be noted that the present invention does not limit the update operation of the hybrid state machine, and may include other update operations in addition to the above-listed update operations. , here is no longer an example.
  • the update time of the hybrid state machine can be shortened, and by real-time updating the hybrid state machine, the real-time performance and accuracy of the hybrid state machine can be improved, thereby achieving
  • the hybrid state machine is utilized to increase the effectiveness of performing operations on the first object.
  • the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course can also be through hardware, but in many cases the former is a better implementation.
  • the technical solution of the present invention which is essential or contributes to the prior art, may be embodied in the form of a software product stored in a storage medium (such as ROM/RAM, disk,
  • the optical disc includes a number of instructions for causing a terminal device (which may be a cell phone, a computer, a server, or a network device, etc.) to perform the methods described in various embodiments of the present invention.
  • FIG. 8 is a schematic diagram of a state control apparatus according to an embodiment of the present invention. As shown in FIG. 8, the apparatus may include:
  • the detecting module 22 is configured to: the server detects an operation execution event, where the operation execution event is used to request operation on the first object in the first application; the determining module 24 is configured to determine, by the server, the first object in the hybrid state machine Whether the next node of the current node is the first state node or the first behavior tree node, wherein the nodes in the hybrid state machine include a state node and a behavior tree node, and the nodes in the hybrid state machine have a state jump relationship;
  • the operation module 26 is configured to: when it is determined that the next node of the current node is the first state node, the server performs an operation in the first state corresponding to the first state node on the first object; and the second operation module 28 is configured to: After determining that the next node of the current state is the first behavior tree node, the server performs an operation in the first behavior tree corresponding to the first behavior tree node on the first object.
  • the detecting module 22 in this embodiment may be used to perform step S202 in the first embodiment of the present application.
  • the determining module 24 in the embodiment may be used to perform step S204 in the embodiment 1 of the present application.
  • the first operation module 26 in the embodiment may be used to perform step S206 in the embodiment 1 of the present application, and the second operation module 28 in the embodiment may be used to perform step S208 in the embodiment 1 of the present application.
  • the server when the server detects an operation execution event, it is determined whether the next node of the current node of the first object in the hybrid state machine is the first state node or the first behavior tree node, and if it is the first state node, An object performs an operation in a first state corresponding to the first state node, and if the first behavior tree node is a first behavior tree, the operation in the first behavior tree corresponding to the first behavior tree node is performed, and the finite state machine is utilized.
  • the behavior tree is used to control the purpose of the individual performing the operation in the application, thereby realizing the technical effect of improving the efficiency of the individual performing the operation in the application, and further solving the technical problem that the related technology uses the finite state machine to control the individual to perform the operation with low efficiency.
  • FIG. 9 is a schematic diagram of an optional state control apparatus according to an embodiment of the present invention.
  • the determining module 24 may include: a first determining module 242, configured to When the operation execution event indicates an event-triggered operation or an abnormal operation, the server determines that the next node of the current node is the first state node; and the second determining module 244 is configured to indicate the process type operation in the operation execution event. Then the server determines that the next node of the current node is the first behavior tree node.
  • the server may determine the first state node or the first behavior tree node when the next node of the current node is determined according to the detected operation execution event indication operation, and the operation execution event indication operation may include an event-triggered operation or an abnormality.
  • the operation, the operation of the flow type, and the like, the content of the operation of the operation execution event indication is not limited in this embodiment, and other contents may be included in addition to the contents listed above, and will not be exemplified herein.
  • the embodiment determines whether the next node of the current node is the first state node or the first behavior tree node, and achieves the purpose of accurately determining the type of the next node of the current node, thereby achieving different according to different The effect of the node type performing different operations on the first object.
  • FIG. 10 is a schematic diagram of another optional state control apparatus according to an embodiment of the present invention.
  • the second operation module 28 may include: a first operation sub-module 282. , for the server to execute each leaf section in the first behavior tree on the first object The corresponding operation of the point.
  • the first behavior tree of the embodiment may include one or more leaf nodes, and each leaf node corresponds to an operation in a first behavior tree, that is, the operations in the first behavior tree may include one or more.
  • the server may determine, in the case that the next node of the current node of the first object in the hybrid state machine is the first behavior tree node, the server may perform the operation in the first behavior tree corresponding to the first behavior tree node of the first object. For example, when the first object is a game character and the first behavior tree node is a release skill, the operations in the first behavior tree may include adjusting skill intensity, selecting skill type, and the like. The operation corresponding to each leaf node in the first behavior tree is performed on the first object.
  • the attributes of the first object such as the life value of the game character, the skill remaining amount, and the like, may be affected.
  • the flow type operation is performed on the first object through the behavior tree, which can avoid the need to set a very complicated conversion relationship by using the wired state machine, thereby achieving the technical effect of improving the efficiency of the object execution operation in the control application.
  • FIG. 11 is a schematic diagram of still another optional state control apparatus according to an embodiment of the present invention.
  • the state control apparatus of the embodiment may further include: first obtaining The module 212 is configured to: before the server detects an operation execution event, the server acquires first configuration information, where the first configuration information is used to indicate a state node, a behavior tree node, and a state jump relationship; and the generating module 214 is configured to be used by the server. Generating a hybrid state machine for the first object based on the first configuration information.
  • first obtaining module 212 in this embodiment may be used to perform step S2012 in the first embodiment of the present application.
  • the generating module 214 in this embodiment may be used to perform step S2014 in Embodiment 1 of the present application. .
  • the first configuration information may be information for generating a hybrid state machine for the first object, and may be used to indicate a state node, a behavior tree node, and a state jump relationship in the hybrid state machine. It should be noted that the state jump relationship may be It includes state transition relationships between state nodes, between behavior tree nodes, and between state nodes and behavior tree nodes.
  • the first configuration information may include a mixed state Number of state nodes in the machine, number of behavior tree nodes, transition conditions between state nodes, transition conditions between behavior tree nodes, transition conditions between state nodes and behavior tree nodes, states corresponding to state nodes The operation in the action tree, the action tree in the behavior tree, and so on.
  • the first configuration information is not specifically limited in this embodiment, and the first configuration information may be adjusted according to actual application scenario requirements.
  • the first configuration information can be set and adjusted by the user according to actual needs.
  • the server may generate a hybrid state machine of the first object according to the first configuration information.
  • the state node in the hybrid state machine may be set according to the number of state nodes in the first configuration information, according to The number of the behavior tree nodes may be set to the behavior tree node in the hybrid state machine, and the jump relationship between the state nodes in the hybrid state machine may be set according to the transition condition between the state nodes in the first configuration information, according to the first.
  • the transition condition between the behavior tree nodes in the configuration information may set a jump relationship between the behavior tree nodes in the hybrid state machine, and may be set according to the transition condition between the state node and the behavior tree node in the first configuration information.
  • the jump relationship between the state node and the behavior tree node in the state machine, according to the operation in the state corresponding to the state node in the first configuration information, the operation corresponding to the state node in the hybrid state machine may be configured, according to The operations in the behavior tree corresponding to the behavior tree node in the first configuration information may be configured in the hybrid state machine Such behaviors as tree nodes corresponding to the state.
  • the foregoing is only a configuration operation of the hybrid state machine of the first object, and the server may also include other configuration operations in the process of generating the hybrid state machine for the first object according to the first configuration information, which is not illustrated here.
  • the first configuration information required to generate the hybrid state machine for the first object is obtained in advance, and the first configuration information can be set according to the actual application scenario requirement, and the effect that meets the actual needs of the user can be achieved, and at the same time, Obtaining the first configuration information required for generating the hybrid state machine in advance can achieve the effect of shortening the generation time of the hybrid state machine.
  • the state control apparatus of the embodiment may further include: a second obtaining module 216, configured to: after the server generates the hybrid state machine for the first object according to the first configuration information, The server obtains the second configuration information, and the update module 218 is configured to update the hybrid state machine according to the second configuration information.
  • a second obtaining module 216 configured to: after the server generates the hybrid state machine for the first object according to the first configuration information, The server obtains the second configuration information, and the update module 218 is configured to update the hybrid state machine according to the second configuration information.
  • the second obtaining module 216 in this embodiment may be used to perform step S2016 in the first embodiment of the present application.
  • the updating module 218 in the embodiment may be used to perform step S2018 in the first embodiment of the present application. .
  • the second configuration information may be used to update the hybrid state machine generated for the first object according to the first configuration information, and the second configuration information may include the content in the first configuration information, and may further include content other than the first configuration information, and modify the hybrid.
  • the operation in the state corresponding to the state node in the state machine modifying the operation in the behavior tree corresponding to the behavior tree node in the hybrid state machine, modifying the conversion condition and the jump relationship between the nodes in the hybrid state machine, adding or deleting the mixture A node in the state machine that adds or removes transition conditions and jump relationships between nodes in the hybrid state machine.
  • the second configuration information is not specifically limited in this embodiment, and the second configuration information may include other content, which is not illustrated here.
  • the update module 218 may include at least one of the following: a first update sub-module 2182 for a server to a state node already existing in the hybrid state machine, and/or an existing behavior tree node. And/or a state transition relationship between the existing state node and the existing behavior tree node; a deletion module 2184 for the server to delete the existing state node in the hybrid state machine, and/or existing a behavior tree node, and/or a state jump relationship between an existing state node and an existing behavior tree node; an adding module 2186 for the server to add a state node and/or a behavior tree node in the hybrid state machine, and / / Establish a state jump relationship between the added state node and / or behavior tree node and the existing state node and / or existing behavior tree node.
  • the above-mentioned update operation of the hybrid state machine is only an optional embodiment of the present invention. It should be noted that the present invention does not limit the update operation of the hybrid state machine, and may include other update operations in addition to the above-listed update operations. , here is no longer an example.
  • the update time of the hybrid state machine can be shortened, and by real-time updating the hybrid state machine, the real-time performance and accuracy of the hybrid state machine can be improved, thereby achieving
  • the hybrid state machine is utilized to increase the effectiveness of performing operations on the first object.
  • the above modules are the same as the examples and application scenarios implemented by the corresponding steps, but are not limited to the contents disclosed in the above embodiment 1. It should be noted that the foregoing module may be implemented in a hardware environment as shown in FIG. 1 as part of the device, and may be implemented by software or by hardware, where the hardware environment includes a network environment.
  • a terminal for implementing the above state control method.
  • FIG. 12 is a structural block diagram of a terminal according to an embodiment of the present invention.
  • the terminal may include: one or more (only one shown in the figure) processor 201, memory 203, and transmission device 205.
  • the terminal may further include an input and output device 207.
  • the memory 203 can be used to store software programs and modules, such as the state control method and the program instructions/modules corresponding to the device in the embodiment of the present invention.
  • the processor 201 executes each of the software programs and modules stored in the memory 203.
  • a functional application and data processing, that is, the above state control method is implemented.
  • Memory 203 can include high speed random access memory, and can also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid state memory.
  • memory 203 can further include memory remotely located relative to processor 201, which can be connected to the terminal over a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
  • the above described transmission device 205 is used to receive or transmit data via a network, and can also be used for data transmission between the processor and the memory. Specific examples of the above network may include a wired network and a wireless network.
  • the transmission device 205 includes a Network Interface Controller (NIC) that can be connected to other network devices and routers via a network cable to communicate with the Internet or a local area network.
  • the transmission device 205 is a Radio Frequency (RF) module for communicating with the Internet wirelessly.
  • NIC Network Interface Controller
  • RF Radio Frequency
  • the memory 203 is used to store an application.
  • the processor 201 can call the application stored in the memory 203 through the transmission device 205. Executing the steps of: the server detecting an operation execution event, wherein the operation execution event is for requesting operation on the first object in the first application; the server determining the next node of the current node of the first object in the hybrid state machine Is the first state node or the first behavior tree node, wherein the node in the hybrid state machine includes a state node and a behavior tree node, and the nodes in the hybrid state machine have a state jump relationship; if the next node of the current node is determined The node is a first state node, and the server performs an operation in the first state corresponding to the first state node on the first object; if it is determined that the next node in the current state is the first behavior tree node, the server is the first object Executing operations in the first behavior tree corresponding to the first behavior tree node.
  • the processor 201 is further configured to: if the operation execution event indicates an event-triggered operation or an abnormal operation, the server determines that the next node of the current node is the first state node; if the operation execution event indicates the process For the type operation, the server determines that the next node of the current node is the first behavior tree node.
  • the processor 201 is further configured to perform the step of: the server performing an operation corresponding to each leaf node in the first behavior tree on the first object.
  • the processor 201 is further configured to: before the server detects an operation execution event, the server acquires first configuration information, where the first configuration information is used to indicate a status node, a behavior tree node, and a state jump relationship; Generating a hybrid state machine for the first object according to the first configuration information, wherein the state node and the behavior tree node in the hybrid state machine have a state jump relationship.
  • the processor 201 is further configured to: after the server generates the hybrid state machine for the first object according to the first configuration information, the server acquires the second configuration information; and the server updates the hybrid state machine according to the second configuration information.
  • the processor 201 is further configured to perform the steps of: a server to a state node already existing in the hybrid state machine, and/or an existing behavior tree node, and/or an existing state node and an existing behavior tree node
  • the state jump relationship is updated; the server deletes the state node that already exists in the hybrid state machine, and/or the existing behavior tree node, and/or the state hop between the existing state node and the existing behavior tree node Transfer relationship; the server adds state in the hybrid state machine A node and/or behavior tree node, and/or a state transition relationship is established between the added state node and/or the behavior tree node and the existing state node and/or the existing behavior tree node.
  • a state control method and apparatus are provided.
  • the server detects the operation execution event, it is determined whether the next node of the current node of the first object in the hybrid state machine is the first state node or the first behavior tree node, and if it is the first state node, the first object is executed.
  • the operation in the first state corresponding to the state node if it is the first behavior tree node, performs the operation in the first behavior tree corresponding to the first behavior tree node on the first object, and achieves the use of the finite state machine and the behavior tree.
  • the purpose of the individual performing the operation in the application is controlled, thereby realizing the technical effect of improving the efficiency of the individual performing the operation in the application, thereby solving the technical problem that the related art uses the finite state machine to control the operation efficiency of the individual in the application.
  • the structure shown in FIG. 12 is only illustrative, and the terminal can be a smart phone (such as an Android mobile phone, an iOS mobile phone, etc.), a tablet computer, a palm computer, and a mobile Internet device (MID). Terminal equipment such as PAD.
  • FIG. 12 does not limit the structure of the above electronic device.
  • the terminal may also include more or fewer components (such as a network interface, display device, etc.) than shown in FIG. 12, or have a different configuration than that shown in FIG.
  • Embodiments of the present invention also provide a storage medium.
  • the foregoing storage medium may be used to execute program code of the state control method.
  • the foregoing storage medium may be located on at least one of the plurality of network devices in the network shown in the foregoing embodiment.
  • the storage medium is arranged to store program code for performing the following steps:
  • the server detects an operation execution event, where the operation execution event is used to request to operate on the first object in the first application;
  • the server determines whether the next node of the current node of the first object in the hybrid state machine is the first state node or the first behavior tree node, wherein the node in the hybrid state machine includes a state node and a behavior tree node, and the hybrid state machine There is a state jump relationship between the nodes in the middle;
  • the server performs an operation in the first state corresponding to the first state node on the first object
  • the server performs an operation in the first behavior tree corresponding to the first behavior tree node on the first object.
  • the storage medium is further configured to store program code for performing the following steps: if the operation execution event indicates an event-triggered operation or an abnormal operation, the server determines that the next node of the current node is the first state node. If the operation execution event indicates a process type operation, the server determines that the next node of the current node is the first behavior tree node.
  • the storage medium is further configured to store program code for performing the steps of: executing, by the server, the operation corresponding to each of the leaf nodes in the first behavior tree for the first object.
  • the storage medium is further configured to store program code for performing the following steps: the server acquires first configuration information before the server detects the operation execution event, wherein the first configuration information is used to indicate the status node, the behavior tree a node and a state jump relationship; the server generates a hybrid state machine for the first object according to the first configuration information, wherein the state node and the behavior tree node in the hybrid state machine have a state jump relationship.
  • the storage medium is further arranged to store program code for performing the following steps: After the server generates the hybrid state machine for the first object according to the first configuration information, the server acquires the second configuration information; the server updates the hybrid state machine according to the second configuration information.
  • the storage medium is further arranged to store program code for performing the following steps: a server to a state node already present in the hybrid state machine, and/or an existing behavior tree node, and/or an existing state node Updating the state jump relationship with the existing behavior tree node; the server deletes the existing state node in the hybrid state machine, and/or the existing behavior tree node, and/or the existing state node and existing State transition relationship between behavior tree nodes; the server adds state nodes and/or behavior tree nodes in the hybrid state machine, and/or the added state nodes and/or behavior tree nodes and existing state nodes and/or Or establish a state jump relationship between existing behavior tree nodes.
  • the foregoing storage medium may include, but not limited to, a USB flash drive, a Read-Only Memory (ROM), a Random Access Memory (RAM), a mobile hard disk, and a magnetic memory.
  • ROM Read-Only Memory
  • RAM Random Access Memory
  • a mobile hard disk e.g., a hard disk
  • magnetic memory e.g., a hard disk
  • the integrated unit in the above embodiment if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in the above-described computer readable storage medium.
  • the technical solution of the present invention may contribute to the prior art or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium.
  • a number of instructions are included to cause one or more computer devices (which may be a personal computer, server or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the disclosed client may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • multiple units or components may be combined or may be Integrate into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, unit or module, and may be electrical or otherwise.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种状态控制方法和装置。该方法包括:服务器检测到操作执行事件,操作执行事件用于请求对第一应用中的第一对象进行操作;服务器判断第一对象在混合状态机中的当前节点的下一个节点为第一状态节点还是第一行为树节点,混合状态机中的节点包括状态节点和行为树节点,混合状态机中的节点之间具有状态跳转关系;若判断出当前节点的下一个节点为第一状态节点,则服务器对第一对象执行第一状态节点所对应的第一状态中的操作;若判断出当前状态的下一个节点为第一行为树节点,则服务器对第一对象执行第一行为树节点所对应的第一行为树中的操作。本发明解决了相关技术使用有限状态机控制应用中个体执行操作效率低的技术问题。

Description

状态控制方法和装置
本申请要求于2016年03月03日提交中国专利局、申请号为201610121881.1、发明名称“状态控制方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及计算机领域,具体而言,涉及一种状态控制方法和装置。
背景技术
目前,应用中控制个体执行操作的方式通常包括有限状态机和行为树,但是,有限状态机和行为树在执行操作过程中各自均存在缺陷,具体地:对于有限状态机,当状态非常多时,有限状态机需要处理大量的状态转换关系,不仅增加了设计者的工作量,而且不便于对有限状态机的维护,导致应用中个体执行操作效率低。对于行为树,行为树在状态跳转方面并不直观;行为树适合按计划执行一系列行为,不能有效地处理一些异常与特殊情况下的状态跳转。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种状态控制方法和装置,以至少解决相关技术使用有限状态机控制应用中个体执行操作效率低的技术问题。
根据本发明实施例的一个方面,提供了一种状态控制方法,包括:服务器检测到操作执行事件,其中,操作执行事件用于请求对第一应用中的第一对象进行操作;服务器判断第一对象在混合状态机中的当前节点的下一个节点为第一状态节点还是第一行为树节点,其中,混合状态机中的节点包括状态节点和行为树节点,混合状态机中的节点之间具有状态跳转关 系;若判断出当前节点的下一个节点为第一状态节点,则服务器对第一对象执行第一状态节点所对应的第一状态中的操作;若判断出当前状态的下一个节点为第一行为树节点,则服务器对第一对象执行第一行为树节点所对应的第一行为树中的操作。
根据本发明实施例的另一方面,还提供了一种状态控制装置,包括:检测模块,用于服务器检测到操作执行事件,其中,操作执行事件用于请求对第一应用中的第一对象进行操作;判断模块,用于服务器判断第一对象在混合状态机中的当前节点的下一个节点为第一状态节点还是第一行为树节点,其中,混合状态机中的节点包括状态节点和行为树节点,混合状态机中的节点之间具有状态跳转关系;第一操作模块,用于在判断出当前节点的下一个节点为第一状态节点,则服务器对第一对象执行第一状态节点所对应的第一状态中的操作;第二操作模块,用于在判断出当前状态的下一个节点为第一行为树节点,则服务器对第一对象执行第一行为树节点所对应的第一行为树中的操作。
在本发明实施例中,通过服务器在检测到操作执行事件时判断第一对象在混合状态机中的当前节点的下一个节点为第一状态节点还是第一行为树节点,若为第一状态节点则对第一对象执行第一状态节点对应的第一状态中的操作,若为第一行为树节点则对第一对象执行第一行为树节点对应的第一行为树中的操作,达到了利用有限状态机和行为树共同控制应用中个体执行操作的目的,从而实现了提高应用中个体执行操作效率的技术效果,进而解决了相关技术使用有限状态机控制应用中个体执行操作效率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的状态控制方法的硬件环境的示意图;
图2是根据本发明实施例的一种可选的状态控制方法的流程图;
图3是根据本发明实施例的有限状态机的示意图;
图4a是根据本发明实施例的状态分组之间有限状态机的示意图;
图4b是根据本发明实施例的层次状态机的示意图;
图5是根据本发明实施例的基于栈的状态机的示意图;
图6是根据本发明实施例的行为树的示意图;
图7是根据本发明实施例的混合状态机的示意图;
图8是根据本发明实施例的状态控制装置的示意图;
图9是根据本发明实施例的一种可选的状态控制装置的示意图;
图10是根据本发明实施例的另一种可选的状态控制装置的示意图;
图11是根据本发明实施例的再一种可选的状态控制装置的示意图;以及
图12是根据本发明实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描 述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种状态控制方法的方法实施例。
可选地,在本实施例中,上述状态控制方法可以应用于如图1所示的由服务器102和终端104所构成的硬件环境中。如图1所示,服务器102通过网络与终端104进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端104并不限定于PC、手机、平板电脑等。本发明实施例的数据处理方法可以由服务器102来执行,也可以由终端104来执行,还可以是由服务器102和终端104共同执行。其中,终端104执行本发明实施例的数据处理方法也可以是由安装在其上的客户端来执行。
图2是根据本发明实施例的一种可选的状态控制方法的流程图,如图2所示,该方法可以包括以下步骤:
步骤S202,服务器检测到操作执行事件,其中,操作执行事件用于请求对第一应用中的第一对象进行操作;
步骤S204,服务器判断第一对象在混合状态机中的当前节点的下一个节点为第一状态节点还是第一行为树节点,其中,混合状态机中的节点包括状态节点和行为树节点,混合状态机中的节点之间具有状态跳转关系;
步骤S206,若判断出当前节点的下一个节点为第一状态节点,则服务器对第一对象执行第一状态节点所对应的第一状态中的操作;
步骤S208,若判断出当前状态的下一个节点为第一行为树节点,则服务器对第一对象执行第一行为树节点所对应的第一行为树中的操作。
通过上述步骤S202至步骤S208,通过服务器在检测到操作执行事件时判断第一对象在混合状态机中的当前节点的下一个节点为第一状态节点还是第一行为树节点,若为第一状态节点则对第一对象执行第一状态节点对应的第一状态中的操作,若为第一行为树节点则对第一对象执行第一行为树节点对应的第一行为树中的操作,达到了利用有限状态机和行为树共同控制应用中个体执行操作的目的,从而实现了提高应用中个体执行操作效率的技术效果,进而解决了相关技术使用有限状态机控制应用中个体执行操作效率低的技术问题。
在步骤S202提供的技术方案中,第一应用可以为游戏类应用、即时通信类应用,或者其他类型应用,本发明对第一应用为作限定。第一应用中可以包括多个对象,这多个对象中包括第一对象,第一对象可以为这多个对象中的任意一个对象,需要说明的是,此处的对象可以为应用中某个执行事件的事件对象,比如游戏人物。第一应用可以安装在服务器中,也可以安装在客户端(比如智能手机、电能等),由服务器负责对该第一应用中的事件和对象进行处理和维护。操作执行事件可以用于请求对第一应用中的第一对象进行操作,其中,对第一对象进行的操作可以包括调整第一对象移动路径、控制第一对象释放技能等,本发明对此并未做具体限定。
可选地,服务器可以实时检测该操作执行事件,以便于及时准确地响应该操作执行事件对第一应用中的第一对象进行操作。服务器在实时检测该操作执行事件的同时还可以实时检测第一应用中的第一对象是否正在执行某个操作,如果服务器检测到第一对象正在执行某个操作,则在检测到该操作执行事件时需要等待第一对象当前执行的操作执行完毕时才控制第一对象响应该操作执行事件;如果服务器检测到第一对象没有正在执行某个操作,则在检测到该操作执行事件时立即控制第一对象响应该操作执行事件。
在步骤S204提供的技术方案中,混合状态机可以控制对第一对象进行操作,需要说明的是,混合状态机可以控制对一个或者多个第一应用中 的对象进行操作。混合状态机由有限状态机和行为树组成,为了更好地说明混合状态机,本发明实施例首先对有限状态机和行为树做具体说明如下:
有限状态机可以控制应用中个体对象执行操作,它包含了有限个状态和状态间的转换条件。同一时间内,个体对象只会处于某一个状态中,有限状态机需要从一个状态转换到另外一个状态实现执行不同的操作。例如,图3中表示了一个游戏应用中一个游戏人物的四个状态,分别为游荡、攻击、逃跑、寻找治疗,以及上述四个状态之间的转换关系,比如,游戏人物从寻找治疗至游荡的转换条件为发现药物,从攻击至游荡的转换条件为对象不在视野范围内,此处不再一一举例上述四种状态之间的转换条件。
有限状态机可以分为两种,分别为层次状态机(Hierarchical Finite State Machines,简称为HFSM)和基于栈的状态机(Stack based Finite State Machines,简称为SFSM)。其中,层次状态机提出了将状态分组的概念,不同组之间的状态共享相同的转换关系。它提升了状态控制的粒度,大大减少了重复的状态转换关系,可以让设计者更好的控制状态转换。如图4a所示,有限状态机中包括三个状态A、B、C,其中,A和B状态在β条件触发时都可以跳转到C状态,则可以将A和B状态分组,节省掉重复的β条件触发的状态转换,分组后的有限状态机,即有限状态机如图4b所示。
基于栈的状态机可以使用栈结构管理状态的转换关系,如图5所示,栈顶保存了当前激活的状态C,状态之间的转换可以通过入栈和出栈操作来实现,该结构能够有效地处理基于事件触发的状态打断和继续的情况。例如,在游戏应用中需要添加一个新功能使得电脑AI随时暂停,则需要添加一个暂停状态。如果使用传统的有限状态机则需要为该暂停状态和每一个有限状态机中存在的状态之间设计转换关系。而使用基于栈的状态机,当事件触发需要暂停时只需要将暂停状态压栈即可,暂停结束时只需要将该暂停状态出栈即可以恢复到原有状态继续执行,大大节省了状态转换关系的设计。
需要说明的是,本发明实施例中的混合状态机可以利用层次状态机,也可以利用基于栈的状态机,本发明对此并不做限定。
行为树也可以控制应用中个体对象执行操作,行为树的节点可以分为以下几类:
组合节点(Composite):行为树中的分支,即非叶子节点,可以包括选择节点(Selector)、序列节点(Sequence)、简单并行节点(Simple Parallel)。
任务节点(Task):是行为树中的叶子节点,执行一项具体的任务,比如移动AI等。
修饰节点(Decorator):依附于Composite节点或者Task节点中,用于判断某个分支或者某个叶子节点能否被执行。
服务节点(Service):依附于Composite节点中,按一定频率被调用,用于更新该分支的信息。
根节点(Root):行为树的根。
选择节点(Selector):从左到右执行其子节点,若其子节点中有一个执行成功并返回,本节点就会立即停止执行。如果子节点返回成功,则该节点返回成功;若全部子节点返回失败,则该节点返回失败。
序列节点(Sequence):从左到右执行其子节点,若其子节点中有一个执行失败并返回,本节点就会立即停止执行。如果有子节点返回失败,则该节点返回失败;若所有节点返回成功,则该节点返回成功。
行为树的基本原理可以描述为:从根节点开始自顶向下,通过一些条件搜索这棵树,最终确定需要执行的叶子节点,并且执行它。树中除了根节点之外的每一个节点都有一个返回值,根据其执行情况返回成功或者失败。节点的返回值将会反馈给该节点的父节点,对其父节点的返回值造成一定的影响。如图6所示的行为树中,从根节点开始搜索,确定需要执行的叶子节点分别为任务节点0、任务节点1、任务节点2、任务节点3、任 务节点4。一开始任务节点0执行失败,返回其给父节点选择节点0,继续执行任务节点1。任务节点1执行成功,返回给其父节点选择节点0。由于任务节点0、任务节点1、任务节点2的父节点选择节点0是个选择节点,因此立即返回成功。同理,任务节点3执行成功,返回给其父节点顺序节点1,继续执行任务节点4。任务节点4执行失败,返回给其父节点顺序节点1。由于任务节点3、任务节点4的父节点顺序节点1是个顺序节点,因此立即返回失败。选择节点0、顺序节点1的父节点顺序节点0为顺序节点,在接收到选择节点0、顺序节点1的返回值时,确定顺序节点0的返回值为失败。顺序节点0将返回值返回至根节点,因此,整个行为树遍历完成之后,结果为失败。
混合状态机中的节点可以包括状态节点和行为树节点,且混合状态机中的节点之间具有状态跳转关系,具体可以包括混合状态机中的状态节点之间、行为树节点之间、状态节点与行为树节点之间具有状态跳转关系。图7是根据本发明实施例的混合状态机的示意图,如图7所示,以游戏应用中游戏人物对应的混合状态机为例,混合状态机中可以包括多个节点,这多个节点中包括状态节点和行为树节点,其中,待机、寻路、追踪为状态节点,释放技能为行为树节点,混合状态机中的状态节点和状态节点之间,状态节点与行为树节点之间,行为树与行为树节点之间存在转换条件,图7中的箭头可以代表节点之间具有转换关系,节点之间具体的转换条件此处不做具体说明,行为树中包括多个节点,如图7所示,行为树节点中可以包括至少一个节点,比如顺序节点、选择节点、修饰节点、任务节点等。需要说明的是,本发明实施例对混合状态机中的状态节点和行为树节点的个数不做限定,对节点之间的转换条件不做限定,对行为树中节点个数,节点类型和节点关系不做限定。
在步骤S204提供的技术方案中,服务器在检测到操作执行事件之后,判断第一对象在混合状态机中的当前节点的下一个节点为第一状态节点还是行为树节点。需要说明的是,操作执行事件中可以包括在混合状态机中第一对象所在的当前节点,也可以包括第一对象在执行当前节点所对应 的操作之后转换的目标节点,即当前节点的下一个节点,在操作执行事件的触发下第一对象可以在混合状态机中从当前节点转换至下一个节点,其中,下一个节点可以是状态节点,也可以是行为树节点。
在步骤S206和步骤S208提供的技术方案中,混合状态机中的任意一个状态节点(包括第一状态节点)所对应的状态中均包括对第一对象进行的操作,混合状态机中的任意一个行为树节点所对应的行为树中包括对第一对象进行的操作(包括第一行为树节点)。当服务器判断出当前节点的下一个节点为第一状态节点时,服务器对第一对象执行第一状态节点所对应的第一状态中的操作;当判断出当前状态的下一个节点为第一行为树节点时,服务器对第一对象执行第一行为树节点所对应的第一行为树中的操作。需要说明的是,本发明实施例对第一状态节点所对应的第一状态中的操作以及第一行为树所对应的操作不做限定。
本发明实施例利用混合状态机融合了有限状态机和行为树的优点,对于需要遵照一定流程的计划,使用行为树处理,对于事件触发的行为或者一些异常情况,使用有限状态机处理。既能处理异常与特征情况下的状态跳转,又能根据某种计划执行一系列阶段性的行为。
在实际应用场景中,如图7所示,对于游戏应用中的游戏人物来说主要有待机、追踪、寻路、释放技能四个状态。其中,释放技能的状态比较复杂,可能存在许多个不同的技能需要特定的排列组合来丰富游戏人物的技能表现。因此,本发明实施例将释放技能作为一个大的通用状态,使用行为树去管理,释放技能状态和待机、追踪、寻路等其他状态的转换则使用有限状态机去控制。有限状态机可以使用程序代码维护,以保证大多数情况AI处理各种情况的稳定性。在实际使用中有限状态机选择基于栈的状态机,能够进一步减少多个状态转换带来的复杂性。在释放技能状态内部使用行为树去管理,游戏人物技能策划人员只需负责对该行为树进行编辑修改,而无需关心该行为树和外部其他状态的转换关系。由于该行为树内部大部分逻辑只是技能的组合与阶段的控制,并不会影响到整体的AI 逻辑,策划人员完全可以自己操作而无需程序设计人员的协助。采用这样的方式,策划人员可以只关心自己需要的技能,控制出招流程,平衡游戏的节奏感,极大地节省了策划人员的工作量。此外,本发明实施例还可以进行非常方便地实现打断与恢复。考虑技能释放后造成游戏人物眩晕的例子,游戏人物眩晕结束后继续从中断点开始执行。使用传统的行为树解决这个问题将会非常复杂,或者需要很多任务才能办到。而本发明实施例通过借助于外部有限状态机,在有限状态机中新增一个眩晕状态,在触发眩晕的时候AI从当前状态跳转到眩晕状态,结束之后继续回到上一个状态。从而方便快速地实现了状态的打断与恢复。
作为一种可选的实施例,步骤S204服务器判断第一对象在混合状态机中的当前节点的下一个节点为第一状态节点还是第一行为树节点可以包括:若操作执行事件指示的是事件触发的操作或者异常的操作,则服务器判断当前节点的下一个节点为第一状态节点;若操作执行事件指示的是流程类型的操作,则服务器判断当前节点的下一个节点为第一行为树节点。
该实施例中服务器可以依据检测到的操作执行事件指示的操作决定当前节点的下一个节点时第一状态节点还是第一行为树节点,操作执行事件指示的操作可以包括事件触发的操作、异常的操作、流程类型的操作等,该实施例对操作执行事件指示的操作的内容不做限定,除了上述列举的内容外,还可以包括其他内容,此处不再一一举例说明。该实施例依据操作执行事件指示的操作判断当前节点的下一个节点是第一状态节点还是第一行为树节点,达到了准确确定当前节点的下一个节点的类型的目的,进而能够达到根据不同的节点类型对第一对象执行不同操作的效果。
作为一种可选的实施例,步骤S208服务器对第一对象执行第一行为树节点所对应的第一行为树中的操作包括:服务器对第一对象执行第一行为树中的每个叶子节点所对应的操作。
该实施例中服务器在确定第一对象在混合状态机中的当前节点的下一个节点为第一行为树节点的情况下,服务器可以对第一对象执行第一行 为树节点所对应的第一行为树中的操作,比如当第一对象为游戏人物,第一行为树节点为释放技能时,第一行为树中的操作可以包括调节技能强度、选择技能种类等。第一行为树中可以包括一个或者多个叶子节点,每个叶子节点对应一个第一行为树中的操作,即第一行为树中的操作可以包括一个,也可以包括多个。服务器对第一对象执行第一行为树节点所对应的第一行为树中的操作时,可以执行第一行为树中的每个叶子节点所对应的操作,具体的执行过程在介绍行为树的原理时已经说明,此处不再赘述。在执行完第一行为树中的每个叶子节点所对应的操作后,可以影响第一对象的属性,比如游戏人物的生命值、技能剩余量等。该实施例通过行为树对第一对象进行流程类型操作,能够避免使用有线状态机需要设置非常复杂的转换关系,进而达到了提高控制应用中对象执行操作的效率的技术效果。
作为一种可选的实施例,在步骤S202服务器检测到操作执行事件之前,该实施例还可以包括以下步骤:
步骤S2012,服务器获取第一配置信息,其中,第一配置信息用于指示状态节点、行为树节点、以及状态跳转关系。
步骤S2014,服务器根据第一配置信息为第一对象生成混合状态机。
在步骤S2012提供的技术方案中,第一配置信息可以是为第一对象生成混合状态机所依据的信息,可以用于指示混合状态机中的状态节点、行为树节点以及状态跳转关系,需要说明的是,状态跳转关系可以包括状态节点之间、行为树节点之间、状态节点与行为树节点之间的状态跳转关系。第一配置信息可以包括混合状态机中状态节点的个数、行为树节点的个数、状态节点之间的转换条件、行为树节点之间的转换条件、状态节点与行为树节点之间的转换条件、状态节点所对应的状态中的操作,行为树节点所对应的行为树中的操作等。该实施例对第一配置信息不做具体限定,第一配置信息可以根据实际应用场景需求进行相应的调整。该第一配置信息可以由用户根据实际需求进行设定和调整。
在步骤S2014提供的技术方案中,服务器在获取第一配置信息之后, 依据该第一配置信息可以生成第一对象的混合状态机,比如,依据第一配置信息中的状态节点的个数可以设置混合状态机中的状态节点,依据行为树节点的个数可以设置混合状态机中的行为树节点,依据第一配置信息中的状态节点之间的转换条件可以设置混合状态机中的状态节点之间的跳转关系,依据第一配置信息中的行为树节点之间的转换条件可以设置混合状态机中的行为树节点之间的跳转关系,依据第一配置信息中的状态节点与行为树节点之间的转换条件可以设置混合状态机中的状态节点与行为树节点之间的跳转关系,依据第一配置信息中的状态节点所对应的状态中的操作可以配置混合状态机中的状态节点所对应的状态的操作,依据第一配置信息中的行为树节点所对应的行为树中的操作可以配置混合状态机中的行为树节点所对应的状态的操作等。上述只是列举了部分第一对象的混合状态机的配置操作,服务器根据第一配置信息为第一对象生成混合状态机的过程中还可以包括其他配置操作,此处不再一一举例说明。
该实施例通过提前获取为第一对象生成混合状态机所需的第一配置信息,且该第一配置信息可以依据实际应用场景需求进行设定,能够达到满足用户实际需求的效果,同时,通过提前获取用于生成混合状态机所需的第一配置信息能够达到缩短混合状态机的生成时间的效果。
作为一种可选的实施例,在步骤S2014服务器根据第一配置信息为第一对象生成混合状态机之后,该实施例还可以包括以下步骤:
步骤S2016,服务器获取第二配置信息。
步骤S2018,服务器根据第二配置信息对混合状态机进行更新。
在步骤S2016提供的技术方案中,第二配置信息可以用于更新依据第一配置信息为第一对象生成的混合状态机,第二配置信息可以包括第一配置信息中的内容,还可以包括第一配置信息以外的内容,修改混合状态机中状态节点所对应的状态中的操作,修改混合状态机中行为树节点所对应的行为树中的操作,修改混合状态机中节点之间的转换条件和跳转关系,增加或者删除混合状态机中的节点,增加或者删除混合状态机中节点之间 的转换条件和跳转关系等。该实施例对第二配置信息不做具体限定,第二配置信息可以包括其他内容,此处不再一一举例说明。
在步骤S2018提供的技术方案中,服务器在获取第二配置信息之后,依据该第二配置信息可以对混合状态机进行更新,可以包括对混合状态机中的节点进行更新,也可以包括对混合状态机中节点之间的跳转关系进行更新等。
可选地,步骤S2018服务器根据第二配置信息对混合状态机进行更新可以包括以下至少之一:服务器对混合状态机中已存在的状态节点、和/或已存在的行为树节点、和/或已存在的状态节点与已存在的行为树节点之间的状态跳转关系进行更新;服务器删除混合状态机中已存在的状态节点、和/或已存在的行为树节点、和/或已存在的状态节点与已存在的行为树节点之间的状态跳转关系;服务器在混合状态机中增加状态节点和/或行为树节点、和/或在增加的状态节点和/或行为树节点与已存在的状态节点和/或已存在的行为树节点之间建立状态跳转关系。
上述对混合状态机的更新操作只是本发明的一种可选实施例,需要说明的是,本发明并不对混合状态机的更新操作做限定,除了上述列举的更新操作外还可以包括其他更新操作,此处不再一一举例说明。该实施例通过提前获取用于更新混合状态机的第二配置信息,可以缩短混合状态机的更新时间,通过对混合状态机进行实时更新,能够提高混合状态机的实时性和准确性,进而达到利用混合状态机提高对第一对象执行操作的效率的效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根 据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述状态控制方法的状态控制装置。图8是根据本发明实施例的状态控制装置的示意图,如图8所示,该装置可以包括:
检测模块22,用于服务器检测到操作执行事件,其中,操作执行事件用于请求对第一应用中的第一对象进行操作;判断模块24,用于服务器判断第一对象在混合状态机中的当前节点的下一个节点为第一状态节点还是第一行为树节点,其中,混合状态机中的节点包括状态节点和行为树节点,混合状态机中的节点之间具有状态跳转关系;第一操作模块26,用于在判断出当前节点的下一个节点为第一状态节点,则服务器对第一对象执行第一状态节点所对应的第一状态中的操作;第二操作模块28,用于在判断出当前状态的下一个节点为第一行为树节点,则服务器对第一对象执行第一行为树节点所对应的第一行为树中的操作。
需要说明的是,该实施例中的检测模块22可以用于执行本申请实施例1中的步骤S202,该实施例中的判断模块24可以用于执行本申请实施例1中的步骤S204,该实施例中的第一操作模块26可以用于执行本申请实施例1中的步骤S206,该实施例中的第二操作模块28可以用于执行本申请实施例1中的步骤S208。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作 为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
通过上述模块,通过服务器在检测到操作执行事件时判断第一对象在混合状态机中的当前节点的下一个节点为第一状态节点还是第一行为树节点,若为第一状态节点则对第一对象执行第一状态节点对应的第一状态中的操作,若为第一行为树节点则对第一对象执行第一行为树节点对应的第一行为树中的操作,达到了利用有限状态机和行为树共同控制应用中个体执行操作的目的,从而实现了提高应用中个体执行操作效率的技术效果,进而解决了相关技术使用有限状态机控制应用中个体执行操作效率低的技术问题。
作为一种可选的实施例,图9是根据本发明实施例的一种可选的状态控制装置的示意图,如图9所示,判断模块24可以包括:第一判定模块242,用于在操作执行事件指示的是事件触发的操作或者异常的操作时,服务器判断当前节点的下一个节点为第一状态节点;第二判定模块244,用于在操作执行事件指示的是流程类型的操作,则服务器判断当前节点的下一个节点为第一行为树节点。
该实施例中服务器可以依据检测到的操作执行事件指示的操作决定当前节点的下一个节点时第一状态节点还是第一行为树节点,操作执行事件指示的操作可以包括事件触发的操作、异常的操作、流程类型的操作等,该实施例对操作执行事件指示的操作的内容不做限定,除了上述列举的内容外,还可以包括其他内容,此处不再一一举例说明。该实施例依据操作执行事件指示的操作判断当前节点的下一个节点是第一状态节点还是第一行为树节点,达到了准确确定当前节点的下一个节点的类型的目的,进而能够达到根据不同的节点类型对第一对象执行不同操作的效果。
作为一种可选的实施例,图10是根据本发明实施例的另一种可选的状态控制装置的示意图,如图10所示,第二操作模块28可以包括:第一操作子模块282,用于服务器对第一对象执行第一行为树中的每个叶子节 点所对应的操作。
该实施例第一行为树中可以包括一个或者多个叶子节点,每个叶子节点对应一个第一行为树中的操作,即第一行为树中的操作可以包括一个,也可以包括多个。服务器在确定第一对象在混合状态机中的当前节点的下一个节点为第一行为树节点的情况下,服务器可以对第一对象执行第一行为树节点所对应的第一行为树中的操作,比如当第一对象为游戏人物,第一行为树节点为释放技能时,第一行为树中的操作可以包括调节技能强度、选择技能种类等。对第一对象执行第一行为树中的每个叶子节点所对应的操作,具体的执行过程在介绍行为树的原理时已经说明,此处不再赘述。在执行完第一行为树中的每个叶子节点所对应的操作后,可以影响第一对象的属性,比如游戏人物的生命值、技能剩余量等。该实施例通过行为树对第一对象进行流程类型操作,能够避免使用有线状态机需要设置非常复杂的转换关系,进而达到了提高控制应用中对象执行操作的效率的技术效果。
作为一种可选的实施例,图11是根据本发明实施例的再一种可选的状态控制装置的示意图,如图11所示,该实施例的状态控制装置还可以包括:第一获取模块212,用于在服务器检测到操作执行事件之前,服务器获取第一配置信息,其中,第一配置信息用于指示状态节点、行为树节点、以及状态跳转关系;生成模块214,用于服务器根据第一配置信息为第一对象生成混合状态机。
需要说明的是,该实施例中的第一获取模块212可以用于执行本申请实施例1中的步骤S2012,该实施例中的生成模块214可以用于执行本申请实施例1中的步骤S2014。
第一配置信息可以是为第一对象生成混合状态机所依据的信息,可以用于指示混合状态机中的状态节点、行为树节点以及状态跳转关系,需要说明的是,状态跳转关系可以包括状态节点之间、行为树节点之间、状态节点与行为树节点之间的状态跳转关系。第一配置信息可以包括混合状态 机中状态节点的个数、行为树节点的个数、状态节点之间的转换条件、行为树节点之间的转换条件、状态节点与行为树节点之间的转换条件、状态节点所对应的状态中的操作,行为树节点所对应的行为树中的操作等。该实施例对第一配置信息不做具体限定,第一配置信息可以根据实际应用场景需求进行相应的调整。该第一配置信息可以由用户根据实际需求进行设定和调整。服务器在获取第一配置信息之后,依据该第一配置信息可以生成第一对象的混合状态机,比如,依据第一配置信息中的状态节点的个数可以设置混合状态机中的状态节点,依据行为树节点的个数可以设置混合状态机中的行为树节点,依据第一配置信息中的状态节点之间的转换条件可以设置混合状态机中的状态节点之间的跳转关系,依据第一配置信息中的行为树节点之间的转换条件可以设置混合状态机中的行为树节点之间的跳转关系,依据第一配置信息中的状态节点与行为树节点之间的转换条件可以设置混合状态机中的状态节点与行为树节点之间的跳转关系,依据第一配置信息中的状态节点所对应的状态中的操作可以配置混合状态机中的状态节点所对应的状态的操作,依据第一配置信息中的行为树节点所对应的行为树中的操作可以配置混合状态机中的行为树节点所对应的状态的操作等。上述只是列举了部分第一对象的混合状态机的配置操作,服务器根据第一配置信息为第一对象生成混合状态机的过程中还可以包括其他配置操作,此处不再一一举例说明。
该实施例通过提前获取为第一对象生成混合状态机所需的第一配置信息,且该第一配置信息可以依据实际应用场景需求进行设定,能够达到满足用户实际需求的效果,同时,通过提前获取用于生成混合状态机所需的第一配置信息能够达到缩短混合状态机的生成时间的效果。
作为一种可选的实施例,如图11所示,该实施例的状态控制装置还可以包括:第二获取模块216,用于在服务器根据第一配置信息为第一对象生成混合状态机之后,服务器获取第二配置信息;更新模块218,用于服务器根据第二配置信息对混合状态机进行更新。
需要说明的是,该实施例中的第二获取模块216可以用于执行本申请实施例1中的步骤S2016,该实施例中的更新模块218可以用于执行本申请实施例1中的步骤S2018。
第二配置信息可以用于更新依据第一配置信息为第一对象生成的混合状态机,第二配置信息可以包括第一配置信息中的内容,还可以包括第一配置信息以外的内容,修改混合状态机中状态节点所对应的状态中的操作,修改混合状态机中行为树节点所对应的行为树中的操作,修改混合状态机中节点之间的转换条件和跳转关系,增加或者删除混合状态机中的节点,增加或者删除混合状态机中节点之间的转换条件和跳转关系等。该实施例对第二配置信息不做具体限定,第二配置信息可以包括其他内容,此处不再一一举例说明。
可选地,如图11所示,更新模块218可以包括以下至少之一:第一更新子模块2182,用于服务器对混合状态机中已存在的状态节点、和/或已存在的行为树节点、和/或已存在的状态节点与已存在的行为树节点之间的状态跳转关系进行更新;删除模块2184,用于服务器删除混合状态机中已存在的状态节点、和/或已存在的行为树节点、和/或已存在的状态节点与已存在的行为树节点之间的状态跳转关系;增加模块2186,用于服务器在混合状态机中增加状态节点和/或行为树节点、和/或在增加的状态节点和/或行为树节点与已存在的状态节点和/或已存在的行为树节点之间建立状态跳转关系。
上述对混合状态机的更新操作只是本发明的一种可选实施例,需要说明的是,本发明并不对混合状态机的更新操作做限定,除了上述列举的更新操作外还可以包括其他更新操作,此处不再一一举例说明。该实施例通过提前获取用于更新混合状态机的第二配置信息,可以缩短混合状态机的更新时间,通过对混合状态机进行实时更新,能够提高混合状态机的实时性和准确性,进而达到利用混合状态机提高对第一对象执行操作的效率的效果。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
实施例3
根据本发明实施例,还提供了一种用于实施上述状态控制方法的终端。
图12是根据本发明实施例的一种终端的结构框图,如图12所示,该终端可以包括:一个或多个(图中仅示出一个)处理器201、存储器203、以及传输装置205,如图12所示,该终端还可以包括输入输出设备207。
其中,存储器203可用于存储软件程序以及模块,如本发明实施例中的状态控制方法和装置对应的程序指令/模块,处理器201通过运行存储在存储器203内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的状态控制方法。存储器203可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器203可进一步包括相对于处理器201远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置205用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置205包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置205为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器203用于存储应用程序。
处理器201可以通过传输装置205调用存储器203存储的应用程序, 以执行下述步骤:服务器检测到操作执行事件,其中,操作执行事件用于请求对第一应用中的第一对象进行操作;服务器判断第一对象在混合状态机中的当前节点的下一个节点为第一状态节点还是第一行为树节点,其中,混合状态机中的节点包括状态节点和行为树节点,混合状态机中的节点之间具有状态跳转关系;若判断出当前节点的下一个节点为第一状态节点,则服务器对第一对象执行第一状态节点所对应的第一状态中的操作;若判断出当前状态的下一个节点为第一行为树节点,则服务器对第一对象执行第一行为树节点所对应的第一行为树中的操作。
处理器201还用于执行下述步骤:若操作执行事件指示的是事件触发的操作或者异常的操作,则服务器判断当前节点的下一个节点为第一状态节点;若操作执行事件指示的是流程类型的操作,则服务器判断当前节点的下一个节点为第一行为树节点。
处理器201还用于执行下述步骤:服务器对第一对象执行第一行为树中的每个叶子节点所对应的操作。
处理器201还用于执行下述步骤:在服务器检测到操作执行事件之前,服务器获取第一配置信息,其中,第一配置信息用于指示状态节点、行为树节点、以及状态跳转关系;服务器根据第一配置信息为第一对象生成混合状态机,其中,混合状态机中的状态节点和行为树节点之间具有状态跳转关系。
处理器201还用于执行下述步骤:在服务器根据第一配置信息为第一对象生成混合状态机之后,服务器获取第二配置信息;服务器根据第二配置信息对混合状态机进行更新。
处理器201还用于执行下述步骤:服务器对混合状态机中已存在的状态节点、和/或已存在的行为树节点、和/或已存在的状态节点与已存在的行为树节点之间的状态跳转关系进行更新;服务器删除混合状态机中已存在的状态节点、和/或已存在的行为树节点、和/或已存在的状态节点与已存在的行为树节点之间的状态跳转关系;服务器在混合状态机中增加状态 节点和/或行为树节点、和/或在增加的状态节点和/或行为树节点与已存在的状态节点和/或已存在的行为树节点之间建立状态跳转关系。
采用本发明实施例,提供了一种状态控制方法和装置。通过服务器在检测到操作执行事件时判断第一对象在混合状态机中的当前节点的下一个节点为第一状态节点还是第一行为树节点,若为第一状态节点则对第一对象执行第一状态节点对应的第一状态中的操作,若为第一行为树节点则对第一对象执行第一行为树节点对应的第一行为树中的操作,达到了利用有限状态机和行为树共同控制应用中个体执行操作的目的,从而实现了提高应用中个体执行操作效率的技术效果,进而解决了相关技术使用有限状态机控制应用中个体执行操作效率低的技术问题。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图12所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图12其并不对上述电子装置的结构造成限定。例如,终端还可包括比图12中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图12所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
实施例4
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行状态控制方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,服务器检测到操作执行事件,其中,操作执行事件用于请求对第一应用中的第一对象进行操作;
S2,服务器判断第一对象在混合状态机中的当前节点的下一个节点为第一状态节点还是第一行为树节点,其中,混合状态机中的节点包括状态节点和行为树节点,混合状态机中的节点之间具有状态跳转关系;
S3,若判断出当前节点的下一个节点为第一状态节点,则服务器对第一对象执行第一状态节点所对应的第一状态中的操作;
S4,若判断出当前状态的下一个节点为第一行为树节点,则服务器对第一对象执行第一行为树节点所对应的第一行为树中的操作。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:若操作执行事件指示的是事件触发的操作或者异常的操作,则服务器判断当前节点的下一个节点为第一状态节点;若操作执行事件指示的是流程类型的操作,则服务器判断当前节点的下一个节点为第一行为树节点。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:务器对第一对象执行第一行为树中的每个叶子节点所对应的操作。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在服务器检测到操作执行事件之前,服务器获取第一配置信息,其中,第一配置信息用于指示状态节点、行为树节点、以及状态跳转关系;服务器根据第一配置信息为第一对象生成混合状态机,其中,混合状态机中的状态节点和行为树节点之间具有状态跳转关系。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在 服务器根据第一配置信息为第一对象生成混合状态机之后,服务器获取第二配置信息;服务器根据第二配置信息对混合状态机进行更新。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:服务器对混合状态机中已存在的状态节点、和/或已存在的行为树节点、和/或已存在的状态节点与已存在的行为树节点之间的状态跳转关系进行更新;服务器删除混合状态机中已存在的状态节点、和/或已存在的行为树节点、和/或已存在的状态节点与已存在的行为树节点之间的状态跳转关系;服务器在混合状态机中增加状态节点和/或行为树节点、和/或在增加的状态节点和/或行为树节点与已存在的状态节点和/或已存在的行为树节点之间建立状态跳转关系。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

  1. 一种状态控制方法,其中,包括:
    服务器检测到操作执行事件,其中,所述操作执行事件用于请求对第一应用中的第一对象进行操作;
    所述服务器判断所述第一对象在混合状态机中的当前节点的下一个节点为第一状态节点还是第一行为树节点,其中,所述混合状态机中的节点包括状态节点和行为树节点,所述混合状态机中的节点之间具有状态跳转关系;
    若判断出所述当前节点的下一个节点为第一状态节点,则所述服务器对所述第一对象执行所述第一状态节点所对应的第一状态中的操作;
    若判断出所述当前状态的下一个节点为所述第一行为树节点,则所述服务器对所述第一对象执行所述第一行为树节点所对应的第一行为树中的操作。
  2. 根据权利要求1所述的方法,其中,所述服务器判断所述第一对象在混合状态机中的当前节点的下一个节点为第一状态节点还是第一行为树节点包括:
    若所述操作执行事件指示的是事件触发的操作或者异常的操作,则所述服务器判断所述当前节点的下一个节点为所述第一状态节点;
    若所述操作执行事件指示的是流程类型的操作,则所述服务器判断所述当前节点的下一个节点为所述第一行为树节点。
  3. 根据权利要求1所述的方法,其中,所述服务器对所述第一对象执行所述第一行为树节点所对应的第一行为树中的操作包括:
    所述服务器对所述第一对象执行所述第一行为树中的每个叶子节点所对应的操作。
  4. 根据权利要求1所述的方法,其中,在所述服务器检测到操作执行事 件之前,所述方法还包括:
    所述服务器获取第一配置信息,其中,所述第一配置信息用于指示所述状态节点、所述行为树节点、以及所述状态跳转关系;
    所述服务器根据所述第一配置信息为所述第一对象生成所述混合状态机。
  5. 根据权利要求4所述的方法,其中,在所述服务器根据所述第一配置信息为所述第一对象生成所述混合状态机之后,所述方法还包括:
    所述服务器获取第二配置信息;
    所述服务器根据所述第二配置信息对所述混合状态机进行更新。
  6. 根据权利要求5所述的方法,其中,所述服务器根据所述第二配置信息对所述混合状态机进行更新包括以下至少之一:
    所述服务器对所述混合状态机中已存在的状态节点、和/或已存在的行为树节点、和/或已存在的状态节点与已存在的行为树节点之间的状态跳转关系进行更新;
    所述服务器删除所述混合状态机中已存在的状态节点、和/或已存在的行为树节点、和/或已存在的状态节点与已存在的行为树节点之间的状态跳转关系;
    所述服务器在所述混合状态机中增加状态节点和/或行为树节点、和/或在增加的状态节点和/或行为树节点与已存在的状态节点和/或已存在的行为树节点之间建立状态跳转关系。
  7. 一种状态控制装置,其中,包括:
    检测模块,被设置为服务器检测到操作执行事件,其中,所述操作执行事件用于请求对第一应用中的第一对象进行操作;
    判断模块,被设置为所述服务器判断所述第一对象在混合状态机中的当前节点的下一个节点为第一状态节点还是第一行为树节点,其中,所述混合状态机中的节点包括状态节点和行为树节点,所述混合状态机中的节点之间具有状态跳转关系;
    第一操作模块,被设置为在判断出所述当前节点的下一个节点为第一状态节点,则所述服务器对所述第一对象执行所述第一状态节点所对应的第一状态中的操作;
    第二操作模块,被设置为在判断出所述当前状态的下一个节点为所述第一行为树节点,则所述服务器对所述第一对象执行所述第一行为树节点所对应的第一行为树中的操作。
  8. 根据权利要求7所述的装置,其中,所述判断模块包括:
    第一判定模块,被设置为在所述操作执行事件指示的是事件触发的操作或者异常的操作时,所述服务器判断所述当前节点的下一个节点为所述第一状态节点;
    第二判定模块,被设置为在所述操作执行事件指示的是流程类型的操作,则所述服务器判断所述当前节点的下一个节点为所述第一行为树节点。
  9. 根据权利要求7所述的装置,其中,所述第二操作模块包括:
    第一操作子模块,被设置为所述服务器对所述第一对象执行所述第一行为树中的每个叶子节点所对应的操作。
  10. 根据权利要求7所述的装置,其中,所述装置还包括:
    第一获取模块,被设置为在所述服务器检测到操作执行事件之前,所述服务器获取第一配置信息,其中,所述第一配置信息用于指示所述状态节点、所述行为树节点、以及所述状态跳转关系;
    生成模块,被设置为所述服务器根据所述第一配置信息为第一对象生成所述混合状态机。
  11. 根据权利要求10所述的装置,其中,所述装置还包括:
    第二获取模块,被设置为在所述服务器根据所述第一配置信息为所述第一对象生成所述混合状态机之后,所述服务器获取第二配置信息;
    更新模块,被设置为所述服务器根据所述第二配置信息对所述混合状态机进行更新。
  12. 根据权利要求11所述的装置,其中,所述更新模块包括以下至少之一:
    第一更新子模块,被设置为所述服务器对所述混合状态机中已存在的状态节点、和/或已存在的行为树节点、和/或已存在的状态节点与已存在的行为树节点之间的状态跳转关系进行更新;
    删除模块,被设置为所述服务器删除所述混合状态机中已存在的状态节点、和/或已存在的行为树节点、和/或已存在的状态节点与已存在的行为树节点之间的状态跳转关系;
    增加模块,被设置为所述服务器在所述混合状态机中增加状态节点和/或行为树节点、和/或在增加的状态节点和/或行为树节点与已存在的状态节点和/或已存在的行为树节点之间建立状态跳转关系。
PCT/CN2017/072456 2016-03-03 2017-01-24 状态控制方法和装置 WO2017148233A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP17759084.1A EP3425849B1 (en) 2016-03-03 2017-01-24 State control method and device
JP2018544453A JP6755325B2 (ja) 2016-03-03 2017-01-24 状態制御方法及び装置
KR1020187023912A KR102085686B1 (ko) 2016-03-03 2017-01-24 상태 제어 방법 및 장치
US16/110,239 US11184216B2 (en) 2016-03-03 2018-08-23 State control method and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610121881.1 2016-03-03
CN201610121881.1A CN105656688B (zh) 2016-03-03 2016-03-03 状态控制方法和装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/110,239 Continuation US11184216B2 (en) 2016-03-03 2018-08-23 State control method and apparatus

Publications (1)

Publication Number Publication Date
WO2017148233A1 true WO2017148233A1 (zh) 2017-09-08

Family

ID=56493068

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/072456 WO2017148233A1 (zh) 2016-03-03 2017-01-24 状态控制方法和装置

Country Status (6)

Country Link
US (1) US11184216B2 (zh)
EP (1) EP3425849B1 (zh)
JP (1) JP6755325B2 (zh)
KR (1) KR102085686B1 (zh)
CN (1) CN105656688B (zh)
WO (1) WO2017148233A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112190945A (zh) * 2020-10-22 2021-01-08 网易(杭州)网络有限公司 游戏数据处理方法和装置、计算机可读存储介质、电子设备

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105656688B (zh) * 2016-03-03 2019-09-20 腾讯科技(深圳)有限公司 状态控制方法和装置
CN106815009A (zh) * 2016-12-05 2017-06-09 上海时年信息科技有限公司 模拟多个运动体行为的方法和系统
CN108270604B (zh) * 2016-12-30 2022-01-07 北京亿阳信通科技有限公司 一种业务数据变更的追踪方法和系统
CN106861190B (zh) * 2017-02-16 2020-07-10 网易(杭州)网络有限公司 Ai构建方法及装置、游戏控制方法及装置、ai系统
CN107678804B (zh) * 2017-08-22 2021-04-09 腾讯科技(深圳)有限公司 行为执行方法和装置、存储介质及电子装置
CN109426239B (zh) * 2017-08-31 2020-05-08 株洲中车时代电气股份有限公司 一种机车顺序控制系统及方法
CN108415709B (zh) * 2018-02-12 2022-01-28 北京梆梆安全科技有限公司 一种基于有限状态机加固源代码的方法及装置
CN109189504B (zh) * 2018-09-20 2020-04-28 腾讯科技(深圳)有限公司 行为执行方法、行为树生成方法、装置和计算机设备
CN109731334B (zh) * 2018-11-22 2020-08-11 腾讯科技(深圳)有限公司 状态的切换方法和装置、存储介质、电子装置
CN110377040A (zh) * 2019-07-31 2019-10-25 北京智行者科技有限公司 基于行为树的自动驾驶决策方法及装置
CN112306850B (zh) * 2019-07-31 2024-03-08 腾讯科技(成都)有限公司 一种测试用例生成方法、装置及存储介质
CN110688301B (zh) * 2019-08-22 2021-03-02 浙江口碑网络技术有限公司 服务器测试方法、装置、存储介质及计算机设备
KR102276230B1 (ko) * 2019-11-19 2021-07-12 주식회사 카카오뱅크 유한 상태기계 생성 방법, 유한 상태기계 운영 방법, 이를 수행하는 서버 및 컴퓨터 프로그램
CN111135559B (zh) * 2019-12-27 2023-06-27 北京像素软件科技股份有限公司 游戏数据处理方法、装置、电子设备及存储介质
CN111249733B (zh) * 2020-01-09 2023-10-13 完美世界(北京)软件科技发展有限公司 一种创建虚拟对象的方法和装置
CN111660815B (zh) * 2020-05-20 2021-11-02 摩登汽车有限公司 电池管理系统的控制方法
CN112221129A (zh) * 2020-10-19 2021-01-15 杭州电魂网络科技股份有限公司 一种基于有向图的任务触发方法及系统
KR102531765B1 (ko) * 2020-12-07 2023-05-11 인하대학교 산학협력단 Put 오브젝트 처리속도 상향을 위한 하이브리드 오브젝트 스토리지 시스템 및 그 동작 방법
WO2022140880A1 (zh) * 2020-12-28 2022-07-07 深圳元戎启行科技有限公司 有限状态机的控制方法、装置、计算机设备和存储介质
CN113379590B (zh) * 2021-06-07 2023-06-30 腾讯科技(上海)有限公司 动画数据处理方法、装置、计算机设备和存储介质
CN113750537A (zh) * 2021-09-08 2021-12-07 福建天晴在线互动科技有限公司 一种编辑游戏状态迁移的方法及其系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049264A (zh) * 2012-12-17 2013-04-17 国电南京自动化股份有限公司 一种通过状态机动态建模实现对业务系统控制的方法
CN103049838A (zh) * 2012-12-26 2013-04-17 华中科技大学 基于有限状态机的包裹运输状态监控方法
CN105117575A (zh) * 2015-06-17 2015-12-02 深圳市腾讯计算机系统有限公司 一种行为处理方法及装置
CN105656688A (zh) * 2016-03-03 2016-06-08 腾讯科技(深圳)有限公司 状态控制方法和装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08194612A (ja) 1994-11-15 1996-07-30 Nippon Telegr & Teleph Corp <Ntt> プログラム実行制御方法及びプログラム実行制御システム
US6031549A (en) * 1995-07-19 2000-02-29 Extempo Systems, Inc. System and method for directed improvisation by computer controlled characters
US6317638B1 (en) * 1997-08-22 2001-11-13 Honeywell Inc. Multi-layer state machine for a hybrid real-time control system and method of operation thereof
US7958454B2 (en) * 2005-04-19 2011-06-07 The Mathworks, Inc. Graphical state machine based programming for a graphical user interface
US8571745B2 (en) * 2008-04-10 2013-10-29 Robert Todd Pack Advanced behavior engine
CA2719494C (en) 2008-04-02 2015-12-01 Irobot Corporation Robotics systems
CN101626420A (zh) * 2008-07-08 2010-01-13 中国移动通信集团公司 Lfc资源管理方法及其设备和系统
KR20100088049A (ko) * 2009-01-29 2010-08-06 삼성전자주식회사 사용자 인터페이스 구성 객체들로 이루어진 콘텐츠의 사전 예측 불가능한 경로를 통하여 수신되는 정보들의 처리 방법 및 이를 위한 장치
EP3716060A1 (en) * 2009-07-31 2020-09-30 NEC Corporation Control server, service providing system, and method of providing a virtual infrastructure
US8766666B2 (en) * 2010-06-10 2014-07-01 Micron Technology, Inc. Programmable device, hierarchical parallel machines, and methods for providing state information
US9747440B2 (en) * 2012-08-15 2017-08-29 Qualcomm Incorporated On-line behavioral analysis engine in mobile device with multiple analyzer model providers
CN104077121A (zh) * 2013-03-29 2014-10-01 北京大学深圳研究生院 一种实现和管理状态机信息的装置
JP6303300B2 (ja) * 2013-06-25 2018-04-04 富士通株式会社 制御依頼方法、情報処理装置、システム、およびプログラム
WO2016147620A1 (en) 2015-03-13 2016-09-22 Square Enix Co., Ltd. Information processing apparatus, information processing method, non-transitory computer-readable storage medium
CN106034246A (zh) * 2015-03-19 2016-10-19 阿里巴巴集团控股有限公司 一种基于用户操作行为的服务提供方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049264A (zh) * 2012-12-17 2013-04-17 国电南京自动化股份有限公司 一种通过状态机动态建模实现对业务系统控制的方法
CN103049838A (zh) * 2012-12-26 2013-04-17 华中科技大学 基于有限状态机的包裹运输状态监控方法
CN105117575A (zh) * 2015-06-17 2015-12-02 深圳市腾讯计算机系统有限公司 一种行为处理方法及装置
CN105656688A (zh) * 2016-03-03 2016-06-08 腾讯科技(深圳)有限公司 状态控制方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3425849A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112190945A (zh) * 2020-10-22 2021-01-08 网易(杭州)网络有限公司 游戏数据处理方法和装置、计算机可读存储介质、电子设备
CN112190945B (zh) * 2020-10-22 2024-03-15 网易(杭州)网络有限公司 游戏数据处理方法和装置、计算机可读存储介质、电子设备

Also Published As

Publication number Publication date
EP3425849A4 (en) 2019-10-30
CN105656688A (zh) 2016-06-08
EP3425849A1 (en) 2019-01-09
EP3425849B1 (en) 2024-03-06
US11184216B2 (en) 2021-11-23
KR20180105678A (ko) 2018-09-28
US20180367365A1 (en) 2018-12-20
JP6755325B2 (ja) 2020-09-16
JP2019518257A (ja) 2019-06-27
CN105656688B (zh) 2019-09-20
KR102085686B1 (ko) 2020-04-23

Similar Documents

Publication Publication Date Title
WO2017148233A1 (zh) 状态控制方法和装置
US20230376347A1 (en) Task allocation method, apparatus, storage medium, and electronic device
CN111052086B (zh) 一种云托管函数的暖启动技术
TWI536283B (zh) 確定人工智慧行爲的方法、裝置及人工智慧伺服器
KR102094066B1 (ko) 모바일 게임에 대한 데이터 처리 방법 및 장치
CN108549560B (zh) 界面状态的切换方法和装置、存储介质、电子装置
US20190068491A1 (en) Hypervisor support for network functions virtualization
WO2017133584A1 (zh) 控制对象的空间位置确定方法和装置
CN109731334B (zh) 状态的切换方法和装置、存储介质、电子装置
US20170017514A1 (en) Data flow migration method and device
CN107193854A (zh) 用于分布式处理平台的统一客户端
CN106992982B (zh) 一种基于sdn的动态路由协议执行体实现装置及方法
CN106302615A (zh) 远程管理方法、被管理设备、管理设备和智能电视系统
CN109039843B (zh) 基于事件链联动策略的智能厨房设备的控制方法和装置
CN106534281A (zh) 一种数据请求的响应方法、装置及系统
CN107526682B (zh) 测试机器人的ai行为树的生成方法、装置及设备
CN103399787B (zh) 一种基于Hadoop云计算平台的MapReduce作业流式调度方法及调度系统
CN107115673A (zh) 一种基于行为树的行为执行方法和装置
CN104811403B (zh) 基于开放流的组表处理方法、装置及组表配置单元
CN107678804B (zh) 行为执行方法和装置、存储介质及电子装置
CN111740915B (zh) 邻居节点确定方法、装置、设备和存储介质
Echeverría et al. Cyber-foraging for improving survivability of mobile systems
CN110166372B (zh) 在基于光电路交换机的数据中心中的在线调度协流的方法
CN113171615B (zh) 游戏技能的处理方法、装置、存储介质和电子装置
CN107015787A (zh) 一种交互式应用框架设计的方法及装置

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 20187023912

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1020187023912

Country of ref document: KR

ENP Entry into the national phase

Ref document number: 2018544453

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2017759084

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2017759084

Country of ref document: EP

Effective date: 20181004

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17759084

Country of ref document: EP

Kind code of ref document: A1