Ssylka

ИИ-бот для s&box: путь от провала к переносимой библиотеке

Разработчик, имеющий опыт в веб-разработке и статическом анализе, решил испытать свои силы в геймдеве, приняв участие в техническом джеме по s&box. Изначальная идея заключалась в создании ИИ для ботов, способных окружать игрока, используя укрытия, как в играх про выживание и аномалии. Проект получил название SbokuBot.
ИИ-бот для s&box: путь от провала к переносимой библиотеке
Изображение носит иллюстративный характер

Начало разработки столкнулось с неожиданными трудностями. Оказалось, что боты в используемом оружейном паке Simple Weapon Base (SWB) реализованы через простое свойство, а не отдельный класс, что приводило к некорректному поведению. Переработка кода, включая создание нового контроллера и реализацию общего интерфейса, заняла много времени, особенно в вопросах линейной алгебры и кватернионов, необходимых для управления поведением бота.

Эксперименты с NavMesh, компонентом для навигации ИИ, выявили проблемы с трением, вынудившие разработчика создать собственную реализацию агента. Изучение различных подходов к ИИ, таких как конечные автоматы, поведенческие деревья и деревья решений, привело к выбору иерархических конечных автоматов (HFSM). Однако, из-за непонимания HFSM была создана собственная система раздельных состояний для передвижения и боя, а также интерфейс условий для проверки состояния NPC.

В процессе разработки, для демонстрации возможностей ИИ, был создан режим «Арена», где игрок отбивается от волн врагов. Однако, из-за проблем с планированием, недоработок платформы и багов в s&box, на реализацию арены было потрачено гораздо больше запланированного времени. Тем не менее, к концу джема была создана переносимая библиотека ИИ, которую можно использовать в других проектах.


Новое на сайте

18587Как одна ошибка в коде открыла для хакеров 54 000 файрволов WatchGuard? 18586Криптовалютный червь: как десятки тысяч фейковых пакетов наводнили npm 18585Портативный звук JBL по рекордно низкой цене 18584Воин-крокодил триаса: находка в Бразилии связала континенты 18583Опиум как повседневность древнего Египта 18582Двойной удар по лекарственно-устойчивой малярии 18581Почему взрыв массивной звезды асимметричен в первые мгновения? 18580Почему самые удобные для поиска жизни звезды оказались наиболее враждебными? 18579Смертоносные вспышки красных карликов угрожают обитаемым мирам 18578Почему самый активный подводный вулкан тихого океана заставил ученых пересмотреть дату... 18577Вспышка на солнце сорвала запуск ракеты New Glenn к Марсу 18576Как фишинг-платформа Lighthouse заработала миллиард долларов и почему Google подала на... 18575Почему космический мусор стал реальной угрозой для пилотируемых миссий? 18574Зеленый свидетель: как мох помогает раскрывать преступления 18573Инфраструктурная гонка ИИ: Anthropic инвестирует $50 миллиардов для Claude