Case studies
Scaling Fantasian’s handcrafted dioramas for Apple Arcade
Oct 31, 2023
Game characters from Fantasian

A JRPG with Final Fantasy roots shows off astonishing detail while staying within the 4 GB iOS limit.

The challenge
Bringing console-sized art and gameplay to a mobile platform
Platforms
iOS, iPadOS, macOS, tvOS
Project staff
100, including external diorama production companies
Location
Honolulu, Hawaii

Mistwalker: A Unity case study

How does a studio manage to fit a 60-hour, console-style Japanese role-playing game (JRPG) with extraordinarily detailed diorama imagery into a mobile-friendly Apple Arcade game? Mistwalker founder Hironobu Sakaguchi, creator of the iconic Final Fantasy anthology, had an ambitious vision for his latest production – importing photos of over 150 miniature handcrafted dioramas and innovating photogrammetry techniques to create stunning sets and character effects on mobile devices.

A Fantasian character running

Going mobile with Unity

Sakaguchi founded Mistwalker in 2004 in Hawaii. After releasing a number of console titles, Mistwalker shifted to mobile RPGs and released a series of successful Terra Battle games for Android and iOS. The studio also shifted its development to Unity. “Half of our team was new to Unity, but it is very intuitive and even the artists learned it very quickly,” says Takuto Nakamura, the director and main programmer for Fantasian.

The results

  1. Brought a complex 500 GB masterpiece to a mobile-friendly 4 GB version with automated scripts and tools
  2. Reproduced over 150 dioramas using photogrammetry
  3. Cut the time spent debugging shaders by up to 66% by following draws in sequence with the Unity Frame Debugger
  4. Saved months in 3D modeling and animation by leveraging the Unity Asset Store
Two Fantasian characters on steps

Going back to his roots

Fantasian was announced at the Apple Arcade launch in 2019. Its first 20-hour segment became available in April 2021, with the second 40-hour segment released a few months later in August.

The concept emerged when Sakaguchi took part in a game magazine’s program in which he replayed Final Fantasy 6 with his former development colleagues. As he began to develop ideas for the new game further, his goal became having characters and combat seamlessly interact in a hyperrealistic diorama environment on mobile.

In one of his prior games, Terra Wars, the characters and battle stages were represented by handmade dioramas, and Sakaguchi took this to the next level for Fantasian. “Creating physical dioramas provides a unique, handmade look that can’t be replicated by only 3D modeling,” he says.

A real-life diorama used to create in-game scenes

Handcrafting elaborate sets from Tokusatsu-style veterans

The Fantasian project called for over 150 dioramas built in the tokusatsu style of Japanese action movies like Godzilla and Gamera.

The labor-intensive process demanded meticulous planning because developers would be unable to tweak the art later in a 3D modeling program. As the game progressed, they modified gameplay and stories around the fixed settings. “This rigid development pipeline is hard to justify, business-wise,” Sakaguchi says, “but it was essential for the extraordinary art we were creating.”

A real-life diorama used to create in-game scenes

Converting physical dioramas into game assets

After handcrafting the dioramas, the team took hundreds of photos of each one for color and other corrections before importing them into photogrammetry software. The next challenge was to find a way to enhance the photorealistic effect of characters moving through the dioramas, for which Nakamura innovated a remarkable technique.

“To get the best visual quality while minimizing size, we used 2D photo data for projection mapping and then merged that with the 3D model,” says Nakamura. Moving the camera isn’t possible using only photo data, but Nakamura’s technique, which included moving the camera while crossfading the photo, enabled highly effective camera interpolation:

— Photogrammetry software generated 3D models and reduced them to about 10M polygons, saving them as high-poly mesh FBX files along with camera data.

— The mesh and camera-data FBX files and photo images went into Unity.

— To create more accurate camera data, a proprietary tool created in the Unity Editor corrected slight differences between the rendered mesh and camera FBX data and the corresponding photo.

— MeshLab reduced the high-poly mesh to around 100K polygons to create the NavMesh for pathfinding and placing event triggers.

— MeshLab then created a much smaller display mesh of 10–30K polygons. Projecting pictures onto this mesh, which then acts like a display, created the version of the 3D geometry that was used in the game.

This efficient workflow helped the team maintain the visual quality of the game and the accuracy of character movement in a level, while also reducing asset sizes to make them usable on mobile platforms.

Reducing app size with automation

The combination of the raw diorama images and 3D models amounted to more than 500 GB – not exactly in line with the 4 GB size limit for iOS games. Reducing the app size was one of Mistwalker’s biggest challenges. Nakamura says, “We had to increase compression and change the sizing on all our content, but Unity makes it easy to create scripts and tools for automating these processes.”

The import processes that the team automated included naming rules for textures, specifying the most appropriate compression formats, and creating Prefabs with material settings and required components when FBX files were updated. Additionally, ScriptableObjects were automatically updated when Excel data changed.

The Unity Memory Profiler was also key in fitting the game within iOS specs by pinpointing memory bottlenecks to reduce load times. Fantasian required that mobile device GPUs concurrently render high-res images and videos, and optimizing memory was particularly important to minimize the impact of non-player character (NPC) processing.

A real-life diorama used to create in-game scenes

Debugging drawing and cost-effectively adding assets

Nakamura often used the Unity Frame Debugger to optimize shaders and drawing processes, as well as to determine draw order for semitransparent and distortion elements. He says, “With the Frame Debugger, I could follow draws in sequence and see exactly where any problems occurred.”

For example, he discovered that round shadows were drawing too slowly, so he tweaked the shaders to support instancing for faster draws. The feature cut the time it took to debug shaders by up to two thirds, and it also helped consolidate excessive meshes and materials.

Mistwalker also saved significant time by leveraging the UnityAsset Store for a variety of content. They found that using these assets was much more efficient than creating everything from scratch. They had to customize a few of the assets for the project, but otherwise they were able to use them without any complications.

Nakamura says, “It’s possible to make small animals, but it takes time to create a large variety of them.” The Asset Store has many different small animal assets that help accentuate settings. Mistwalker found that, unlike human models, they didn’t tend to vary much in their design, so they could blend in more easily with the game. Using these resources, Nakamura estimates that using one team member per focus, they saved two months for animation and three months for 3D modeling. Had they not used the Unity Asset Store, choosing to create their own assets, it would have taken a programmer two months and a technical artist three months to create the sea, for example.

An animation showing Fantasian game characters

Finding success

Sakaguchi formed Mistwalker so he could work with a handpicked collective of artists and developers in a small, independent environment and be closer to the creative process. “A studio’s success depends on the quality of the people who make up the team and their cohesion and chemistry,” Sakaguchi says.

Success also depends on the quality of the team’s tools, since an artistic vision needs support to become a reality. In this case, crafting a mobile game using intricate and robust diorama imagery not only takes hard work and great talent, but also the right partner with the optimal solution.

“Unity was an essential part of making Fantasian an outstanding game for a mobile platform.”
TAKUTO NAKAMURA / MISTWALKERDirector and Main Programmer

Get started on mobile

Join millions of mobile game developers around the world using Unity to build the next generation of successful games.

Explore the case study

Fill out this form to get access to the latest customer success stories