Original Post
Hello,
assuming there's an Action in a BT that would take more than one simulation tick to execute (eventual success or failure shall be ignored for now). How exactly does the update of the whole BT work in such a situation?
(A) Does the tree re-evaluate on every tick from its root down to all children until meeting that Action which is found being still in progress and having it execute a bit further?
(B) Or does the tree somehow "remember" what its last Task was that hasn't finished yet and simply continues with that task on next tick?
And then there are Parallels... if I understand their concept correctly, they too, would be updated every tick as long as their parent Task hasn't finished yet. Thus I assume there would be several Tasks being marked as "still_running" at a time, and the BT would execute all of those "still_running" Tasks on every simulation tick.
Greetings,
Shadax
assuming there's an Action in a BT that would take more than one simulation tick to execute (eventual success or failure shall be ignored for now). How exactly does the update of the whole BT work in such a situation?
(A) Does the tree re-evaluate on every tick from its root down to all children until meeting that Action which is found being still in progress and having it execute a bit further?
(B) Or does the tree somehow "remember" what its last Task was that hasn't finished yet and simply continues with that task on next tick?
And then there are Parallels... if I understand their concept correctly, they too, would be updated every tick as long as their parent Task hasn't finished yet. Thus I assume there would be several Tasks being marked as "still_running" at a time, and the BT would execute all of those "still_running" Tasks on every simulation tick.
Greetings,
Shadax