Как устроена система поиска пути в Path of Giants

История создания ключевой особенности игры.

Сооснователь, программист и аниматор Journey Bound Games Эндрю Фаррелл на сайте Gamasutra рассказал, как пытался создать систему поиска пути для персонажей в головоломке Path of Giants. По его словам, стандартный pathfinding в Unity подходит далеко не для всех ситуаций, поэтому разработчику пришлось искать самостоятельное решение проблемы. Мы выбрали из его рассказа самое главное.

Как устроена система поиска пути в Path of Giants

Фаррелл работал над игрой вместе со своей женой Ханой — они разрабатывали её примерно три с половиной года. Path of Giants — их первая игра: у пары был опыт в сфере арта, но не было никакого понимания технического аспекта разработки.

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

Авторы решили, что для low-poly стиля отлично подойдёт навигация, основанная на сетке. Сперва они хотели, чтобы герои перемещались по одной клетке за раз, но клеток на уровнях было слишком много, поэтому это просто не приносило удовольствия от движения.

Следующей попыткой оказалось добавление стандартной системы поиска пути из Unity. Но её проблема заключалась в отсутствии поддержки передвижения по сетке. Эндрю решил вырезать дырки в сетке для поиска пути, чтобы персонажи могли двигаться только так, как хочет разработчик. Но и в итоге всё получилось наоборот — герои срезали углы, застревали в дырках и не могли выполнить даже самые простые действия.

Как устроена система поиска пути в Path of Giants

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

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

Как устроена система поиска пути в Path of Giants

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

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

По словам Фаррелла, они переделывали игру пять раз, потому что каждый раз стремились улучшить ощущения от неё.

Система точек также позволила жене Эндрю Фаррелла самостоятельно создавать уровни, хотя она далека от программирования и занималась только артом и моделированием. Фаррелл создал несколько типов точек, которые содержат всю необходимую информацию о разных объектах. Благодаря этому Хана смогла без проблем создавать уровни из разных элементов: платформ, лестниц, кнопок и так далее. Это позволило легко строить уровни, просто дублируя эти элементы и расставляя их по сетке.

4141
6 комментариев

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

10
Ответить

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

1
Ответить

Но A* же луууучше.

Ответить

Причем, если путь персонажа пересекается с путем уже идущего персонажа, то он не пойдет, даже если уже идущий пересек точку пересечения. 🤦‍♂️

Ответить

Безумцы, продолжают постить статьи про игры на этом порно аниме сайте)

1
Ответить