Making Zombies, Run! 2 accessible

Hello, Alex Macmillan* from the development team here. Babu, Luis, George and I are currently working full pelt to bring you Zombies, Run! 2 on both iOS and Android as close to one-another as possible. (We’ll have more information about the Android version of Zombies, Run! 2 very soon!)

*There are two Alexs at Six to Start now, Alex Primavesi joined us recently to work on a new project with the support of the UK Department of Health.

image

One thing we’re particularly excited to share about Zombies, Run! 2 is that we are making the game 100% VoiceOver enabled and thus fully accessible for as many players as possible on iOS.

VoiceOver is Apple’s screen-reader technology for iOS. When you turn VoiceOver on it describes whatever your finger is touching using a computer-generated voice. If your finger is over a button, you can double-tap to activate the button. To scroll a list, you use two fingers.

Our sight-impaired players

We were surprised when we found out how many blind and sight-impaired people had bought and become fans of  Zombies, Run! Many contacted us with the same particular problem — that while our players had no trouble playing through the missions (after all, it’s all audio!) — there was no way for our VoiceOver-using players to upgrade Abel Township. This is something we wanted to fix for Zombies, Run! 2 as a matter of priority.

Here comes the technical bit. If you can feel your eyes glazing over faster than a car windscreen in freezing fog, I won’t be offended if you skip the next section.

The technical bit!

To display Abel Township in all of it’s high resolution glory and to enable the visual effects (which we have many of more in ZR2! than the original game), we needed a graphics engine. We chose the most popular engine available for iPhone, cocos2d. The engine does the hard work of loading Abel Township’s buildings into the phone’s graphics memory and then rendering them onto the screen of the phone in under sixteen milliseconds (so that we can do it sixty times a second for a butter-smooth experience).

However, the gotcha is that Apple’s VoiceOver technology can only describe parts of the interface that are made from Apple’s user interface components – things like text labels, buttons, lists and alerts.

Because we’re using a game engine, VoiceOver has no way of describing what’s on screen. Additionally, because VoiceOver changes the way touching and dragging works it’s impossible to pick up and allocate supplies, or pan and zoom the base.

How we’re addressing accessibility in ZR2

In Zombies, Run! 2 on iOS we have built two separate interfaces for managing your base — one uses the same tech as ZR1 but is optimised so that we can show more buildings, a detailed environment, and many more visual effects. We’ve got much better at optimising graphics in ZR2 — the game starts faster, and we’re seeing smooth performance on the iPhone 3GS, right up to the iPhone 5, and on Android with LibGDX as well.

The second interface — the “schematic view” — shows your base using only Apple’s user interface components. It’s like a top-down strategic view of your base. And because it’s made using only “native” UI components, it works perfectly with VoiceOver.

All players can access both interfaces.

image

There are a couple of things that I’m proud of with our approach.

1) Aiming to make the game VoiceOver compatible allowed us to start testing earlier. Managing the base in Zombies, Run! 2 is a complicated affair – you have to make sure your base can support it’s growing population, and keep people happy at the same time as managing your base’s defences. We want this to be fun and rewarding, and we wanted to start refining these mechanics as soon as possible.

Prototyping with the “schematic view” meant Adrian (our CEO) could start managing bases and balancing the gameplay without programming a 2D game engine, or waiting for first drafts of the building artwork from our graphic artists Estée and Michael.

2) Regardless of whether you use the graphics view or the schematic view, you’re playing the same game. Initially we thought that the accessible version of the base builder might simply show a list of buildings in your base, rather than a map.

But that created a problem – how do we convey to the user that they can’t build a building because they’ve run out of space? And even if there is enough space, how do we explain that the building is the wrong shape for it? We considered throwing out the “space management” aspect of the accessible base builder entirely.

Ultimately we realised this was stupid. Why should we make the game simpler just because the interface needs to be accessible? Why should we deprive people the fun of cramming their buildings together into the most efficient possible layout? We discarded the list idea and implemented a proper map instead.

A game for everybody

Given that Zombies, Run! is at its heart an aural experience, it is one of our highest priorities to make the game fully accessible to all of our players, be they sighted or visually impaired. We are delighted that this will be possible on iOS from day one, and are working hard to bring the same accessibility to Android as soon as possible.

Did you enjoy this closer look at the development process for Zombies, Run! 2? Would you like to know more? Let me know what you think at alex@sixtostart.com.