The Game Band: An ISS Case Study
In the fall of 2019, Apple launched Apple Arcade, a subscription-based game service offering a plethora of games to play on Apple devices for a flat-rate monthly fee. One of the biggest stars out of the gate was Where Cards Fall, a beautiful, narrative-driven puzzle game created by Los Angeles-based indie studio The Game Band and published by Toronto’s Snowman.
Optimizing game performance to meet Apple Arcade launch standards and deadlines
iOS, iPadOS, tvOS, macOS
A core team of 20, plus 30 freelancers and other collaborators
The stakes are high when everyone’s watching
For the small team at The Game Band, the Apple Arcade launch seemed like a once-in-a-lifetime chance to showcase their first game. By debuting Where Cards Fall alongside the new Apple subscription system, it would be backed by all the marketing muscle and publicity that an industry titan like Apple commands. With an audience ready to dive into the new service, it was crucial to get the first impression right. The game would be released on a strict deadline to multiple devices simultaneously, each with its own control system. It was important that, come launch day, players everywhere could immerse themselves in the game as it was meant to be experienced.
Where Cards Fall invites players to shuffle and stack decks of cards to navigate pathways across time. Clever environmental puzzles form houses, platforms, and bridges that lead through a dreamlike landscape, weaving the storytelling into gameplay with artful animation. Players access portals where they can view flashback vignettes of formative memories and fleeting everyday moments. With easy-to-use, intuitive touch controls and charming graphics, The Game Band built Where Cards Fall to appeal to both casual and regular gamers – and Apple Arcade offered a surefire way to make it discoverable.
The Game Band reached out to Unity for an Integrated Success Services (ISS) package to help them optimize performance, mitigate risk, and manage any last-minute issues that might arise. Hands-on and timely assistance from the Unity team was a tremendous support on the road to launch.
- Reduced memory usage by 60–70% overall
- Accelerated startup times dramatically – from 8 to 3–4 seconds on high-end devices and 60 to less than 10 seconds on lowest-end devices
- Reduced CPU times by half
- Debugged a loading hitch to cut a 2–3 second lag to an unnoticeable <0.1 seconds
A direct connection to Unity
Unity assigned The Game Band a dedicated Developer Relations Manager (DRM), a Unity employee who maintained regular contact with the studio and developed an in-depth understanding of the game’s core tech. Unity visited the studio onsite to conduct a detailed Project Review, investigating every nook and cranny of the game to identify potential pain points and areas where performance could be improved. From there, The Game Band and Unity support teams worked together to implement solutions.
The DRM accelerated the studio’s access to the tools and expertise they needed to ship their game on time. Beyond this, the DRM became the team’s direct link to the engineers who built the Unity platform and know its source code inside out. The ISS program offered The Game Band guidance in best practices, help implementing new features and tools, and recommendations on how to future-proof their work in light of Unity’s roadmap for future versions.
Profiling for small changes that make a big difference
The first front to tackle was core functioning. When Unity engineers looked under the hood, they saw that it was essential to enhance both CPU and GPU use to improve the game’s performance on both high-spec and lower-spec devices. Testing on a 2GB device, they found that Where Cards Fall sometimes crashed at startup as the game loaded, and they also identified key CPU performance issues that would impact gameplay on higher-spec devices.
“The Profiler and Memory Profiler were both huge benefits to identify performance bottlenecks. Also, for testing and debugging, we relied on Unity Remote heavily for Apple TV,” says Brandon Sorg, who acted as both the gameplay designer and technical director for Where Cards Fall.
The Memory Profiler identified vital areas where memory usage could be improved, leading to recommendations for better systems to compress and downsize textures, changes to the settings on imported meshes, and performing regular resource audits – together, these suggestions helped the studio reduce memory usage by 60–70%. The team recommended integrating keywords to activate and deactivate room transition calculations as needed, as well as culling off-screen character and card elements using CullingGroupAPI. To boost GPU performance, they used the Shader profiler to recommend changes that would reduce the cost of VertexColor-type shaders. The team pinpointed issues causing slow startup times, which helped The Game Band to dramatically accelerate from around 60 to less than 10 seconds on lowest-end devices. CPU times were also more than halved – on low-end devices, performance improved from around 10 fps to 24 fps, eventually hitting their target launch framerate of 30 fps.
“Unity helped walk us through profiling and provided context for many of the readings we were seeing. Our biggest performance optimizations to cross the finish line were based on fixing bottlenecks they helped us identify,” says Sorg. “One key area they were able to help with was identifying an issue with how we were setting up animations and playable graphs. Without their support, this fix would have been very difficult to come by.”
Getting in early on the Addressable Asset System
The Unity team recommended breaking up the game’s assets into smaller chunks to solve issues caused by the game loading in its entirety up front. Based on this feedback, Where Cards Fall became one of the first games to make full use of a new Unity feature called the Unity Addressable Asset System.
The Addressable Asset System streamlines the management of assets – any kind of content used to create a game, like Prefabs, textures, audio clips, or animation – by separating the content from the code to improve efficiency. The feature set can assign an address to any asset, then asynchronously load that asset and all of its dependencies, wherever they are, and whenever they’re needed. The Addressable Asset System reduces iteration time while packing asset bundles more efficiently, making the game more dynamic without requiring changes to the code.
Better asset bundles
The Game Band team experimented to find the right way to deploy this powerful feature set in their game, knowing that they could implement the system just where it was most helpful.
“We started out by attempting to mark all our highest-level assets (the ones that reference all our animations, meshes, textures, etc.) as addressable, which did allow for loading all our scenes asynchronously. However, it proved to be a bit unwieldy,” explains Sorg. “We ended up marking just the lowest-level assets as addressable, and it turned out that, to get our game running on iPhone, we only needed to manage the card texture memory.”
Integrating the Addressable Asset System was a key factor in the studio’s ability to attain an incredible reduction in memory usage. The Unity team helped The Game Band achieve a staggering 60–70% reduction in memory usage – and that’s after the new asset management system let them add an additional 500–700 MB of deck textures.
In practice, The Game Band found that it was “pretty painless” and “a marked improvement over the previous Asset Bundle workflow,” according to Sorg. “It also gave us some peace of mind that if we needed to trim down the memory usage even further, we could do it in a piecemeal approach (e.g., target animations or meshes next) without worrying about needing to overhaul too many systems at once.”
Four platforms, one moment-defining launch
One of the most significant challenges that The Game Band faced with the Apple Arcade launch was ensuring that it was compatible and played beautifully across iPhone, iPad, Apple TV and Mac.
“There were many design considerations to adapt to while ensuring that everything was reliable enough on the back end for a hard launch date. It was imperative that each of these versions ran smoothly, and to the standard of quality we set for ourselves,” explains Andrew Schimmel, a senior producer at Snowman, which also published Agens’ Skate City for Apple Arcade. It was essential that Where Cards Fall felt at home on each of the four Apple platforms, “without feeling like an afterthought or quick two-day port job. A lot of care and attention to detail was required to ensure the designs really sing on each device.”
What’s more, some of the formats were themselves evolving as the team worked toward their deadline. “We had to explore all our options early in the development stage,” says Sorg. “Working in Unity gave us the ability and confidence to target these emerging platforms.”
Developing a launch title for a new service like Apple Arcade is a tall order and exciting challenge. By providing reliable, customized technical support, Unity’s ISS program let The Game Band and Snowman stay focused on their work, while Unity support helped fix technical bottlenecks in the race to the finish line. As Brandon Sorg puts it, “Unity went a step above simply helping us solve issues; they offered guidance that allowed us to be proactive so our time was spent on the work that really mattered!”
This collaboration paid off in spades. The game has received glowing reviews in media outlets from CNET, Gizmodo, and IGN to the Los Angeles Times and Esquire, and it’s been nominated for a slew of industry awards. The public even voted it the Best Mobile Game of the year at the Unity Awards 2019.
“Unity Professional Services helped walk us through profiling and provided context for many of the readings we were seeing. Our biggest performance optimizations to cross the finish line were based on fixing bottlenecks they helped us identify.”
“Making sure everything felt complete and seamless for launch day within an evolving new platform was no small feat. There were many design considerations to adapt to while ensuring that everything was reliable enough on the back end for a hard launch date. Our hats go off to both development teams again for meeting those challenges head on, and seeing our schedule through to the finish line.”
“Unity went a step above simply helping us solve issues; they offered guidance that allowed us to be proactive so our time was spent on the work that really mattered!”
“Since we don’t need to build these tools from scratch, we were able to spend more time improving our game.”