Как стать автором
Обновить
114.95
InlyIT
Для старательного нет ничего невозможного

Процесс создания игры про паркур на примере Parkour Simulator 3D

Время на прочтение 5 мин
Количество просмотров 2.3K
И ещё немного личного опыта от партнёров: на этот раз компания Akadem рассказала нам о том, как происходила работа над игрой в модном сейчас жанре паркур-экшна. Приглашаем всех, кто интересуется темой или планирует создать собственный тайтл подобной направленности, ознакомиться с их историей.



«Представьте, что в один прекрасный вечер после очередного просмотра фильма «13-ый район» вам вдруг захотелось сделать свою игру о безумных трюках, прыжках через пропасти и чудесах акробатики, да еще такую, чтобы сам Дэвид Белль поставил на маркете 6 звезд из 5 и предложил сняться в главной роли в фильме по мотивам, если таковой будут снимать. Бросив взгляд на лежащий на столе смартфон Galaxy S7, вы приняли твёрдое решение, что игра будет запускаться именно на мобильных платформах, чтобы своей крутостью не только подкосить корейского производителя, но и взорвать сознание игроков по всему миру. И тут возникает главный вопрос: какой должна быть лучшая мобильная игра о паркуре и как её сделать?


Тема паркура на данный момент остается актуальной: эта спортивная субкультура приближается к пику популярности. На свет появляются сиквелы таких хитов, как Mirrors's Edge и Vector. В связи с этим, играя в вашу игру, пользователи невольно будут делать сравнения. Конечно же, хочется взять от тематики только лучшее, но при этом подать её в своем оригинальном и неповторимом стиле.

Сегодня мы расскажем, как сделать игру о паркуре на примере нашего действующего проекта Parkour Simulator 3D, реализованного на популярной на сегодняшний день среде разработки Unity3D и её системе Mecanim.

Завязка


Основная масса игр о героях «ямакаси» на старте дает игроку персонажа и кричит: «Беги, Форест, беги!». Куда? Зачем? Непонятно. После двух минут такой игры становится попросту скучно, особенно если никакого прогресса не наблюдается и приходится выполнять одни и те же действия раз за разом.

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

В Parkour Simulator 3D мы сделали простую завязку, чем-то напоминающую пролог NFS: Most Wanted, только вместо крутых автомобилей персонажи для передвижения используют нижние конечности. Первая анимированная сцена даёт понять, что вам предстоит управлять крутым и популярным в своем круге трейсером, которому бросил вызов герой-антагонист, тип неприятной наружности. После непродолжительного забега, выбившись в очевидные лидеры, персонаж попадает в западню и проигрывает состязание, потеряв при этом свой высокий статус и уважение коллег по акробатическому цеху. Воодушевленному трейсером игроку через персонажа передается цель — отомстить подлецу и вернуть былую славу. Таким образом мы цепляем пользователя, унося его в мир испытаний, кульминацией которых станет битва с главным боссом.

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

Игровая механика


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

В Parkour Simulator 3D мы взяли за основу механику раннера, как самую подходящую для динамичной игры. Генерация мира происходит процедурно, путём чередования определенного набора блоков с преградами для игрока и для противника случайным образом. Развитие персонажа достигается за счет покупки новых трюков, ускорения и новых костюмов за монеты, заработанные в забеге с противниками. С каждым новым уровнем становится все сложнее одолеть врагов, соответственно, к этапу битвы с боссом игрок должен прийти подготовленным, имея при себе полную амуницию.

Чтобы реализовать нечто подобное, нам нужно иметь в своем арсенале модели персонажей, окружения и знание Unity3D, чтобы собрать всё это в одну большую систему взаимодействия.

Модели


Если вы хорошо владеете мастерством 3D моделирования, то вопросов к вам нет. Создать модель будущего героя, воспользовавшись, к примеру, Blender3D, вам не составит труда. Единственный момент: если захотите ускорить процесс, вам могут помочь сторонние средства визуализации, такие как плагин Manuel Bastioni Laboratory, позволяющие в один клик сгенерировать модель человека по заданным параметрам. Но будте осторожны с генерацией: вместо желанного поджарого трейсера у вас может получиться жуткий огр.



А что делать, если вы не владеете подобными навыками? В такой ситуации есть несколько вариантов.

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

Второй вариант позволит вам сделать все самостоятельно. Существуют специальные программные пакеты, упрощающие процесс создания персонажей с нуля путём изменения определенных параметров. Таковым является Adobe Fuse с очень тонким и богатым набором настроек будущего героя. Единственный нюанс в том, что на выходе мы получаем высокополигональную модель, количество полигонов которой для использования на мобильных платформах необходимо будет снизить до оптимального количества в упомянутом выше Blender3D.



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



В Parkour Simulator 3D часть персонажей была смоделирована с нуля в Blender3D, а другая часть — сделана в пакете MakeHuman.



Анимации


Очень важной составляющей паркура являются анимации. Есть много примеров игр с персонажами, использующими движения, созданные вручную и при этом не очень качественно. Например, это видео даёт пользователю почувствовать себя знатным кукловодом, но никак не крутым парнем. Поэтому мы однозначно решили для себя, что пластика должна быть естественной, созданной на базе движений реального человека. Наша студия, к сожалению, не имеет возможности использовать технологию Motion Capture или аналогичные ей, поэтому мы вынуждены пользоваться изобретением Тима Бернса-Ли, то есть всемирной паутиной. Хочется выделить два основных ресурса для поиска подходящих анимаций:

— Собственно, сам магазин Asset Store от Unity с его must have набором для Mecanim.



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



В Parkour Simulator 3D мы использовали анимации из вышеописанного ассета Raw Mocap Data for Mecanim. В нём мы нашли подходящие для героя прыжки и подкаты, а также анимации бега. Анимации, предоставленные Mixamo, на текущий момент мы используем в обновлении игры.

Окружение


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

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

Подходящие ассеты:

В Parkour Simulator 3D мы имели возможность смоделировать основные крупные элементы локаций с нуля и лишь некоторые мелкие элементы окружения были взяты с Asset Store.



Разработка


Имея все составляющие, вы можете приступить к разработке, применяя все свои знания программирования на C# в среде Unity3D. Мы не будем дублировать в этой статье все принципы оптимизации, которым следовали при разработке Parkour Simulator 3D. Об этом вы сможете прочитать, допустим, в этой статье.

Надеемся, что наш опыт показался вам интересным и вдохновит вас — чем черт не шутит — на создание собственного шедевра в этой тематике».
Теги:
Хабы:
-1
Комментарии 0
Комментарии Комментировать

Публикации

Информация

Сайт
inlyit.com
Дата регистрации
Дата основания
Численность
31–50 человек
Местоположение
Россия