OeilDeLance is a user on mastodon.gamedev.place. You can follow them or interact with them if you have an account anywhere in the fediverse. If you don't, you can sign up here.

Speaking of , I'm about to rewrite my car-combat steering code, _again_. I think this will be the 3rd rewrite. We are using the Unity navmesh for pathfinding, then our own code to steer the cars. I'm currently using a sort of Coroutine based push-down state machine? Anyway, cars drive ok, but not great. Need more sensor data integrated. Not sure what path to take next...

@jos I am not really knowledgable in car ai. What is a Coroutine based push-down state machine?

@oeildelance I wasn't very clear or precise (in my own head!) on my architecture. I guess it is more formally a Push Down Automaton (see en.wikipedia.org/wiki/Pushdown ), but that is, like, WAY overstating what I'm doing. In my implementation, I have a Idle, Seek and GetUnstuck coroutines. If I'm in Seek, and get stuck, I yield to StartCoroutine(GetUnsuck()), so when it is done getting unstuck, it just goes back to Seeking. I think that makes it a PDA?

OeilDeLance @oeildelance

@jos I didn't know about PushDown automatons time for youtube video ! Actually what you are doing looks more like a Finite right ? en.wikipedia.org/wiki/Determin

@oeildelance I think it might be closer to a Hierarchical State Machine then a DFA, but the Wiki article on DFA makes it seem pretty high-level/abstract, and maybe HSM and PDA (TLAs for the win!) can all be DFAs? Also, I'm not sure about the 'deterministic' angle on the code I have... although I guess there is only one way to trigger GetUnstuck (when the 'stuckness' counter is > X), so that is deterministic, even if what contributes to increasing stuckness is not. What Even Is Determinism!

@jos according to wikipedia that's when the transition can activate more than one state at a time: "Unlike a DFA, it is non-deterministic, i.e., for some state and input symbol, the next state may be nothing or one or two or more possible states" en.wikipedia.org/wiki/Nondeter