Professional Services
Order outsourcing

Dave the Diver Developer on Mixing 2D & 3D Using Unity URP

Universal Render Pipeline, C# Job System, Cinemachine, and Input System made this hit into what it is now.

Image credit: Mintrocket

Dave the Diver is this year's pleasant surprise developed by Mintrocket. Combining several genres, it has captured many hearts and become the best indie game for some. But how did a small team manage to create something so disarmingly charming? Well, part of its success has to be attributed to Unity.

The studio of 27 developers used Universal Render Pipeline (URP), C# Job System, Cinemachine, and Input System to reach the 2 million copies it's sold. 

"We chose Unity because its features gave us autonomy and time to develop the gameplay, and for its reputation as a strong multiplatform partner," says director Jaeho Hwang.

URP helped Mintrocket create and optimize the graphics for the game It gave them "a great advantage," according to Lead game designer Chanhee Woo. "We just had to configure a platform-specific Render Pipeline Asset and specify it in the quality settings. We set very high graphic standards, and we met them.”

Dave the Diver has a lot going on in terms of gameplay, so the developers needed a tool to help them keep the visuals updated fast, and Shader Graph, a node-based visual authoring tool, became something they could rely on because even non-programmers can use it without a problem.

Image credit: Mintrocket

Mixing 2D and 3D is no easy task, and Mintrocket had an issue with camera views and performing interactions at first, so they decided to turn to Cinemachine, a suite of tools for codeless cameras. There, they could preview what was going on and organize multiple cameras. It helped them "easily create and direct the dynamics with natural blends, shakes, and targeted focus options."

Managing this blend of graphics is not easy, especially when other problems come into play. For example, generating fish swarming behavior was a challenge at some point, so the team used the C# Job System and Burst compiler.

“Normally, calculating each vector linearly to determine the swarming behavior would cause high CPU occupancy, but writing code with C# Job System and compiling and optimizing it with the Burst compiler helped it perform significantly better,” says lead programmer Bosung Seo. 

Pairing C# Job System with Unity Physics also solved a collision issue so fish can now push each other to create a sense of depth.

Image credit: Mintrocket

Dave the Diver has recently appeared on Nintendo Switch as well as other platforms. To help them maintain the game everywhere, the developers went to Unity's Input System, a tool for quickly setting up controls for multiple platforms. As a result, "the cost of bringing the game to multiple platforms was minimal": the code and assets stayed the same.

To deliver this beautiful game, Mintrocket worked with Unity engineers, too, especially the Integrated Success team, which helped them identify and rectify profiling issues with code and design solutions. 

“We had great experiences getting help from the Unity engineers,” says Seo. “We would send profiling data to them and resolve the problems together, or they would give us suggestions for optimization solutions by checking the internal engine code.”

Eventually, the studio found the answers to all its questions partly thanks to Unity, and now Dave the Diveris nominated for the Best Independent Game at The Game Awards 2023. Some people are concerned that a game funded by Nexon, a big publishing company, can hardly be called indie, but at the end of the day, it's for players and the jury to decide.

Read more about Mintrocket's unity journey here and join our 80 Level Talent platform and our Telegram channel, follow us on InstagramTwitter, and LinkedIn, where we share breakdowns, the latest news, awesome artworks, and more.

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more