Как я создавал шутер на Unreal 5 по собственному сериалу «Зона 66» — рассказ разработчика. Часть 8

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com

Вновь приветствую всех. Я — Шабуров Олег, и я продолжаю рассказ о планах по выпуску собственной инди-игры в жанре «шутер». Думаю, нужно немного рассказать про шутерную механику, и в конце расскажу с какими проблемами недавно столкнулся.

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

Присутствует несколько видов крепежей для различных обвесов. Самая распространенная, естественно, планка Пикатинни. На оружие советского образца можно устанавливать прицелы предназначеные под крепление «ласточкин хвост». Присутствуют модификации: прицел, глушитель, подствольный гранатомет, магазины повышенной емкости (там где это возможно) и т. д. Каждая вылетевшая из ствола пуля реальна, существует в виде проджектайла и изнашивает оружие. Оружие можно чистить. Для этого существует спрей-смазка и набор для чистки. Серьезный износ оружия делает его бесполезным, так что придется за ним следить. Оружие может перегреваться и клинить. Пуля способна пробивать тонкие препятствия: доски, коробки, листовое железо. Также пуля может отрикошетить и поразить цель рядом или игрока. Гранаты тоже имеют проджектайлы. Граната разрывается на множество частей — поражающих осколков, как в реальности. Благо движок позволяет такое реализовывать на лету. Дробовые патроны и картечь тоже имеют реальные заряды дроби. Дробь наиболее эффективна в узких помещениях. На ближней дистанции она оказывает большое останавливающее действие, но плохо пробивает стальные листы. Бронированый противник вероятнее всего получит удар и «упадет в нокдаун» на какое то время. Если его не добить, то он очнется, встанет и, при удобном случае, пристрелит игрока. Гранаты способны запустить цепную взрывную реакцию, если поблизости от взрыва будет баллон с кислородом, канистра с бензином или мина. Коктейли Молотова, которые можно крафтить, крайне эффективны против пехоты и слабовооруженных бойцов. Но так как огонь не сжигает врага сразу, то он вполне способен отстреливаться и даже пристрелить игрока, хоть и будет менее сосредоточен на цели.

Все оружие я собираю в другой программе. Создаю там скелетные сетки и делаю карты весов. Так как считаю работу со скелетной арматурой в движке крайне неудобной. Хотя анимирую и создаю анимационные ассеты уже в движке. Несмотря на это, анимировать оружие мне проще и быстрее в движке. А вот с персонажами не все так однозначно, предпочитаю анимировать в сторонних редакторах. Головы и лица я делаю отдельно, методом фотограмметрии. Это когда рисуются вершины по комплекту фотографий, которые программа выставляет в пространстве сопоставляя точки. На данный момент также экспериментирую с разделением модели в движке. Отдельно кисти каждой руки, отдельно руки, верхняя часть тела, нижняя, голова, каждая нога выше колена, ниже колена и ступни. Все модели пересаживаю на «Анрил скелет» в сторонней программе, потом импортирую в движок. А после уже собираю бутерброд из скелетных сеток, чтобы иметь возможность скрывать или разделять кости без растяжения полигонов. Для организации механики расчленения именно это и необходимо делать.

В конце все же расскажу с какой проблемой недавно столкнулся. Логика НПС у меня получилась слишком жирная, со множеством проверок и опросов окружающего мира, а так же проверок изменяющихся условий и сменой модели поведения в зависимости от ситуации. В итоге, я снова начал оптимизировать проект, начав с текстур. И проводя аудит проекта, я никак не мог понять: почему я уменьшаю количество тяжелых для движка текстур, обьектов и освещения, но ФПС не прибавляется, задержка только увеличивается. Проблема крылась именно в ботах. Да, движку тяжело считать около пары десятков ботов на карте. Постепенно разгружая логику и заменяя бесполезно ходящих по карте ботов вне поля зрения игрока на «спаун точки» я увеличил ФПС в два раза. Кроме того, разгрузил видеопамять, уменьшив потребление ее на 40%. Буду и дальше экспериментировать с логикой НПС. Пока что данное явление меня несколько удручает, и да, придется идти на ухищрения и оптимизировать в том числе и это. Ведь в открытом мире хотелось бы создать умных врагов.

ШутерPC
Автор не входит в состав редакции iXBT.com (подробнее »)

1 комментарий

PanzerK
Как то перебор с «коричневыми нотами», будто во времена Xbox 360 вернулся…

Добавить комментарий

Сейчас на главной

Новости

Публикации

Обзор портативного паяльника Alientek T80P: подробный тест точности нагрева и поддержания температуры

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

Венский шницель: как тонкая телятина получает воздушную хрустящую панировку, которая не должна плотно прилипать к мясу

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

Можно ли охладить Венеру и сделать её пригодной для жизни

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

Закрытый кузов, полный привод и «пневма»: каким мог стать наследник ЛуАЗа

Маленький ЛуАЗ охотно покупали для деревни, рыбалки и поездок по таким дорогам, куда на обычной легковушке лучше было не сворачивать. На шоссе удовольствия от него было гораздо меньше: тесный...

Самый суровый экзамен советского внедорожника: как обычная «Нива» проработала 15 лет в Антарктиде и осталась на ходу

Антарктида — это край, где техника испытывается на предел. Морозы, пронизывающие ветры, солёный воздух и полная изоляция превращают любую поломку в серьёзную проблему. В таких условиях...