Привіт всім. Сьогодні ми поговоримо про один зі способів реалізації штучного інтелекту в іграх, який надасть Вашим “об’єктам” розумного вигляду (або хоча б поведінки ).
Ну що ж, почнемо. Для того, щоб створити штучний інтелект для якогось юніта в грі спочатку потрібно визначити, що цей юніт буде вміти, або інакше кажучи, в яких станах він може перебувати. Наприклад, якщо ми хочемо написати штучний інтелект для солдата, його стани можуть бути, наприклад, такими:
1. Пошук ворога.
2. Стріляти.
3. Рухатися вперед.
4. Повернутися в потрібний бік.
5. Зупинитися.
6. Рухатися за ворогом.
7. Заховатися за укриття.
Ідея скінченного автомату полягає в тому, що в певний момент часу юніт може находитися в якомусь одному стані, і цей стан має змінюватися при певних умовах, відповідно до зміни навколишнього середовища. Відповідно в цій системі мусить існувати якась оціночна функція, яка би прораховувала, чи доцільно находитися в даному стані і доцільність переходу в інший стан, а також змінювала б стан юніта при потребі.
Якщо уважно придивитися до нашого списку, то ми побачимо, що для виконання деяких станів потрібно буде викликати інші стани, так, наприклад, при виконанні станів 6. Рухатися за ворогом. і 7. Заховатися за укриття. юніт почергово мав би перебувати в станах 3. Рухатися вперед. і 4. Повернутися в потрібний бік.. Таким чином штучний інтелект нашого юніта можна умовно розділити на два рівні. Верхній рівень (або як ще називають логіка)- це складні функції, які виконують алгоритм даного стану, в той час як нижній рівень виконує якісь локальні задачі, які потрібно виконати в даний момент. Така система називається багаторівневою логікою.