Your SlideShare is downloading. ×
Droidcon London 2012 - Console Games
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Droidcon London 2012 - Console Games


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Writing games for an Android videogames consoleAl Sutton, Funky Android
  • 2. Writing games for an Android videogames consoleAl Sutton, Ouya
  • 3. Going big-screenGoogle TVNexus Q, currently shelvedOUYA and non-Google approved devices
  • 4. Think big
  • 5. Space.. use itTVs’ tend to be big.. really big compared tophones.Only having small graphics will make your applook sparse
  • 6. Big Assets problemBig screens can display complex assetsDon’t be afraid to pull from your own serverHosting services like Amazon S3Go the whole hog with a CDN
  • 7. Zone your displayMore space for the gameKeep long-term stats to the edgesShort term popups where the action is
  • 9. Directional DiscreteDoesn’t overlap the screen, so more screen spacefor gameplay.More precise requirements = More difficultyDifficult to do “Click Here” games
  • 10. Directional PadsAround since pre-public AndroidMore scarce now thatwe have highresolution screensSupport still in theAndroid SDK
  • 11. Joysticks More precise Gamers more familiar with them Supported in the Android SDK
  • 12. Tracking Motion, SOURCE_DPAD,SOURCE_GAMEPADFor a joystick use getMotionRange to see how farit’ll go.
  • 13. Identifying devices allows you to see what type of controller the useris using.The method returns an android.view.InputDevicewhich tells gives you the type of controller and therange of possible motion.
  • 14. General RulesThink about the most used position of thecontroller for your gameAvoid reach positions; RSI isn’t fun.Calibrate your input. Two users are using joysticksdoesn’t mean that each joystick has the sameinput range.
  • 15. GoING beyond single user
  • 16. Personal but Multi-UserOne current primary user- The person purchasing stuff- Usually the most-common userMultiple playing users- Co-op and head-to-head- Split screen play
  • 17. Identifying usersMap a user to a controllerEach InputEvent has a device ID (getDeviceId)Ask each use to perform an action and record thedevice ID an action was performed on.Don’t trust users, check there’s only one user perdevice ID.
  • 18. Identifying users says “zeroindicates that the event didnt come from aphysical device... other numbers are arbitrary andyou shouldnt depend on the values.”The values are good while the controller ispowered on and registered on the device.
  • 19. No longer mobile... Ramp up the power
  • 20. BandwidthCheaper... but not freeFar more stable.... but not guaranteedBig downloads to save cellular radio switching notan issue.
  • 21. ComputationPush the CPU.Battery usage isn’t a concern; There is no battery.If you want to be green drop back the processingif the user doesn’t interact for a while
  • 22. BackgroundServicesBackground servicesslow down any deviceMore power does notmean you can use it allthe timeIf you’re not on screenthen don’t consumeresources.
  • 23. Be Social, But be nice
  • 24. Sharing progressThink about yourwordingIf you’re translating getit checked by a nativelanguage speakerEmbarrassing peoplewont make your gameappealing.
  • 25. Social NetworksGet users to advertise your gameEncourages users to achieve moreCreate a buzz you don’t have to pay for
  • 26. Social NetworksFacebook- OpenGraph- 11:30 - new Facebook SDKTwitter- Rate limited (15 in 15)- Don’t tweet “They pressed up!!!”Google+- API ... well... MIA
  • 28. Syncing User DataUsers can move between devices.How do you handle players “dropping out”?Sync the state if users switch to playing on themove.Degrade the experience for the device. Quad coreto Single core is quite a shift.
  • 29. Web InterfaceUsing your servers for game data gives you a webinterfaceSneaky playing at work... that secret habitKeeps the user engaged, even if it’s loosely.
  • 31. ProblemsUsers like free.Would you buy before you try?Problems transferring data between free-and-proversions.
  • 32. In-App purchasesFree for the user to tryGive a good sample of your app before requiringpaymentSome games use boosters to accelerate gameplayOne APK, no data transfer worries.
  • 33. RECAP
  • 34. Think Big; Don’t use phone-sized assetsAllow for directional controllersThink beyond a single user deviceYou have more power, use itBe social, let users do your advertisingTake away gamingIn-App Purchases
  • 35. Questions?