Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Droidcon Berlin 2013 - Developing for the OUYA


Published on

Published in: Technology
  • Be the first to comment

Droidcon Berlin 2013 - Developing for the OUYA

  1. Developing for the OUYAAl Sutton, Funky Android Ltd./OUYA Inc.Droidcon Berlin 2013
  2. OUYA for those not in the know✤ Kickstart project - Kickstarted after other funding sources were attempted, not as a quick way to raise some cash.✤ Wanted : US$950,000, Got: US$8,596,474 from 63,416 people✤ Over 1,000 Dev Kits shipped December 2012, those people have helped shape the OUYA so far✤ Over 60,000 Kickstarter & Pre-orders shipping now, those people will help fine tune the experience✤ Retail in June. Will still fine tune, but less big changes.
  3. OUYA and...✤ Germany; - - First retailer to list outside of North America - Partially developed by Novoda GmbH✤ Europe; - Developed in multiple European countries✤ The World; - Accepting global console pre-orders from day 1.
  4. ODK? Why not OUYA SDK?✤ Too many SDKs in the mix; “I can’t download the SDK”, “The OUYA SDK?, The Android SDK?, The Unity SDK?.......”✤ Easier to tweet - 140 chars isn’t a lot✤ Sounded nice to us
  5. What does an OUYA run?✤ Modified Android 4.1.2.. but not heavily modified. The focus is on the current activity is King; in the console world that’s all users want.✤ TV experience UI (no Status/Navigation bar)✤ OUYA libraries for In-App Purchasing
  6. What do you need?✤ Standard Android Tools -✤ OUYA Development Kit (ODK) -✤ If you can run the Android tools, you can run the OUYA Development Kit
  7. What helps?✤ A Console (real experience instead of estimation)✤ A good IDE (We use IntelliJ IDEA)✤ Tegra Android Developer Pack -✤ Friends to test with!!!
  8. How to start coding....
  9. Getting started...Documentation is on GitHub : and rendered nicely at
  10. Learn Android Development✤ OUYA consoles run Android. You want to code for an OUYA, you’ll need to know how to code for any Android device.✤ Lots of resources to help you;✤ Professional Android 4 Application Development - Reto Meier✤ The Busy Coder’s Guide to Android Development - Mark Murphy✤ - Google
  11. Install the ADT Bundle✤
  12. If you have a console...✤ Read the set-up document at;✤ OUYA has their own USB Vendor ID which isn’t currently included in the standard Android tools; 0x2836✤ If you do not add this value correctly your console won’t be recognized by the Android tools.
  13. No Console; Try a tablet.✤ Tegra 3 based; Nexus 7, Asus Transformer Prime✤ Ideally look for for 1920x1080 resolution, but this still won’t give you the full experience because of the navigation and status bars✤ Layouts will scale, but if you’re working with OpenGL having full resolution makes life easier.
  14. Emulation✤ Recommend you use the Intel Atom x86 CPU/ABI with Intel HAXM✤ Resolution 1920x1080 (1080p), 1280x720 (720p) if necessary✤ API Level 16 (Android 4.1); No Google Apps
  15. Download the ODK✤
  16. OUYA-ing your emulator/device✤ Two main components in the ODK;✤ ouya-framework.apk - The core functionality; In-App Purchasing, Account management, etc.✤ ouya-launcher.apk - The UI; Shows you what users will see.✤ Include jars in libs in your project
  17. Your applications icon✤ Fixed name in your resources; res/drawable-xhdpi/ouya_icon.png✤ 732px by 412px (yes, pixels)✤ It’s in pixels because the OUYA has a fixed resolution; 1080p
  18. The OUYA Launch Intent✤ Used to determine OUYA friendly applications from standard Android applications✤ If you don’t implement it your game won’t get into the store and won’t appear in the Play section;
  19. The OUYA Pause Intent✤ Used when the system menu is appearing.✤ Pause your audio, save your state, you may be going away.
  20. Content Review Guidelines✤✤ If you think it might be offensive; leave it out.✤ Your game should continue to work even if a network connection goes down (excluding any online functionality, of course).✤ Follow the interface guidelines....
  21. Interface Guidelines✤
  22. Designing for the TV✤ Overscan; Users still have TVs with it, you need to still think about it✤ Don’t put anything critical at the very edges of the screen✤ Don’t rely on users seeing things in the 5% outer edge (so 1920x1080 becomes 1728x972, offset by 96 pixels horizontally, 54 pixels vertically)✤ Don’t go full-on for colours. Use F0 as a max instead of FF.
  23. In App Purchases; How userspay✤ You must have free content; We want users to see what they’re getting before they have to pay for it.✤ Secured via cryptography. The private key does not leave our servers.✤ Makes use of an an application specific key✤ Details at✤ Yes; Globally available server to server purchase verification is being worked on.
  24. In App Purchases; How userspay✤ Security is about making things difficult, nothing is impossible.✤ We can do so much, but developers must also help themselves✤ Ofuscators; Proguard, and now Dexguard -✤ Evading Pirates and Stopping Vampires from I/O 2011;
  25. Game Data✤✤ Simple put & get API, currently stored locally independent of the application✤ Can be trimmed if an application abuses it✤ This will be developed to be backed up to the cloud so the game state is shared
  26. Higher end graphics - Shortcut✤ Unity for Android -✤ OUYA Unity -✤ Support hangouts on Google+ Tim Graupmann;
  27. Questions?If you’re an experienced Android coder and want to work for OUYA; Email