YHTEISÖLLISEN DATAPILVEN KÄYTTÖMAHDOLLISUUDET PAIKKATIETOON PERUSTUVIEN PELIEN ALUSTANA



Samankaltaiset tiedostot
Järjestelmäarkkitehtuuri (TK081702) Pilvipalvelut. Pilvipalvelut - lähtökohtia

Karttaselain Paikannin J2ME

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A Kandidaatintyö ja seminaari

PUSH palvelut mobiilikehityksessä: Android ja Windows phone 7. Pauli Kettunen

ArcGISSM. Online. Paikkatietoalusta organisaatiollesi

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245

Mistä on kyse ja mitä hyötyä ne tuovat?

Tekninen suunnitelma - StatbeatMOBILE

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro

Tekninen suunnitelma - StatbeatMOBILE

PLA Mobiiliohjelmointi. Mika Saari

PLA Mobiiliohjelmointi. Mika Saari

Mikä on WordPress? itse ylläpidettävä (self-hosted) WordPress.com: ilmainen 3. osapuolen ylläpitämä pilvipalvelu (Cloud-hosted)

Käyttöohje Social News

Collector for ArcGIS. Ohje /

SoLoMo InnovaatioCamp Ari Alamäki HAAGA-HELIA Tietotekniikan koulutusohjelma Ratapihantie Helsinki haaga-helia.

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat

ArcGIS. mobiililaitteille

Pilvi mitä, miksi ja miten

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services

Tietotalo Insight. Digitaalinen markkinointi. Beacon FAQ: Vastaukset yleisimpiin kysymyksiin beaconeista

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti Kandidaatintyö ja seminaari

Julkisen hallinnon linjaukset tiedon sijainnista hallinnasta Pauli Kartano

Virtualisointiympäristössä on kolme pääosaa: isäntä (host), virtualisointikerros ja vieras (guest).

Mobiilimaailma murroksessa 2011 Tommi Teräsvirta, Tieturi

Mitä muutoksia pilvipalvelut tulevat aikaansaamaan tietoteknisten ratkaisujen hankinta- ja toimitusmalleissa? Miten pilvipalvelut muokkaavat

Rajattomat tietoverkot ja niiden rooli pilvipalveluissa. Jukka Nurmi Teknologiajohtaja Cisco Finland

Copyright Observis Oy All rights reserved. Observis Oy Ville Kanerva, CTO Heikki Isotalus, COO Datasta tietoa

Tablet-tietokoneen ja älypuhelimen peruskäyttö Jorma Flinkman

Pilvi 9.0. Arkkitehtuuri. Esimerkki arkkitehtuurit

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka

Tuotannon laitteiden käyttöasteen seuranta

Kuntarekry.fi KL-Kuntarekry Oy / Tuula Nurminen

Käytettäväksi QR-koodin lukulaitteen/lukijan kanssa yhteensopivien sovellusten kanssa

MARA-ALAN LIIKETOIMINNAN TIETOTURVALLISUUSUHAT

JUULIA - Varhaiskasvatuksen tilastointijärjestelmä. Vertikal Oy Luvaton käyttö kielletty

EMVHost Online SUBJECT: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT COMPANY: EMVHost Online Client sovelluksen käyttöohje AUTHOR: DATE:

ArcGIS.com. uusia tapoja jakaa paikkatietoa

Älypuhelinverkkojen 5G. Otto Reinikainen & Hermanni Rautiainen

Kumppaniratkaisu. M-Files Cloud Vault Dokumenttien hallinta on helppoa. Paranna tietotyön tehokkuutta ja laatua!

Action Request System

Vaivattomasti parasta tietoturvaa

Sosiaalinen media Facebook, Twitter, Nimenhuuto

Web-palveluiden toteutus älykortille

Projektinhallintaa paikkatiedon avulla

Pilvipalvelujen tietoturvasta

Kattava tietoturva kerralla

Järjestelmäarkkitehtuuri (TK081702)

Mobiilin ekosysteemin muutos - kuoleeko tietoturva pilveen?

Google yritysratkaisut motivointia tehokkuuteen. Juha Elonen, kehitysjohtaja, DNA Business

HAAVOITTUVUUKSIEN HALLINTA RAJOITA HYÖKKÄYSPINTA-ALAASI

AirPrint-opas. Tämä käyttöopas koskee seuraavia malleja:

Oulu D.C. kapasiteettipalveluita oululaiseen ekosysteemiin

Langattoman kotiverkon mahdollisuudet

Google Cloud Print -opas

Yhteisöllinen tapa työskennellä

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

TUTKI OMAT TIETOTURVA-AUKKOSI. ENNEN KUIN JOKU MUU TEKEE SEN PUOLESTASI. F-Secure Radar Ville Korhonen

in condition monitoring

ANVIA PILVI. kotimaisia pilvipalveluita yrityksille 24/7

Nokia Kartat -käyttöohje

Mikä on internet, miten se toimii? Mauri Heinonen

JWT 2016 luento 11. to klo Aulikki Hyrskykari. PinniB Aulikki Hyrskykari

Mennäänkö pilveen? Klo 08-10

IBM Iptorin pilven reunalla

Mainosankkuri.fi-palvelun käyttöohjeita

IoT-järjestelmän ja ulkovalaistuksen ohjauksen hankinta -markkinavuoropuhelutilaisuus

Tulevaisuuden Internet. Sasu Tarkoma

Pilvilaskennan perusteet ja sanasto (ISO/IEC 17788) sekä jatkotyöstö. SFS SR-310 Pasi Mäkinen, Open Source Lead, Microsoft

SUOMEN KUNTALIITTO RY

Korjauksia käyttöohjeeseen

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Juha Peltomäki JAMK/Teknologia

Mobiilitulostus-/- skannausopas Brother iprint&scanille (Android )

Älypuhelimet. Sisällysluettelo

HELSINKI AREA TESTBED. Martti Mäntylä, HIIT

Pilvipalveluiden arvioinnin haasteet

WINE API ja Virtualisointiohjelmistot

Seuraavat tasot sisältävät alueita ja pisteitä samassa tasossa. o Asemakaavat o Kaavayksiköt o Kiinteistöt

F-Secure KEY salasanojenhallintaohjelman käyttöönotto Mac -laitteella

ACCOUNTOR ICT Digitaalinen työympäristö Markkinatutkimus joulukuu 2018

HTTP-välityspalvelimen käyttö tapahtumien keräämiseen

ACCELBIT KARTTASELAIN TRACKER. Karttaselaimen Tracker- sovelluksen käyttöohje versio 1.0 AccelBit Oy

DIGILEHTI KUULUU KAIKILLE!

TYÖNTEKIJÄN OHJEET EAZYBREAK-MOBIILISOVELLUKSET

Sports Tracker. Älypuhelimen urheilutietokoneesta yhteisölliseksi reittikarttapalveluksi. Jussi Solja Markkinointipäällikkö, Sports Tracker

Elisa Toimisto 365. Toimisto ja yhteydet pilvestä

Amazon Web Services (AWS) on varmaankin maailman suosituin IaaS-tarjoaja. Lisäksi se tarjoaa erilaisia PaaS-kategoriaan kuuluvia palveluita.

Johdatus ArcGIS-ohjelmistoon

CUDA. Moniydinohjelmointi Mikko Honkonen

Microsoft Dynamics CRM 4.0. Jani Liukkonen

Virtualisoi viisaasti paranna palvelua. Iikka Taanila Systems Architect IBM Systems and Technology Group

Käyttöoppaasi. F-SECURE MOBILE SECURITY 6 FOR ANDROID

GroupWise Calendar Publishing Host User

Dynamo-koulutus Omat laitteet oppimisessa

EASY Tiedostopalvelin - mobiilin käyttöopas

Julkisen hallinnon linjaukset tiedon sijainnista ja hallinnasta. Yhteenveto. Taustaa linjauksille. Linjausten tavoitteet

Transkriptio:

LAPPEENRANNAN TEKNILLINEN YLIOPISTO Teknistaloudellinen tiedekunta Tietotekniikan osasto YHTEISÖLLISEN DATAPILVEN KÄYTTÖMAHDOLLISUUDET PAIKKATIETOON PERUSTUVIEN PELIEN ALUSTANA Lappeenrannassa 27.11.2011 Ville Helminen Kandidaatintyön aihe on hyväksytty xx.xx.2011 Työn tarkastajana toimii prof. Kari Smolander

TIIVISTELMÄ Lappeenrannan teknillinen yliopisto Teknistaloudellinen tiedekunta Tietotekniikan osasto Ville Helminen Yhteisöllisen datapilven käyttömahdollisuudet paikkatietoon perustuvien pelien alustana Kandidaatintyö 2011 30 sivua, 5 kuvaa ja 1 taulukko Tarkastaja: Professori Kari Smolander Hakusanat: Paikkatietopelit, pilvipalvelut, mobiilipelit, LBG Paikkatietoon perustuvia pelejä ennustetaan seuraavaksi läpimurroksi mobiilipelien rintamalla. Esitellään paikkatietoon perustuvat pelit ja niiden erityisvaatimukset. Työssä esitellään pilvipalveluiden toimintaperiaate. Työssä tutkitaan yhteisölliseen datapilveen perustuvan paikkatietodatan jakamista, käyttömahdollisuuksia, hyötyä ja ongelmia paikkatietoon perustuvien pelien alustana. Tutkitaan, onko tällaisia järjestelmiä jo olemassa, selvitetään niiden rakennetta sekä pohditaan yhteisöllisen pelidatapilven rakennetta. i

ABSTRACT Lappeenranta University of Technology Faculty of Technology Management Information Technology Ville Helminen Community datacloud as a platform for Location-Based Games. Bachelor's Thesis 2011 30 pages, 5 images and 1 table Examiner: Professor Kari Smolander Keywords: Location-Based Games, Cloud Computing, Mobile Gaming, LBG Location-Based Games are predicted to be the next breakthrough on mobile gaming business. In this thesis, development requirements of Location-Based Games are introduced. Cloud computing principles are presented. The possibility to use community datacloud to share location data, it's possibilities, benefits and problems as a platform for location-based games are studied. Existing systems are investigated, their architecture is examined and general architecture of such a system is pondered. ii

Sisällysluettelo 1. JOHDANTO...3 1.1 Tausta...3 1.2 Työn tavoite ja rajaus...4 1.3 Työn rakenne...4 2. PAIKKATIETOON PERUSTUVAT PELIT...5 2.1 Paikannustekniikat...7 3. PILVIPALVELUT JA YHTEISÖLLINEN PELIDATAPILVIKONSEPTI...9 3.1 Pilvipalveluiden ominaisuudet...9 3.2 Toimintamallit...10 3.3 Tuotantomallit...10 3.4 Pilvipalvelun hyödyt...12 3.5 Yhteisöllinen pelidatapilvikonsepti...12 4. TUTKIMUSONGELMAN JA RATKAISUTAVAN ESITTELY...15 5. KATSAUS NYKYISIIN PAIKKATIETOPELEIHIN...16 6. PAIKKATIETOPELIEN KEHITYSYMPÄRISTÖT...18 6.1 SimpleGEO...18 6.2 Multi-User Publishing Environment...20 6.3 AT&T Location Information Services...21 6.4 Google Maps API Family...22 7. YHTEISÖLLISEN PELIDATAPILVEN VAATIMUKSET JA KÄYTTÖMAHDOLLISUUDET 23 8. YHTEENVETO...25 VIITTEET...26 1

Symboliluettelo AGPS API CI CSV DGPS E-OTD GPS HTTP IaaS IP J2ME JSON KML LBG LBS MIDP MMOG MUPE PaaS PoI SaaS SDK SVG TCP/IP ToA WiFi Assisted Global Positioning System Application Programming Interface Cell Identification Comma-Separated Values Differential Global Positioning System Enhanced Observer Time Difference Global Positiong System Hypertext Transfer Protocol Infrastructure as a Service Internet Protocol Java 2 Platform Micro Edition JavaScript Object Notation Keyhole Markup Language Location-Based Game Location-Based Service Mobile Information Device Profile Massively Multiplayer Online Game Multi-User Publishing Environment Platform as a Service Point of Interest Software as a Service Software Development Kit Scalable Vector Graphics Transmission Control Protocol / Internet Protocol Time of Arrival Wireless Fidelity 2

1. JOHDANTO Tämä on loppuraportti kandidaatin työlleni Lappeenrannan teknillisessä yliopistossa, teknistaloudellisessa tiedekunnassa, tietotekniikan osastolla. Työn aihepiiri on tutkia paikkatietoon perustuvia pelejä, yhteisöllisen pelidatapilven käyttömahdollisuuksia niiden alustana sekä tutkia jo mahdollisesti olemassaolevia datapilvijärjestelmiä ja niiden toimintatapaa. 1.1 Tausta Paikkatietoon perustuvia pelejä (location-based games, LBG) on ennustettu seuraavaksi läpimurroksi mobiilipelien rintamalla, vaikka toistaiseksi pelejä on tarjolla melko rajoitettu määrä. [1]Lappeenrannan teknillisen yliopiston tietotekniikan osastolla on pohdittu yhteisöllisen pelipilvidatan käyttömahdollisuuksia paikkatietoon perustuvien pelien alustana. Yhteisöllisen pelipilvidatan perusajatus on kerätä tietoa reaalimaailman tapahtumista, jonka jälkeen tietoa voidaan käyttää hyväksi erilaisissa järjestelmän päälle rakennetuissa tuotteissa, kuten peleissä [2] Kiinnostavia datapilveen tallennettavia tietoja ovat esimerkiksi paikat joissa käyttäjä on vieraillut, mielenkiintoiseksi merkatut kohteet (Point of Interest, PoI), käyttäjän itse ilmoittamat paikat, paikat joissa on tehty jotain sekä erilaiset reaalimaailman objektit[2]. Datapilveen generoidaan dataa usealla eri tavalla. Käyttäjän paikkatietoja voidaan tallettaa pilveen, jonka lisäksi palveluntarjoaja voi lisätä pilveen haluamaansa dataa. Kuvassa 1 on esitetty yhteisöllisen datapilven perusajatus. Kuva 1: Yhteisöllinen datapilvi 3

1.2 Työn tavoite ja rajaus Tämän työn tarkoituksena on selvittää yhteisöllisen pelipilvidatan käyttömahdollisuudet mobiilipelien pelien alustana. Tarkoituksena on selvittää, onko yhteisöllinen pelipilvidata jo käytössä pelimaailmassa. Työn painopiste on näiden järjestelmien perusajatuksen ja toimintatavan läpikäyminen sekä vastauksen löytäminen siihen, millainen datapilven rakenne olisi oltava, mitä tietoa siihen talletetaan ja mitä ongelmia järjestelmän luomisessa on otettava huomioon. Työssä hahmotellaan yhteisöllisen pelipilvidatan vaatimaa arkkitehtuuria ja selvitetään jo olemassa olevien järjestelmien arkkitehtuuria, mutta tarkoituksena ei ole suunnitella täysin toimivaa järjestelmää. 1.3 Työn rakenne Luvussa kaksi esitellään paikkatietoon perustuvien pelien vaatima teknologia, muun muassa erilaiset paikannusmenetelmät, niiden vaatimukset ja rajoitukset. Datapilvi käsitteenä esitellään luvussa kolme. Luvussa neljä esitellään tutkimusongelma ja sen ratkaisumenetelmä. Luvussa viisi luodaan katsaus olemassa olevista paikkatietoon perustuvista peleistä ja luvussa kuusi palveluista, jotka on suunniteltu paikkatietosovellusten ja -pelien kehittämiseen ja joista osa toimii pilvipalveluperiaatteella. Seitsemännessä luvussa pohditaan yhteisöllisen pelidatapilven käyttömahdollisuuksia, vaatimuksia ja ongelmia. Kahdeksannessa luvussa on yhteenveto. 4

2. PAIKKATIETOON PERUSTUVAT PELIT Paikkatietoon perustuvilla peleillä(lbg) tarkoitetaan erilaisilla mobiililaitteilla pelattavia pelejä, jotka hyödyntävät laitteen pelaajasta välittämää paikkatietoa pelaajan paikantamisessa ja liikkeiden seurannassa, pelimaailman luomisessa sekä vuorovaikutuksen luomisessa muiden pelaajien kanssa. Toistaiseksi pelien tarjonta ja pelaajien määrä on melko rajallinen, mutta paikkatietoon perustuvia pelejä on ennustettu seuraavaksi läpimurroksi mobiilipelien ja paikkatietoon perustuvien palvelujen(location Based Services, LBS)rintamalla. [1] Paikkatietoon perustuvat pelit voidaan jakaa karkeasti kolmeen eri osa-alueeseen: kaupallisiin peleihin(commercial games), tapahtumapohjaisiin peleihin(event-based games) ja tutkimuspeleihin(research games). Kaupalliset pelit hyödyntävät yleisesti kuluttajien saatavissa olevaa tekniikkaa, kuten mobiililaitteita ja niiden tarjoamia paikannusmenetelmiä. Ensimmäiset kaupalliset LB-pelit esiteltiin vuonna 2000. [3] Yksinkertainen esimerkki kaupallisesta pelistä on geokätköily, jossa etsitään maastoon piilotettuja rasioita GPS-paikannuksen avulla. [4] Tapahtumapohjaiset pelit hyödyntävät uusinta käytössä olevaa teknologiaa ja vaativat yleensä pelinjärjestäjää tarjoamaan peliin tarvittavan laitteiston osanottajille. Laitteisto voi tarkoittaa esimerkiksi jonkun tietyn mobiililaitteen tai esimerkiksi korvakuulokkeiden käyttöä. Tämä rajoittaa pelin kestoaikaa ja pelaajien määrää. Tutkimuspelit pelataan usein laboratorioympäristössä ja niitä valvotaan tieteellisesti. Ne myös vaativat pelaajilta yhdenmukaisen laitteiston. [3] Varsinkin tutkimuspelit ovat tämän kandidaatintyön ulkopuolella, joten tässä työssä keskitytään pääosin kaupallisiin peleihin ja tarpeen vaatiessa tapahtumapohjaisiin peleihin. Karttojen käyttäminen on tärkeää valtaosassa paikkatietoon perustuvia pelejä. Kuvassa 1. on esitetään paikkatietopelin mahdollinen arkkitehtuuri. Tärkein perusedellytys on pelaajan paikantaminen jollakin käytettävissä olevalla paikannustekniikalla. Seuraava taso huolehtii pelin sisällön jakamisesta. Kolmannella tasolla muodostetaan pelin sisältö ja ylin taso on pelin käyttöliittymä. Kaikki tasot tarvitsevat jonkinlaista karttaa toiminnallisuuden saavuttamiseksi. [3] 5

Kuva 1. Esimerkki paikkatietoon perustuvan pelin arkkitehtuurista[3] Pelit ja palvelut on suunniteltava toimimaan niin, että yksittäisten pelaajien toimintojen ja paikkatietojen hetkittäinen puuttuminen ei sulje pelaajaa pois pelistä, kuten perinteisissä moninpeleissä usein tällaisissa tilanteissa toimitaan. Muita huomioon otettavia seikkoja ovat muun muassa mobiililaitteiden käyttöliittymälle asettamat rajoitukset, kuten pieni näyttö ja epästandardit syöttölaitteet(hiiren puute, erilaiset näppäimistöratkaisut)[3]. Paikkatietopalvelut (LBS) voidaan jakaa kolmeen eri tyyppiin[5]: Pull käyttäjä tekee pyyntöjä palvelimelle Push palvelin tekee pyyntöjä asiakasohjelmalle Tracking palveluntarjoaja seuraa käyttäjän paikkatietoja Yleensä paikkatietopeleissä käytetään client-server arkkitehtuuria joka käyttää hyväkseen HTTPprotokollaa, johtuen protokollan yhteensopivuudesta ja saatavuudesta eri järjestelmiin sekä siitä, että palomuurit eivät yleensä estä protokollan käyttöä. Protokollan huono puoli on sen kykenemättömyys palvelinpuolen pyyntöihin (push), joten kaikki liikenne on hoidettava asiakasohjelman pyyntöinä. Sen on siis käytännössä tehtävä säännöllisin väliajoin pyyntö palvelimelta tietojen päivittämiseen. Anonymiteetti ja käyttäjän yksityisyyden suojaaminen asettavat omat haasteensa paikkatietoon perustuvissa palveluissa. Erilaisia tekniikoita käyttäjän suojaamiseen on kehitetty[8]. Lisäksi 6

etenkin peleissä, joissa käyttäjää palkitaan tietyissä paikoissa vierailuista, on vaarana yritykset oman paikkatiedon väärentämiseen[9]. 2.1 Paikannustekniikat Käyttäjän paikantamiseen on käytettävissä useita eri tekniikoita, joista GPS(Global Positioning System)-paikannukseen perustuva on tällä hetkellä käytetyin. [6] Paikannuksen tarkkuus, päivitystaajuus ja laitteistovaatimukset vaihtelevat eri tekniikoiden välillä. Toiset tekniikat eivät toimi ollenkaan tai toimivat huonosti sisätiloissa ja toiset tekniikat muuttuvat epätarkoiksi siirryttäessä sisätiloista ulkoilmaan. GPS-paikannuksella päästään noin kymmenen metrin tarkkuuteen ja sen päivitysfrekvenssi on melko hyvä, noin sekunti. [3] Tukiasemien avulla voidaan käyttää Assisted GPS (AGPS) ja Differential GPS (DGPS) tekniikoita, jolloin päästään tehokkaampaan ja tarkempaan lopputulokseen kuin pelkkää GPS-tekniikkaa käyttäen. [7] Tämä parantaa mm. käytettävien mobiililaitteiden akunkestoa. GPS-tekniikan huonona puolena on olematon toimintakyky sisätiloissa, sillä tekniikka vaatii näköyhteyden satelliitteihin taivaalla. Yhteyden luominen satelliitteihin voi olla hidasta ja signaalikatkokset ovat yleisiä[5]. Myös isot rakennukset voivat aiheuttaa katvealueita GPS-paikannukselle. Teoriassa GPS-tekniikka toimii yhtä tarkasti kaikkialla ulkotiloissa, eikä pelkästään tiheään asutuilla alueilla, kuten esimerkiksi Cell ID paikannus tai WiFi-paikannus. Cell Identification (CI) tekniikka on käytettävissä kaikissa mobiililaitteissa. Sitä voidaan käyttää yksinään, jolloin se on melko epätarkka. Kaupunkialueella on saavutettavissa 50-500 metrin tarkkuus, mutta harvemmin asutuilla alueilla tarkkuus tippuu 1-35 kilometriin. Tarkkuutta voidaan parantaa Time of Arrival(ToA) tai Enhanced Observer Time Difference(E-OTD) tekniikoiden avulla. E-OTD tekniikalla päästään 50-150 metrin tarkkuuteen kaupunkialueilla ja paikannus toimii hyvin myös sisätiloissa[5]. CI paikannuksella ei päästä GPS paikannuksen päivitystaajuuteen, joten menetelmä ei sovellu niin hyvin nopeaa paikkatiedon päivitystä vaativiin peleihin. WiFi verkot tarjoavat mahdollisuuden käyttäjän paikantamiseen muita tekniikoita tarkemmin. Paikannus on mm. GPS-tekniikkaa tarkempaa ja sillä päästään 5-10 metrin tarkkuuteen sisätiloissakin. Menetelmä toimii parhaiten alueilla, jossa on kattava WiFi verkosto[6]. Myös Bluetoothia voidaan käyttää käyttäjän paikannukseen. Se toimii parhaiten sisätiloissa ja sillä 7

päästään jopa alle 5 metrin tarkkuuteen[7]. Käyttäjä voi myös itse ilmoittaa sijaintinsa. Tämä menetelmä on epätarkka ja paikkatiedon päivittäminen on hidasta. Onkin selvää, että tämä menetelmä ei sovellu monimutkaisiin, nopeaa reaaliaikaista paikkatietoa vaativiin peleihin. Myös väärän paikkatiedon ilmoittaminen epähuomiossa tai tahallaan aiheuttaa rajoituksia. Nykyisellä paikannustekniikalla kaupallisten peli- ja sovelluskehittäjien on varauduttava paikannusmenetelmien epätarkkuuteen ja -varmuuteen. Peliympäristön valinnalla pystytään vähentämään näitä ongelmia. Peliympäristöksi on hyvä valita tiheästi asuttu alue ja tämä useimmiten on parasta myös suuren käyttäjämäärän saavuttamiseksi. GPS-paikannusta käytettäessä on syytä välttää sisätiloja ja ahtaita alueita. Käyttäjää voidaan myös informoida signaalin vahvuudesta, jolloin hän pystyy välttämään katvealueita[10]. Taulukossa 1 on esitetty eri paikannusmenetelmien tarkkuus, päivitystaajuus ja peittävyys. Tarkkuus Päivitystaajuus Peittävyys sisällä Peittävyys sisällä GPS Korkea Korkea Ei Korkea Wi-Fi Keskinkertainen Korkea Keskinkertainen Keskinkertainen Itse ilmoitettu Keskinkertainen Matala Korkea Korkea Mobiililaite, Cell Matala Keskinkertainen Korkea Korkea ID Mobiililaite, Keskinkertainen Matala Korkea Korkea operaattori Bluetooth Keskinkertainen Keskinkertainen Keskinkertainen Matala Tarkkuus Korkea (~10m) > Keskinkertainen (~100m) > Matala (~100m 5km) Päivitystaajuus Korkea ( joka sekunti) > Keskinkertainen ( joitain sekunteja minuutti) > Matala (harvoin) Taulukko 1: Paikannusmenetelmien vertailu 8

3. PILVIPALVELUT JA YHTEISÖLLINEN PELIDATAPILVIKONSEPTI Pilvipalvelut(Cloud Computing) on melko uusi ratkaisu, ja sana on esitelty ensimmäisen kerran vuonna 2007. Pilvipalveluiden tarkka ja yksiselitteinen määrittely on vaikeaa, mutta se voidaan määritellä virtuaaliseksi tietojenkäsittelyresurssien varannoksi[12]. Pilvipalvelut on TCP/IPpohjainen kokoelma laskentatehoa, muistia, nopeita verkkoyhteyksiä ja luotettavaa systeemiarkkitehtuuria[13]. National Institute of Standards and Technology (NIST) määrittelee pilvipalvelut seuraavasti[11]: Pilvipalvelut on malli, joka tarjoaa kätevän, tarpeenmukaisen tietoverkkoyhteyden jaettuun, konfiguroitavaan tietojenkäsittelyresurssien kokoelmaan. Resursseja pystytään muokkaamaan ja tarjoamaan lisää tarpeen vaatiessa vähäisillä ylläpidollisilla toimenpiteillä. Pilvipalveluiden tunnusmerkkinä on palvelun helppo saatavuus. Pilvipalvelu kerää yhteen tietojenkäsittelyresursseja, joita jaetaan automaattisesti käyttäjille. Käyttäjän ei tarvitse huolehtia ohjelmistojen, palvelinten tai muiden resurssien hankinnasta vaan käyttäjä ostaa palveluntarjoalta tarvitsemansa resurssit ilman tarvetta ymmärtää käytettyjä arkkitehtuureja ja ratkaisuja niiden takana. Pilvipalvelun päällä voidaan ajaa virtuaalikoneita ja käyttäjän tarvitsemia ohjelmia tullaan suorittamaan entistä enemmän pilvipalveluiden päällä, kun nykyään suurin osa ajetaan käyttäjän omalla tietokoneella. Käyttäjä tarvitsee vain päätteen, kuten kannettavan tietokoneen tai mobiililaitteen ja hänen tarvitsemansa palvelu tarjotaan samanlaisena riippumatta millaista päätettä hän käyttää. Pilvipalveluiden tarkoitus on siis yhdistää kaikki resurssit ja antaa nämä kaikkien käyttäjien käyttöön. Periaatteessa pilvipalvelut siis voivat tarjoavat käyttöön kaiken internetin datan ja ohjelmistot[12]. 3.1 Pilvipalveluiden ominaisuudet Pilvipalveluilla on viisi perusominaisuutta[11]: 1. Tarpeen mukainen jako(on-demand): Tietojenkäsittelyresursseja voidaan jakaa dynaamisesti tarpeen mukaan, ne vapautuvat kun niitä ei enää tarvita ja niistä laskutetaan ainoastaan 9

käytön mukaan. Tämä kaikki tapahtuu automaattisesti ilman ihmistyövoimaa vaativaa ylläpitoa. 2. Laaja verkkoyhteys: Tietojenkäsittelyresurssit- ja kapasiteetti on käytettävissä normaalin verkkoyhteyden avulla. 3. Resurssien kokoaminen(resource Pooling): Resurssit jaetaan eri asiakkaille yhteisestä yksittäisestä järjestelmästä käyttämällä hyväksi fyysisiä ja virtuaalisia ominaisuuksia. 4. Nopea joustavuus(rapid Elasticity): Järjestelmä tarjoaa käyttäjille illuusion loputtomista resursseista. 5. Kyky mitata palvelua(measured Service): Pilvipalveluissa kykenee laskemaan ja tarkkailemaan käytettyjen resurssien määrää sekä raportoimaan tästä sekä käyttäjälle että palveluntarjoajalle. 3.2 Toimintamallit Pilvipalvelut voidaan jakaa kolmeen eri toimintamalliin[11]: 1. Software as a Service(SaaS). Käyttäjälle tarjotaan käyttöoikeus johonkin ohjelmistoon ilman, että käyttäjällä on hallintaa tai tietoa pilvipalvelun tai käytetyn ohjelmiston rakenteesta. 2. Platform as a Service(PaaS). Käyttäjälle tarjotaan ajonaikaisia käyttöympäristöjä ja ohjelmistonkehityskehyksiä(software development framework) verkon kautta pay-as-you-go periaatteella. Käyttäjälle nämä ovat usein erilaisia ohjelmointirajapintoja(api), esim. Google Apps Engine. 3. Infrastructure as a Service(IaaS). Käyttäjälle tarjotaan verkon kautta tietojenkäsittelyresursseja kokonaisvaltaisesti pay-as-you-go periaatteella. Käyttäjä voi ottaa käyttöön ja ajaa ohjelmistoja sekä käyttöjärjestelmiä. 3.3 Tuotantomallit Erilaisia tuotantomalleja on kuusi[11]: 10

1. Julkinen pilvi (Public Cloud): Julkiset pilvipalvelut ovat yleensä kolmansien osapuolten tarjoamia ilmaisia tai maksullisia palveluja, joita tarjotaan internetin välityksellä. Ne voivat olla esimerkiksi erilaisia ohjelmistoja tai tallennustilaa. Julkisia pilvipalveluita ovat mm. Amazon Elastic Compute Cloud(EC2), Google AppEngine ja Windows Azure Services Platform. 2. Yksityinen pilvi (Private Clouds): Yleensä jonkin organisaation suunnittelemia ja ylläpitämiä pilvipalveluja. Yksityiset pilvet on yleensä suunniteltu tuottamaan sisäisiä palveluja organisaatiolle ja se tarjoaa korkea tason hallinnan palveluihin ja pilven rakenteeseen. 3. Virtuaalinen yksityinen pilvi (Virtual Private Clouds): Virtuaalinen yksityinen pilvi antaa palveluntarjoajalle mahdollisuuden tarjota yksilöllisiä palveluja pilven käyttäjille. Asiakkaat voivat käyttää palveluntarjoajan resursseja oman yksityisen pilven muodostamiseen dynaamisesti. Yksittäinen asiakas voi kasvattaa oman pilven kokoa skaalautuvasti tarpeen mukaan. 4. (Intercloud): Palvelun käyttäjät voivat hyödyntää käytössä olevia resursseja ilman erillistä sopimusta palvelua tarjoavan tahon kanssa. Intercloud on julkinen ja avoin palvelu ja tavallaan internetin laajennos(internetissäkään ei tarvitse olla erillistä sopimusta jokaisen sivuston palveluntarjoajan kanssa ennen sivuston hyödyntämistä). 5. Yhteisöllinen pilvi (Community Cloud): Yhteisöllinen pilvi jaetaan yhteisiä kiinnostuksen kohteita omaavien organisaatioiden kesken. Näitä kiinnostuksen kohteita voivat olla mm. samanlaiset tavoiteet, tietoturvavaatimukset, menettelytavat tai toimintaohjeistus. 6. Hybridipilvet (Hybrid Cloud): Hybridipilvessä yhdistetään kaksi erityyppistä tuotantomallia(julkinen, yksityinen tai yhteisöllinen malli). Pilven eri kokonaisuudet yhdistetään toisiinsa niin joustavasti yhteentoimivaksi kokonaisuudeksi erilaisilla standardeilla tai yksityisillä tekniikoilla. 11

3.4 Pilvipalvelun hyödyt Pilvipalvelut tarjoavat perinteisestä poikkeavan tavan tarjoata tietojenkäsittelypalveluja ja -resursseja organisaatioille. Niiden ei tarvitse omistaa ja ylläpitää palveluja vaan ne voivat käyttää pilvipalvelun tarjoamia resurssia joustavasti ja skaalautuvasti tarpeen mukaan. Tästä on mm. seuraavia hyötyjä[11]: Pienemmät kulut Joustavuus Parantunut automaatio Energiatehokkuus ja ympäristöystävällisyys perinteisiin IT-keskuksiin verrattuna 3.5 Yhteisöllinen pelidatapilvikonsepti Lappeenrannan teknillisen yliopiston tietotekniikan laitoksella on pohdittu järjestelmäkonseptia yhteisölliselle pelidatapilvelle. Yhteisöllisen pelidatapilven ideana on kerätä tietoa reaalimaailman tapahtumista, hyödyntää tietoa järjestelmän päälle rakennetuiss tuotteissa sekä hyödyntää sosiaaliseen verkkoon perustuvaa lähestymistapaa, jossa jaetaan tietoa[2]. Pelidatapilveen tuottavat tietoa useat eri tahot. Pelaajien ja muiden palvelua hyödyntävien sovellusten käyttäjät tuottavat pilveen automaattisesti tietoa ihmisten liikkumisesta, käyttäytymisestä, käyttäjätapaamisista ja vuorovaikutuksesta muiden ihmisten kanssa. Yksittäiset pelit ja sovellukset luovat pilveen pelimaailman sisältöä ja erilaista pelaajatietoa. Palveluntarjoaja ja muut halukkaat tahot, kuten mainostajat voivat luoda pilveen sisältöä kaupoista, maantieteellisistä paikoista, tapahtumista ja erilaisista tageista. Kuvassa 3 on esitetty yhteisöllisen datapilven rakenne. [2] 12

Kuva 3: Yhteisöllisen datapilven rakenne [2] Yhteisöllinen pelidatapilvi tarjoaa sovellusten ja pelien kehittäjille erilaisia ohjelmointirajapintoja(api), joiden avulla datapilven päälle voidaan rakentaa omia sovelluksia ja joilla rajataan sovelluskehittäjien pääsyä dataan. Pelidatapilvi ei itsessään ole peli tai verkosto vaan sen päälle rakennetaan erilaisia pelejä ja palveluja. Pelaajat eivät näe toisiaan tai tiedä kuka teki mitäkin, mutta kaikkien käyttäjien tapahtumat vaikuttavat kaikkien käyttäjien pelikokemukseen. Poikkeuksena tästä on mahdollisuus rakentaa pilven päälle verkosto, jonka kautta voidaan pitää yhteyttä kavereiden kanssa tai pelata peliä jollakin ennalta määrätyllä peliporukalla. [2] Pelidatapilveen voidaan kerätä käyttäjätapahtumia tai vaihtoehtoisesti luodaan tapahtumia pelaajien löydettäväksi. Tapahtumia voidaan käyttää kahdella tavalla: peli palkitsee ja etenee sen mukaan mitä pelaaja on tehnyt tai pelimaailma voi määräytyä sen mukaan mitä pelaaja on tehnyt, jolloin pelimaailman sisältöä luodaan sen mukaan mitä reaalimaailmassa. [2] Pelidatapilveen kerätään mm. seuraavaa tietoa: [2] 13

paikat, joissa käyttäjä on vieraillut mielenkiintoiset kohteet(point of Interest, PoI), joita eri tahot ovat merkanneet. Näitä voivat olla käyttäjän ilmoittamat paikat, kuten lähikauppa, työpaikka, opiskelupaikka, pubi jne. Palveluntarjoaja ja mainostajat voivat myöskin merkata PoI:ja. paikat, joissa on tehty jotain, kuten maksutapahtuma, kommentti, valokuva, videopätkä jne. Reaalimaailman objektit, joiden läheisyydessä käyttäjä on vieraillut. Näitä voivat olla esimerkiksi rakennuksien 3D-mallit, erilaiset rajatut alueet, valokuvat jne. Pilveen kerättyä tietoa voidaan hyödyntää mm. seuraavasti: [2] Pelaajan vierailemien PoI:en pohjalta luodaan sisältöä peliin. Pelimaailman teema voidaan valita käyttäjän sijainnin perusteella ja pelimaailmaa voidaan luoda pelaajan lähialueella sijaitsevien rakennusten pohjalta. Peli palkitsee käyttäjää PoI:en keräämisestä. Käyttäjä voidaan palkita vaikkapa eri nähtävyyksillä käymisestä. Anonyymiä pelaajatietoa käytetään datamallina pelille. Ruuhkia ja muita käyttäytymismalleja voidaan käyttää pelimaailman mallintamiseen. Pelaajat vaikuttavat anonyymisti toisiinsa. Pelaajat voivat esimerkiksi levittää virusta pelaajasta toiseen reaalimaailman sijainnin ja pelaajien läheisyyden perusteella. 14

4. TUTKIMUSONGELMAN JA RATKAISUTAVAN ESITTELY Paikkatietoon perustuvien pelien suosio kasvaa. Lappeenrannan teknillisen yliopiston tietotekniikan osastolla tutkitaan mahdollisuutta järjestelmäkonseptiin, jossa paikkatietopelien käyttämää paikkatietoinformaatiota tallennettaisiin yhteisölliseen datapilveen, josta tieto olisi jaetusti hyödynnettävissä eri tahojen toimesta. Tämän työn tarkoitus on selvittää, onko vastaavanlaisia järjestelmiä jo olemassa, tutkia niiden rakennetta ja ominaisuuksia sekä pohtia, millainen paikkatietoa tallentavan yhteisöllisen datapilven rakenne voisi olla, mitä hyötyä siitä on ja mitä ongelmia on otettava huomioon järjestelmää rakennettaessa. Koska tämä on selvitystyö, on pääasiallinen ratkaisumenetelmä kirjallisuuskatsaus aihetta koskevaan teemakirjallisuuteen. Toteustapana on datamining asiantuntijatietokantoihin, sekä aiheeseen liittyvän muun kirjallisuuden, julkaisujen, tutkimusten sekä nettisivujen tutkiminen. Tarkoituksena on kattavan teoriaosuuden pohjalta tutkia jo olemassa olevia pilviratkaisuja, jotka soveltuvat paikkatiedon tallentamiseen. Mikäli näitä löytyy, käytetään niistä saatua käsitystä hyödyksi muodostaessa näkemystä, millainen yhteisöllisen pelipaikkatietoa tallentavan datapilven rakenne olisi oltava. 15

5. KATSAUS NYKYISIIN PAIKKATIETOPELEIHIN Ajantasalla olevaa listaa paikkatietoon perustuvista peleistä on vaikea luoda. Peliprojekteja syntyy nopeaa tahtia ja vanhoja projekteja lopetetaan. Blogeista, kuten Pasta and Vinegar[16], ja 7.5 th Floor[17] löytyy jatkuvasti päivitettävää tietoa uusista peleistä. Paikkatietopeleistä löytyy epävirallinen, lähinnä esimerkillinen lista Wikipediasta.[18] Pelit voidaan jakaa yksinään pelattaviin, yleensä liikuntapainotteisiin peleihin, joukkueina tietyllä alueella pelattaviin peleihin sekä massiiviseen moninpeleihin (MMOG), joiden pelaajat voivat olla levittäytyneinä joka puolelle maailmaa. Geokätköily(Geocaching) on kenties laajimman suosion saanut paikkatietoon perustuva peli. Siinä etsitään GPS-paikannuksen avulla muiden pelaajien piilottamia kätköjä. Kätköjä löytyy kymmeniä tuhansia ympäri maailmaa ja Suomestakin useita tuhansia. Peliä voi pelata millä tahansa GPSvastaanottimen sisältävällä laitteella. [4] Team Action Zone Oy on suomalainen yritys, joka kehittää liikkumaan innostavia ulkoilupelejä. Tällä hetkellä se tarjoaa kolmea paikkatietopohjaista peliä, joita ovat Flaghunt, TrezrHunt ja Bjong. Flaghunt on taktinen 2-4 joukkueen ulkoilupeli, jossa joukkueet keräävät virtuaalilippuja ja -aarteita. Pelaajat voivat myös asettaa virtuaaliansoja vastustajille. Pelaajat jaetaan Flaggerin ja Hunterin rooleihin ja Flaggerit opastavat komentokeskuksesta käsin Huntereita virtuaalilipuille. Kommunikointi tapahtuu teksti-chatin avulla. Trezhunt ja Bjong ovat liikuntaan kannustavia paikkatietoon perustuvia yksinpelejä. [14] Tourality on yksin- tai moninpelinä pelattava aarteenetsintäpeli. Peli tukee yleisimpiä älypuhelinten käyttöjärjestelmiä. Yksinpelissä kilpaillaan muiden aikoja vastaan ja liikkumistapa on vapaasti valittavissa. Moninpelissä voi pelata yksinään tai joukkueissa ja tavoitteena on saavuttaa PoI:ta, joista palkkioksi saadaan pelivaluuttaa, kultaa tai vastaavasti menetetään kulta rosvolle. Valuutalla voi ostaa erilaisia välineitä, kuten virtuaalinen teleportteri, auttamaan pelissä etenemistä. Touralityn pelaajat voivat Google Mapsin avulla luoda uusia kenttiä jonka lisäksi peli osaa generoida niitä satunnaisesti. [15] Kuvassa neljä on esitetty näkymä pelistä. 16

Kuva 4: Näkymä Tourality-pelistä Geo Wars on paikkatietoon perustuva Android-pohjainen MMOG, johon osallistuu samanaikaisesti suuri määrä pelaajia. Se käyttää alustana Google Maps karttoja. Pelin tavoitteena on valloittaa ja pitää hallussa alueita ja siinä voidaan muodostaa liittoja ja suunnitella hyökkäyksiä yhdessä muiden pelaajien kanssa. [19] 17

6. PAIKKATIETOPELIEN KEHITYSYMPÄRISTÖT Tässä luvussa esitellään paikkatietopelien kehitysympäristöjä ja työkaluja, jotka perustuvat pilvipalveluun tai ovat muuten mielenkiintoisia tutkimusongelman kannalta. 6.1 SimpleGEO SimpleGeo on pilvipalvelu, joka tarjoaa skaalautuvan rajapinnan paikkatiedon tallentamiseen, hallintaan ja kyselyihin. Se sisältää erilaisia työkaluja paikkatietodatan analysointiin ja erilaisia sovelluskehitystyökaluja. Sen avulla voi rakentaa sovelluksia Android-, ios- ja Windows phone pohjaisille mobiililaitteille sekä tehdä web-sovelluksia. [20] SimpleGeo on melko uusi projekti(lanseerattu vuonna 2010) ja se on vielä kehitysvaiheessa. Järjestelmä muuttuu koko ajan ja tämänkin työn tekoaikana siihen tuli muutoksia. Tällä hetkellä se ei tarjoa kaikkien käyttäjien tallettamia paikkatietoja kaikista henkilöistä, vaan järjestelmä on jaettu yksittäisen sovelluskehittäjän tallettamiin yksityisiin paikkatietoihin(simplegeo Storage) ja SimpleGeon tarjoamiin julkisiin tietoihin(simplegeo Context, SimpleGeo Places). Toistaiseksi se tarjoaa melko rajalliset mahdollisuudet paikkatietoon perustuvien pelien kehittäjille, jos vaatimuksena on tieto erilaisten ihmismassojen liikkeistä ja tekemisistä. Kaikki SimpleGeo:n tallentama data on GeoJSON formaatissa, joka perustuu JavaScript Object Notation(JSON) formaattiin[3]. GeoJSON olioon voidaan tallentaa geometria, ominaisuus tai useita ominaisuuksia. SimpleGeo tarjoaa viisi erilaista palvelua: [20] 6.1.1. SimpleGeo Storage SimpleGeo Storage on rityisesti paikkatietodatan tallentamiseen räätälöity, nopea tietokanta. Kaikki tieto talletetaan GeoJSON olioina, mutta tieto voidaan tuoda tietokantaan myös GeoRSS, Keyhole Markup Language(KML), ESRI Shapefile ja CSV-muodossa. SimpleGeo Storage koostuu tasoista(layer), jotka vastaavat tietokannan tauluja. Näihin talletetaan tietueita(record), joilla on erilaisia ominaisuuksia(property). 18

Kuva 5: Esimerkki SimpleGeo Storagen tietokannan tietueesta Kuvassa 2 on yksinkertainen esimerkki tietueesta, jolla on erilaisia ominaisuuksia. 6.1.2. SimpleGeo Context Tarjoaa paikkatietoliitännäistä informaatiota. Parametreina annetaan jonkin paikan koordinaatit, osoite tai IP-osoite sekä valinnainen filtteri halutun informaation saamiseksi ja SimpleGeo Context palauttaa jäsenneltyä tietoa kyseisestä paikasta. Käyttäjälle tarjotaan mm. osoitetietoja, säätietoja, tietoa paikkaa rajaavista alueista, väestötieteellistä tilastoa sekä tietoja muista paikan ominaisuuksista. Väestötieteelliset tilastot sisältävät US Census Bureaun 2005-2009 American Community Survey 5-year estimates. Ne on ennalta talletettuja, sisältävät tietoja ainoastaan Yhdysvalloista eivätkä ole dynaamisia. 6.1.3. SimpleGeo Places Point-of-interest tietokanta, joka tarjoaa yli 22 miljoonaa (18.11.2011) PoI:in tiedot käytettäväksi. Käyttäjät voivat rajoitetusti muokata ja lisätä PoI:ja, mutta järjestelmä ei ole tällä hetkellä 19