FSM vs BT for Airport Simulation?

NodeCanvas Forums Support FSM vs BT for Airport Simulation?

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #13354
    dselected
    Participant

    Background: I’m using NodeCanvas for a simulation project. I’m a new NC user, with some Unity Experience.

    My goal is to create a simulation that shows aircraft boarding, taxiing, taking off, and also landing and de-boarding, with many aircraft operating at once. The simulation will be used as a tool to explore ideal operational metrics.

    Question: Would it be better to use Behavior Trees or Finite State Machines for this kind of project? I generally understand the difference between them but am not sure which is a better fit for my application. Advice much appreciated!

    #13363
    dave
    Participant

    You may have a look at this post. Gavalakis sums it up pretty nicely there.

    Best practrises Flow vs BT vs FSM

    #13367
    Gavalakis
    Keymaster

    Hello and welcome 🙂

    Thanks for the link @dave. I really hope it helps the OP!

    The word “simulation” by itself, urge me to say that Behaviour Trees in general would be a good fit, but that certainly does not mean Behaviour Trees only. What I mean by that, is that a BT, due to being more dynamic than an FSM, can be used for the “algorithmic” simulation of the aircraft for example, but most than probably, that simulation can also be separated into different states, like for example per your post, “Boarding”, “Taking Off” etc.

    As such, I think that those “states” are best to be modeled by the use of a root FSM, where each of those states is a Nested/Sub Behaviour Tree, modeling what is happening within every state more specifically.

    Thus, I think that the combination of an FSM as a root (for each aircraft), where each state (of that aircraft) is a Sub Behaviour Tree can be a very good fit here! This is also pretty much the workflow I usually suggest and I indeed did so in that post @dave linked 🙂

    If you need any more clarifications or further help, please don’t hesitate to ask.
    Thanks!

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

    #13389
    dselected
    Participant

    @gavalakis Thank you for this reply, it’s really helpful! I will give your suggestion a try and update this thread.

    #13395
    Gavalakis
    Keymaster

    You are very welcome! 🙂

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

Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.