Как я разрабатываю будущий VR-хит

В этой статье я трачу 3 года, нахожу классную идею игры и получаю первые 10 000+ скачиваний

Меня зовут Рома Якименко. Три года назад я начал разрабатывать VR-игры, ради чего перешёл на парт-тайм на работе. Я до сих пор ничего не заработал, но потенциал одной игры увидел мой работодатель. Он предложил создать стартап, а мне — возглавить этот проект. Теперь я ищу ребят в свою команду. Вот моя история.

Почему я решил стать одним из первопроходцев в VR

Первый компьютер в нашей семье появился в 1989 году, когда мне было 11. Помню, я играл в космический симулятор Academy, и у меня не укладывалось в голове, что можно управлять кораблём на экране. Это был космос в прямом и переносном смысле! Со временем мне стало интересно, как сделать такое самому.

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

С VR я познакомился на набережной Саратова. Маленькая гейм-точка предлагала прокатиться на американских горках. Несмотря на ужасное качество игры, я подумал: это будет бомба. Снова, как и с первым компьютером, я испытывал ощущение нереальности: вот я был здесь, а теперь ТАМ. И если в обычных играх действие происходит на экране, и я просто наблюдатель, в VR я стал участником.

Первая версия прототипа Oculus Dev Kit 1 была слишком сырой, а вот вторую версию — Kit 2, я уже заказал.

Я методично тестировал прототипы и готовые шлемы. С одной стороны я поражался новому опыту, с другой понимал, что он не совершенен: провода и необходимость в дорогом компьютере всё портили. Рынку нужен был условный айфон — изящный и массовый девайс. Таким айфоном стал Oculus Quest — первый автономный шлем, который имел шесть степеней свободы для головы и джойстиков, и стоил всего 300$.

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

Первые игры: бокс в VR и танцы с драконами

За несколько лет я сделал десятки VR прототипов для шлема Oculus Quest. Однако большая часть проектов умирала на этапе тестирования.

Например, так было с боксом в VR. Смысл игры был простой — набить противнику рожу. Фишка игры — жест «блока»: при нападении игрок должен резко выставить руку вперёд, перехватывая удар соперника. Представьте ваше движение, когда в лицо летит мяч. То же самое нужно было делать в моём боксе.

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

Хотите поднять себе настроение? Посмотрите ролик до конца! :-)

Первой игрой, которую я всё таки выпустил, стала Dragon Dance VR. Это экшн-платформер от первого лица: герой должен обходить препятствия и сражаться с драконами, используя револьверы и мечи. По дизайну напоминает старую аркаду 80-х Twister: mother of charlotte.

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

Первое: если приходится долго объяснять, как именно играть в твою игру — что-то пошло не так. В «драконах» мне пришлось ввести аватара, который показывал и объяснял, что и как делать (как доставать меч, что делать с объектами). Всё потому, что я придумал слишком хитрые механики. В этом смысле игра должна быть попроще, иначе никакого фана.

Второе: пользователи выбирают игру по качеству графики в трейлере. Внешне Dragon Dance VR выглядела просто. Люди думали: раз игра выглядит «не вау», значит и играется никак. На самом деле играть в неё достаточно интересно (ну, после того, как разберёшься в хитрых правилах).

Void Ninja: почему я сделал ставку на паркур в VR

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

Я с нуля придумывал платформер под виртуальную реальность. Это позволило мне сделать её такой, какой и должна быть — по моему мнению — классная VR-игра. Для этого я реализовал четыре интересные штуки.

Так выглядит часть геймплея Void Ninja

Разный опыт перемещения

Вдохновением для «ниндзи» послужила видеоигра Ghostrunner. В трейлере герой находится в постоянном движении: он перемещается по городу в стиле паркур и расправляется с врагами. Но в самой игре это ощущение безостановочного движа теряется. У тебя всегда есть возможность постоять у платформы, раздумывая, как бы на неё запрыгнуть — и тебя ничто не подгоняет.

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

Паркур в VR существовал и до «ниндзи» в игре Stride. Но у неё есть небольшой недостаток: у части игроков кружится голова. В мою игру комфортно играть даже начинающим VR-пользователям. Для этого я сделал так, чтобы ускорение движения головы и виртуальной камеры более-менее совпадали.

Пример того, как я реализовал выбор уровня: игрок жестом «подтаскивает» нужную дверь и входит в неё

Управление жестами, а не кнопками

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

В первом прототипе Void Ninja использовались только кнопки: нажал одну — подпрыгнул, нажал вторую — достал меч, нажал третью — выпустил крюк. Но с тремя кнопками даже я, разработчик игры, путался.

В итоге я перешёл на управление жестами, оставив одну кнопку. Например, чтобы прыгнуть, игроку нужно резко отвести руки назад, будто отталкиваясь лыжными палками от земли. Стрельба из лука запускается движением, как будто взводишь тетеву. Ты физически ощущаешь себя супергероем — и это то чувство, которое должны давать подобные игры в VR!

Генерация уровней

Как создатель и пользователь я хотел подольше сохранить новизну в игре. Ресурсов на десятки уровней у меня не было, поэтому я начал с одного и сразу же сделал редактор уровней. Игроки формат «сделай сам» не оценили: никто не захотел копаться в сложном инструменте да и ещё в неизвестной игре. Но всё равно считаю, что такой редактор — must have, учитывая недостаток приложений в VR. Пока пользуюсь им сам.

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

Мини-туториалы

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

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

Тогда я решил обучать по чуть-чуть: добавил в начало каждого уровня 20-секундное объяснение конкретной фишки. Позже появился аватар, который на собственных движениях учит игровым жестам (записи движений сделал используя ВР шлем).

Аватар, который помогает пользователю освоить игру

Как я создавал дизайн без дизайнера

История с Dragon Dance показала, что игру выбирают «по одёжке». В случае с «ниндзя» мне пришлось сильно озадачиться визуальной стороной платформера.

Долгое время идей по дизайну было ноль. Но как и многие ключевые решения, это сваливается на меня нежданно, в два часа ночи. А что, если я помещу героя-ниндзю в космический сеттинг из другой своей VR-игры TAU CETI IV!? Что если игра будет выглядеть как полоса препятствий, висящей в космическом пространстве с огромной звездой на фоне! Я до пяти утра ходил туда-сюда по комнате и не верил, как классно всё сошлось. Тогда же и родилось название игры: Void Ninja.

Космическое пространство и огромная звезда из <a href="https://api.dtf.ru/v2.8/redirect?to=https%3A%2F%2Fsidequestvr.com%2Fapp%2F1236%2Ftau-ceti-iv&postId=1509308" rel="nofollow noreferrer noopener" target="_blank">TAU CETI</a>, которые гармонично вписались в мир Void Ninja
Космическое пространство и огромная звезда из TAU CETI, которые гармонично вписались в мир Void Ninja

В одном ютуб-ролике с советами по созданию игровых артворков я услышал отличную мысль: «Вам не нужна дорогая графика, найдите что-то стильное, бросающееся в глаза» (striking art, если в оригинале). Вторая важная мысль оттуда: «Попробуйте использовать то, в чём вы хороши».

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

Почему я взял для игры готовый трек

Когда я работал над Dragon Dance, я решил конкретно заморочиться над звуком и нашёл композитора. В итоге получился отличный двухминутный электронный трек. Заплатил около 15 тысяч рублей.

Но было одно «но»: управление процессом на две недели оттянуло моё внимание. Я согласовывал отобранные композитором темы, затем аранжировки, структуру трека и так далее. Это время я бы лучше потратил на разработку игры.

Мой вывод — проще посидеть день на стоках, найти нормальный трек и заплатить за него 20$. Так я и сделал для Void Ninja.

Как буду дальше развивать игру

Осенью 2022 года у игры более 10 000 скачиваний. Интересно, что менее проработанная Dragon Dance значительно обошла «ниндзю». Но первая игра всегда выигрывает за счёт того, что выпущена раньше.

Так выглядит геймплей в прототипах после месяца и трёх месяцев разработки

Сейчас Void Ninja состоит из 20 уровней и сотни готовых частей, которые можно бесконечно миксовать. Это база, которая позволяет развивать игру и плавно повышать сложность.

Сравните с тем, что есть через 2 года

Все же знают цитату Джона Кармака про относительную важность сюжета в игре? Так и с Void Ninja, завязка простая: место действия — далёкое будущее на неизвестной планете, наш герой-ниндзя — пожизненный заключённый, который участвует в игре на выживание. Он может пройти лабиринт и заслужить помилование, либо умереть.

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

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

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

Во второй части я расскажу, как продвигал Void Ninja, сколько времени и денег потратил, будучи инди-разработчиком, и почему IT-компания, в которой я работаю, решила вложиться в мою идею.

Уже сейчас я ищу тех, кто также горит VR-играми. Переходите на сайт игры и если захотите присоединиться — напишите мне на vr @ lar.ru

3939
23 комментария

Очень круто!
Желаю удачи в развитии проекта

2
Ответить

спасибо! будем стараться :-)

Ответить

Классная история) вдохновляет продолжать экспериментировать с вр

1
Ответить

спасибо! рад слышать что работа над статьёй была такой полезной!

1
Ответить

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

1
Ответить

Почему именно со стоянием на месте? В движении укачивает?

1
Ответить

По мне дизайн прям очень не очень.
Если в минимализм с черной палитрой, то я бы сделал что-то в духе Tron.

1
Ответить