Делимся опытом, даём советы о том, как разрабатывать VR-проект

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

Кратко о сюжете нашей игры


На Землю надвигается волна астероидов. Человечество находится под угрозой. Главный герой — пилот боевого корабля. Его миссия — расчистить путь для шаттлов, которые эвакуируются с планеты.


Трейлер Astro Collapse

Движок и платформа


Для разработки игры мы использовали популярный движок Unity 5. С ним легко работать: есть много ресурсов с готовыми решениями и инструментами, которые можно применять в проектировании игрового мира. Мы использовали утилиты Oculus и ассеты Unity.

За основу виртуальной реальности мы взяли платформу Gear VR. Игру тестировали на смартфоне Samsung Galaxy S7. Если в своём проекте вы используете такие же технологии, то вам пригодится инструкции разработки несложных VR-приложений на официальном сайте Oculus. Здесь вы найдете мануал для начинающих разработчиков VR-приложений и подробный туториал с понятным разбором работы виртуального мира.

Как мы создали игровой мир: графика и проектирование объектов


На этапе дизайна у нас не было детального сценария игры, только общее представление виртуального мира. Так мы сделали сырой прототип всей игры: графика не впечатляла, а геймплей был скучным. Но он выполнил свои функции: мы протестировали стрельбу, интерфейс и управление.

image
Фрагмент пользовательского сценария

Затем на доработку игры ушло полгода, потому что у нас не было чёткого планирования и сроков по этапам разработки. Мы делали много лишнего: несколько раз переделывали интерфейс игры, перерисовывали взрывы и спасательные шаттлы. Менеджер проекта в нашей команде появился слишком поздно.

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

Кабина пилота боевого корабля


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

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

image
Эскиз кабины боевого корабля в игре Astro Collapse

Второй ключевой элемент — пушки, которые видны из кабины пилота. Эскизы мы отрисовали в фотошопе. Получилось так:

image
Эскизы вооружения корабля

Затем мы смоделировали объекты в Blender и перенесли их в Unity:

image
Трёхмерная модель пушки в игре Astro Collapse

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

image
Набросок игрового интерфейса в игре Astro Collapse
Делайте понятные интерфейсы и игровую навигацию, чтобы геймеры быстро поняли геймплей и не выключили игру.

После тестирования игры внутри команды мы поняли, как удобно для игроков разместить элементы интерфейса на экране. Мы убрали индикатор здоровья Земли и добавили информацию об эвакуационных кораблях:

image
Последняя версия игрового интерфейса

Мы хотели сделать больше двигающихся объектов, чтобы игра была динамичной и зрелищной.

Для этого анимировали смену прицелов, состояние здоровья и сделали тряску от ударов.

Игровой процесс стал выглядеть интереснее:


Анимация игрового интерфейса

Чтобы игрок почувствовал себя настоящим пилотом боевого корабля, мы добавили панель управления. В бою её почти не видно, но можно хорошо разглядеть, наклонив голову вниз:


Панель управления боевым кораблём

Создание галактики, астероидов и шаттлов


Мы отрисовали противника — астероид. Модель делали с нуля:

image
Сетка модели шаттла (mesh), диффузная текстура (diffuse map), карта нормали (normal map)

Затем мы смоделировали спасательный шаттл:

image
Готовая модель шаттла

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


Поле боя в игре Astro Collapse

Чтобы её оживить, нужно было придумать увлекательную атмосферу игры.

Как мы разработали геймплей


Одновременно с разработкой дизайна мы продумывали игровой процесс. Первоначальная задумка была банальной и скучной: игрок просто уничтожает астероиды. Поэтому перед нами встала задача — как погрузить игрока в атмосферу космического апокалипсиса? Мы начали работать над сценарием.

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

Ещё мы собрали ребят из нашего офиса и провели штурм. Начали думать, что добавить в игру, чтобы она стала интереснее. Так мы написали целый лист идей, а потом выбрали самые увлекательные, которые успели бы реализовать.

Сначала мы придумали цель для игрока: спасти как можно больше людей. Для этого добавили шаттлы, которые эвакуируются с Земли. Чтобы они спаслись, игроку необходимо прочищать для них путь.


Если игрок не успевает сбивать астероиды, погибают шаттлы

С каждой минутой астероидов становится больше. Так мы усложнили игру:


Чем дольше идёт игра, тем больше астероидов летят на Землю

Игрок может получить другое оружие. Для этого нужно подбить бонус-куб:


Игрок может получить плазменную турель или лазерную пушку

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


Союзные корабли помогают игроку. Астероиды могут взорвать союзников

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

Начало игры сопровождается серьёзным голосом капитана. Речь становится взволнованной, когда астероиды подбивают первые шаттлы. Женский голос с Земли сообщает о взлетевших кораблях и погибших городах.


Чтобы создать атмосферу апокалипсиса в игре с помощью радиовещания, мы обратились к профессиональным актёрам

Для победы игроку нужно спасти 30 шаттлов. После этого появляется босс — огромный астероид:


Игрок уничтожает босса в игре Astro Collapse

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

Советы геймдизайнерам


Чтобы сделать хороший геймдизайн с первого раза, соблюдайте несколько правил:

  • Напишите подробный сценарий перед началом разработки игры. Опишите персонажа, уровни, локации и механику игры. Вносите как можно больше деталей, оживляйте картинку. Так будет легче поставить правильные задачи для разработки и сократить время работы над проектом.
  • Создайте черновой прототип всей игры. Это поможет протестировать игру в самом начале и понять, куда двигаться дальше.
  • Разбейте работу на этапы, задайте четкие сроки и определите роли. Собирайтесь каждое утро и обсуждайте проект.
  • Если у вас нет менеджера, выберите главного на проекте, который будет контролировать работу.
  • Найдите похожие игры и проведите аналитику. Отмечайте особенности, которые можно использовать в вашем проекте. Так вы изучите опыт других геймдизайнеров, что поможет сделать игру увлекательнее.
  • Ищите референсы будущего дизайна. Вспомните фильмы или игры, в которых вы видели подходящую картинку. Это поможет команде понять, как лучше визуализировать игровой процесс, персонажа и локации.
  • При разработке интерфейсов, опирайтесь на знакомые игрокам решения. Не усложняйте игру, чтобы игроки не запутались в управлении и геймплее.
  • Сделайте хорошую озвучку персонажей. Рассерженный или испуганный голос профессиональных актеров в наушниках игроков передаст атмосферу лучше титров.
  • Играйте и любите игры, чтобы быть в тренде геймдизайна.

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

А пока сыграйте в игру Astro Collapse и почувствуйте атмосферу космического апокалипсиса! Для этого вам понадобятся очки Samsung Gear VR. Они работают со смартфонами: Samsung Galaxy Note 4, 5, 7, S6/S6 Edge/S6 Edge+, S7/S7 Edge, S8/S8+.

До скорого!