Как 10 раз переделать AI в игре и наконец успокоиться? (Devlog рогалика #3)

Или, как понять, что чем проще, тем лучше.

Всем привет. Продолжаем пилить шутер-рогалик от третьего лица.

Более подробно об игре можете прочитать в самой первой статье.

Если говорить кратко, то за последние 2 недели мы сделали много всего, но пока не успели собрать это все воедино.

Искусственный "интеллект" мобов

Сейчас у нас 2 моба, один ближнего боя, второй дальнего.
Моб дальнего боя в целом работает довольно просто и с ним почти нет проблем, f вот моба ближнего боя мы изначально пытались сделать сложным, добавить взаимодействия и т.д. Вот так должен был работать:

1. Видит игрока
2. Сообщает другим мобам об игрока
3. Проверяет, что вокруг игрока не находятся больше N врагов - если находится, то бегает вокруг игрока
4. Если нет, то постепенно приближается к игроку (Выбирает случайную точку между собой и игроком и бежит к ней)
5. Атакует игрока случайной атакой

Вроде все 5 пунктов, но в каждом куча условий и действий.

В целом проблемы такие:

1. Использовали CrowdController в UE, благодаря которому AI должны красиво оббегать друг друга и окружать игрока, но по какой-то причине мобы постоянно дергались вместо нормальных поворотов.

2. Враги, которые бегали вокруг игрока, пока другие атакуют выглядели неестественно и требовали более точной настройки + когда персонаж двигался нужно было постоянно обновлять количество врагов, которые атаковали его в текущий момент.
Возможно мы реализуем это позже для более "умных" противников

3. Постепенной перемещение к игроку так же выглядит странновато - когда враг бежит на игрока и резко останавливается, то это выглядит, как баг.
Тут можно попробовать настроить точки так, чтобы враги пытались заходить с флангов.

Теперь AI работает гораздо проще - видит игрока -> бежит -> атакует.

Только логика атаки стала чуть сложнее, вместо случайной анимации выбирается набор из анимаций - комбо, которые проигрываются последовательно.

Сейчас мобы работаю вот так

Да, они толкают и застревают друг в друге, но если не перебарщивать с количеством врагов, то думаю это не так критично будет.

Возможно стоит добавить атаку в движении т.к. сейчас от них легко убежать (или даже упрыгать), но посмотрим, как это будет работать на локации вместе с другими врагами.

Шейдеры

Накатили шейдеры (спасибо нашему левел дизайнеру), чтобы не запариваться над детализацией моделей.

На кубиках и манекенах - обводка, cell shader, toon shader, на полу и стенах только toon shader

Уровень

Теперь у нас есть блокаут первого уровня, на котором можно тестить полноценно геймплей. В идеале хотим сделать генерацию уровней, чтобы увеличить реиграбельность рогалика.

Как 10 раз переделать AI в игре и наконец успокоиться? (Devlog рогалика #3)
Как 10 раз переделать AI в игре и наконец успокоиться? (Devlog рогалика #3)
Как 10 раз переделать AI в игре и наконец успокоиться? (Devlog рогалика #3)

Улучшение оружия

Наконец-то сделали логику улучшения оружия. В игре будут артефакты, которые можно будет вставлять в оружие и менять характеристики, как в Noita с жезлами.

Пока что срабатывает на оверлап с игроком, потом переделаем, чтобы можно было управлять артефактами через инвентарь.

Для примера сделал 3 улучшалки:
- синяя - увеличивает скорость стрельбы и перезарядки;
- серая - увеличивает скорость стрельбы и урон;
- оранжевая - добавляет дополнительную пулю при выстреле

Что дальше?

А дальше собирать то, что есть воедино, тестить, править баги...

Ставьте лайки и подписывайтесь на соц. сети

Discord: https://discord.gg/fv2c8PG5

TG: https://t.me/rencongamesjng

VK: https://vk.com/renconjng

11
14 комментариев