Rogue Racers: A Unity Game Simulation case study
iLLOGIKA wanted to create a fresh, adrenaline-fueled take on the classic racer game. To raise the stakes, they designed a multiplayer race amplified by bonus abilities, tricks, and traps. The result is Rogue Racers, where players speed through courses as one of six heroes, using cards to boost their powers, launch attacks, or lay obstacles for challengers. But to make this supercharged race format work, they needed to make sure that every contestant gets a fair chance at a trophy.
Ensuring balanced gameplay
Executing thousands of tests to balance card parameters in different combinations
60, with 35–40 working in Unity on a daily basis studiowide and 14 on Rogue Racers
More MPH through automated playtesting
Balance is crucial to a successful card-based game. Since each card has its own costs and benefits, game designers need to ensure that every combination is weighted more or less equally – no mix of cards should be unbeatable, or it ruins the fun for everyone. Ensuring card game balance in different combinations requires tedious mathematical fine-tuning and thousands of hours of playtesting. That’s why iLLOGIKA turned to Unity Game Simulation to rack up tens of thousands of automated playtests – while leaving developers free to work on other parts of the game.
- Performed 25,000 simulations in just four hours
- Simulated 1,125 playthrough hours – the equivalent of 46 days of real-time play
- Cut developers’ testing time by half
The starting line
iLLOGIKA creates original games and VR experiences, as well as producing work for other studios (they’ve contributed to some heavy-hitter titles, including Lara Croft for Eidos, Cuphead for Studio MDHR, and Hitman GO for Square Enix). Rogue Racers, their newest in-development multiplayer game, is a mobile freemium racer pitting heroes against each other as they dash through richly illustrated landscapes.
Players choose to race as one of six heroes, each with its own special skill, then select seven additional cards to add an additional power or maneuver – for example, one can deal damage to competitors, while another briefly increases the player’s speed. These are activated during the game from the hero’s wrist computer, and each activation costs energy. The cards’ variety amplifies the excitement for players, but it also creates more work for the team to ensure that these variables – six heroes, plus 19 possible boosts – offer similar advantages in any combination.
Ensuring a close race
“If we're creating six heroes and there’s one that’s clearly better than the others, everyone will use that,” explains Régis Geoffrion, the studio director at iLLOGIKA. “Each of the powers has a number of properties, like duration, damage, and range, so balancing all of these hero cards is very difficult. It’s a trial-and-error thing. We can use an Excel spreadsheet and some game design techniques to make sure we come up with the proper numbers, but it’s a lot faster and easier to do it with Unity Game Simulation.”
The goal was to compare each of the cards based on the distance a player gains. Dealing enough damage results in a hero’s death (with the player respawning after a few seconds), causing them to lose time and distance. Each card has several parameters that must be balanced. iLLOGIKA wanted to find the combination that would result in a 50% win ratio by loading different combinations into Unity Game Simulation to see how they performed relative to one another. iLLOGIKA ran thousands of playthroughs that vastly increased the scale of playtesting and helped them tune the parameters of each card to create a more competitive experience for players.
A testing marathon
iLLOGIKA game designer Bobbi Burquel describes the test steps required without Unity Game Simulation. First, he’d try rational balancing – using a spreadsheet to compare the cards under a single, common measuring unit. After this, he’d playtest himself, running as many races as possible and compiling data to fine-tune what the theoretical model couldn’t simulate.
Playtesting requires combining as many factors as possible to see if the numbers will hold up for real-world players, and Burquel says that he can play around 60–70 races per day himself. But staff testing alone can only create approximations – his team simply can’t accumulate a large enough sample to verify every possibility.
Then, after the soft launch, he’d track users’ data to expand on what the team learned. “But relying too much on this last phase means if we release a severely unbalanced beta, players will drop out quickly, resulting in much less usable data,” he explains. “We need to reach a minimum quality threshold before going into beta.”
Cutting testing time in half
By turning to Unity Game Simulation, Burquel started with rational balancing, then complemented his own playtesting with simulations. The iLLOGIKA team was able to run more than 25,000 games in just four hours, simulating the equivalent of 1,125 hours of play – effectively replacing over a month and a half of work in a single day.
This exponential increase in gameplay testing provides more data, which reduces the work time required to balance the game, while allowing the team to try more parameter combinations than would otherwise be possible. What’s more, “while the game simulation is running, I can attend to other tasks,” Burquel explains. “And I playtest the game myself at a more healthy pace, instead of playing constantly to the point where it’s very tedious and the brain just checks out.” They used the time they saved to improve their AI for future simulations that better represent different kinds of players.
Running with Unity
When iLLOGIKA decided to automate the game’s playtesting, Unity Game Simulation was a natural choice. “We’ve been working happily with Unity for a number of years now,” says Geoffrion, noting that the studio’s founder was an early Unity adopter who’d been building on the platform for over a decade. “We’ve shipped a large number of projects with Unity.”
iLLOGIKA chose to build Rogue Racers in Unity because “there’s a broad range of services available to help us speed up our development,” Geoffrion explains. “C# is a powerful and easy programming language, and I think more recently Unity’s gotten even better for mobile in terms of performance and all the features the team is working on, like Remote Config and having Unity Ads built-in.”
Innovation is a team sport
Above all, iLLOGIKA enjoyed working with Unity because of the relationship they have with the team. Unity Game Simulation uses emergent technology that’s being honed and refined all the time, so the studio’s development team was in continuous contact with Unity.
“I really felt like we were working hand in hand, and it’s not just a one-way relationship. Every feedback I gave, within a couple of days or weeks I could see the result of that in the development of the tool,” Burquel says. “Any technical issue I had was handled very quickly, so I could always keep testing and implementing the tool – I was never stuck. It feels like a partnership to keep creating and improving the product together to make sure it fits our needs.”
With Unity Game Simulation, I can start with educated guesses as to what would be ideal combinations of stats and jump right into brute-force balancing. By the time I would have completed the theoretical model, I’ll already have 50,000 to 75,000 races completed in Game Simulation.
It’s almost like using the data from a real player. The only limitation is the way we train the AI.