FSM Connection Modification

NodeCanvas Forums General Discussion FSM Connection Modification

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #13036
    tomas.trescak
    Participant

    Hi

    I am an AI researcher and we have developed a custom multi agent system that I would like to port into NODECANVAS.
    It seems that most of the things I will be able to do out of the box apart from connections.

    In our approach each connection has

    – preconditions
    – action
    – postcondition

    Your FSMConnection can do preconditions but no actions and postconditions.
    Would you be so kind and give me an idea how to approach execution of action and postconditions on a connection.

    The action can either be a BehaviourTree or another nested FSM and connection only finishes once action finishes.
    Once the action is complete a postcondition needs to be evaluated.

    The postcondition is changing the state of an agent or an FSM, I imagine it would be just another behaviour tree. The most optimally it would be some C# code, but BT will do.

    Any help would be very much appreciated!

    #13053
    Gavalakis
    Keymaster

    Hello again Tomas and sorry for the late reply due to Eastern!

    Hmm. I think that trying to implement this on top of the current implementation of the FSM in NodeCanvas by changing the source code, will be harder that it needs to due to the differences.

    I think it would probably be best if you make a new graph module tailored to do exactly what you are after. I have attached for you here a base template for building a custom graph module on the NodeCanvas Framework. You can start on this base template and then copy the functionality/code from the existing FSM module, changing it or adding to it as needed. (For example, you would probably like to copy the GUI code for drawing the connections as found in FSMState.cs line #206). This will of course require some work.

    I am also not exactly sure how the system you want to create exactly works yet to provide more insights 🙂
    What would a diagram look like for example? Can you please share one?

    What is the difference for example than having this kind of setup in the current FSM, or is it similar but without the center node requirement, but rather everything being part of a single transition? (which is of course more tidy)
    Diagram

    Let me know.
    Thanks 🙂

    Join us on Discord: https://discord.gg/97q2Rjh

    Attachments:
    You must be logged in to view attached files.
Viewing 2 posts - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.