ДИСКЛЕЙМЕР: Должен был запостить 2 числа, но сайт был недоступен. Публикую 3 числа.
Вот и прошло еще две недели. Как я и писал ранее, буду выпускать по посту раз в две недели. Сделано много, но на первой недели часто отвлекался от главной цели: минимальной игры, где могла бы произойти боевая ситуация. Однако на второй неделе я вернулся к тому, что даст реальное ощущение от игры — к искусственному интеллекту противников.
Прицеливание и оружие
Начал с того, что довёл до конца переход прицеливания с анимации на IK. Персонаж теперь лучше поворачивает голову и корпус к цели, движения стали более плавными и естественными. Но в плане анимаций (да и визуала в целом) еще очень много работы.
Также сделал визуализацию прицела в HUD. Пока не буду выкладывать видео и скриншоты, уж больно я ленивый, да конверсия аудитории тут не та, чтобы так запариваться :D Но если будет интерес, то запишу видео.
Получил фидбек о стрельбе со стороны команды, поэтому я переделал логику наведения, отдачи и раскачки оружия. Это нужно было для более простой балансной настройки. Теперь стрельба ощущается приятнее.
Стрельба ИИ
Продолжил делать стрельбу противников менее механической. Это уже третья итерация, но она явно лучше двух предыдущих. Теперь нет ощущения, что у NPC включен AIM чит, но и нет ощущения, что они слишком тупят. Я добавил шум в оценке полезности выстрела и задержку реакции. Чтобы это настраивать не вслепую, навайбкодил окно симуляции решений о стрельбе с отчётом. Теперь можно симулировать решение о выстреле у ИИ и балансить его.
Укрытия и выглядывание
Решил переделать алгоритм выглядывания из укрытий. Теперь высота приседа выбирается из фиксированных уровней. Это позволило мне избавиться от дрожания из-за обратной связи анимация <-> логика. Добавил еще плавный разгон и торможение приседа и учёт особенностей оружия (разный запас по высоте над укрытием для разных стволов).
Перезарядка
Иван закончил перезарядку: прогресс в виде кольца вокруг прицела, индикация пустого магазина. Я же поймал и исправил баг со сменой оружия во время перезарядки: она раньше откладывалась и срабатывала после перезарядки. Теперь такой задержки нет и смена оружия просто не проходит, пока происходит перезарядка, как и после окончания перезарядки.
Звук
Подключил FMOD для звуков в игре. Реализовал через него звуки выстрела и попаданий снарядов, а потом сделал трёхэтапный звук перезарядки винтовки, который растягивается на всё время перезарядки. Некоторые звуки пока плейсхолдеры (особенно попадания). Перезарядка уже звучит неплохо. Над выстрелом еще стоит поработать.
Захват цели при прицеливании
Иван сделал захват противника в цель при прицеливании. Теперь у противников могут появится "уголки" захвата в HUD, по которым видно, в какую цель персонаж игрока целится. Захватывать можно только хотя бы немного распознанные цели, невидимые цели взять в таргет не получится. Целиться стало гораздо проще, акцент постепенно будет переходить к тактике, а не к реакции/точности.
Антобот, машина и обломки
Здесь я ушел от плана, каюсь :) Начал работать над визуалом. Сделал модель Антобота (антропоморфный робот). Против них игрок вступает в бой. Ушло около 17 часов, но не считаю что зря: я понял, что пайплайн через нейронки вполне рабочий. Но без ручной пост-обработки не обошлось: теперь я немного шарю в блендере и могу двигать полигоны :) Версия не окончательная, есть еще что дорабатывать, но пока сойдет.
Заодно переделал обломки кирпичей и заменил плейсхолдер машины на разрушенную машину. Полезные вещи, но, честно говоря, не самые приоритетные для боевого прототипа.
Рефакторинг
Между делом занимался рефакторингом. Не буду вдаваться в подробности, в основном технические моменты. Если кратко, то это нужно было для дальнейшего масштабирования проекта: добавления новых персонажей и ИИ.
Боевой ИИ
Главное, чем я занимался в последние дни и занимаюсь сейчас. Стремлюсь к тому, чтобы противник вел себя как живой: имел свои мотивы, характер, мог видеть игрока, терять его, был не уверен в его силе и местоположении, а также действовал по обстановке исходя из факторов.
Собрал Utility AI боевых действий по полезности в бою. Теперь NPC не только идет и занимает укрытие, но и выглядывает из него и прячется, если получил определенный урон. Пока работа по ИИ в процессе, еще много что нужно будет сделать: разведку, обмен информацией, перезарядку, поиск противника, мотивы, операции (возможно, составные операции через GOAP), и т.д.
Документация и процессы
Серьезно над доками не работал, в основном просто синхронизировал статьи по коду через LLM агентов. Также улучшал обвязку агентов.
Еще кое-что
Немного изменилась концепция игры. Не в геймдизайне: основные столпы и философия остаются прежними — исследование, планирование, изучение, открытый и живой мир. Меняется в основном сеттинг. Пока я не готов рассказывать, в чём именно дело и почему, но обязательно вернусь к этому позже, когда будет прототип и начну работу над изменениями более конкретно.
Планы
Буду дальше работать над ИИ. До конца октября, думаю, управлюсь.
Немного статистики напоследок
За период с 20.09.2026 по 02.10.2026 я поработал над проектом ~72 часа:
22 часа — на прицеливание, IK, укрытия и HUD прицела;
15 часов — на боевой ИИ и стрельбу NPC;
16 часов — на модель робота;
6 часов — на рефакторинг и архитектуру;
4 часа — на перезарядку и звук;
3 часа — на окружение (обломки, машина);
6 часов — на документацию, ревью, постановку задач и созвоны.
Итог и послесловие
Период вышел смешанным: часть времени ушла на вещи, которые делали мир красивее, но не делали игру игрой. Но не считаю, что время прошло зря: получил определенную экспертизу и опыт, протестировал pipeline и возможность пока обходиться без 3d художика. Но, я думаю, все равно придется его нанять в какой-то момент.