Конечные автоматы используются в современных системах искусственного интеллекта, в частности в разработке видеоигр. 12
С помощью конечных автоматов управляют поведением ИИ и задают модели функционирования интерфейсов. 1 Разработчик заранее прописывает все ситуации, которые могут произойти с персонажем, и его реакцию. 2
Некоторые особенности использования конечных автоматов:
- Преимущество: персонаж всегда будет находиться в каком-то состоянии и не зависнет где-то между ними. 2 Так как разработчик должен прописать все переходы, он точно знает, в каких состояниях может находиться игровой объект. 2
- Возможность разделения системы ИИ на несколько параллельно действующих и почти не связанных конечных автоматов, каждый из которых имеет свои состояния. 3 Например, один автомат отвечает за патрулирование/преследование/атаку, а второй — за систему ведения огня. 3
- Синхронизация конечных автоматов, работающих параллельно, позволяет добиться интересных результатов. 3 Например, один из персонажей, заметив противника, сообщает об этом по рации и принимает бой, другой прикрывает товарища издалека, а третий начинает атаковать врага. 3
Конечные автоматы — один из распространённых алгоритмов в видеоиграх, их использовали, например, в играх Doom, Quake и Wolfenstein. 3