There are two typical ways to handle model state transitions:
- state-machines (known typically from computer science)
- behavior trees (adopted heavily by game industry)
[Here]((https://queenofsquiggles.github.io/guides/fsm-vs-bt/) is a nice article that:
- explains high level concept
- highlights pros and cons
- provides simple speculative examples
The paper ‘A robust layered control system for a mobile robot’ written by Rodney Brooks that created the foundation that was adopted and generalized later by game industry to model behavior of non-player characters.