The Art and Technology Behind Shu’s 2.5D Platforming

Eye For Games spoke with developer Coatsink to learn more about Shu’s collaborative art process and their inspirations for the 2.5D environments, as well as their challenges developing a multiplatform game that met their technical requirements of parity and 60 frames per second across platforms.

Coatsink’s Shu is a 2.5D platformer that has you controlling Shu and a cast of villagers. Together you must use your special abilities to navigate the world in a desperate bid to outrun the Storm, a colossal, end of the world event that destroys everything in its path.

ART STYLE

Hi, I’m Bryn Morrison-Elliott, and I’m a 3D artist at Coatsink and Lead Artist on Shu. I created 3D environments and led the overall art direction.

Collaboration and influences

The whole art style was very much a collaborative process. The style was initially conceived by myself and Sam Gross (a character artist) mostly based on bird-like characters and sketches Sam had been drawing since he was a kid. While I was in charge of maintaining consistency, everyone involved on Shu influenced how the game ultimately looks.

Both Sam and I love Klonoa which was a huge influence — a PS1 platformer with 3D environments and 2D character sprites. And with Sam being a 2D character artist and myself being predominantly 3D, the style just naturally came together.

From concept to final design

The art style generally really didn’t change at all from the concept…except for the Storm, of course, which was surprisingly tricky to lock down. It needed to be menacing but consistent with the world, and we went through a huge amount of iterations, never quite managing to look right. So huge credit to Matthew Daroczy (Creative Director) and Emma Hollingsworth (Lead Animator) for creating the final look. As I say, the whole game was a collaborative effort.

The environments were created as multi-layered dioramas. The first layer, the player area, is comprised of everything that Shu can interact with: run and jump on and collect. The second layer is comprised entirely of 3D objects. Finally, the third layer is made from 2D sprites, creating the backgrounds and landscapes. All these elements were crafted to imply a greater lived-in world — a society that’s existed for years and worth preserving.

We wanted to create something charming but bittersweet; adorable characters traveling through a vibrant and colorful world which is being destroyed by an unrelenting, almost Lovecraftian monstrosity.

Techniques

We mostly used lighting to guide the player, using light foregrounds and dark backgrounds, and vice versa to define emotion and atmosphere. Each world has a distinct palette and varies in mood. The first world is bright and rich with light blues, pinks, and yellows giving the sense of life and the start of a grand, spirited adventure. Then we get to the Ruins, with its purples and reds, adding the sense of foreboding to this ancient, forgotten land.

It wasn’t much of a challenge. The whole art team at Coatsink are an amazingly talented bunch.

LEVEL DESIGN

My name is Jonathon Wilson, and I’m Lead Designer at Coatsink. I was responsible for crafting the levels and moment-to-moment gameplay for Shu and leading the overall design.

The level creation process

We would start by creating a level breakdown, highlighting the world in which the level appeared and which villagers (Shu’s friends) would be available for gameplay. From there, we’d devise a breakdown to outline individual gameplay chunks, then draw up rough layout sketches before white boxing the whole layout in the editor.

How did you ensure tight platforming controls?

Mainly by working closely with the Lead Gameplay Programmer to ensure, I could tweak as many controller variables values as possible. This meant controls could be balanced on the fly and allow for quick iteration throughout testing. This was aided by a ‘toy box’ environment I created early-on…a playground test environment where I could assess all the basics.

Level traversal

All levels have a single start and end point, but most levels feature moments where the critical path splits, giving the player a choice and making sure there’s something meaningful to discover on replay.

Villager powers gave us new mechanics to play within our level design, which meant we had new ways for the player to traverse each level. With each new villager combo presented cool new opportunities where we could create new hazards and obstacles. Some powers also allowed us to explore verticality a lot more.

Level complexity and difficulty

Thanks to a lot of groundwork, the final process was actually quite simple. Every level started out as a block out created using primitive shapes, which was then taken through an art pass to generate what you see in-game.

The decision on where to place checkpoints and how many lives to give the player came from extensive playtesting. A general rule we followed, for the most part, was that each level segment would have a checkpoint.

Difficulty balancing was one of the greatest challenges. Being a platformer, a lot of the challenge lies in mastering the controls and anticipating aspects of the level, which has the potential for a steep curve. We overcame this through extensive playtesting and making the checkpoint and lives systems forgiving, while still requiring that degree of skill and foresight.

Favorite moment?

The first time you encounter the storm. The storm is the main antagonist, and its initial appearance is incredibly tense. It’s fun watching people panic and momentarily forget how to play, despite breezing through the rest of the level, all because of a little sinister pressure.

PROGRAMMING

Hello, my name’s Shaun Mitchell, and I’m a Senior Programmer at Coatsink and Lead Programmer on Shu.

Multi-platform development

Every platform has its own challenges so while ‘easiest’ might not be the right word; Steam was probably the most straightforward simply due to developing on the same platform: PC.

Technical challenges

We used Unity engine for Shu and the C# programming language. Coatsink has a lot of experience with Unity, which mitigated a lot of potential early issues. This also meant we could get Shu up and running quickly without the team needing to learn a new development environment.

We knew Shu would not feel right running at anything less than 60 fps, and it was often challenging making this a reality on Vita while keeping visual fidelity on par with the PS4. Fortunately, the Coatsink team has developed numerous VR mobile games that are required to run at 60fps, so we used a lot of technical tricks to ensure optimal performance.

Implementing additional downloadable content

The code base is written in a way that allowed us to easily add these new levels to the game once we had a visual place for them on the world map. The main difficulty when developing the DLC levels was to make sure we were all in the same headspace that had allowed us to create the base game that had been so well received, and apply that same design ethos to the new levels, so they felt part of a cohesive whole.

we used a lot of technical tricks to ensure optimal performance

Additional programming challenges

Getting systems in place to readily test and iterate is vital when developing any title. It allows designers to jump to specific areas and test features in context, and for the artists and sound designers to see how everything fits and make necessary changes. To this end, we needed a checkpoint system that would allow us to leap into a specific section with all of the necessary logic set as if the player had reached that point naturally. It sounds straightforward, but debug features like this all require code work on top of the main game and create new challenges as the game grows as they all need maintaining. But ultimately, dedicating time to features like these inevitably improves the overall development cycle.

Proudest programming achievement

Hitting 60 fps on a PlayStation Vita.

GENERAL

Shu’s on the Switch!

Shu seems like the perfect title for the Nintendo Switch, having worked on the title for PS4 and PsVita and having the game working a 60FPS on both pieces of hardware, it made sense for us to explore looking at bringing Shu to Nintendo Switch as we had overcome the challenges of getting a game working in Handheld and Docked mode.

We are super pleased with the port, taking the extra time to get the game running on the Nintendo Switch smoothly really helped give the player a more pleasurable experience.

Learnings while in development

We learned lots about how to develop a platformer title, most importantly how to establish a sense of flow throughout each level and eliminate sticking points, through an iterative design approach.

We did this by testing individual mechanics and raw ideas, which helped to refine and eliminate a lot of assumptions quickly through testing.

The future of Shu

We are currently working towards the release of ClusterPuck 99 on Nintendo Switch with PHL Collective, so all our efforts are aimed towards that title before we can even consider thinking about another Shu title.

We thank Bryn Morrison-Elliott, Jonathon Wilson, and Shaun Mitchellfor talking about the development process on Shu.