Ouya game system From an action-packed arcade game to a turn-based RPG, some games look 10x more awesome on the big screen. To provide Corona developers with more distribution opportunities, we’re thrilled to announce a partnership with OUYA an innovative game console that’s made headlines for their developer-friendly approach to gaming.

In the midst of the console versus mobile debate, we’re offering developers the best of both worlds. The power of Corona SDK’s unprecedented development speed, combined with the chance to get a head start in OUYA’s growing market, opens a new avenue for game developers. With less than 500 games on OUYA, the market is far less saturated than the App Store or Google Play, and presents an opportunity to any developer that wants to see their game on the television. That means our talented community – that’s right, all of you – can start creating the next big hit.

Getting started with OUYA

Corona SDK Pro and Enterprise developers can now incorporate OUYA’s game network and integrate in-app purchase into their OUYA games.

Take a look at OUYA’s plugin documentation and download the referenced sample source code. Once your project is ready to build, select “Build for Android” in the Corona Simulator and OUYA as your “Target App Store.”

Limitless game controller support

As a reminder, beyond integrating the OUYA game controller, you can now target nearly all HID devices including the GameStick (to ship on October 29) and PlayStation DualShock 3 game controllers, along with MOGA Pro and NVIDIA Shield. Customize your games by taking full advantage of controllers’ buttons, D-pad, analog thumbsticks and triggers. Taking it one step further, we also enable you to incorporate Bluetooth keyboards and mice into your games.

Why develop for OUYA?

OUYA is ramping up and providing attractive benefits to developers.

  • Accessibility: OUYA works diligently to support as many developers as possible.
  • Discoverability: OUYA shares content from all sorts of great developers. From OUYA’s engagement-metrics driven trended sections, to special guest-curated categories, OUYA looks to surface unique and enjoyable content to keep gamers playing and exploring new content.
  • Publishing is easy: With a few clicks and a controller in hand, your game will be live on TV for the world to see.
  • Low financial barrier: OUYA offers an affordable console dev kit; just $99 for the console, and no fees for submission of games or updates.

We can’t wait to see what you cook up for OUYA. So get to porting, and share your work with us!

  1. Any market share data across the various game controllers you support?

    Key question is is there any data that shows which one(s) are most likely to succeed and take off for the long term?

    • Greg – it’s too early for us to have any data on this. And I really think it’s anyone’s guess who will be successful here. Ouya clearly has the most buzz and a head start.

  2. With this addition of Ouya to the gaming landscape, plus the inevitable rise of smart TV gaming in general, I see that we will need to ensure that our games work well with a landscape/HDTV layout.

    Most of the apps I’m involved with use video clips as part of the experience. On a TV, I’d want those clips to be as large as possible, if not full screen. That leaves little room for UI unless— we can put buttons over video. Will the new graphics engine finally allow us to do that, or will we still need to have Enterprise and access to native APIs?

    • We’ve added native.newVideo() support to Android as of daily build #1203. This allows you to embed a video view inside of your app and size it the way you see fit. Have a look at sample project “Media/NewVideo” that is included with the Corona Simulator for an example.

      Alternatively, you can use our media.playVideo() API to play a video, but it’ll suspend your app and play the video in a separate window.

      Also, the new graphics engine will *not* allow you to render graphics over a video.

      • Minor correction:

        In graphics 2.0, we do plan to let you render graphics over a video, but it won’t be part of the initial release. Also, on Android devices, this will be limited to 4.x (I believe) and depends on hardware support of the device.

  3. Hey.

    So what are the specs, and when will we see an “Ouya” option in the simulator? For example, is it 720p, 1080p, or specific dimensions?

    I’m going to be developing for iOS, Android, and Ouya, and it’d be good to know what dimensions to use, so that the game won’t look like crap on the TV.

    Thanks,
    David

    • The release version of the Corona Simulator (build #1202) already has Ouya support. If you look under the View menu, you’ll find “Ouya – 720″ and “Ouya – 1080″ resolutions. The Android build window also provides “Ouya” as an app store target option.

      You should set up your app to target a 720 resolution and use Corona’s dynamic image resolution feature to scale up to 1080. The scaling between 720 and 1080 is 1.5x. If you want your app to target phones and tablets too, then setting up an appropriate content width/height is a task for you. Personally, I think it would be easier to “port” your app to Ouya (or TV in general), because remember that there is no touchscreen either. End users could use the gamepad’s touchpad to navigate your UI (it’ll trigger “mouse” and “tap” events), but it’s not a very good user experience. You’ll need to change your UI to support the gamepad’s d-pad and buttons as input.

      • Great, thanks! Huh, I guess I was a bit behind on the daily builds…

        As far as UI and controls, I have different classes that will load depending on the device, and some classes that render differently based on screen size. I’m excited, now we just need Graphics 2.0 and we’ll be set for a little while. ;-)

        D

  4. What licensing checks would should one do with Ouya and how does this work?

    Also can you clarify in the response how the license checks for Ouya would work in with the ones for Google Play. Why I ask is I currently have in my code the concept that the Android binary will only be released on Google Play, so there is always a Google Play license check. So I guess I’m wonder what the pseudo code would look like in your app? I guess I’m assuming a Google Play build is Android so someone could copy it and run it on Ouya and vice-versa (hence the risk) however maybe I’m wrong here?

    • The app store target that you select in the Android build window is mostly just informational. It just changes the store name that is returned by the system.getInfo(“targetAppStore”) function and the store.target property. Our Google Licensing plugin actually checks which store you’re targeting via these APIs. The licensing.init(“google”) function will fail (return false) unless your app is targeting Google Play or -None-. It will return false for all other app stores and not do a licensing check. But that said, if your built app is targeting Google Play and you run it on an Ouya device (or a Kindle Fire), then the licensing check will fail mostly because the Google Play app (which does the licensing check) is not available on that device. I hope this makes sense.

      Now, what you’re supposed to do is rebuild your app targeting the Ouya app store and set up your code to skip the Google licensing check. On Ouya, all apps are free trial versions until the end-user decides to buy them. So, you’ll need to set up your app to use Ouya’s in-app purchase system… and that purchasing system will validate your app and the in-app purchase for you via the “key.der” file that needs to be in the root directory of your Corona project. Have a look at the following Ouya plugin documentation for more details…
      http://docs.coronalabs.com/plugin/ouya/index.html

  5. This is fantastic news. Been wanting to develop for OUYA since day one, and in fact, was able to port a few of my titles using the existing libraries for OUYA controller support — needless to say, this will be much better with official support. Thank you Corona and OUYA!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>