Developing an Endless Runner for Apple Watch

“Do you think you could code an endless runner for Apple Watch and could you do it in six weeks?” That was the question posed to indie developer, Christopher Caleb, by his twin brother Alan. The duo had been hard at work on Dare the Monkey – their first iOS game together – and were getting ever closer to completing the project. But they felt they needed something extra.

“We’d been constantly trying to think of differentiators. Things that would make Dare stand out.” remembers Christopher. “So when Alan hit upon the idea of bringing it to Apple Watch I was up for the challenge.” Time was against them though and neither was even sure if it was possible. Alan remembers the initial conversation well. “We were eager to get the game to Apple and really didn’t want to delay submission.”

Embarking on the development of a watchOS version while simultaneously trying to finish the game on iOS seemed like a huge risk. “We almost talked ourselves out of it.” continues Alan. So why didn’t they? “We looked around and suddenly realised that if we pulled it off, Dare the Monkey would probably be one of only a handful of endless runners to appear on Apple Watch. That just seemed like too big an opportunity to pass up.”

Designing apps for the Apple Watch has its own set of challenges. The time a user spends interacting with a watch app can sometimes be measured in seconds. A different approach to the gameplay would therefore be required. “Simply porting a fast paced platform game from iOS to watchOS in its entirety doesn’t make any sense.” continues Christopher. “We understood right from the start that we needed to provide a flavour of the game instead of the full fat experience. You know, something users could quickly dip in and out of.”

Taking the core elements from Dare the Monkey and making a simple but fun endless runner therefore made perfect sense. The decision to make an endless runner also had the added benefit of providing owners of the Apple Watch version with something unique: a game mode exclusive to the watch.

apple-watch-screens

The iOS version of Dare the Monkey is played in landscape orientation, allowing the player to see as far to the right as possible. Alan remembers this being one of the earliest problems the brothers had to overcome when designing for watchOS. “Its form factor is different. Could we really take a game that needs a generous amount of horizontal space and fit it onto a square-shaped watch face? And if we could, would the user be able to see far enough ahead to react to oncoming obstacles?”

“It took some trial and error but eventually we found an aspect ratio that seemed to work for the game’s play area.” recalls Christopher. Of course, endless runners speed up the longer the player survives. “Given the limited width of the viewport we knew that eventually the player’s speed would become a problem.” To compensate, they decided they’d try creating additional horizontal space by pulling the game’s camera away from the scene as the player picked up speed. Alan continues: “We didn’t have any code in place at this point but felt that, if we could pull it off, the player would always be able to see far enough ahead during play.”

Not surprisingly, the biggest challenge was the actual coding of the watch version. With many years programming experience under his belt, the task fell to Christopher. “The tight timescale was the thing that concerned me most.” he remembers. “I knew that if I was going to finish the project on time I’d need to minimise the amount of code I had to write. I didn’t want to spend time writing tools such as level editors either.”

Thankfully Apple’s Xcode came to the rescue. “I’d been using Apple’s graphics framework, SpriteKit, since it was launched. Over the years I watched as it became more tightly integrated into Xcode.” Recent versions of Xcode made it possible for developers to visually construct scenes rather than relying on hundreds or even thousands of lines of code. “It just made the task of constructing the game world so much easier. I could drop graphics into Xcode’s scene editor, create animations, define platforms, and setup the game’s physics.”

apple-watch-dev-build

But what about the times when coding was actually required? It turns out that was fairly straightforward too. “The SpriteKit scene editor allows you to link units of code directly to each of your game’s objects.” continues Christopher. “It made it easy to script certain behaviours for the game’s hero or to write rules that were applied to the game’s obstacles.”

It was certainly an ambitious project considering the target hardware was a wearable device, but in the end very few compromises were required. “It just worked!” exclaimed both brothers almost in unison. “Sure, code optimisation was required in places.” confesses Christopher. “And we had to drop some parallax layers from the game’s background.” chimes in Alan. “But other than that it looks almost identical to the iPhone version.” both agree with some pride.

However, technical achievements count for nothing if an app fails to impress. So were users able to successfully play a fast-paced endless runner on their wrist? The answer is a resounding yes. The game’s simple mechanics translated perfectly to the Apple Watch; visually it looked fantastic; and Alan’s little camera trick worked perfectly too, ensuring players could always see what was ahead.

All-in-all, the watch version acts as a perfect compliment to its big brother on iPhone. And for the ever growing number of Apple Watch owners there’s a wearable endless runner to show off to their friends.

Dare the Monkey Deluxe is coming soon to the App Store for iOS and watchOS.