Бей, ломай и круши

Как Unity Multiplayer помог студии Destruction Crew создать суперпопулярную мобильную игру

Demolition Derby: пример использования Unity для мобильных игр

Destruction Crew, инди-студия из трех разработчиков из Нидерландов, создала мобильную игру, в которой реализовала всю свою любовь к разрушительным дерби, авариям и хаосу.

Игра

Demolition Derby, аркадная гонка с упором на разрушаемость и многопользовательской игрой в реальном времени.

Цель

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

Платформы

iOS, Android, VR для Android (различные гарнитуры), Win Store Apps.

Количество сотрудников

3 человека.

Регион

Эммен, Нидерланды.

Многопользовательская игра — не проблема

Разработчики советуют начинать с того, что ты знаешь и любишь. Именно так и поступила команда Destruction Crew.

«Мы всегда любили игры про дерби с их динамикой и весельем, поэтому и решили сделать свою, со своими фишками, попробовать себя в этом деле, — говорит Стивен Деркс, ведущий программист и один из основателей Destruction Crew. — Мы обожаем разрушения, что уж тут».

Учитывая динамичность игры, Destruction Crew логичным образом пришла к выводу, что игроки захотят соревноваться друг с другом в сети.

«С компьютером, с искусственным разумом играть интересно. Но еще интереснее играть с людьми, — утверждает Деркс. — Когда можно в реальном времени разбить чью-то машину, ты думаешь: вот это да! А с Unity Multiplayer сделать игру увлекательной было намного проще».

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

 

Синхронизация физической модели делает игру намного приятнее

Важной функцией, которая позволила Destruction Crew сделать многопользовательский режим приятным и привлекательным, была синхронизация физической модели, реализованная с помощью API Unity. Программирование физики стало проще, и теперь игра работает одинаково на всех устройствах.

Вместо стандартного Transform разработчики создали собственный NetworkTransform, на разработку и тестирование которого ушло около месяца.

«Благодаря встроенным в Unity механизмам сетевой сериализации мы смогли легко передать все данные, необходимые для моделирования физики на клиентских устройствах, — рассказывает Деркс. — Так как реализовать Network API очень просто, запрограммировать физику в сетевой игре можно без особых проблем, что было особенно важно для нашей гонки на мобильных устройствах».

Другая функция Multiplayer, которую оценили в Destruction Crew, — возможность создавать закрытые комнаты.

«В Unity это очень просто: задаете пароль — и готово. Друзья, которые хотят поиграть вместе, создают закрытую комнату, защищают ее паролем, если хотят, и все», — говорит Деркс.

 

Неожиданный успех

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

«В самом начале у нас было 200 одновременных подключений (CCU, concurrent users), и мы думали, что этого будет достаточно, но для подстраховки увеличили запас до 1000. К нашему удивлению, буквально за неделю эта цифра увеличилась до 5000 подключений. Это было гораздо больше предельного значения, но команда Unity каждый раз помогала нам поднимать планку. Благодаря гибкости бэкенда увеличение до 5000 подключений далось нам без проблем», — говорит он.

Форсированная адаптация моделей машин из Asset Store

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

«Мы хотели, чтобы у игроков была возможность выбирать из множества автомобилей, но их разработка с нуля — дело затратное», — говорит Ник Тиммер, геймдизайнер и один из основателей Destruction Crew.

Команда решила приобрести пакеты автомобилей в Unity Asset Store и адаптировать их к своему стилю, заменив UV-текстуры и скины на собственные.

«Asset Store очень нас выручил. Я даже не могу представить, как бы мы разрабатывали машины с нуля. Мы бы занимались этим несколько месяцев, а не пару недель», — говорит Тиммер.

Крутые тачки

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

«Обычно возможность настраивать машину появляется только после определенного уровня. Но мы решили, что неплохо бы создать так называемый "черный рынок", где игроки более низких уровней могли бы приобрести детали в виде внутриигровых покупок (In-App Purchase, IAP)».

Поначалу Destruction Crew столкнулась с некоторыми проблемами в работе IAP, и они мешали двигаться дальше, но с внедрением Unity IAP все изменилось в лучшую сторону.

«Раньше мы использовали другие плагины, но с ними было сложно, и они создавали проблемы. Систему приходилось внедрять в игру для каждой платформы по отдельности, что было сопряжено с рядом трудностей. Unity IAP сильно упрощает этот аспект. Достаточно просто импортировать систему и привязать несколько функций. Готово!», — говорит Деркс.

Регулярные обновления и поддержка сообщества

Destruction Crew использовала Unity Multiplayer с самой первой бета-версии. Несмотря на то что ранние версии сервиса были лишены некоторых функций, студия не считала это проблемой, а просто продолжала разработку, развивая игру по мере выхода обновлений Unity Pro.

«Нужная функция, отсутствовавшая в Unity еще вчера, появлялась буквально на следующий день», — говорит Деркс.

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

«Сообщество Unity здорово нам помогло. Здесь очень отзывчивые профессионалы. Мы искали информацию на Stack Overflow и на форумах Unity, и в 9 случаях из 10 решение находилось».

Любая платформа и технология

Demolition Derby Multiplayer была выпущена одновременно на iOS, Android и в Windows Store. Студия Destruction Crew оценила удобство адаптации игры для различных платформ.

«От нас требовалось лишь изменить несколько настроек вроде сжатия текстур или геометрии, но в целом процесс сводился к запуску и проверке сборки».

С появлением и распространением VR студия решила, что эта платформа отлично подходит для их игры. Подготовить версию для VR было очень просто.

«До этого мы занимались только мобильными играми, но Unity замечательна тем, что внедряет поддержку всех новых платформ и технологий вскоре после их появления. Поэтому для разработки версии нашей мобильной игры для VR нужно было лишь добавить несколько плагинов», — говорит Тиммер.

Steven Derks, Lead Programmer and Co-founder at Destruction Crew

«Unity сильно упростила синхронизацию физической модели, хотя обычно это отнимает много сил и времени. Так как реализовать Network API очень просто, запрограммировать физику в сетевой игре можно без особых проблем, что было особенно важно для нашей гонки на мобильных устройствах».

Steven Derks, Lead Programmer and Co-founder at Destruction Crew

С чего начать разработку мобильных игр в Unity?

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

Мы используем cookie-файлы, чтобы вам было удобнее работать с нашим веб-сайтом. Подробнее об этом можно узнать на странице, посвященной политике использования cookie-файлов.

Согласен