Конечные автоматы - это конечно хорошо, но при условии, что этих состояний не очень много, после определенного кол-ва состояний и переходов между ними - это превращается в труднопонимаемую хрень. На помощь могут прийти иерархические конечные автоматы, но это также до поры до времени.
Я как-то работал в конторе, где ведущий разраб/архитектор решил делать ядро системы на конечных автоматах, и в итоге это превратилось сложно поддерживаемый и сложно расширяемый код. Этого умника попросили на выход, думал, сейчас хоть придет нормальный архитектор/вед. разраб и сделает по уму, но нет, ничего менять не стали, просто спустя пару лет контору закрыли :)
no subject
На помощь могут прийти поведенческие деревья, с повторным использованием части деревьев.
https://www.progamer.ru/dev/utility-ai.htm
Я как-то работал в конторе, где ведущий разраб/архитектор решил делать ядро системы на конечных автоматах, и в итоге это превратилось сложно поддерживаемый и сложно расширяемый код. Этого умника попросили на выход, думал, сейчас хоть придет нормальный архитектор/вед. разраб и сделает по уму, но нет, ничего менять не стали, просто спустя пару лет контору закрыли :)