Institutionen för datavetenskapliu.diva-portal.org/smash/get/diva2:826619/FULLTEXT01.pdf · Google...

16
Institutionen för datavetenskap Department of Computer and Information Science Examensarbete Google Maps som spelmotor för mobila plattformar av Ante Wall LIU-IDA/LITH-EX-G—15/047--SE 2015-06-25 Linköpings universitet SE-581 83 Linköping, Sweden Linköpings universitet 581 83 Linköping

Transcript of Institutionen för datavetenskapliu.diva-portal.org/smash/get/diva2:826619/FULLTEXT01.pdf · Google...

Page 1: Institutionen för datavetenskapliu.diva-portal.org/smash/get/diva2:826619/FULLTEXT01.pdf · Google Maps ar en kart och satellitfototj¨ anst fr¨ an Google som˚ anv¨ands i m ˚anga

Institutionen för datavetenskap Department of Computer and Information Science

Examensarbete

Google Maps som spelmotor för mobila

plattformar

av

Ante Wall

LIU-IDA/LITH-EX-G—15/047--SE

2015-06-25

Linköpings universitet

SE-581 83 Linköping, Sweden

Linköpings universitet

581 83 Linköping

Page 2: Institutionen för datavetenskapliu.diva-portal.org/smash/get/diva2:826619/FULLTEXT01.pdf · Google Maps ar en kart och satellitfototj¨ anst fr¨ an Google som˚ anv¨ands i m ˚anga

Linköpings universitet

Institutionen för datavetenskap

Examensarbete

Google Maps som spelmotor för mobila

plattformar

av

Ante Wall

LIU-IDA/LITH-EX-G—15/047--SE

2015-06-25

Handledare: Erik Berglund, Anders Fröberg

Examinator: Johan Åberg

Page 3: Institutionen för datavetenskapliu.diva-portal.org/smash/get/diva2:826619/FULLTEXT01.pdf · Google Maps ar en kart och satellitfototj¨ anst fr¨ an Google som˚ anv¨ands i m ˚anga

Google Maps som spelmotor for mobila plattformar

Ante [email protected]

SAMMANFATTNINGSpel kan utvecklas pa flera olika satt med flera olika utma-ningar. I detta arbete undersokts det hur lampligt det ar attutveckla och implementera ett spel tillsammans med Goog-le Maps. Undersokningen testar hur det gar att implemen-tera vanliga element som forekommer i spel tillsammansmed Google Maps. Dessutom undersoks hur mycket da-taanvandning som Google Maps anvander for olika typer avkartor som den erbjuder. Detta har genomforts genom att im-plementera ett spel baserat pa Google Maps som grundmo-ment i spelet och undersoker dar ifran resultatet av imple-mentationen.

Aven forflyttning over kartan undersokts och hur mer tradi-tionella spelanspassade kontroller som joysticks anpassar sigtill Google Maps jamfort med dess normala interaktion un-dersoks. Undersokningen resulterar i att Google Maps erbju-der goda mojligheter att tillampa vanliga spelelement. Dess-utom visar undersokningen av datanvandingen att den norma-la kartypen ar mest effektivast medans terrangkartan anvandersig av mest natversdata. Google Maps vanliga touchinterak-tion visas lampas sig mest for precisionforflyttningar och geranvandare lattare att forsta interaktionen men andra typer avkartforflyttningar kan ocksa tillampas.

INLEDNINGDen storsta tiden man spenderar pa smartphones ar med attspela mobilspel. Hela 32 % [10] av den totala tiden somanvandare sitter vid telefonen spelar dem nagot slags spel.Detta har gjort mobilspelsindustrin till en stor marknad de se-naste aren.

Nya spel anvander sig ofta av en redan fardig spelmotor foratt gora det enkelt att implementera spel. Men ibland kan detvara intressant att skriva en egen spelmotor ifall den behoverfunktioner som inte andra spelmotorer klarar av eller om manbehover fa tillgang till data fran andra tjanster.

Problemet med spel som anvander sig av data som maste lad-das ner till telefonen under korning ar att det kan paverka pre-standan for mobilen samt att data inte kan hamtas och lasas itid vilket leder till att anvandarens upplevelse paverkas.

De flesta spel anvander sig ofta av samma kontroller avenover flera plattformar, kontroller som D-pad och joysticks harvarit populara de senaste femton aren och aven forts over imanga spel aven pa de mobila plattformarna. Detta visar dockinte pa att det ar de basta losningarna pa spelkontroller formobila plattformar utan kan finnas metoder som ar battre.

Denna rapport kommer att undersoka om det ar mojlig attdesigna och utveckla ett spel for Android med Google Maps

som en spelmotor for ett dar utmaningar i spelet ar baserat paanvandarens geografiska position dar forflyttning och kontrollav spelaren ar viktigt.

Google Maps ar en kart och satellitfototjanst fran Google somanvands i manga kartapplikationer och ar aven standardkartai Android enheter.

SyfteMalet med examensarbetet ar att undersoka hur det fungeraratt designa och implementera ett action/pusselspel for Andro-id enheter med Google Maps som spelmotor.

Resultatet i arbetet ska kunna ge kunskap till vidareutvecklingav spelet som utvecklats i arbetet men aven ge informationangaende implementation av spel tillsammans med GoogleMaps for framtida arbeten.

Spelet ska vara korbart pa flera Android enheter dar prestan-da ar viktigt for att skapa en bra upplevelse for anvandarenunder spelets gang oavsett vilken typ av enhet man kor spelarpa eller vilken typ av internetanslutning anvandaren har. Menaven spelaren interaktion ar viktig gentemot kartan, kan mandesigna egna rorelsemetoder tillsammans med Google Mapseller ska man anvanda sig av Google Maps fardiga touchme-toder.

Spelet ska aven uppmuntra social delning mellan vanner viaturbaserade utmaningar mellan varandra.

Det har examensarbetet kommer anvanda sig av Google MapsAPI 1 for att hamta data till spelet.

FragestallningVad for fordelar eller nackdelar finns det med att designa ettaction/pussel spel med hjalp av Google Maps som spelmotormed avseende pa:

• Design och implementation av spelkomponenter i eller till-sammans med Google Maps

Dar huvudfokus ligger i att testa och utvardera en implemen-tation av en virtuell joystick kontra Google Maps inbyggdatouchinteratktion.

• Mata och utvardera dataanvanding av Google Maps for detimplementerade spelet

AvgransningarDetta examensarbete ska inte visa det optimala sattet somman kan implementera Google Maps som en spelmotor eller1Google Maps API http://developers.google.com/maps/2015-02-24

1

Page 4: Institutionen för datavetenskapliu.diva-portal.org/smash/get/diva2:826619/FULLTEXT01.pdf · Google Maps ar en kart och satellitfototj¨ anst fr¨ an Google som˚ anv¨ands i m ˚anga

komponenter tillsammans med det utan mer som ett exempelpa hur det kan implementeras. Inte heller ska det ses som detmest optimala sattet att fa ut data fran Google Maps utan tarupp viktiga aspekter att tanka pa samt satt som det gar att losaproblemen pa.

Enheterna kommer aven att begransas till Android enheter darapporten har valt att endast implementera applikationen tillAndroid i nulaget

Google Maps touchinteratktionI denna rapport kommer orden Google Maps touchinteraktionatt anvandas mycket. Detta syftar pa de rorelsefunktioner somfinns inbyggda och aktiverade fran borjan i Google Maps forAndroid. Det vill saga de vanliga interakionerna for zoom,forflyttning med hjalp av pinch och fingerrorelse.

TEORI

SpeletSpelet som ska utvecklats ar ett aventyrs/actionspel. Speletgar ut pa att man valjer en bana som man vill kora, sedankommer banan att laddats. Man kommer da fa en positionman ska ta sig till, tex Linkoping eller London. Nar man artillrackligt nara inom en specifikt satt radie raknas punktensom traffad och man far en ny plats att ta sig till sa snabbtsom mojligt. Spelet ar slut nar man har tagit alla punkternapa ett bana. Utover detta ska man kunna utmana vanner ochbekanta pa att fa basta tiden pa banor i spelet.

Application Programming InterfaceEtt Application Programming Interface aven kallat API ar ettgranssnitt som kan anvandas for att kommunicera med annanprogramvara. Det ar ett granssnitt mellan tva olika system, of-tast via webbtjanster. API anvands for att fa tillgang till datafran andra tjanster pa ett smidigt satt genom anrop till olikafunktioner som returnerar data som sedan kan anvandas foratt visa anvandaren eller for att kalla pa andra funktioner be-roende pa datatypen. [11]

Google Maps APIGoogle Maps har ett antal olika API:er att valja mellan [12]for att latt kunna erbjuda olika tjanster. Nagra exempel ar APIfor att ta reda pa snabbaste turer mellan olika positioner, enannan hur man kan andra utseende pa markorer och andraobjekt som finns i Google Maps.

I Google Maps kan man tillexempel stalla ut en forbestamdvag, detta kan implementeras i spel som spelkomponen-ter da ifall man foljer vagen far man bonusar men detkanske inte alltid ar den snabbaste vagen, detta ger spelarenvalmojligheter och replay value vilket ar nagonting som arviktig inom speldesign [4].

Google Maps Style API ger en friheten att andra stilar ochutseende pa markorer och andra komponenter i Google Maps.Det kan anvandas for att skapa egna komponenter i spelet somsaker som ger spelaren bonusar eller annat som kan paverkaspelaren och spelet i sig.

Den har rapporten kommer att anvanda sig mestadels avGoogle Maps Android API v2 2 Det ar API:et som ar byggdatt anvandas med Android for att latt implementera GoogleMaps komponenter i egna applikationer pa Android enheter.Den ger full tillgang till Android grafiska bibliotek och avenandra tjanster sasom GPS och GSM for att kunna komma atenhetens nuvarande position [7].

Det ar dock viktigt att notera att aven om Google Maps ar gra-tis att anvanda sa har de en maxgrans pa 100 000 request pertjugofyra timmar. 3. Vill man utoka gransen kravs speciellttillgang fran Google som i sa fall kostar pengar.

Design av spel och mobilspelDet finns flera olika saker man bor tanka pa nar man designaroch utvecklar ett mobilspel eller spel i allmanhet. Att kun-na definiera vad spelet ska kategoriseras som kan vara vik-tigt da personer som gillar vissa typer av spel som action,aventyrsspel eller pusselspel gillar olika saker i sina spel. Det-ta kommer aven hjalpa att utveckla mot sin malgrupp menaven for att kunna forbattra designen och spelkanslan for spe-larna [6].

Studier visar att det ar viktigt att spelaren kanner att man harkontroll over spelet samt att gora viktiga funktioner i speletlatta att anvanda okar chansen att spelaren fortsatter att spelaspelet [2]. Detta riktar sig mycket mot kontrollen av spelareni spelet.

Det finns aven flera olika saker som gor mobila spel popularaoch okar chansen att anvandare spelar dem. Bland det vanli-gaste ar att mobilspel ar ofta sociala och okar ofta forsaljningoch antalet anvandare som spelar spelet ifall den har soci-ala aspekter i sig [1, 4]. Man kan se att manga av de spelsom ligger hogst upp pa nerladdningslistorna har nagon soci-al funktion som att man kan utmana sina vanner eller be domom hjalp. Aven topplistor ar en viktig komponent i mangaav dessa spel [4] da det ger en mer utmaning at spelarna ochreplay value.

Design av spelmotorDet ar viktigt att definiera och planera hur man bor desig-na sin spelmotor, detta kan leda till stora forbattringar pa deomraden man fokuserar pa som till exempel att reducera min-nesanvandning eller batterianvandning [8].

Viktiga aspekter att kolla pa ar hur utvecklaren ska anvandasig av motorn samt hur man latt paketerar ner och skickardata inom sin motor. Prestanda, minnesanvandning och batte-rianvandning ar ocksa viktiga aspekter inom mobilspel samthur spelet och spelmotorn kan anpassa sig till olika enhetermed olika storlekar da Android har stod manga olika enheter.

Mobil natverkstraffikDen mobila natverkstrafiken har blivit en stor del av varldensnatverkstraffik, bara 2014 okade den mobila natverkstrafikenmed 69% fran tidigare ar. Dessutom finns nastan en halv2Google Maps Android API v2 http://developers.google.com/maps/documentation/android/ 2015-02-103Google API Quota, 2015-05-12 https://developers.google.com/maps/documentation/business/webservices/quota

2

Page 5: Institutionen för datavetenskapliu.diva-portal.org/smash/get/diva2:826619/FULLTEXT01.pdf · Google Maps ar en kart och satellitfototj¨ anst fr¨ an Google som˚ anv¨ands i m ˚anga

miljard mobila enheter som har tillgang till internet. Darforkan mobila natverk ses som en nodvandighet for de flestaanvandare.

Mobil natverksdata ar nagot som har vaxt och kommerfortsatta vaxa, redan 2019 raknas en normal smartphone attanvanda sig av upp till fyra gigabyte av data i manaden, detar en okning pa 500%. Nya tjanster som 4G visar aven pa entrend av okande natverkstraffik jamfort med likande tjanster.

Darfor ar det viktigt att forsoka att undvika att oka mangdendata i onodan da manga datacenter och annan utrustningmaste uppgraderas for att kunna klara den typen av da-tamangd och antalet mobila enheter som ar uppkopplade tilldem. De kommande aren kommer darmed att vara kritiska forden mobila marknaden[3].

Navigering och RorelseTidigare forskning har gjorts pa rorelse for kartor dar mananvant en joystick som kan rora sig i fyra led. Upp,ner hogeroch vanster och visar att en fordel med joysticks nar det kom-mer till kraft, smidighet och noggrannhet nar man forsoker attnavigera till punkter pa en digital karta. [9]

Andra kallor visar att nar man utvecklar mobila applikatio-ner vill spelare ofta ha nya unika spel men samtidigt va-ra valkanda i formen, detta galler aven for navigering ochrorelse i vanliga anvanda applikationer som Google Maps.Ifall man andrar for mycket i vad anvandare ar vana attanvanda sig av kan det vara negativt for spelet.

Dessutom visar en trend pa att den traditionella D-padden arpa vag att forsvinna da man hellre vill anvanda de interaktivakontrollerna pa mobila enheter som accelerometern, gyrosko-pet eller vanliga touchfuntioner som finns pa dagens smartp-hones.[1]

Man har aven observerat att nar man utforskar okandaomraden man tidigare inte ar bekant med forsoker man of-ta hitta landmarken eller vagar for att kunna orientera sigkring.[9] Det ar da viktigt att forsoka leda spelarna ratt i speletmed hjalp av spelupplagget.

METOD

AndroidAndroid4 ar ett operativsystem utvecklat av Google somframst ar inriktad pa mobila enheter sasom smartphones ochtablets. Android kan till skillnad fran till exempel iOS utveck-las pa flera olika operativsystem sasom Windows, Mac OSoch Linux vilket ger den lite fordelar jamtemot iOS [5].

Android applikationer utvecklas oftast i Java med AndroidsSDK5 som latt ger dig tillgang till alla funktioner i Andro-id operativsystem som till exempel GPS, internet och deninbyggda kameran. Andra alternativet ar att anvanda NativeAndroid som kodas i C/C++. Google Maps SDK fungerardock inte lika smidigt med Native Android. Det ar dessutomlatt att implementera fa tillgang till Google Maps och dess4Android http://www.android.com 2015-02-095Android SDK http://developers.android.com/sdk/ 2015-02-09

versioner i Android som man kan se i kodexempel 1. Darforkommer denna rapport anvanda sig av Android SDK.

OnMapReadyCallback {@Override

protected void onCreate(BundlesavedInstanceState) {

super.onCreate(savedInstanceState);setContentView(R.layout.map_activity);MapFragment mapFragment = (MapFragment)

getFragmentManager().findFragmentById(R.id.map);

mapFragment.getMapAsync(this);}@Overridepublic void onMapReady(GoogleMap map) {}

}

UtvecklingsplattformDet finns en mangd olika utvecklingsplattformar att anvandasig av. Eclipse, Netbeans, Intellij ar nagra av de storsta.

Google erbjuder en utvecklingsplattform som heter AndroidStudio som ar byggd pa Intellij. Android Studio ar designadav Google och for att latt och smidigt kunna utveckla emotAndroid med hjalp av Android SDK. Android Studio komdarmed att anvandas som utvecklingsplattform i denna rap-port.

ImplementationArbetet utfordes Agilt, dock med inslag utifran kundensonskemal. En gang i veckan planerades ett mote med kunddar vi gick igenom den nuvarande builden av applikationensamt diskuterade framtida forandringar och tillagg till appli-kationen. Tillsammans med kund tog vi fram ett antal kompo-nenter som ska implementeras in i spelet och Google Maps.Dessa punkter forandrades under arbetets gang. Funktioneroch komponenterna valdes ut av kund i forsta hand som skul-le implementeras baserat pa deras tankar runt spelet. Forslagoch forandringar diskuterades gentemellan parterna for att faett bra resultat. Nedanfor visas en lista pa de saker som valdessom prioriterade och implementerades i spelet.

Spelkomponenterna som skulle implementeras som togs framtillsammans med kund var foljande:

• Banor placerade pa olika platser och hojdnivaer

• Testning av joystickforflyttning eller Google Mapstouchinteraktion

• Achievements

• Turbaserade utmaningar mellan spelare

• Leaderboards med basta tiderna

Utifran dessa punkter undersoktes det hur komponenternaskulle kunna tankas implementeras pa basta satt i ett spel samtvad Google Maps har for alternativ for att latt och smidigtkunna implementera det. Forst undersoktes det ifall det fannskomponenter inbyggt i Google Maps som gar att anvanda foratt implementera uppgiften. Antingen en komponent som gar

3

Page 6: Institutionen för datavetenskapliu.diva-portal.org/smash/get/diva2:826619/FULLTEXT01.pdf · Google Maps ar en kart och satellitfototj¨ anst fr¨ an Google som˚ anv¨ands i m ˚anga

Figur 1. Bild pa den virtuella joysticken under korning i applikationen.

att direkt anvanda eller modifiera. Sedan kollades det upphur det skulle ga att implementera sjalv in i Google Maps.Ifall ingen bra losning hittades undersoktes det ifall det fannsAndroid komponenter som gick att implementeras tillsam-mans med Google Maps.

EnheterDe Androidenheterna som anvands for testning ar:

• LG Google Nexus 5

• Samsung Galaxy Tab 3 10.1

KartforflyttningGoogle Maps inbyggda system for rorelse anvander zoom,pitch och fingerprecision for att rora kartan. I en mer traditio-nell spelmiljo brukar en Gamepad eller joystick anvandas foratt forflytta spelaren omkring i spelvarlden.

Genom att skapa en virtuell joystick i Android kan viutvardera och analysera hur det fungerar gentemot GoogleMaps interation.

Joysticken byggdes med hjalp av ett fardig JoystickView skri-ven av Aj Alves6. Rorelsen over kartan forflyttas i pixlar ex-ponentiellt gentemot hur mycket man drar i joysticken, fran0 pixlar upp till 400 pixlar. Joysticken kommer fram dar mansatter ner fingret pa kartan och forflyttar sig i den riktning-en som man drar fingret at efter den ursprungliga positionen.Detta gjordes for att fungera pa personer med olika storlekarav hander samt pa bade hoger och vansterhanta. Se figur 1 foren visuell presentation.

Zoomfunktion lades till for joysticken genom att klicka engang pa kartan sa zoomar den in, ar den inzoomad kan manklicka igen for att zooma ut.

Tva rorelsealternativ kom att utvarderas genom att lata entestgrupp pa tio personer testa spelet. Fem personer fick testaatt anvanda sig av Google Maps vanliga rorelse och touchin-teraktioner. De resterande fem personerna fick anvanda sigav den virtuella joysticken som byggdes i arbetet. De fick6JoystickView, 2015-05-08 https://github.com/zerokol/JoystickView

inga instruktioner om hur spelet fungerade eller vilket malspelet hade. Inte heller fick de nagon information angaendehur rorelsen i spelet fungerade. Efter de hade fatt kora spe-let i ca fem till tio minuter fick de efterat svara svara pa 5fragor angaende vad de ansag sig tycka om rorelsen i spe-let. Fragorna togs fram av forfattaren av arbetet dar fragornavar indirekt avsedda att fa kommentarer pa vad folk tyck-te var svart i spelet och sedan mer direkta fragor angaendeforflyttning over kartan. Detta kom sedan att evalueras foratt fa fram vilket satt som passar bast till spelet. Detta un-dersoktes da det ar viktigt att spelaren ska kanna att den harkontroll over spelet vilket ar viktigt i design av spel [2].

TestgruppTestgruppen togs ut slumpmassigt av personer som var in-tresserade och tillgangliga att testa applikationen. Testgrup-pen bestod av bade man och kvinnor i aldern 20-49 dar ma-joriteten var studenter inom nagot typ av datavetenskap, menaven nagra frivilliga fran andra grupper. Sammanlagt testa-de tio personer rorelsen i applikationen. Se tabell 1 for merdetaljerad information.

Alder Kon Sysselsattning27 Man Studerande22 Man Studernade22 Man Studerande24 Man Studerande21 Man Studerande20 Man Studerande25 Man Snickare24 Kvinna Studerande25 Kvinna Grafisk Designer49 Kvinna Ekonomiassistent

Table 1. Testgrupp for rorelseinteration

Spelets rutterBanorna i spelets fick komma att kalla sig Routes under im-plementation. Dessa ar ett antal olika koordinater specificeradmed langitude och longitude samt en radie pa hur nara en spe-lare kan vara punkten for att den ska godkannas som traffad.

For att latt kunna testa olika typer av Routes for att undersokaspelvardet samt datahamtning skrevs en latt editor i Rubyon Rails tillsammans med Angular som kopplats ihop medGoogle Maps Javascript API v37. Med editorn kan man lattsatta ut startposition, olika mal och decoys samt stalla in desstraffradie och spara rutten for testning.

DatanvandningFor att kunna mata datan som anvands av Google maps sakopplades Android enheterna ihop med Android Device Ma-nager, ett program som inkluderas tillsammans med AndroidStudio dar man kan mata olika typer av data ifran den in-kopplade enheten, antingen via hela enheten eller specifikaapplikationer. Android Device Manager har en funktion som

7Google Maps Javascript API v3, 2015-05-13 https://developers.google.com/maps/documentation/javascript/

4

Page 7: Institutionen för datavetenskapliu.diva-portal.org/smash/get/diva2:826619/FULLTEXT01.pdf · Google Maps ar en kart och satellitfototj¨ anst fr¨ an Google som˚ anv¨ands i m ˚anga

Figur 2. Editorn med en rutt utsatt inklusive start punkt, mal och decoys

later en mata antalet bytes som skickas och tas emot av pro-grammet som kors pa enheten samt antalet paket som skickasover natverket for den givna applikationen.

Ett test sattes upp pa tva olika Routes som hade olika langderoch olika inzoomningsnivaer pa kartan. Test nummer ett varuppsatt over en liten stad med sex stycken stopplatser. Andratestet var installt pa att hitta fem stycken huvudstader. Datamattes sedan pa de olika banorna under korning. Dessutommattes olika kartyper, Google Maps tillater fem olika typerav kartyper 8.

• Normal - Grundlaggande kartan

• Hybrid - Satellit kartor med en genomskinligt lager mednamn av stora gator eller stader.

• None - Inga kartrutor

• Satellit - Satellit kartor utan markningar

• Terrang - Terrang kartor.

For varje test gjordes aven fyra tester per karttyp. Forsta testetgjordes med att rensa cachen i Android applikationen och se-dan kora Routen. Andra testet kordes direkt efter forsta utanatt rensa cachen. Tredje testet rensades aven cachen pa appli-kationen, dock sa zoomande man in sa mycket det gick narman kom fram till en stopplats och sedan zoomade ut efteratfor att kunna mata datan ifall datan okade nar man vaxlademellan olika inzoomningslagen. Fjarde testet utfordes precisefter tredje testet och gjordes pa samma satt som test nummertre dock utan att rensa cachen mellan korningen. Datan sam-manstalldes sedan for att se vilken karttyp som sammanlagtanvande mest natverksdata under alla fyra testen.

Dessa tester utfordes endast pa Samsung Galaxy Tab 3 10.1

RESULTAT

Implementation av spelkomponenterNedan kommer resultat pa hur de olika komponenterna somtogs fram av kund implementerades i spelet.

8Google Maps kartyper, 2015-05-06https://developers.google.com/maps/documentation/android/map#map_types

RoutesRoutes valdes banorna i spelet att kallas under implemen-tationen och implementerades med hjalp av Google Mapsmarkorer. Markorerna kan sattas ner pa en plats baserat palongitude och latitude. Darefter beraknas avstandet mellanspelarens position och markorer. Ifall spelaren ar tillrackligtnara en radie representeras av en cirkel som ar en klass iGoogle Maps API. Med hjalp av denna radie raknas spelarensom att han har traffat positionen ifall han ar inom cirkeln.

Google Maps har mycket funktioner for att representera vi-suell data pa sina kartor som fungerar aven vid andring avzoomdjup.

Turbaserade utmaningar och AchievementsGoogle Maps ar inte byggt for spel och har darmed inte eg-na losningar for system som utmaningar och Achivements.Google erbjuder dock andra tjanster till Android som erbju-der dessa typer av tjanster och ar skapat for att kunna koras ibakgrunden av alla typer av Android applikationer.

Turbaserade utmaningar och Achivements blev darmed im-plementerat med hjalp av Google Game Service9 som ligger ibakgrunden av applikationen. Detta valdes for att slippa byg-ga en bakomliggande service men aven for att det ar byggtfor att implementeras i Android spel och har stod for badeturbaserade utmaningar och Achievements.

Ett flertal problem uppstod dock under implementationen avGoogle Game Service da viss felhantering var problematisktatt undersoka. Dessutom maste all data skickas som en bytearray vilket gjorde att man var tvungen att skapa speciellaklasser som man tillat att serialisera.

LeaderboardsGoogle Game Service har stods for Leaderboards och disku-terades att anvandas men valdes bort da maxantalet leader-boards man far skapa ar 70 stycken. Spelet som utveckladestill detta arbetet ska ha stod for fler an 70 Routes vilket gjordeatt andra metoder undersoktes.

Leaderboards implementerades tillslut med hjalp av SQLite3vilket har inbyggt stod i Android SDK. Leaderboards imple-menterades bara lokalt da det inte fanns tid att skapa en bac-kendtjanst for att spara datan inom arbetets tidsram.

Google Game Services visade sig vara mycket bra lampad fordessa andamal och fungerade bra tillsammans med GoogleMaps.

RorelseinteraktionJoystickJoysticken gick igenom flera stadier av utveckling under ar-betet innan den testades pa folk. Forst forflyttade den meden fast satt hastighet over kartan och saktades ner nar mankom nara sitt mal. Detta valdes sedan att tas bort och ersattesistallet med att exponentiellt oka hastigheten pa joysticken juhogre som anvandaren drar i joysticken for att kunna ge merprecision over kontrollerna. Sista som lades till var att flytta

9Google Game Serivce, 2015-08-12, https://developers.google.com/games/services/

5

Page 8: Institutionen för datavetenskapliu.diva-portal.org/smash/get/diva2:826619/FULLTEXT01.pdf · Google Maps ar en kart och satellitfototj¨ anst fr¨ an Google som˚ anv¨ands i m ˚anga

fran en statisk position av joystickens placering till att utgaifran punkten dar spelaren satter ner sitt finger.

For att testa den basta rorelseinteraktionen med spelet gjordestester med tio personer vilket gav foljande resultat.

Testare - JoystickPersonerna som blev utvalda att testa joystick implementatio-nen kande att de hade mer utmaningar an de som anvanderGoogle maps touchinteraktion. Utover att de tyckte att detvar en utmaning i spelet att hitta positionerna var det aven enutmaning att kontrollera spelaren i spelet. Manga hade dess-utom svart att forsta vad joysticken var for nagonting ellerhur den fungerade. Ett flertal ville kunna anvanda sig av pitchfunktion och vanliga rorelser och blev forvirrade och irritera-de pa joysticken. Nagra tyckte aven att det var svart i borjanav spelet att anvanda joysticken med blev lattare med tidenoch att det var att frustation och forvirring var pagrund avovanhet med den typen av kontroll for Google Maps som varproblemet.

Observationer under kornings visade aven pa att joystickengjorde det svarare att traffa sina mal da spelarna ofta akteforbi malen for de rorde sig for snabbt.

Desto langre tid spelarna spelade spelet desto mer precisa ochlattare kunde de manipulera rorelsen och ta sig runt pa kartan.Detta visar pa att folk lar sig sjalva hur de ska klara av utma-ningarna med rorelsen och att uteslutande av denna typ avrorelse inte aktuell utan fortfarande fungerar.

Testare - Google Maps touchinteraktionDe personer som testade med Google maps touchinteraktiontyckte att den enda utmaningen var att det var svart att hittaplatser som man inte hort talas om innan. Ingen klagade parorelsen utan kande att dom redan fran start hade full kontrollover inzoomning, rorelse och precision.

Datan visar darmed att anvandare som far anvanda sig avGoogle Maps inbygga rorelse har lattare att satta sig in i hurrorelsen i spelet fungerar och fokuserar darmed mer pa utma-ningen i spelet.

DataanvandingResultatet visar pa att for en Route anvander sig Google Mapsnagonstans mellan 0,5 megabyte upp till 17 megabyte bero-ende pa rutt, kartyp och mangden inzoomningar. Cacheningutfors dock automatiskt och reducerar antalet megabytes tillmellan cirka 0,05 - 4,5 megabytes. Se bilagor for mer detal-jerad data.

Karttyp - NormalDen normala kartypen gav minst dataanvanding och verkadevara mest optimerat aven nar det gallde dataanvanding.

Karttyp - NoneTrots att denna kartyp inte renderar nagon data sa skickar denungefar lika mycket data som den normala kartypen.

Karttyp - Satellit & HybridResultatet mellan dessa tva kartyper var mycket lika varand-ra. Satellit anvande sig dock av mer data under test tva

Normal Hybrid None Satellit Terrang

0

5

10

15

20

1.56

12.73

2.77

13.6

19.23

0.21 0.5 0.2 0.53 0.69

Meg

abyt

es

Route Test 1

Mottaget Skickat

Figur 3. Sammanlagda dataanvanden for alla tester per kartyp underRoute test nummer ett, se bilagor for mer detaljerad data

Normal Hybrid None Satellit Terrang

0

10

20

10.18

17.01

10.01

22.8324.2

0.28 0.56 0.3 0.72 0.48

Meg

abyt

es

Route Test 2

Mottaget Skickat

Figur 4. Sammanlagda dataanvanden for alla tester per kartyp underRoute test nummer tva, se bilagor for mer detaljerad data

6

Page 9: Institutionen för datavetenskapliu.diva-portal.org/smash/get/diva2:826619/FULLTEXT01.pdf · Google Maps ar en kart och satellitfototj¨ anst fr¨ an Google som˚ anv¨ands i m ˚anga

nar zoomningen testades mycket. Bade karttyperna gav sto-ra forbattringar nar cachening hade gjorts av Google Mapsoch reducerade dataanvandningen marginellt. Se figur 5.

Karttyp - TerrangDenna kartyp anvande sig av mest data under bada testerna.Testningen av hamtning under zoomning gav stora resultatpa test tva medans under test ett lade den sag nara Sattelitkartypen. Aven under korning verkade kartan ta langre tid attladda fardig relativt till de andra kartyper.

CacheningGoogle Maps anvandaravtal sager att man inte far cachea da-tan som kommer fran Google Maps. Dock visar resultatet avtestningen att cachning anvands automatiskt av Google Mapsoch darmed reducerade marginellt antalet bytes som skicka-des ifall man korde samma Route en gang till vid samma in-zoomningsdjup. Se figur 5

DISKUSSION

MethodImplementation gick ut pa att skapa ett spel for Android medhjalp av Google Maps. Undersoka hur man kunde implemen-tera vanliga losningar som anvands i spel och se vilka typ avverktyg som redan fanns i Google Maps for att implementeranagot liknande.

Mycket av designvalen i spelet diskuterades med kund di-rekt efter implementation och evaluerades och itererades fle-ra ganger. Dessutom kom manga av punkterna som imple-menterades upp under sjalva arbetet med spelet. Detta leddeaven till att koden blev valdigt ostrukturerat ett flertal gangeroch behovdes omstruktureras vilket tog mycket tid. Dessutomandrades mycket av prioriteringen mellan de olika kompo-nenterna under implementationen da nya ideer kom och blevaktuellt att undersokas. Tidigare forskning visar att planeringav spelmotorn ar viktigt [8] och kunde ha planerats battre in-nan och under arbetets gang.

Vad som kunde ha forbattras ar att striktare och mer noggrantanvant sig av Scrum liknande metod for implementationen.Mycket andrades i planeringen under arbetes gang vilket bi-drog. Detta for att vid olika tidpunkter kunde arbetet bli liteostrukturerat.

Arbetet gick tillslut ihop pa ett bra och smidigt satt menforbattringar i struktureringen av arbetet kunde ha gjorts.

SpelkomponenterFor att implementera de olika spelkomponenterna valdes iforsta hand losningar som fanns i Google Maps API sasommarkorer, cirklar och annat. Google Maps har mycket somgor att man kan manipulera kartan och dess utseende menkomponenter som behovs utover det har den valdigt lite av.

Komponenter som UI och annat valdes darfor att implemen-teras med hjalp av sa mycket Android inspirerat som mojligt.Eftersom Google Maps ar ett fragment i Android sa tillaterSDK att man implementerar alla andra Androidfunktionerover fragmentet om det onskas vilket gav mycket hjalp. UI

och menyer skapades darmed med hjalp av vanliga imple-mentationer som anvands i Android. I detta arbete implemen-terades menyn med hjalp av en navigation drawer som kom-mer ut fran hoger sida over kartan for att inte fa bort spelarenfran spelupplevelsen.

Google Game Service blev ett klar fordel nar det kom till im-plementation av Turbaserade utmaningar och Achievementsda den gav mycket gratis.

Dock gav de manga smaproblem da det var smaklurigt attimplementera pa ett bra satt sa den fortsatte vara med i fleraolika aktiviteter samt att det inte fanns mycket hjalp utoverdokumentationen av den. Felhanteringen var inte optimal frantjansten och manga krascher skapades vilket tog mycket tidav arbetet pa grund av detta. Delvis for att satta upp API atttillatas att anvandas i applikationen men aven nar request ochinloggning skulle goras emot tjansten.

Aven lite problem uppstod med att spara datan da man vartvungen att gora om datan till bytesarrays vilket gjorde im-plementationen lite krangligare. Detta lostes med att gora tvaklasser som inneholl datan som skulle skickas och serialiseraden nar den skulle skickas och deserialisera den nar den togsemot.

Dessutom gav vissa objekt fran Google Game Services iblandlackage vilket krashade applikationen nar man laste datan.Det fanns ingen dokumenterat att man var tvungen att stangavissa buffers som anvandes. Nar detta dock var lost fungera-de det felfritt och forenklade implementationen av dessa delaravsevart.

Google Game Service erbjuder aven Realtime multiplayersom diskuterades att anvanda under implementationen av spe-let. Detta prioriterades dock ner och lades tillslut pa hyllanpagrund av tidsbegransning.

Leaderboards skulle varit smidigt att kunna implementera till-sammans med Google Game Service da den har stod for detsamt att det skulle vara smidigt att anvanda det fullt ut. Docksa var maxantalet 70st leaderboards per applikation vilket dainte blev aktuellt for applikationen som byggdes for arbetetmen kan vara intressant att kolla upp mot andra spel som kankommas att implementera Google Maps. I detta arbetet val-des darfor att implementera en egen lokal databas i Androidapplikationen da det fanns stod for det redan i Android SDKsamt att det gick snabbt och smidigt.

Google Game Services ar ett bra verktyg i allmanhet for spel-design i Android och limiteras inte till Google Maps. Do-kumentation och felhantering kan utvecklas men detta kankomma att losa sig med tiden ifall fler anvandare borjar attanvanda sig av tjansten och information och guider blir fleroch lattare att hitta.

JoystickJoystickimplementationen grundades pa ett redan skrivit pro-gram och underlattade mycket implementationen av den.Dock var det en mycket enkel implementation av en joys-tick och gav darmed inte mycket utrymme till andring. Pro-blem uppstod nar man skulle fa joysticken att utga franutgangspunkten dar fingret satts pa skarmen. Kartan och joys-

7

Page 10: Institutionen för datavetenskapliu.diva-portal.org/smash/get/diva2:826619/FULLTEXT01.pdf · Google Maps ar en kart och satellitfototj¨ anst fr¨ an Google som˚ anv¨ands i m ˚anga

Normal Hybrid None Satellit Terrang

0

2

4

6

8

10

0.96

7.94

1.5

8.91

7.13

8 · 10−20.76

8 · 10−2

1.99

3.29

Meg

abyt

es

Route Test 1 - Cachening

Test 3 Test 4 (Cachat)

Figur 5. Resultat for test 3 och 4 for varje rutt for att visa cacheningen effekt under Route test 1

ticken ar varsin aktivitet och hade problem med att skicka vi-dare touch eventent mellan dem. Slutligen loste det sig docksa ar den inte helt centrerat utan ligger cirka 1-2 centime-ter over fingrets position. Detta kan paverkat hur anvandaretyckte om joysticken da den inte ger full den effekt som manforvantar sig av en joystick.

Joysticken blev inte helt felfritt fungerade och tappade iblandtoucheventen som gjordes ifall spelaren inte var sa tydlig medrorelsen over skarmen, aven zoomfunktionaliteten fungeradeinte helt felfritt under testningen och kan darmed ocksa hapaverkat resultatet. Mer effektiva metoder for implementationfor joystick tillsammans med Google maps bor finnas sominte ger samma typ av negativa effekter.

Testning av DataanvandningTesterna utfordes av ett och samma program vilket gor attresultatet mellan de olika kartyperna bor bli liknande ochinget annat paverkas av programmet. Dock utfordes testernaforhand med forsok att replikera tidigare rorelser mellan tes-terna, detta pagrund av tidsbrist. Det ar dock omojligt att goraexakt lika rorelser forhand mellan de olika testerna och datankan darmed blivit smatt fel mellan de olika testerna. For attkunna fa mer tillforlitlig data bade mer tester goras samt merexakta tester mellan varandra. Mojligtvis genom att en datornforflyttar sig da man latt kan replikera detta da mellan tester-na, dessutom skulle man kunde kora fler tester pa en kortaretid och darmed fa mer specifik data.

Resultat - Rorelseinteraktion

TestningDatan fran testningen av rorelseinteraktionen visar pa att mestprecision hade anvandarna som anvande sig av Google Mapstouchinteraktion och inte personerna som anvande joystick.Nagra tyckte att joysticksrorelsen blev lattare desto langre despelare men kande aldrig att de hade full kontroll over sin

rorelse. De som anvande Google Maps inbyggda system tyck-te dock att de hade full kontroll och fokuserade endast pa attforsoka snabbast hitta de platser som de sokte efter.

Datan visar tydligt pa att folk tycker det ar battre med attanvanda sig av kontroller som de ar vana att anvanda vilketdet finns tidigare studier pa.[1]. Det blir svart och krangligtmed att anvanda en joystick och ger personerna mer utma-ningar i spelet an vad som kan vara tankt. Manga personerhade problem med att anvanda sig av pitch zoom tillsammansmed joystick samt att de holl inte enheten som det var ut-vecklat for utan ofta lade enheten i knat och spelade med ettfinger. Google Maps tillater att man kan spela pa bada sattenmed joysticken har en fordel om man haller den upp och spe-lar med tummarna som implementationen var tankt.

Dock kunde man se att desto langre tid som folk satt medjoysticken desto mer larde de sig att kontrollera sig. Man kanda dra slutsatsen att joystick ar ett alternativ som absolut kanfungera till Google maps ifall sjalva utmaningen i spelet skul-le vara rorelsen. Spelet som utvecklades i arbetet var dock ut-maningen inte rorelsen och valdes darmed bort som alternativoch vidareutvecklas med Google maps inbygga rorelse. Dettafor att det ar viktigt att spelare har kontroll over spelet ochspelaren[2].

TestgruppTestningen av rorelseinterationen over kartorna gjordes pa tiopersoner utan tidigare erfarenhet av spelet. Gruppen har enmajoritet pa folk i tjugoarsaldern och som laser datavetenska-liga amnen. Detta kan ha paverkat hur de interakterar medimplementationen och en storre testgrupp borde nog goras pafler personer och med personer med mer olika bakgrunder ochaldrar. Barn och aldre personer kan anvanda smartphones paannorlunda satt som kan ge annorlunda resultat vilket ocksabor undersokas. Detta skulle da kunna visa pa att andra me-

8

Page 11: Institutionen för datavetenskapliu.diva-portal.org/smash/get/diva2:826619/FULLTEXT01.pdf · Google Maps ar en kart och satellitfototj¨ anst fr¨ an Google som˚ anv¨ands i m ˚anga

toder ar battre riktade mot olika aldersgrupper vilket inte tasupp i denna rapport.

Resultat - DataanvandingDataanvandingen mellan de olika kartyperna i Google Mapsgav intressant resultat. Normala karttypen visade sig anvandasig av minst data under korning nagonting som forvantades dahypotesen var att minst data anvands nar ingen karta anvandssom i kartypen None. Detta beror antagligen pa hur Goog-le Maps API ar implementerat och antagligen sa returnerarden samma data som Normala kartypen fast gommer kartanistallet for att rendera den, detta antagande togs da resulta-tet var mycket nara varandra. Mer tester skulle behovas un-dersokas for att kunna dra en slutsats angaende amnet. Avvi-kelser mellan datan pa dessa kartyper kan ocksa bero pa hurtesterna kordes.

Hogst data visades Terrang kartypen ge vilket innan var hypo-tesen att Satellit kartypen skulle anvanda sig av mest data daden hamtar ner riktiga fotobilder. Men eftersom Terrangtypenvisar hojdskillnader pa kartan kan detta bero pa att det skickardata i tre olika riktningar, bade x,y och z for att kunna skapaen hojdskillnad pa kartan.

Hybridlaget gav aven mindre data an sattelitlaget men var itest ett valdigt nara varandra och kan darmed bero pa hur test-ningen utfordes som paverkat resultatet.

Speltiden for de olika testerna varierade men hade en genom-snitttid pa ungefar 20 till 30 sekunder. Under denna tid kundeGoogle Maps ladda ner uppmot 20 megabytes av data beroen-de pa kartyp. Detta kan medfora stora mangder natverksdata.Mobil natverksdata ar ofta begransad till en viss mangd bero-ende pa abonnemang och anvandare bor darfor kanske varnasvid anvandning av spel med Google maps om mangden datasom kan komma att anvands och darmed rekommendera attkora spelet over WiFi istallet for mobila natverk.

ReplikerbarhetRapporten har noggrant gatt igenom de olika spelkompenen-terna som implementerades tillsammans med Google Mapssamt hur de implementerades for att underlatta replikerbarhe-ten for studien. Android enheter har specificeras for att kunnareplikera datan pa de olika enheterna.

Testerna har forklarats hur de fungerade och bilagor finnsover resultatet och ruttinformation for att latt kunna aterskapaoch replikera natverkstesterna.

Pa det stora hela anses undersokningen vara replikerbar,forfattaren har forsokt att dela med sig av forhallande somkom under arbetets gang.

ReliabilitetStudiens palitlighet varierar pa olika omraden. I allmanhetanses den var hog och viktiga slutsatser och jamforelser hargjorts. Dataanvandsningstesterna som tidigare namnds i rap-porten har brister och noggrannare tester bor goras for attkunna fa mer allman och specifik data. Dock anses den va-ra tillrackligt utford for att kunna se relevanta skillnader ochjamforelser. Mojligheten for liknande resultat ar fortfarandehog for fa liknande resultatet vid replikering av testerna.

ValiditetSom tidigare namnt vore en testmiljo med datastyrdaforflyttningar over kartan varit optimalt testning for da-taanvandingen, darmed har inte dataanvandningen mellan deolika kartyperna kunnat jamforas optimalt dels av praktiskaskal. Resulatet ska dock vara tillrackligt applicerbart for attse jamforbara skillnader mellan kartyper.

Etiska konsekvenserOm spel skulle borja anvanda sig av mycket data fran tjanstersom Google Maps kan de paverka samhallets datakonsum-tion. Mangden data som anvands vid denna typ av spel armycket mer an mer traditionella spel till mobilplattformen darnerladdningen gors en gang oftast och sedan ar fardig.

Mangden data som skickas och redovisas i rapporten ser manen stor okning jamfort med traditionella spel. Data overfort pamobila natverk dar fasta granser for mangen mobildata somfar tas emot och skickas kan paverkas negativt av detta. Dettamedfor till okade kostnader for konsumenter och kan leda tillokade abonnemangskostnader fran natverksleverantorerna dabehovet av datamangden som behovs skickas okas.

Datatrafiken i det svenska mobilnatet ar ungefor 901 terraby-tes om dagen10. En anvandarbas pa 100 000 anvandare somspelar ett likande spel som utvecklasts i det har arbetet darmangden data som tas emot och skickas pa en dag ar 100 mbper anvandare skulle oka datatrafiken dagligen i Sverige medungefar 10 Terrabyte. Siffran kan se marginell ut med vadsom den totala datatrafiken om dagen ar men skulle utgoraatt ett spel motsvaras av cirka 1.1% av den totala mobildatansom skickas i Sverige vilket har en negativ effekt for konsu-menter och natverksleverantorer, detta tillsammans med denokade mangden data som skickas over mobila enheter[3].

KallkritikDe kallor som anvands i rapporten har valts ut till kanda ochval utvalda kallor som Google officiella kallor samt valkandakonferenser och artiklar. Det ar svart att verifiera alla kallormen arbetet har forsokt att anvanda sig av information som artagen ifran mer an en kalla.

SLUTSATSSyftet med arbetet var att undersoka vad det finns for nackde-lar eller fordelar att anvanda Google Maps for att skapa speli, vilket arbetet har gjort.

Google Maps ar ett intressant API med mycket anvandbarhetoch tillater att man kan modifiera mycket i den befintliga ko-den. Detta ar en klar fordel och hjalper mycket for att im-plementera egna moment och komponenter tillsammans meddet. Detta ar bade viktigt och bra da det ska anvandas somspelmotor.

Rekommenderad kartyp att anvanda ar den forinstallda kar-typen da minst data anvands ifall applikationen inte behoveranvanda annan kartyp. Ifall Google oppnar upp mer i Goog-le Maps API och tillater som exempel cachening av datakan pa ett battre och snyggare reducera datanvandingen for

10Statistikportalen - PTS, 2015-05-12 http://statistik.pts.se/pts1h2014/

9

Page 12: Institutionen för datavetenskapliu.diva-portal.org/smash/get/diva2:826619/FULLTEXT01.pdf · Google Maps ar en kart och satellitfototj¨ anst fr¨ an Google som˚ anv¨ands i m ˚anga

anvandarna. Mangden data som anvands av vissa kartyperkan bli mycket hoga i vissa fall och bor tankas pa under im-plementation av spel tillsammans med Google Maps. Flerametoder finns att reducera mangden data som anvands genomatt till exempel anvanda sig av ratt typer av kartor som mankan se i detta arbete.

Android och Google Maps tillater att man modifierar mycketoch gor Google Maps till en lampligt system att utveckla speli om man ar villig att modifiera och komma pa intressantalosningar pa saker man vill implementera. Saker som Achie-vemtents, Leaderboards och andra vanliga implementationeri spel finns inget direkt i Google Maps som gar att anvandamen med hjalp av Android SDK och flexibiliteten av GoogleMaps gar det latt att anvanda sig av Androids vanliga element,funktionaliteten samt andra tjanster tillsammans for att kun-na implementera dem tillsammans med Google Maps som dainteragerar smidigt med varandra.

Med hjalp av den modifikation som finns i Google Maps finnsdet aven mojlighet att utveckla andra rorelsemotoder for attstyra kartan. Google Maps touchinteraktion ger mycket braprecision och personer har det latt att direkt satta sig in ochforsta hur kartan manipulerats tack vare detta och visar pa attfolk garna vill ha likande koncept dom ar vana vid [1]. Det-ta ar en klar fordel att anvanda sig av, dock uteslutar dockinte att andra roreslemetoder ar samre, arbetet visar att ifallanvandaren far anvanda sig av en joystick kan den lara sig attmanipulera kartan ocksa. Detta utgor dock fler utmaningar ispelet och spelets huvudfokus kan da forsvinna i en sadan im-plementation. Darfor ar det viktigt att undersoka vad man villatt utmaningen i sin speldesign ska vara vid implementationav andra rorelsemetoder i Google Maps.

Framtida arbetenRorelseinteraktionVidare forskning pa rorelse i Google Maps kan vara intressantda den virtuella joysticken gick att implementera och anvandasig av i Google Maps. Anvandare som anvande sig av denvar negativa i borjan men larde sig relativt fort hur de skulleanpassa sig. Vidare forskning kan goras med andra typer avrorelse som rorelse med till exempel gyroskop.

DataanvandingEftersom datamatningen fran Google Maps gav intressantaresultat kan det vara intressant att noggrannare mata datansom skickas for att kunna fa en noggrannare bild pa vad somskickas och tas emot for att fa en noggrannare bild pa vad. Ardet intressant aven hur detta paverkas av cacheningen?

REFERENCES1. Au, W. J. Game Design Secrets. John Wiley & Sons Inc,

2012.

2. Chou, J., Hung, C., and Hung, Y. Design factors ofmobile game for increasing gamer’s flow experience. InManagement of Innovation and Technology (ICMIT),2014 IEEE International Conference on (Sept 2014),137–139.

3. Cisco Visual Networking Index: Global Mobile DataTraffic Forecast Update, 2014–2019. https://www.cisco.com/c/en/us/solutions/collateral/service-provider/visual-networking-index-vni/white_paper_c11-520862.pdf, 2015-05-15.

4. Filho, V., Moreira, A., and Ramalho, G. Deepening theunderstanding of mobile game. In Computer Games andDigital Entertainment (SBGAMES), 2014 BrazilianSymposium on (Nov 2014), 183–192.

5. Goadrich, M. H., and Rogers, M. P. Smart smartphonedevelopment: Ios versus android. In Proceedings of the42Nd ACM Technical Symposium on Computer ScienceEducation, SIGCSE ’11, ACM (New York, NY, USA,2011), 607–612.

6. Hunicke, R., Leblanc, M., and Zubek, R. Mda: A formalapproach to game design and game research. In InProceedings of the Challenges in Games AI Workshop,Nineteenth National Conference of ArtificialIntelligence, Press (2004), 1–5.

7. Kumar, S., Qadeer, M., and Gupta, A. Location basedservices using android (lbsoid). In Internet MultimediaServices Architecture and Applications (IMSAA), 2009IEEE International Conference on (Dec 2009), 1–5.

8. Peker, A., and Can, T. A design goal and design patternbased approach for development of game engines formobile platforms. In Computer Games (CGAMES),2011 16th International Conference on (July 2011),114–120.

9. Rohs, M., Schoning, J., Raubal, M., Essl, G., andKruger, A. Map navigation with mobile devices: Virtualversus physical movement with and without visualcontext. In Proceedings of the 9th InternationalConference on Multimodal Interfaces, ICMI ’07, ACM(New York, NY, USA, 2007), 146–153.

10. State of Mobile 2013. http://supermonitoring.com/blog/state-of-mobile-2013, 2015-01-27.

11. What is an API? http://www.3scale.net/wp-content/uploads/2012/06/What-is-an-API-1.0.pdf,2015-03-13.

12. Which API do I Need? - Google Developers.http://developers.google.com/maps/documentation/api-picker, 2015-02-10.

10

Page 13: Institutionen för datavetenskapliu.diva-portal.org/smash/get/diva2:826619/FULLTEXT01.pdf · Google Maps ar en kart och satellitfototj¨ anst fr¨ an Google som˚ anv¨ands i m ˚anga

Rut

t:LK

PG

Tes

tP

lats

erD

efau

lt zo

om in

18D

efau

lt zo

om12

Map

Type

:R

X B

ytes

RX

Meg

abyt

esR

X p

acke

tsTX

Byt

esTX

Pac

kets

Tim

e (s

econ

dsC

ache

Cle

ar?

Zoom

ing

Tota

l RX

Dat

a1,

5620

0122

8M

B

Test

1N

orm

al48

0218

0,45

7971

5729

390

4122

40,

0393

1427

002

366

18,6

Yes

No

Tota

l TX

Dat

a0,

2109

1556

55M

B

Test

2N

orm

al65

850

0,06

2799

4537

454

5152

0,00

4913

3300

7855

16,6

No

No

Tota

l Dat

a us

ed1,

7729

1679

4M

B

Test

3N

orm

al10

0822

50,

9615

1828

7784

513

9039

0,13

2597

9233

725

25,6

Yes

Yes

Gen

Tid

20,9

25

Test

4N

orm

al83

584

0,07

9711

9140

610

435

746

0,03

4090

0421

112

622

,9Y

esY

es

Map

Type

:R

X B

ytes

RX

Meg

abyt

esR

X p

acke

tsTX

Byt

esTX

Pac

kets

Tim

eC

ache

Cle

ar?

Zoom

ing

Tota

l RX

Dat

a12

,733

3536

1M

B

Test

1H

ybrid

3549

186

3,38

4767

532

2649

1599

300,

1525

2113

3416

7215

,1Y

esN

oTo

tal T

X D

ata

0,50

2676

8551

MB

Test

2H

ybrid

6722

220,

6410

8085

6349

424

377

0,02

3247

7188

124

714

,5N

oN

oTo

tal D

ata

used

13,2

3603

047

MB

Test

3H

ybrid

8328

853

7,94

3013

191

6112

3427

530,

3268

7473

332

3829

Yes

Yes

Avg

Tid

20,1

75

Test

4H

ybrid

8016

280,

7644

9203

4958

834

,886

0,00

0033

2698

822

318

22,1

No

Yes

Map

Type

:R

X B

ytes

RX

Meg

abyt

esR

X p

acke

tsTX

Byt

esTX

Pac

kets

Tim

eC

ache

Cle

ar?

Zoom

ing

Tota

l RX

Dat

a2,

7736

0153

2M

B

Test

1N

one

1202

262

1,14

6566

391

898

6112

50,

0582

9334

259

666

16,4

Yes

No

Tota

l TX

Dat

a0,

2071

6571

81M

B

Test

2N

one

5547

00,

0529

0031

433

4643

770,

0041

7423

2483

3913

,2N

oN

oTo

tal D

ata

used

2,98

0767

25M

B

Test

3N

one

1567

893

1,49

5259

285

1253

1289

740,

1229

9919

1399

930

,7ye

sY

esA

vg T

id20

,05

Test

4N

one

8270

70,

0788

7554

169

9222

753

0,02

1698

9517

210

619

,9N

oY

es

Map

Type

:R

X B

ytes

RX

Meg

abyt

esR

X p

acke

tsTX

Byt

esTX

Pac

kets

Tim

eC

ache

Cle

ar?

Zoom

ing

Tota

l RX

Dat

a13

,597

5685

1M

B

Test

1S

atel

lite

2711

569

2,58

5953

712

2014

1211

680,

1155

5480

9611

9315

,2Y

esN

oTo

tal T

X D

ata

0,52

8655

0522

MB

Test

2S

atel

lite

1039

460,

0991

3063

049

8610

234

0,00

9759

9029

5478

13,7

No

No

Tota

l Dat

a us

ed14

,126

2235

6M

B

Test

3S

atel

lite

9350

331

8,91

7170

525

6835

3606

630,

3439

5504

3548

28,2

Yes

Yes

Avg

Tid

20,7

Test

4S

atel

lite

2092

238

1,99

5313

644

1525

6227

00,

0593

8529

968

538

25,7

No

Yes

Map

Type

:R

X B

ytes

RX

Meg

abyt

esR

X p

acke

tsTX

Byt

esTX

Pac

kets

Tim

eC

ache

Cle

ar?

Zoom

ing

Tota

l RX

Dat

a19

,230

7682

MB

Test

1Te

rrän

g73

4243

57,

0022

9167

954

1728

0639

0,26

7638

2065

2914

17,9

Yes

No

Tota

l TX

Dat

a0,

6895

5230

71M

B

Test

2Te

rrän

g18

9677

01,

8089

0083

313

6469

731

0,06

6500

6637

688

513

,6N

oN

oTo

tal D

ata

used

19,9

2032

051

MB

Test

3Te

rrän

g74

7575

57,

1294

3553

954

9729

3849

0,28

0236

2442

2823

26,1

Yes

Yes

Avg

Tid

19,7

Test

4Te

rrän

g34

4996

23,

2901

4015

224

8578

829

0,07

5177

1926

971

621

,2N

oY

es

Link

öpin

g C

ity A

irpor

t, E

khol

men

Cen

trum

, US

Lin

köpi

ng, U

nive

rsite

tet,

Ryd

s he

rrgå

rd, a

nd M

järd

evi S

cien

ce P

ark

BILAGA 1

Page 14: Institutionen för datavetenskapliu.diva-portal.org/smash/get/diva2:826619/FULLTEXT01.pdf · Google Maps ar en kart och satellitfototj¨ anst fr¨ an Google som˚ anv¨ands i m ˚anga

Rut

tC

apita

lsP

lats

erD

efau

lt zo

om in

16D

efau

lt zo

om o

ut4

Map

Type

:R

X B

ytes

RX

Meg

abyt

esR

X p

acke

tsTX

Byt

esTX

Pac

kets

Tim

e (s

econ

dsC

ache

Cle

ar?

Zoom

ing

Tota

l RX

Dat

a10

,184

2756

3M

B

Test

1N

orm

al24

4637

92,

3330

4882

1808

8979

30,

0856

3327

789

990

27Y

esN

oTo

tal T

X D

ata

0,27

8713

2263

MB

Test

2N

orm

al57

330,

0054

6741

485

2018

430,

0017

5762

1765

2323

,1N

oN

oTo

tal D

ata

use

10,4

6298

885

MB

Test

3N

orm

al68

8885

46,

5697

2312

949

7616

1540

0,15

4056

5491

1716

32Y

esY

esG

en T

id27

,55

Test

4N

orm

al13

3802

11,

2760

3626

397

039

076

0,03

7265

7775

937

028

,1N

oY

es

Map

Type

:R

X B

ytes

RX

Meg

abyt

esR

X p

acke

tsTX

Byt

esTX

Pac

kets

Tim

eC

ache

Cle

ar?

Zoom

ing

Tota

l RX

Dat

a17

,006

1464

3M

B

Test

1H

ybrid

1811

504

1,72

7584

839

1362

7385

50,

0704

3361

664

685

26,7

Yes

No

Tota

l TX

Dat

a0,

5577

3639

68M

B

Test

2H

ybrid

4862

520,

4637

2604

3735

721

565

0,02

0565

9866

320

024

,5N

oN

oTo

tal D

ata

use

17,5

6388

283

MB

Test

3H

ybrid

1120

5607

10,6

8649

9681

9234

4569

0,32

8606

6055

3633

34,6

Yes

Yes

Avg

Tid

29,5

75

Test

4H

ybrid

4328

874

4,12

8335

953

3153

1448

400,

1381

3018

815

5332

,5N

oY

es

Map

Type

:R

X B

ytes

RX

Meg

abyt

esR

X p

acke

tsTX

Byt

esTX

Pac

kets

Tim

eC

ache

Cle

ar?

Zoom

ing

Tota

l RX

Dat

a10

,013

2694

2M

B

Test

1N

one

2576

438

2,45

7082

748

1875

9998

70,

0953

5503

387

1149

20,6

Yes

No

Tota

l TX

Dat

a0,

2976

3031

01M

B

Test

2N

one

9585

10,

0914

1063

6989

5157

0,00

4918

0984

552

20,1

No

No

Tota

l Dat

a us

e10

,310

8997

3M

B

Test

3N

one

6927

511

6,60

6589

317

4897

1681

640,

1603

7368

7718

6631

,5Y

esY

esA

vg T

id24

,025

Test

4N

one

8998

740,

8581

8672

1867

038

780

0,03

6983

4899

932

923

,9N

oY

es

Map

Type

:R

X B

ytes

RX

Meg

abyt

esR

X p

acke

tsTX

Byt

esTX

Pac

kets

Tim

eC

ache

Cle

ar?

Zoom

ing

Tota

l RX

Dat

a22

,828

6008

8M

B

Test

1S

atel

lite

4092

900

3,90

3293

6130

9718

7150

0,17

8480

1483

1905

18,4

Yes

No

Tota

l TX

Dat

a0,

7212

4958

04M

B

Test

2S

atel

lite

8702

130,

8298

9978

7962

622

447

0,02

1407

1273

823

118

,9N

oN

oTo

tal D

ata

use

23,5

4985

046

MB

Test

3S

atel

lite

1399

1458

13,3

4329

414

1015

941

9099

0,39

9683

9523

4354

38,1

Yes

Yes

Avg

Tid

25,9

Test

4S

atel

lite

4982

952

4,75

2113

342

3599

1275

890,

1216

7835

2413

0928

,2N

oY

es

Map

Type

:R

X B

ytes

RX

Meg

abyt

esR

X p

acke

tsTX

Byt

esTX

Pac

kets

Tim

eC

ache

Cle

ar?

Zoom

ing

Tota

l RX

Dat

a24

,196

2299

3M

B

Test

1Te

rrän

g43

0554

04,

1060

8291

630

9996

855

0,09

2368

1259

211

0520

,3Y

esN

oTo

tal T

X D

ata

0,48

1162

0712

MB

Test

2Te

rrän

g50

879

0,04

8521

9955

443

3919

0,00

3737

4496

4636

17,2

No

No

Tota

l Dat

a us

e24

,677

3920

1M

B

Test

3Te

rrän

g18

3734

4417

,522

2816

513

123

3451

960,

3292

0455

9342

1236

,1Y

esY

esA

vg T

id26

,95

Test

4Te

rrän

g26

4172

32,

5193

4337

618

9758

565

0,05

5851

9363

465

334

,2N

oY

es

Sto

ckho

lm, L

ondo

n, P

aris

, Am

ster

dam

, and

Ber

lin

BILAGA 2

Page 15: Institutionen för datavetenskapliu.diva-portal.org/smash/get/diva2:826619/FULLTEXT01.pdf · Google Maps ar en kart och satellitfototj¨ anst fr¨ an Google som˚ anv¨ands i m ˚anga

Frågeformulär  

1. Vad ansåg du var utmaningen eller utmaningarna i spelet?       

2. Vad gjorde du för att komma över utmaningen eller utmaningarna?       

3. Vad var det svåraste att göra?       

4. På en skala ett till tio, hur svårt var det att förflytta sig över kartan.        

5. Vilket var det största problemet med förflyttningen över kartan.    

BILAGA3

Page 16: Institutionen för datavetenskapliu.diva-portal.org/smash/get/diva2:826619/FULLTEXT01.pdf · Google Maps ar en kart och satellitfototj¨ anst fr¨ an Google som˚ anv¨ands i m ˚anga

På svenska

Detta dokument hålls tillgängligt på Internet – eller dess framtida ersättare –

under en längre tid från publiceringsdatum under förutsättning att inga extra-

ordinära omständigheter uppstår.

Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner,

skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för

ickekommersiell forskning och för undervisning. Överföring av upphovsrätten

vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av

dokumentet kräver upphovsmannens medgivande. För att garantera äktheten,

säkerheten och tillgängligheten finns det lösningar av teknisk och administrativ

art.

Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i

den omfattning som god sed kräver vid användning av dokumentet på ovan

beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan

form eller i sådant sammanhang som är kränkande för upphovsmannens litterära

eller konstnärliga anseende eller egenart.

För ytterligare information om Linköping University Electronic Press se

förlagets hemsida http://www.ep.liu.se/

In English

The publishers will keep this document online on the Internet - or its possible

replacement - for a considerable time from the date of publication barring

exceptional circumstances.

The online availability of the document implies a permanent permission for

anyone to read, to download, to print out single copies for your own use and to

use it unchanged for any non-commercial research and educational purpose.

Subsequent transfers of copyright cannot revoke this permission. All other uses

of the document are conditional on the consent of the copyright owner. The

publisher has taken technical and administrative measures to assure authenticity,

security and accessibility.

According to intellectual property law the author has the right to be

mentioned when his/her work is accessed as described above and to be protected

against infringement.

For additional information about the Linköping University Electronic Press

and its procedures for publication and for assurance of document integrity,

please refer to its WWW home page: http://www.ep.liu.se/

© Ante Wall