Demolition Derby: Un estudio de caso de Unity sobre juegos móviles
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.
Un juego multijugador superpopular
En parte, gracias a la funcionalidad multijugador de Unity, la Asset Store y la compatibilidad con diferentes plataformas, Demolition Derby es un éxito demoledor (vale la ironía) con más de 15 millones de descargas.
- Amplió su escala de 200 a 5000 usuarios concurrentes con ayuda de Unity Multiplayer.
- La Asset Store redujo el tiempo de creación de los automóviles de meses a solo semanas.
- Más de 15 millones de descargas.
- Se destacó en la presentación de productos Made with Unity en Unite Europa 2017.
Nunca dudamos de que tenía que ser multijugador
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.
Adaptación rápida y furiosa de los autos de la Asset Store
A los jugadores que les encantan las carreras de destrucción les suelen gustar mucho los autos también. Por eso, era importante que tuvieran una buena selección de autos geniales para elegir. Sin embargo, para un equipo pequeño como Destruction Crew, hubiera tomado mucho tiempo construir todos los automóviles de cero.
"Queríamos darles a los jugadores muchos autos para elegir, pero hacerlos de cero requería demasiados recursos", dice Nick Timmer, diseñador del juego y cofundador de Destruction Crew.
La solución fue comprar paquetes de autos en la Asset Store de Unity y luego adaptarlos a su propio estilo cambiándoles la textura de mapeo UV para poder aplicarse sus propias texturas y skins personalizados.
"La Asset Store fue superimportante. No puedo siquiera imaginar lo que habría sido crear los autos de cero. Nos habría tomado meses en lugar de semanas", dice Timmer.
Autos con valor comercial
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.
Actualizaciones continuas y apoyo de la comunidad
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.”
La plataforma o tecnología que sea
Inicialmente, Demolition Derby Multiplayer se lanzó en iOS, Android y Aplicaciones de la Tienda Windows. Destruction Crew descubrió que era muy sencillo adaptar el juego a cada plataforma.
"Solo teníamos que cambiar unos pocos ajustes, como la configuración de compresión de la malla o la textura, pero, básicamente, era compilar y jugar".
Cuando la realidad virtual (VR) comenzó a hacerse presente en el mercado, pensamos que era otra plataforma genial para este juego en particular. Y, en este caso, era muy fácil hacer una versión VR.
"Hasta ese momento, solo habíamos hecho juegos móviles. Pero una de las cosas increíbles que tiene Unity es que sabes que no importa cuál sea la emocionante tecnología nueva que pueda aparecer, Unity la admitirá. Entonces, para hacer una versión VR de nuestro juego móvil, solo tuvimos que agregar algunos complementos y listo", dice Timmer.