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

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

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

Destruction Crew, a 3-man indie game studio in the Netherlands have taken their love of demolition derby crashing, chaos and mayhem and turned it into a hit mobile game.

Игра

Demolition Derby, a real-time online multiplayer crash-racing arcade game

Цель

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

Платформы

iOS, Android, VR for Android (various headsets), Win Store Apps

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

3 человека.

Регион

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

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

When you create, they say you should start with what you know and love, and that is exactly what Destruction Crew did.

“We’ve always loved those super-fun, high-speed, derby destruction games, and we just really wanted to make our own game, give it our own twist, and see what we could do with it,” says Steven Derks, lead programmer and co-founder at Destruction Crew. “What can I say, we love to destroy stuff.”

Given the dynamic nature of their game, it seemed obvious to the Destruction Crew that playing online against others was something players would want to do.

“It’s really fun to play against bots, to play against Artificial Intelligence, but it’s much more fun to play against real players,” Derks says. “When you actually smash someone’s car in real-time, you’re like, ‘yeah, that’s it.’ And Unity Multiplayer made it easy for us to create that rich experience.”

However, issues such as network physics, concurrent user limits, and the need for a monetization plan presented challenges for a team of three with limited resources. Unity offered a number of features that helped them overcome these challenges.

 

Network physics make it a great user-experience

One thing that made it possible for Destruction Crew to offer a good online multiplayer experience was network physics via Unity’s API. This made it easy for them to simulate physics, so the experience was close enough alike on all clients to make it feel right.

Rather than using Unity's default, they built a custom NetworkTransform, which took about a month to design, code and test.

“Thanks to Unity's network serialization, we were able to easily transmit all the physics data required to simulate physics across all clients,” Derks says. “Through the very simple implementation of the Network API, you can implement network physics, no problem, and that was really important for our multiplayer mobile car game.”

Another multiplayer feature that Destruction Crew really appreciated was the ability to create private rooms.

“With Unity, you just set a password and you’re done, basically. When friends want to play together, they can just make a private room, password protect it if they want to, and they’re good to go,” says Derks.

 

Keeping up with their own success

Prior to release, Destruction Crew had hoped that players would embrace the multiplayer version, but they were nevertheless taken by surprise by the degree of popularity.

“In the beginning, we had 200 concurrent users (CCU), and we thought that should be enough, so just to be sure, we raised our CCU cap to 1000. But funnily enough, within a week, we were up to 5000 users. That was way more than our cap, but the Unity team always made it really easy for us to raise the bar. With the flexibility of the backend, we can go to 5000 CCU, no problem,” Derks says.

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

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

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

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

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

Крутые тачки

Because the cars are such an important part of the game, Destruction Crew decided to make it possible for players to customize them with new bumpers or wheels, for example. They then took it one step further and made this part of the game part of their monetization plan, too.

“Normally, players can only personalize their car if they have reached a certain level in the game. But we thought it would be a good idea to introduce what we call the black market, where players who haven’t reached that level can buy customization parts as an In-App Purchase (IAP).”

At first, Destruction Crew experienced some issues making IAPs work smoothly, which slowed them down, but as soon as they implemented Unity IAP, everything changed for the better.

“Previously we used other plugins, but they were difficult to use. It was always a little bit of a hassle. We would import per platform, but there were all kinds of problems. Unity IAP just makes it really easy. You just import it, hook up some functions, and you’re basically done. That’s it,” says Derks.

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

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-файлов.

Согласен