реклама
разместить

Особенности создания режима зверобол

Jaws &amp; Claws - режим зверобол.<br />
Jaws & Claws - режим зверобол.

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

В боевых режимах Jaws & Claws целью любого бота является другой персонаж из команды соперника. И не важно, это игрок или другой бот. В спортивном режиме цель у бота совсем иная. Ему необходимо своими ударами сделать так, чтобы мяч попал в ворота или кольцо команды соперника.

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

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

Я приведу часть основных параметров, которые используются у нас в игре:

  • время опроса смены цели;
  • вероятность смены цели на ближайшего персонажа;
  • вероятность смены цели на атакующего персонажа;
  • вероятность использования ударов в стойке;
  • вероятность использования ударов в беге;
  • вероятность использования ударов в рывке;
  • вероятность использования ударов в воздухе;
  • вероятность использования оружия;
  • вероятность использования рывка;
  • вероятность использования бега;
  • вероятность использования блока чтобы обороняться.

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

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

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

лев забивает мяч в ворота.

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

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

боты бьют мяч туда-сюда

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

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

 боты бегают все вместе за мячом

Чтобы исключить подобную беготню по игровому полю. Мы решили, что персонажи должны быть распределены внутри своей команды по типу игроков:

  • нападающий
  • защитник;
  • полузащитник.

Количество персонажей в игре может быть различным. Игрок может собрать команду от одного до одиннадцати персонажей. Поэтому классическое распределение ролей внутри команды нам не походит.

В итоге решено было использовать специальные спортивные точки. Для каждой команды были созданы по две. Одна спортивная точка в команде для нападающих, другая для защитников. Эти точки описывают ограничения персонажа на поле, тем самым объясняя ему его примерное место и модель поведения на спортивной площадке.

спортивные точки в уровне игры.<br />
спортивные точки в уровне игры.

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

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

распределение внутри команды.

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

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

Результат получился ожидаемый. Боты перестали бегать по площадке взад-вперед, пытаясь догнать катящийся по полю мяч. Модель поведения бота позволяла одним персонажам находиться большую часть времени возле ворот соперника, другим возле своих ворот. Количество результативных ударов увеличилось.

Однако проделанной нами работы даже в этом случае оказалось недостаточно. Увеличилось количество авто голов. Боты, которые должны защищать свои ворота или кольцо производили удары, которыми забивали мяч в свои ворота или кольцо.

бот забивает авто гол.
бот забивает авто гол.

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

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

итоговая версия игры ботов в режиме зверобол.

Возможно, что-то еще мы будем улучшать в поведении ботов, но я думаю, что эти изменения будут незначительными.

В завершение приведу ссылку на страницу нашей игры в Steam. Желающие могут добавить нашу игру в список желаемого, нам будет приятно.

1111
реклама
разместить
Начать дискуссию
реклама
разместить
Нил Дракманн заявил, что фанатам не стоит рассчитывать на выход The Last of Us Part III

Возможно, продолжения культовой серии всё же не будет.

Нил Дракманн заявил, что фанатам не стоит рассчитывать на выход The Last of Us Part III
152152
8686
8585
1010
66
33
22
22
11
11
Это хорошая новость. Спасибо.
«Браво, AMD! Берегись, NVIDIA»: главное из обзоров RX 9070 и RX 9070 XT

AMD предложила игрокам реальных конкурентов RTX 5070 и 5070 Ti по адекватной цене.

«Браво, AMD! Берегись, NVIDIA»: главное из обзоров RX 9070 и RX 9070 XT
334334
6868
2828
2626
55
33
22
11
DLSS 4 наше все, ни за что на амд не пересяду теперь.
Сарик Андреасян жестко порвался на встрече со студентиками. Причина тряски? Анора, Тарковский, авторское кино 🤡

«Я ненавижу Тарковского. Я ненавижу авторское кино. Если вы хотите быть нищими, кончеными, блюющими кинематографистами, идите нахер»

348348
4444
1616
1414
77
66
Дополню пост реакцией кинокритика Ивана Афанасьева на эту ситуацию, с которой я полностью солидарен: «И удивляет меня не то, что он говорит, что ненавидит Тарковского (ради Б-га, пусть ненавидит, хоть пусть подтирается туалетной бумагой с его изображением), а что "работающий в кино 20 лет" продюсер и режиссер позволяет себе общаться с будущими режиссерами и продюсерами, как с говном. И ничего за это ему не будет, потому что он "в кино 20 лет". Прости, Сарик, но если ты 20 лет снимаешь говно, это еще не значит, что ты имеешь право к другим относиться так же, как к своим собственным фильмам. Комплексы старшего поколения - это одна из главных причин бед современной России, и Андреасян только что продемонстрировал главную беду конкретно российского кинематографа - ощущение собственного мнимого величия, в то время как ты, по факту, за все эти 20 лет не сделал ничего достойного»
СМИ: из студии создателей ремастера Until Dawn «почти всех уволили»

Ballistic Moon «фактически закрылась».

СМИ: из студии создателей ремастера Until Dawn «почти всех уволили»
8282
3535
1010
33
22
11
11
11
11
11
Не дожили до рассвета
Огромный прогресс, но DLSS 4 лучше: первый тест FSR 4 от Digital Foundry

AMD проделала колоссальную работу.

155155
3232
99
55
11
11
Ну уже хоть что то. Такими темпами амд видеокарты однажды могут перестать быть говном.
Некстген-версию GTA V сравнили с обычной на ПК

Разница большая и определённо заметная.

149149
8484
1515
44
11
Ну где там люди, которые говорили что разницы никакой нет?)
Роберт Дауни-младший сам пишет предысторию Доктора Дума для следующих частей «Мстителей»

Актёр усердно готовится к роли злодея в предстоящих фильмах, сообщили постановщики Энтони и Джо Руссо.

Роберт Дауни-младший сам пишет предысторию Доктора Дума для следующих частей «Мстителей»
1616
1212
44
11
11
[]