Sponsored By

Tales of porting games to microconsoles

If you are trying to make a decision regarding whether or not it's worth putting in the effort to port your games, make sure to give these stories a read, as they may well hold the key to how your porting job would progress.

Mike Rose, Blogger

August 27, 2013

18 Min Read

It's fair to say that the majority of games landing on Android-OS microconsoles right now are PC and mobile ports. Creating a port of your game is a great way to test the waters on an emerging platform, to see whether it's worth making games for the Ouya, GameStick et al in the future.

But porting to microconsoles isn't always a walk in the park. For some studios there is only a small amount of work to do, and for others, it's a massive undertaking. Either way, there's bound to be hiccups throughout the process.

I talked to a variety of studios who have ported their games over to the Ouya or the GameStick, with the aim to get a decent idea of the trials you may come across if you yourself are porting for a microconsole.

If you are trying to make a decision regarding whether or not it's worth putting in the effort to port your games, make sure to give these stories a read, as they may well hold the key to how your porting job would progress.

Fusion Reactions - 100 Rogues

"Ouya was really just an ideal opportunity on all fronts," explains Wesley Paugh, the developer who ported mobile hit 100 Rogues over to the Ouya.

"Timing was perfect; the Kickstarter for the console was announced shortly after regular content updates for 100 Rogues iOS stopped, so I had the time to take on the immense amount of work required."

This immense amount of work came as a result of the game's programming, rather than the act of porting to the Ouya itself.

"This was an incredibly tough process for us, but this has nothing to do with Ouya," he explains. "Using Ouya's APIs to set up controller input, purchasing calls, etc., couldn't have been much simpler."

He continues, "Our problems began much, much earlier than Ouya. When 100 Rogues development began initially, it was supposed to be a three-month project we'd crank out and move on to another. Further, there was no Android at the time. So, the obvious choice was to write the game in Objective-C, a programming language designed to work on iOS and only iOS."



Porting the game to any other platform meant rewriting all 40,000+ lines of code into a language that could be used on Android. "We've considered making an Android mobile port in the past, but knew it would have required this immense amount of work," he says. "Now that the game is cross-platform, Android mobile may be our next target."

Paugh's plan was to have 100 Rogues ready for the Ouya launch, but as it turned out, writing a game from scratch in that time frame was never going to happen.

"I still tried as hard as I could though, and I've crunched as hard as I ever have before," he notes. "It doesn't much help that I made a real poor choice of technology that ended up being incompatible with Android, which set me back about 4, maybe 5 months, all told. Going it alone, in my spare time only, made it the hardest development experience I've yet weathered. But still, I'm a better programmer for it all and 100 Rogues is a much better game for it all."

The most interesting part of developing for Ouya, says Paugh, is watching public perception of the console shift over time.

"Everybody seems to either love or despise the thing, but the naysayers' arguments have changed in particularly interesting ways over time. Don't get me wrong, there's still a lot of hate for it (God knows why it's 'cool' to so outwardly hate something you can safely ignore), but the prominent negative opinion has changed from 'Ouya has no use' to 'Ouya is only useful as an emulator / media center' to 'Ouya has a few good games, but developers won't keep making games for it.' I would love to see that trend continue."

As you can probably tell, Paugh is a big fan of the Ouya -- the developer loves the idea of a games console that provides an alternative to the larger console offerings.

"Genre throwbacks like Shadow Complex and bolder ideas like Fat Princess enjoyed occasional success on their more open digital marketplaces, but even they had the power of a proven name, expensive technology and a marketing budget behind them," Paugh reasons. "In Ouya I saw a promise that the existing system could be changed to allow smaller developers with such great ideas to find their audience and make a living. I wanted to support that 100 percent by bringing a great game to the platform."

100 Rogues has only just been released for Ouya, but I asked Paugh if he feels like the port has been worth it.

"In a word, yes," he answers. "It's been disappointing to see developers share some objectively dismal sales figures, certainly, and I've had to prepare for less financial success that I might have hoped for. Additionally, since the success of the Ouya Kickstarter, Microsoft, Sony, and Nintendo have all announced platforms that are more open to game developers that have found their home on Ouya, and that does present some risk to my investment in the console."

"For now, though, Ouya provides games like 100 Rogues, Amazing Frog and Hidden in Plain Sight. I'll gladly do what I can to support a console that does that."

Madfinger Games - Shadowgun

Mobile studio Madfinger is rather popular, thanks to its Shadowgun and Dead Trigger franchises. But when the company found that many of its fan were planning to try out the upcoming microconsoles, the Madfinger team was happy to jump on board and supply Shadowgun on a new set of platforms.

“I would say it was relatively simple, since our games are made in the Unity engine, which takes most of the porting effort off of our shoulders,” programmer Petr Matousek tells me of the studio’s Ouya and GameStick porting efforts.

Switching from touch-controls to gamepad controls is the first big task, he notes, followed by the various platform-dependent plugins that you’ll need to integrate. In particular, Matousek says that the microconsole companies aren’t too keen to carry the advertising services that Madfinger utilizes.

“The last thing is to optimize your game for performance, since not every microconsole is [fast and efficient],” he says. “In the case of the Shadowgun port, we mostly struggled with gamepad controller and performance issues. The game contains almost no third-party plugins so this burden was fortunately lifted off our backs.”

When it comes to the microconsole APIs, the Madfinger team was happy with the service they were provided, especially when it came to receiving support from the people behind the consoles.

“It wasn't necessary to do anything with their APIs except integrate in-app purchases for Ouya, since it's their policy to let players download a demo version of any game from their store to try it, and then to either buy it or leave it after playing it for some time,” Matousek says. “For developers this means that you have to integrate Ouya in-app purchase APIs, which is cleanly designed, so it's not much effort.”

Unfortunately, when it comes to protecting your game from cracks and pirates, the developer says that there is no simple answer. “It's almost impossible to make it pirate-proof,” he notes. “In order to sleep more easily, I think the best answer is either not to worry about it too much since most people will just buy it if they like it, or make the game free to play.”

“If you don't like easy sleeping, the best answer is to hack sleeplessly to create a bullet-proof protection and then do that again when your perfect protection gets hacked, and then again… but I prefer to sleep easily,” he laughs. Piracy isn’t really a joke to Madfinger though, especially where Android is concerned.

The Madfinger team also had some problems with the gamepad support, thanks to a Unity-related issue. Shadowgun has built using Unity 3.5, but an upgrade to version 4.0 was required to get gamepad support working. This transition was not very smooth at all.

There were also performance issues on GameStick. “Shadowgun is a bit of a performance-demanding game, and with GameStick we had some problems to make it running smoothly and had to optimize many game levels to reach a good playability,” Matousek says. “GameStick is designed to be a very tiny and low power-consuming device which allows you to carry it anywhere you want, but it also makes it a bit harder for games like Shadowgun to be ported, since the performance is not high enough to allow for fancy graphics and effects.”

Madfinger is currently developing Dead Trigger 2 but mobile, but the team says that once the sequel is finished, the team plans to make some time to port some of its other games over to microconsoles.

Simian Squared - The Other Brothers

Giuseppe Landolina and his team have been porting their mobile game The Other Brothers to both Ouya and GameStick, and have been having a relatively easy job of it.

"Ouya and Gamestick are new, and relatively easy to develop for if you're familiar with Android," Landolina tells me. "People kept asking us for Ouya and Gamestick versions and in the case of Ouya, Bob [Mills at Ouya] reached out to us and really wanted it on the platform."

GameStick was even easier for the team, as Simian Squared actually lives in the same area as the GameStick team. They were able to meet up with GameStick, get a feel for how passionate they are about the project, and then get stuck in with the porting job.

"It's been relatively straightforward," Landolina notes of the port to microconsole. "There are always problems porting and these problems are usually down to how well it's documented, early adopter bugs and the controllers. When you port to a console (or design for a console), you need to adhere to strict controller and UI guidelines. Everything has to feel right."



While Landolina says that the Ouya doesn't have any real guidelines when it comes to porting, he notes that GameStick has "a very high quality QA process."

"They basically sat down with us and worked through how the game would feel on the Gamestick, as well as offering a lot of feedback from their internal test team," he says. "There are guidelines like you'd expect from bigger consoles, and it left a positive impression on us. So there's a difference between Ouya and Gamestick, both have their advantages."

"Hardware-wise, these are essentially souped up mobile phones which really don't cost more than a crazy night out, so you can't expect next gen graphics," Landolina continues. "But what you can expect is a lot of developers doing inventive things given the low barrier to entry, and freedom to experiment without worry as to whether it's what publishers want."

Porting the game to microconsole was actually just a lot of fun, he tells me. Sitting down to test new two-player elements, and other game prototypes alongside, has been enjoyable.

"These microconsoles are about fun and experimentation, they encourage and promote it," he adds. "We think they're about bringing the weird indie stuff to a wider audience and that isn't a bad thing."

"We're always interested in emerging hardware, we feel that these devices are a way for indies or solo developers to reach out and get their feet wet in console style development without the expense or creative limitations, and that is fantastic.

Tripwire Interactive - The Ball and Killing Floor: Calamity

TripWire Interactive is doubling down on the Ouya, with two games -- The Ball, a port of the PC original, and Killing Floor: Calamity, a spin-off title based on the original PC series.

"It was really hard porting an Unreal Engine 3 game, designed and built for top-end PCs to the Android platform," Tripwire's Alan Wilson says of The Ball's porting job.

Tripwire originally decided to port The Ball to Android as an experiment with chipmaker Qualcomm, to see how the company's Snapdragon smartphone chipset fared. Porting to Ouya was then a case of chasing new opportunities.

"We were one of the first non-Valve titles on Steam with Red Orchestra in 2006," Wilson notes, "and we tried out OnLive as well. So when we got talking to Julie [Uhrman, Ouya CEO] and Bob [Mills] at an event in Atlanta in January and realized they were big on Killing Floor, we got to thinking seriously about it."



He continues, "We had The Ball ready for Android anyway, so we ported it across from the Qualcomm chipset to the Ouya as a start point."

Wilson believes that, based on sales figures he's seen, The Ball is probably one of the top sellers on Ouya. "The numbers aren't huge, for sure, but it is very early days," he notes.

And the team will be hoping that sales pick up, as Swedish studio Gaming Corps is currently building the aforementioned Killing Floor spinoff with Ouya as the target platform. For now, Wilson has advice for those studios planning to port their PC games to Ouya.

"I wouldn't port another game designed and built for top-end PCs again in a hurry," he says. "It's a real tricky task to shoe-horn onto a much smaller platform. As for a game purpose-built for the platform in Unreal or Unity - yes, no reason why not."

Shay Pierce - Get on Top

Shay Pierce had just watched Ben Foddy's hilarious multiplayer game Get on Top being played at a local IndieCade Annex event when he had the idea to port the game over to Ouya.

Pierce had already experimented with porting one of his own Flash-based games to the microconsole, and the process had gone pretty well. Now he was looking for a game to release for the Ouya at launch, and Get on Top seemed perfect for the platform.

"I needed a project that would give me a break from my current major indie project, Uncanny Alchemist Battle 1934, which I had been toiling on for over a year," he says. As a result, he offered to build an Ouya port for Foddy, and Foddy agreed.

Of the development process for Ouya, Pierce says, "I definitely had some hiccups. We were the first game using Flash/AIR technologies to submit to the Ouya. Luckily the community (and especially Gaslight Games) had already created and shared libraries to integrate the Ouya APIs for gamepads and purchases, so I was able to use those libraries - but integrating them was tricky in some places."

And there were plenty of quirks porting with AIR too -- for example, the APK executables that AIR produces managed to somehow break the Ouya verification process, which clearly wasn't optimal.

Notably, Pierce also did most of the work on the Ouya Organ Trail port, which was built in Unity3D. While the Unity support on Ouya is better than the Flash/AIR support, that had quirks of its own.

"I definitely think that 2D game creators should consider using Flash for Ouya games though, so long as they're using the 'Stage3D' features - performance on Android devices is terrible without that," he adds.

And would Pierce build games for the Ouya again?

"As an experience, it was harder than I thought [it would be]," he admits. "But part of the point for me was to go down the 'Flash game on Ouya' road, and learn how to do it with a simple game - and that was a success."

In terms of income, Get on Top could have sold better -- but Pierce was never expecting to make big bucks with the port anyway.

To date, the game has sold 866 copies (that's after around seven weeks). Purchases are $2 each, which means that the game has seen total income of $606.20 after Ouya's 30 percent cut.

"According to Ouya's own 'unique downloads' number for us, we've had 8,119 of those," Pierce adds, "giving us a conversion rate of 10.6 percent - which I think is incredibly good for an open platform that's kinda-sorta targeted towards cheapskates."

Gordon Luk - Beast Boxing Turbo

Beast Boxing Turbo was originally a PC game, then ported to Ouya, and is currently in the process of being ported to GameStick.

"From a game design point of view, being able to rely upon everyone having a controller at the minimum is great," says developer Gordon Luk on porting his game to microconsoles.

"You don't have to design your game for all sorts of control variations and resolutions, and that makes the process of designing the experience much easier. Plus, I had already invested the effort in adding Xbox 360 controller support for Beast Boxing Turbo's PC/Mac version, so it was mostly test and integration work that had to be done."

Since Luk already had this controller functionality embedded in the game, most of his porting work involved trying to integrate the Android SDKs that add special controller handling support, and marketplace features like in-app purchases.

"It wasn't a cakewalk, and I was pretty lucky to have enough experience to work quickly and become one of the first few videos up on YouTube showing Beast Boxing Turbo playing live on an Ouya," he notes. "Doing dev work on multiple unreleased platforms while their SDKs are also in flux is not for the faint of heart, but if you're up to the challenge it can give you a leg up on the competition."



Luk also liked the idea of having an early presence on this new marketplace. "The press interest around these new Android microconsoles is definitely there," he reasons, "so just by being an early launch title that looks good - it gives you a chance to secure a spot as one of the 'known' titles on a new platform that gets mentioned in the flurry of articles that will roll out with their launches.

Overall, Luk says that his experience porting the game to Ouya has been great, especially when it came to customer service with the Ouya team.

"I worked hard to submit good bug reports from an early stage in the dev program and the QA team was really responsive, making my job much easier and also giving me a sense of the hard work that they were doing to hit their launch date," he tells me. Of the GameStick team he adds, "My GameStick port isn't yet 100 percent complete, but they've been good at responding to emails as well."

Luk's one main tip that he says he'd give to people considering porting their games to microconsoles: "Invest in one or two experienced Unity Android FTEs (full-time engineers) into a well-designed, well-tested, and well-documented first-party Unity plugin at the start of the dev cycle."

The Beast Boxing Turbo dev was forced to fork and write his own version of the plugin to get the API design and performance he wanted -- and while it was an interesting process, he says that he witnessed plenty of other less-experienced devs having problems getting their games running properly as a result.

"It was obvious to see how hard everyone works on their SDKs," he adds, "but if you can manage to give good, Unity-aware tools to the legions of non-programmer game devs out there, I think it would pay real dividends."

And has porting his game over the microconsoles been worth the ride?

"From a financial point of view, the port on Ouya is doing well especially considering the size of the platform," he answers. "Overall conversion rates have really gone up since the early days when the Kickstarter Ouyas were going out, and everyone was downloading any game they could get their hands on."

"I can't quit my day job by any stretch of the imagination," he adds, "but it's nice to see that people are still enjoying the game enough to buy it, and it already outpaced sales on PC by a good margin. Perhaps that's purely because I haven't had any luck on getting it into Steam via Greenlight."

Luk says he would definitely build another game for Ouya again: "I'd probably prefer to do experimental releases on these [Android] consoles before going anywhere near one of the bigger ponds."

Read more about:

Features

About the Author(s)

Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like