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

140
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
140
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Writing games for an Android videogames consoleAl Sutton, Funky Android Ltd.www.funkyandroid.com
  • 2. Writing games for an Android videogames consoleAl Sutton, Ouya Inc.ouya.tv
  • 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
  • 8. Return of the DIRECTIONAL DISCRETE CONTROLLER
  • 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 Motionhttp://developer.android.com/reference/android/view/MoSOURCE_JOYSTICK, SOURCE_DPAD,SOURCE_GAMEPADFor a joystick use getMotionRange to see how farit’ll go.
  • 13. Identifying deviceshttps://developer.android.com/reference/android/view/In 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 usershttps://developer.android.com/reference/android/view/InputEvent.html#getDeviceId() 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
  • 27. TAKE-AWAY GAMING
  • 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.
  • 30. MAKING MONEY
  • 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?