Porting Dead Cells to mobile: An in-depth breakdown

May 7, 2019
Porting Dead Cells to mobile: An in-depth breakdown
Game Developer logo in a gray background | Game Developer

Laura Saada is lead producer at Paris-based Playdigious.

First of all, before anyone asks: yes, Dead Cells will be a premium mobile game. It is a premium game on PC, on consoles and it is a premium game on mobile. No argument here.

One year ago, Motion Twin (Dead Cells’ developers) entrusted us to take on the challenge of bringing Dead Cells on mobile and granted us full latitude. It was a big day for Playdigious since Dead Cells won several prestigious awards, got some amazing coverage and of course a lot of players and us loved the game.

What a challenge! (And some pressure on our heads.)

When we started working on Dead Cells, we couldn’t even imagine what challenges were waiting for us around the corner. However, we’ve tackled challenging ports before. We previously worked on Shiro Games’ Evoland 2, a complex 20-hour-long RPG. Even its developers didn’t believe it was doable on mobile, due to this complexity.

But we did it!

Now that you’ve got the setup, here we go: how do you port the precise, frenetic, action-packed, controller-centric roguevania game that is Dead Cells to mobile and tablets devices that utilize a single touch screen?

1. Getting the first playable

The first thing we did before anything else, was to make sure the game could run on mobile devices. We made a very rough first build, without controls or anything, just to check performances and see if there were any technical blockers. Spoilers: there weren’t.

A Switch version was also in the pipeline, so we weren’t that worried about it. The thing to know about mobile nowadays is that mobile devices are way more powerful than what a lot of people expect. Obviously, there are some additional constraints on the technical side, such as the variety of devices to manage, specific texture optimization, RAM usage, not to mention various OS versions. We won’t talk about the Android platform with strong GPU disparity etc. However, generally speaking, high-end mobile devices nowadays are very close to a Nintendo Switch in terms of technical power. So, if you’re planning a Switch version, please have a look at mobile and see if it would fit. It’s an awesome platform with a huge reach and there’re already some awesome games on it and…Ok I’ll stop here, this is for another article (sorry, but I do love mobile). 

Let’s get back to Dead Cells. So, there were no technical blockers (we won’t talk about the Haxe/Heaps engine here and that’s not my place to do so anyway). I’m not saying this was easy -- on the contrary, it was a very difficult task, but not impossible. Porting a game, specifically on mobile, is not trivial. It does require some hard work and I’m still really impressed with the work our developers are doing. However, with a little experience it gets easier. Unfortunately, Dead Cells won’t be supported on “old” devices but (thanks to QA) we are confident that it can run smoothly on all supported devices.

2. Having a look at the original controls (feel the pain)


2.1 Controller settings PC

 


2.2 Keyboard settings PC

We knew (and will always know) that a mobile port will never be the exact same experience as it was on the original platform (PC or console). For Dead Cells, the main challenge was to take all the controls and find a way to make them enjoyable on mobile.

3. Starting with movement

Now that a first build is here and works, it is time to start thinking about the UX and do some mock-ups and tests.

Where should we start?

On Dead Cells, one of the key features is movement. The player needs to move the character easily, run to the left, the right, crouch, and jump. This is a question we knew well, thanks to our previous porting experiences.

Moving left and right was not too difficult to solve: let’s use a virtual floating pad. It is way more precise today than it was in the past and lot of action games on mobile are using it. Players are already used to it, and we can tweak and tune it as much as we want.

Jump and Dodge, not so much. Both are required in Dead Cells and used so many times.

How could we let players use them easily?


3. First Jump and Dodge drafts

My first mock-up was something like one button for both actions, and I wanted to let the player slide from one side of the button to another, to either jump or dodge without too much gesture. We tried a little.

That didn’t work. It was a nightmare to play, the precision was not here at all and players would mis-click every time. Big nope!

Let’s get back to basics, shall we? One button to jump and one button to dodge. With the right positioning, that could be it. We’re getting closer to the game feel we wanted. But still, this is a lot of buttons on screen, so we tried something else.

Get rid of the Dodge button and use a Swipe on the right part of the screen to dodge.

Yes! That works too!

“Swipe-to-Dodge” was a great idea but wasn’t the best for the whole team. It is a very different way of playing and we weren’t all happy with it. So, by default, we kept the basic two buttons idea.

4. We can move! Now what?

Let’s talk about what came next: using skills, weapons, and potions; how to pass through a door without breaking it; how to talk to a character; how to pick up items or interact with stuff, etc.

Skills & Weapons: Jump and Dodge buttons worked well, ok let’s do the same! The challenge here was to find the right positioning for the virtual buttons. We checked other successful action games on mobile like Fortnite and Lineage 2 to have a better understanding of players’ habits when playing: How do they move? How do they jump, How do they manage an interface with a lot of buttons? Thanks to benchmarks set by other games, we figured we were good here.

4. Lineage 2

Menu and Potion buttons (and homunculus but shhh! That comes later in the game): On PC you just have to press “Esc” to open the Menu and Settings; on consoles, you press Start or Options. But on mobile, you need something on screen to open it. For a long time, the Menu was just on the HP bar and we were used to it. It wasn’t the first time this was used on a mobile game; I was confident that it would be enough.

Good lesson here: When doing UX design = NEVER EVER EVER assume too many things for players. And please, playtest. Because yes, playtests showed me how wrong I was. Putting the Menu on the HP bar wasn’t enough at all, we needed a Menu icon! So, we listened and added one.

Interaction: How should players control passing through doors, talking to characters, pick up items and weapons, etc.? How should all those different actions work on mobile? We didn’t want to add too many things or give players more controls to understand. One button would be enough, so we added exactly that: a new “Interact” button. Finding the right visual asset for this one was not an easy task but with the right icon and some visual signs and feedback, this button became very simple to understand and use.

For all of those buttons, a lot of mock-ups and tweaks were involved, but thanks to some playtests, we managed to get something nice. Additionally, right from the start, we had this idea of letting players choose how they wanted to play, so we integrated some nice features inspired by Evoland 2… But we’ll get back to that later. At that time, I still personally thought there were a lot of buttons in game, but when playing, I kind of just enjoyed the experience and forgot about that pretty quickly.

5. How the hell should we arrange all those buttons?

Ok let’s recap all the things we needed to fit on one small screen:

  • A floating pad (left of the screen -- no discussion here as players are used to it, so let’s not change their habits)

  • Jump and Dodge

  • Skills and Weapons

  • Potion

  • Menu

Tags:

No tags.

JikGuard.com, a high-tech security service provider focusing on game protection and anti-cheat, is committed to helping game companies solve the problem of cheats and hacks, and providing deeply integrated encryption protection solutions for games.

Explore Features>>