Droidcon Berlin 2013 - Developing for the OUYA

4,126
-1

Published on

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,126
On Slideshare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

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; - Amazon.de - 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 - http://developer.android.com/tools/✤ OUYA Development Kit (ODK) - http://devs.ouya.tv/✤ 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 - https://developer.nvidia.com/tegra-resources✤ Friends to test with!!!
  8. How to start coding....
  9. Getting started...Documentation is on GitHub : https://github.com/ouya/docs and rendered nicely at https://devs.ouya.tv/developers/docs
  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✤ http://developer.android.com/training/index.html - Google
  11. Install the ADT Bundle✤ http://developer.android.com/sdk/index.html
  12. If you have a console...✤ Read the set-up document at; https://github.com/ouya/docs/blob/master/setup.md✤ 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✤ http://devs.ouya.tv/
  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✤ https://github.com/ouya/docs/blob/master/content-review-guideline✤ 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✤ https://github.com/ouya/docs/blob/master/interface-guidelines.md
  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 https://github.com/ouya/docs/blob/master/purchasing.md✤ 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 - http://www.saikoa.com/dexguard✤ Evading Pirates and Stopping Vampires from I/O 2011; http://www.youtube.com/watch?v=TnSNCXR9fbY
  25. Game Data✤ https://github.com/ouya/docs/blob/master/storage.md✤ 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 - http://unity3d.com✤ OUYA Unity - https://github.com/ouya/docs/blob/master/unity.md✤ Support hangouts on Google+ Tim Graupmann; https://plus.google.com/105292999221508665634
  27. Questions?If you’re an experienced Android coder and want to work for OUYA; Email jobs@ouya.tv

×