907просмотров
15 ноября 2025 г.
📷 ФотоScore: 998
Пишу логику ИИ для NPC в нашей игре. Пара слов о том, как я пытаюсь "вдохнуть жизнь" в пиксели. Мы продолжаем делать небольшой инди-проект. Этакий экосистемный пазл на стыке dorfromantic, banished и graveyard keeper. Представьте небольшой 2д игровой мир: деревеньку + ремесленных жителей. 🖼 Приложил референс-картинку, чтобы было проще представить. Основной концепт геймплея: Вы просто выставляете на карту гексагоны, а мир (в основном человечки) живёт своей жизнью. Вместо управления персонажами мы хотим предложить управлять окружением. Такой сдвиг парадигмы. Модуль поведения персонажей - это "сердце" проекта. Без него не будет движения, истории, ансамбля и эстетики наблюдения за муравейником (я часто привожу именно эти метафоры для пояснения желаемого ощущения). Возможно, над этой частью еще не раз придется поработать и перестроить, но текущий архитектурный концепт нравится мне настолько, что я даже решил поделиться. 🤖 Как же будут "думать" наши NPC?
1. Персонажи никогда не сидят без дела. Они всегда выполняют какие-то задачи. 2. Задачи - это маленькая деталь большой цели. Цель = несколько задач, которые в конечном итоге приносят человечку "счастье" (есть такой у них параметр)
3. Кажется логичным сделать персонажей "самодостаточными", и давать им возможность самостоятельного планирования своей жизни. Возможно, взгляду игрока так и будет казаться. Но на уровне кода структура несколько иная... Вместо "самостоятельности" у нас есть Главный Менеджер Целей. Взглянув на персонажа он может подсказать тому "истинный путь", ответить на вопросы куда идти и что делать. Персонажу, когда он попадает в ступор безделья, остается лишь "задаться вопросом" и вуаля - ГМЦ находит для него предназначение... )
4. Персонажи стремятся к долгосрочным, трудным, но стоящим (для них) целям. Однако, время от времени в поток работы над длительным может вмешаться "житейское" - кушать, пить, с девчонками потусоваться. В этом случае приходится откладывать высокое и идти заниматься неизбежным важным. Так вот, вся жизнь NPC - это стремление к счастью, которое теоретически достижимо, но в то же время зависимо от внешнего мира. Это стремление они выражают в целях, которые декомпозирует в небольшие и понятные задачи. А если же персонаж впадает в ступор от непонимания, что делать - он приходит к Главному Менеджеру Целей и спрашивает у него. По-моему, что-то в этом есть 😏 Дебри ◀️