Бывший AI‑разработчик Guerrilla Games и Crytek Хосе Эскрибано выложил в открытый доступ фреймворк htn_planner — систему иерархического планирования задач (HTN) для игровой ИИ‑логики, вдохновлённую AAA‑проектами вроде серии Horizon (action‑RPG с открытым миром и сложным поведением машин).
Что такое htn_planner
HTN (Hierarchical Task Network) — подход к планированию, в котором поведение ИИ описывается как иерархия задач и подзадач. В htn_planner домены описываются на небольшом декларативном языке, после чего заранее компилируются в нативный C‑код. Во время игры движок не парсит домены, а напрямую исполняет сгенерированный планировщик, что снижает накладные расходы.
Состав репозитория
- Runtime планировщика и его C ABI — готовая библиотека исполнения с C‑интерфейсом.
- C++‑слой интеграции с хуками планировщика и "planning units" для встраивания в игровой код.
- HTNTranslator — валидатор доменов и генератор C‑исходников из декларативного описания.
- Визуальный демо‑клиент на SDL и ImGui с отладкой выполнения сгенерированного плана.
- Редактор, language server, пример hot‑reload, а также тесты и бенчмарки.
- Упакованный Windows x64 SDK с интеграцией через CMake.
Проект распространяется по лицензии MIT, что позволяет свободно использовать его в коммерческих играх.
Дополнительные материалы
В статье приведены ссылки на:
- GitHub‑репозиторий htn_planner.
- Материалы по HTN‑планированию на примерах.
- Разбор ИИ в Horizon Zero Dawn (action‑RPG в открытом мире с продвинутым поведением врагов).
- Доклад о иерархическом ИИ для мультиплеерных ботов в Killzone 3 (тактический шутер от первого лица).
Видеоролик демонстрирует работу фреймворка и его инструментов.
Выводы
- htn_planner — открытый MIT HTN‑планировщик AAA‑уровня, ориентированный на игровые проекты.
- Домены описываются декларативно и компилируются в C, что убирает парсинг и удешевляет рантайм.
- Из коробки есть C/C++ интеграция, редактор, language server, hot‑reload, демо и отладка исполнения.
- Готовый Windows x64 SDK и CMake‑поддержка упрощают встраивание в существующие пайплайны.
- Фреймворк опирается на практики ИИ из Horizon и Killzone 3, что делает его релевантным для сложных AI‑систем.