230 likes | 335 Views
Mobile Computing (with a little casual thrown in). CGDD 4003. Growth. Phone is always with you Predicted to exceed $16B by 2016 Reaches a (much) wider demographic 50% of those under 40 play mobile games 20% of those over 40 In-app purchases are exploding
E N D
Growth • Phone is always with you • Predicted to exceed $16B by 2016 • Reaches a (much) wider demographic • 50% of those under 40 play mobile games • 20% of those over 40 • In-app purchases are exploding • Currently 1/3 of mobile revenue (1/2 by 2016)
The Market • Apple’s App Store: 300,000+ apps • Has passed on $1B to developers • Android Marketplace: 100,000+ apps • Nokia’s Oki: 28,000+ apps • Typically keep 70% of revenue • Must we offer games for free? • How do we get discovered? http://www.mobileapptesting.com/power-up-massive-growth-in-mobile-gaming-ahead/2010/12/
The Market* • 57% of AT&T Wireless customers play games • Why they play: • 52% - distraction from daily life • 40% - relaxation and stress relief • 12% - improve mood • Time: • 91% of mobile sessions are < 30 minutes • 62% are less than 15 minutes • Women play for longer periods of time • Most popular games • Puzzle (66%), Card/Casino (51%), Board games (15%), Action/Adventure(11%) * http://wirelessandmobilenews.com/2009/05/57-of-atters-play-mobile-games-tetris-most-popular.html?wpmp_switcher=mobile
Speaking of Which… • What IS the most popular mobile game of all time?
Speaking of Which… 100 million downloads… • What IS the most popular mobile game of all time?
Farmville of the Future? • EA is investing in mobile and casual • “Anyone who fails to recognize that shift will be left behind” – John Riccitiello (CEO) http://www.mobileapptesting.com/power-up-massive-growth-in-mobile-gaming-ahead/2010/12/
Habits • Average “user” has 27 apps on their phone • Up from 22 in 2009 • Games are most popular • May listen or watch other media • Casual gamers want: • Quick • Simple • Non-committal • No deep thought
Basic Mobile Game Design • Small in scope (no MMORPG) • Easy to learn (simple mechanics) • Simple UI (prone to errors) • Mobile context: • Interruptible – user is a multi-tasker • Can be played anywhere, any time • Rely on mobile technology (especially input) • Non-explicit content • Trend – evolving from 2D to 3D • Respect user privacy! Good site: http://www.developer.nokia.com/Resources/Library/Design_and_UX/index.html
Basic Mobile Game Design • User should be able to start a new session (frequently) and reach goals quickly • Design considerations for visuals • Basic problem: small screen, yet need to convey information • Characters 10-15% of screen • 6 pieces of HUD or less! • Touching the screen “blocks” it! • Justify each visual element • Keep the backlight on if possible • General no-nos • Chatting • Complex input (multi-touch) • It’s ok to be slow, but don’t give slow feedback
Basic Phone Capabilities • Usually need to query for these (vary wildly) • Input: • no physical mouse/keyboard • no joystick? • Buttons? • GPS • Accelerometers/Gyroscopes • Restricted memory • Network • server or peer-to-peer? • Bluetooth? • Limited CPU – GPU? • AI?
Getting Started: Android • http://www.youtube.com/watch?v=z_vC0RLryuo • An IDE: typically Eclipse • Java • The Android SDK • The Android NDK? • An Android phone? • Normally no… • If doing OpenGL ES, yes!
Getting Started: Win 7 • Visual Studio (2010) • Must have SP1 installed • Win 7 SDK – it’s large • http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27570 • Comes with an emulator
Getting Started: iOS • You need a Mac! Or do you? • Xcode • Learn Objective-C and C++ • Good primer on Apple’s site • Uses different kind of “messaging” • Website • http://developer.apple.com/devcenter/ios/index.action • You’ll want to register… and probably buy an account
Basic Structure of Phone Apps • Use the concept of call back functions • Event-driven: • Initialization • Destruction • Drawing • Input events • GPS • Touch • Normal widgets (mouse, textfields, etc…)
Example: Android Project • We have several differentversions of Android • Not all phones have latestSDK • 2.2 is fairly safe
Example: Win 7 • It’s exactly the same skeleton as XNA! • Multiple touch events TouchPanelCapabilitiestc = TouchPanel.GetCapabilities(); if(tc.IsConnected) { returntc.MaximumTouchCount; } TouchCollection fingers = TouchPanel.GetState(); foreach (TouchLocation finger in fingers) { if ((finger.State == TouchLocationState.Pressed) || (finger.State == TouchLocationState.Moved)) { // Do what we gonna do! } }
Example: Win 7 • Gyroscope if (Gyroscope.IsSupported) { //get current rotation rate, display happens in Draw()GyroscopeReading gr = newGyroscopeReading(); Vector3 gyroReading = gr.RotationRate; } • For Accelerometer, see the documentation
Your Task Design the worst mobile game EVER