SongArc taps into the potential of Universal Windows Platform

SongArc explains how cross-platform sharing can save time, and coding.

Tablet image container
SongArc taps into the potential of Universal Windows Platform tablet image
Mobile image container
SongArc taps into the potential of Universal Windows Platform mobile image

SongArc

Download

Experience music like never before with SongArc -- a revolutionary game that brings the music on your tablet to life!

SongArc: Getting Closer to Music with the Universal Windows Platform

What did it take to develop SongArc, the top music game on Windows Phone?

The real magic of Song Arc is that it places users “close to the music through gestures, giving them the feeling of playing a real instrument without spending a lifetime learning,” said Andras Velvart, SongArc’s CEO and Founder.

A music game with more than two million downloads across Windows, Android and iOS--along with a 4.7 average rating on Windows Store--SongArc literally taps into the potential of the Universal Windows Platform through simple, touch-based input methods.

Andras, an eight-year Windows MVP and longtime guitarist, brought a deeper musical connection to SongArc through Xamarin’s MonoGame engine, UWP input methods, and Azure to manage the millions of SongArc users.

Over 90 percent of the game is shared cross-platform, not re-written
Andras Velvart, SongArc’s CEO and Founder

Tapping to the Rhythm of the UWP

The SongArc story begins with Xamarin’s MonoGame cross-platform game engine. While the team created the game first on Windows due to centralized resources and enthusiastic beta testers, Andras says that the cross-platform focus was a priority from Day One.

“Over 90 percent of the game is shared cross-platform, not re-written,” he said. “That was a huge time-saver.”

That allowed the team to experiment with the input methods and gestures that became crucial to the gaming experience.

Velvart explains that Song Arc essentially features three input methods: Tap, swipe and shake.

To build these gestures, the SongArc team used low-level touch events which simplified the trigonometry needed to calibrate the quick-paced inputs. For the shake gesture that triggers the drums, SongArc makes use of the built-in Windows Phone accelerometer.

Andras says that implementing the gestures was relatively simple, but found true input harmony elsewhere.

“The gestures are pretty straightforward to implement; the magic is in finding what gestures work best and fine-tuning all the parameters to provide the experience that brings the player closest to the music,” he said.

Then it came down to the timing – without precisely synchronized rhythm timing, delays and latency would muddle the user experience, turning users’ favorite songs into something that would sound like a marching band falling down the side of a mountain.

To sync the gestures with every shake, rattle and roll, Andras and his team experimented.

... We’ve managed to put smiles on millions of faces, and that means a lot to us

“We use low-level APIs so we could experiment and estimate the natural delays of different touch screens,” he said. “Then we made sure that the actual gameplay is tolerant enough to handle as many variations in audio output, touchscreen and other delays as we could.”

The finished product brings users so close to the music that they can touch each verse, chorus and guitar solo in their favorite song without missing a beat.

That brings us to SongArc’s next feature – the ability for users to improvise and mold the game to their own liking through the “sheet editor.”

Makin’ Sweet Music with Azure

SongArc’s “sheet editor” syncs with a user’s music library, allowing them to upload and create “sheets” so they can play the game with the songs on their device.

But with two million downloads and hundreds of thousands of users creating and uploading music every day, the sheets became hard to manage from an admin side.

The answer? Azure.

“We can sort two million users and songs and sheets easily -- all with just a small Azure instance,” Andras said.

It didn’t just work, it worked really well: CPU utilization was below 5, making the game run efficiently and smoothly on all devices.

Perhaps not surprisingly, SongArc’s Azure user management, innovative use of input methods and the MonoGame engine helped spark the two million downloads and active SongArc community.

Spreading his passion for music to people around the world is music to Andras’s ears.

“We’ve managed to put smiles on millions of faces, and that means a lot to us,” he said.

Find out what’s next from the SongArc team by following them on Twitter here. And for more stories like this, along with tutorials and Windows news, check out Windows Dev on Twitter here!