Demolition Derby: um estudo de caso da Unity para jogos móveis
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.
Um jogo multijogador super popular
Graças, em parte, à funcionalidade multijogador, à Asset Store e ao suporte multiplataforma da Unity, Demolition Derby é um sucesso esmagador (sem trocadilhos) com mais de 15 milhões de downloads.
- Escalou de 200 para 5.000 usuários simultâneos por meio do Unity Multiplayer
- Asset Store reduziu o tempo para criação de carros de meses para semanas
- Mais de 15 milhões de downloads
- Apresentado na Made with Unity no Unite Europe 2017
Multijogador foi mais fácil do que nunca
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.
Carros da Asset Store que se adaptam rápida e furiosamente
Os jogadores que adoram o derby de demolição também adoram carros. Consequentemente, era importante oferecer uma grande variedade de veículos legais. Para uma pequena equipe como a Destruction Crew, no entanto, teria levado muito tempo para criar todos esses carros do zero.
"Nós queríamos oferecer aos jogadores uma ampla seleção de carros, mas criá-los do zero teria sido exigido muito para nós em termos de recursos", diz Nick Timmer, designer de jogos e cofundador da Destruction Crew.
A solução foi comprar pacotes de carros na Unity Asset Store e adaptá-los ao seu próprio estilo, alterando a textura de mapeamento UV para que eles pudessem aplicar suas texturas e skins personalizadas.
"A Asset Store foi superimportante. Não consigo imaginar o que teria sido construir carros do zero. Levaríamos meses em vez de semanas", explica Timmer.
Tornar os carros comercializáveis
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.
Atualizações contínuas e suporte da comunidade
Destruction Crew have used the Unity Multiplayer solution from its first beta version. Although the early versions naturally were missing features here and there, they didn’t experience this as a problem as they developed their game because of the frequent updates that came with Unity Pro.
“Whenever we were missing a given feature, almost literally the next day, there would be an update of Unity that included it,” Derks says.
Features aside, the team still of course ran into some issues when they were building their game. In such cases, however, they invariably found help within the Unity community.
“The Unity community really helps us with fixing problems. And they were always really helpful. We always looked into Stack Overflow and the Unity Forums, and 9 out of 10 times we found a solution.”
Qualquer plataforma ou tecnologia
Demolition Derby Multiplayer foi lançado inicialmente para iOS, Android e Win Store Apps, e a Destruction Crew descobriu que era muito fácil adaptá-lo para cada plataforma.
“Bastou-nos modificar algumas configurações, como os ajustes de textura ou de compressão de mesh, mas na maior parte os nossos esforços limitaram-se a compilar e jogar."
Com o aumento da VR no mercado, outra grande plataforma parecia estar surgindo para o seu jogo. E em seu caso, era muito fácil criar uma versão VR.
"Até então, nós só criávamos jogos móveis, mas a grande vantagem de Unity é que cada nova tecnologia é rapidamente compatível. Então, para criar uma versão VR do nosso jogo, foi preciso apenas adicionar alguns plug-ins e começar", explica Timmer.