Создание фейкового ИИ для прыжков на платформы — краткий гайд

Достаточно просто поставить триггеры в нужных местах.

Инди-разработчик под ником Securas в 2020 году опубликовал на Reddit пост, в котором показал простейший способ реализации вертикального перемещения противников в 2D-платформере. Пересказываем его микрогайд.

Реализовать прыжки противников достаточно просто: перед препятствием нужно поставить коллайдер, который покажет ИИ, где прыгать.

Затем нужно лишь копировать коллайдер и поставить его в остальных местах, где нужно перемещаться по вертикали.

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

В комментариях к посту отметили, что такая реализация подойдёт скорее для небольших прототипов, а не полноценных проектов — при увеличении масштабов игры эта техника, вероятно, не особо эффективна, потому что коллайдеры нужно расставлять вручную: их легко потерять, пропустить ненужный триггер, а при любых изменениях в геометрии уровня придётся двигать коллайдеры.

7171
54 комментария

Всё, что требует ручного расставления чего-либо (нод, триггеров, маркеров и т.д.), просто многократно увеличивает шанс выстрелить себе в ногу. Подвинул платформу, триггер подвинуть забыл - всё, ИИ сломался и творит дичь.

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

36
Ответить

Комментарий недоступен

1
Ответить

Как раз таки при автоматическом действии ИИ будет творить непредсказуемую дичь, ещё и нагружать устройство, если чисто анализировать. Левелдизайнер должен хорошо проработать уровень и интересные сценарии поведения ИИ в нем предусмотреть, как это делали в FEAR, который все постоянно ставят в пример крутого ИИ в играх, а там ручками прорабатывали все.

Ответить

Не проще просто в противников коллизию перед ними сделать на детект и ту-же логику прописать? Как раз не нужно будет расставлять ничего.

4
Ответить

Они тогда будут пытаться прыгнуть утыкаясь в стену.

1
Ответить

Нужно написать скрипт который будет раскидывать коллайдеры с углов вышестоящей платформы. Дешево и сердито.

2
Ответить