Mobile Computing (with a little casual thrown in)

jiggerbarnacleΚινητά – Ασύρματες Τεχνολογίες

24 Νοε 2013 (πριν από 3 χρόνια και 6 μήνες)

54 εμφανίσεις

CGDD 4003

MOBILE COMPUTING

(WITH A LITTLE CASUAL THROWN IN)

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…


What IS the most popular mobile game of all time?

100 million downloads…

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


n
o 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 different

versions of Android


Not all phones have latest

SDK


2.2 is fairly safe

EXAMPLE: ANDROID PROJECT





EXAMPLE: WIN 7


It’s exactly the same skeleton as XNA!


Multiple touch events


TouchPanelCapabilities

tc

=
TouchPanel.GetCapabilities
();


if
(
tc.IsConnected
) {


return

tc.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 =
new

GyroscopeReading
();


Vector3
gyroReading

=
gr.RotationRate
;

}


For Accelerometer,
see the documentation


YOUR TASK





Design the worst mobile game EVER