Hey, thanks a lot for the comment! The supervisor I added - which is a super simple one - ticks using the time.Ticker, which I assume only works with regular intervals. I think adding the built-in exponential backoff would be a nice thing to add, maybe making it go back to the node in a subtick manner. I haven't tested a super large tree or a combination thereof, but I think if the nodes can behave properly with respect to waiting some IO, it can definitely handle quite a large tree. It would be nice to add the capability to handle several trees, though. What do you think?
Hey, thanks a lot for commenting. That seems like a nice way to encode state. Did you ever have issues with multiple states being activated at the same time? I'll take some time to explore the hierarchical state machine, as I haven't seen an example of this short of HTN. Making it data-driven seems a nice and easy way to tackle the complexity. I like that
Hey, thanks a lot for the comment. I'd love to see some code about the "express state machines as data". I always had a hard time with state machines, because every time I needed to add a new node, I had to reason about too many transitions, especially when the number of states was enormous. I like the BT structure because of the modularity, but it would be nice to see some other way to implement things - always a welcome addition. Regarding the BTs with channels, I'm very curious about it. Will check the article, for sure
To note, the approach in the article is basically the polar opposite from writing a data driven state machine. I default to the latter, but I think it’s worth exloring and understanding the former.
Hey, thanks a lot for the comment. I was thinking about the parallel composite nodes and I was wondering what would make good additions to the project. What do you think? I was going to start implementing something like RequireAny and RequireAll. I was also wondering about the "parallel" side of these nodes. Does it mean they tick all children nodes or does it mean that I spawn one goroutine for each child in a wait group and wait? Would like to hear your thoughts