Создание фейкового ИИ для прыжков на платформы — краткий гайд
Достаточно просто поставить триггеры в нужных местах.
Инди-разработчик под ником Securas в 2020 году опубликовал на Reddit пост, в котором показал простейший способ реализации вертикального перемещения противников в 2D-платформере. Пересказываем его микрогайд.
Реализовать прыжки противников достаточно просто: перед препятствием нужно поставить коллайдер, который покажет ИИ, где прыгать.
Затем нужно лишь копировать коллайдер и поставить его в остальных местах, где нужно перемещаться по вертикали.
Важно, чтобы прыжок происходил только в том случае, если герой находится выше врагов. В результате противники будут прыгать на более высокие платформы, когда игрок будет подниматься на них.
В комментариях к посту отметили, что такая реализация подойдёт скорее для небольших прототипов, а не полноценных проектов — при увеличении масштабов игры эта техника, вероятно, не особо эффективна, потому что коллайдеры нужно расставлять вручную: их легко потерять, пропустить ненужный триггер, а при любых изменениях в геометрии уровня придётся двигать коллайдеры.
Всё, что требует ручного расставления чего-либо (нод, триггеров, маркеров и т.д.), просто многократно увеличивает шанс выстрелить себе в ногу. Подвинул платформу, триггер подвинуть забыл - всё, ИИ сломался и творит дичь.
Нужен либо пасфайндер который анализирует уровень и автоматически генерирует граф, либо ИИ который сам анализирует окружение сенсорами и принимает решение.
Писал про это более подробно тут - https://dtf.ru/indie/284203-king-witch-and-dragon-devlog-11
Комментарий недоступен
Как раз таки при автоматическом действии ИИ будет творить непредсказуемую дичь, ещё и нагружать устройство, если чисто анализировать. Левелдизайнер должен хорошо проработать уровень и интересные сценарии поведения ИИ в нем предусмотреть, как это делали в FEAR, который все постоянно ставят в пример крутого ИИ в играх, а там ручками прорабатывали все.
Не проще просто в противников коллизию перед ними сделать на детект и ту-же логику прописать? Как раз не нужно будет расставлять ничего.
Они тогда будут пытаться прыгнуть утыкаясь в стену.
Нужно написать скрипт который будет раскидывать коллайдеры с углов вышестоящей платформы. Дешево и сердито.