MADFINGER Games: A Unity case study
How do you ensure the smoothest launch for a major new addition to a storied game franchise? Ten years ago, Unity and MADFINGER Games teamed up when both companies were considerably smaller and just entering the mobile games arena. Times have changed dramatically, but the relationship is as strong as ever and extends to key operations for the entire game lifecycle.
This indie’s not hiding in the shadows
Since 2010, the fiercely independent Madfinger’s mandate has been “to build the best mobile games.” And the 100-member team is doing just that. In 2019, they won the award for the Most Beautiful Game on Google Play for Shadowgun Legends. With 260 million downloads across eight games, their loyal player base loves the distinctive Madfinger touch on titles like Shadowgun: DeadZone, Dead Trigger, and UNKILLED.
With the recently launched Shadowgun War Games – a console-quality, mobile multiplayer first-person shooter (FPS) – there are heroes like Sara, Jet, Revenant, Willow and Slade, for all types and levels of players, ranging from non-competitive solo to hardcore 5v5. Madfinger built and launched the game with Unity’s real-time 3D content-creation platform, tapped Multiplay for game hosting, and will soon integrate Vivox for in-game voice comms.
- Fast prototyping, iteration, and optimization thanks to a wide range of Unity developer tools
- Easy multiplatform (Android, iOS) builds due to one code base
- Seamless game server hosting with Multiplay’s proven technology, battle-tested at scale
- Sub-second matching of players to servers with the new Beta Matchmaker
- Quick integration of voice comms courtesy of Vivox
Watch now: Interview with MADFINGER Games
In this interview, Madfinger CEO and cofounder Marek Rabas talks to Unity about the challenges his team faces and how they solve them with Unity’s suite of multiplayer tools.
Building games, not engines
As a close-knit studio with a competitive attitude, Madfinger values its lean-and-mean size in order to go against giant competitors – bosses even – in the mobile realm. And that attitude guides their tech decisions.
“We simply can’t afford to have 10 people working on an engine and another 10 working on other internal tools – we need to devote all our energies to game design and making stunning visuals, which is our forté,” says Miroslav Ondrus, Madfinger’s CTO.
“Two decades ago when I started building games, there weren’t many third-party engines, so my friends and I had to build and maintain our own. But nowadays, Unity is fully featured, with something like 1,000-plus engineers behind it, which lets us focus on game development, not time-consuming engine-building and maintenance.”
Luciano Alibrandi, Madfinger’s COO and acting CMO, concurs, “Ten years ago we found each other at the right moment – when Unity was growing up and Madfinger was growing up. It was the perfect combination of skills on both sides and the right timing that brought us together, which has built a very long relationship that allows us to focus on what we do best: making great games.”
Empowering many dev teams
So, once a new title gets greenlit, how does Madfinger begin fleshing out its latest game ideas?
“We like ProBuilder a lot – it’s a powerful tool for prototyping new levels and assets within Unity. We use it to build our scenes quickly and iterate on them across teams. We also like to use it for grey-boxing all the levels. This is handy because we can do all our work in Unity and don’t have to use another third-party software tool.”
Ondrus also likes Unity’s Animation editor, especially the updated version of Key manipulation in Curves mode. His animators build their work in Autodesk’s MotionBuilder, and once they import their clips they can select and manipulate several keys at once to, for example, scale curves horizontally (to change the time placement) or vertically (to change the value). It’s a small feature but it really speeds up their workflow.
Another feature they like a lot is baked lighting mode, which provides two important benefits according to Ondrus, “It lets us create great atmosphere in our games without any cost to performance.”
Ever mindful of how high-fidelity graphics run on player devices, Ondrus says, “We’re hyper-aware of the battery cost on mobile, so consequently we heavily optimize performance. To do that we use Unity tools, including the Profiler, which helps us look for unnecessary allocations and render calls, and to optimize our code in general.” They also tap the Frame Debugger and Occlusion Culling to ensure the builds are tight and the game lands just right on whatever device you’re playing on.
Ondrus mentions one other popular Unity feature. “For me, Unity’s multiplatform capabilities simplify things quite a bit. We can build an entire game on one code base and not have to worry about which mobile device it’s going to run on. With Unity, it’s really easy – it’s just a switch in the settings and the runtime version is output for the target platform.”
Saying no to lag, cheaters, and P2P
How and where a studio hosts its new game is a perennial question, with options available right across the spectrum, from 100% bare metal servers to fully in the cloud. Each of these options has technical and financial advantages as well as drawbacks. With an eye to the future, Madfinger decided early that for a competitive first-person shooter (FPS) like Shadowgun War Games, peer-to-peer (P2P) wasn’t going to cut it. They needed dedicated servers to guarantee a smooth, lag-free experience.
For Vladimir Zadrazil (“Zadr”), Madfinger’s lead programmer, it was a simple choice. “Our ambition with War Games is to deliver a fun yet highly competitive experience, so lag, cheating, and long queues are unacceptable. Thankfully, with Multiplay’s multi-cloud, scalable solution we’re able to give our players a consistent experience, regardless of device or location. The only thing we can’t promise is that you’ll win!”
With Madfinger’s ambition to make the new game an eSports favorite, dedicated servers were a must, as they can prevent one player from gaining an unfair advantage over an opponent. “With P2P there’s more risk of cheating due to one device being the host. With dedicated servers we can put anti-cheat measures in place and, if necessary, take down a server with ease. It gives us more control,” says Zadr.
Smooth launch, seamless scaling
As any studio will tell you, new game launches are always fraught with unknowns, such as approximately how many players will join and from where. However, when Shadowgun War Games went live, server scaling went smoothly. “Thanks to Multiplay, there was never an issue of running out of server capacity. As word got out and players started to download and play the game en masse, we were able to scale with ease. This meant no players were left waiting for a game, which is so important for us,” says Ondrus.
According to Zadr, latency is one of the top issues that determine good or bad gameplay experience. “That’s why we decided to collaborate with Multiplay on networking. And it’s a win-win strategy because they helped us focus on making games, while we gave them feedback on their tech, so they can make the product better for everyone, not just for us.”
Ondrus also calls out Unity’s support as a key to their comfort level, “The communication is super fast and super smooth. For example, I recently asked a question in our Slack channel and someone in San Francisco replied and helped me, which was amazing because he was many time zones away! We have excellent cooperation from Unity.”
Better player engagement with better matchmaking
For multiplayers, getting matched up properly and quickly is crucial for enjoyable gameplay. “We want the absolute best player experience, because it begins with who you’re up against. We want to make sure players get into the game fast and are playing with others at their level, otherwise they will just kill the app and never return,” says Zadr.
During the development of Shadowgun War Games, Ondrus says that they were designing a matchmaker. “This was before we found out Unity was creating its own scalable matchmaker service, so we didn’t have a third-party option in mind. But once we found out, we jumped for it. Then all we had to do was set up our own functions, which was quite easy.”
Before the player joins a match, the game client (i.e., the player’s phone) measures the connection quality to Multiplay’s global data centers with Quality of Service (QoS). QoS data, along with match settings and player stats collected by Madfinger’s server-authoritative lobby service to prevent cheating, are submitted to matchmaking. The matchmaker runs Madfinger’s custom match functions to find competitive games with a fast connection. And all this happens within seconds.
Multiplay’s matchmaking service is fully integrated with its multi-cloud scaler, meaning players are not only put in the right matches, but also on the right server.
Giving players a voice with Vivox
For today’s multiplayer games, live communication during campaigns and battles is key to outcomes. Voice comms are one of the most important factors to player experience because they let players get more organized by discussing what they want to do and how to do it, adding a lot to their experience.
Madfinger first integrated Vivox into Shadowgun Legends, and it was a simple process. They spent just two days with Unity’s Vivox SDK, which is the expected implementation time. “We ran into a few small issues on our side but in general it was a super easy, painless process,” says Ondrus. Now Vivox hosts and manages all the voice comms for the game, and Madfinger is planning to integrate it into Shadowgun War Games very soon.
This means the Madfinger team can speed up their development process and focus on player engagement. “Having the Vivox team available 24/7 is a blessing. Rather than stressing over an outage in one region or some bug or another, we can speak to the Vivox guys and it gets fixed,” added Ondrus.
To round out their in-game comms strategy, players can also communicate with emojis, and Madfinger is planning to implement text messaging soon.
What’s next for Madfinger?
“We’re really excited about the launch of Shadowgun War Games, as we believe this game will work across the board, from solo players to the most competitive team gamers,” says Ondrus. “And as our player base grows, we’ll definitely start thinking about eSports,” which is not surprising to learn. After all, this ambitious studio has always punched well above its weight in the mobile-gaming arena.
Watch Madfinger’s presentation at Unite Copenhagen to get the behind-the-scenes scoop on how they’re using Multiplay and Vivox for game hosting, matchmaking, and voice comms.
“Unity is fully featured, with something like 1,000-plus engineers behind it, which lets us focus on game development, not time-consuming engine-building and maintenance.”
“Ten years ago we found each other at the right moment – when Unity was growing up and Madfinger was growing up. It was the perfect combination of skills on both sides and the right timing that brought us together, which has built a very long relationship that allows us to focus on what we do best: making great games.”
“Our ambition with War Games is to deliver a fun yet highly competitive experience, so lag, cheating, and long queues are unacceptable. Thankfully, with Multiplay’s multi-cloud, scalable solution we’re able to give our players a consistent experience, regardless of device or location. The only thing we can’t promise is that you’ll win!”
“For me, Unity’s multiplatform capabilities simplify things quite a bit. We can build an entire game on one code base and not have to worry about which mobile device it’s going to run on. With Unity, it’s really easy – it’s just a switch in the settings and the runtime version is output for the target platform.”
“We want the absolute best player experience, and that starts with fair matchmaking because the experience begins with who you’re up against. You want to make sure players are playing with others at their level.”
“Thanks to Multiplay, there was never an issue of running out of server capacity. As word got out and players started to download and play the game en masse, we were able to scale with ease. This meant no players were left waiting for a game, which is so important for us.”
“Having the Vivox team available 24/7 is a blessing. Rather than stressing over an outage in one region or some bug or another, we can speak to the Vivox guys and it gets fixed.”