Kandidaatintyön Loppuraportti
Total Page:16
File Type:pdf, Size:1020Kb
Lappeenrannan teknillinen yliopisto LUT Kauppatieteet ja tuotantotalous Tietotekniikan koulutusohjelma Kandidaatintyö Kimmo Bordi MOBIILIPELIEN KEHITYS JA JULKAISU MONIALUSTAKEHITYSTYÖKALUJA HYÖDYNTÄEN Työn tarkastaja: TkT Jussi Kasurinen Työn ohjaaja: TkT Jussi Kasurinen TIIVISTELMÄ Lappeenrannan teknillinen yliopisto LUT Kauppatieteet ja tuotantotalous Tietotekniikan koulutusohjelma Kimmo Bordi Mobiilipelien kehitys ja julkaisu monialustakehitystyökaluja hyödyntäen Kandidaatintyö 2015 69 sivua, 13 kuvaa, 4 taulukkoa Työn tarkastaja: TkT Jussi Kasurinen Hakusanat: Android, iOS, Windows Phone, HTML5, pelikehitys, monialustatyökalut Keywords: Android, iOS, Windows Phone, HTML5, game development, cross-platform tools Tässä kandidaatintyössä esitellään mobiilimarkkoiden pirstaloitumisongelma, ja se millaisia haasteita kehittäjät voivat kokea kehittäessään sovelluksia, jotka tukevat useampia mobiilialustoja. Lisäksi työssä esitellään erilaisia mobiilisovelluksissa käytettäviä monetisaatiomalleja. Työssä tarkastellaan myös monialustakehitystyökalujen ja HTML5- tekniikan soveltuvuutta mobiilialustojen kehityshaasteiden ratkaisemiseen. Työn lopuksi toteutetaan ja julkaistaan käytännön pelisovellus monialustatyökalulla eri alustoja tukien. Tämän demosovelluksen avulla perehdytään julkaisuprosesseihin käytännössä, tuoden esille eri alustojen asettamia vaatimuksia kehittäjälle. ii ABSTRACT Lappeenranta University of Technology LUT School of Business and Management Degree Program in Computer Science Kimmo Bordi Development and publishing of mobile games using cross-platform tools Bachelor’s Thesis 2015 69 pages, 13 figures, 4 tables Examiner: D.Sc. (Tech.) Jussi Kasurinen Keywords: Android, iOS, Windows Phone, HTML5, game development, cross-platform tools This Bachelor's thesis examines the fragmentation problem present in the current mobile markets and the problems that mobile developers are facing when developing mobile apps supporting multiple mobile platforms. This thesis also covers different monetization methods that are widely used in the current mobile apps. This thesis also brings forward ways on how cross-platform tools and techniques like HTML5 alleviate the problems present in mobile app development. As a part of this thesis, a simple mobile game supporting multiple platforms is implemented and published to the platforms' marketplaces. This demo app is used to get first hand experience in the publishing processes, observing the different requirements of the platforms that are set for the app developers. iii ALKUSANAT Tämä kandidaatintyö on tehty osana opintojani Lappeenrannan teknillisen yliopiston tietotekniikan koulutusohjelmassa. Haluan kiittää kaikkia, jotka ovat olleet tukenani opintojeni aikana. Lisäksi haluan kiittää Suomen ilmaista koulutusjärjestelmää, joka on mahdollistanut kaikki huolettomat opintovuoteni tähän mennessä. iv SISÄLLYSLUETTELO 1 JOHDANTO.............................................................................................................................4 1.1 Tausta................................................................................................................................4 1.2 Työn tavoitteet ja rajaukset...............................................................................................5 1.3 Työn rakenne.....................................................................................................................6 2 MOBIILIALUSTAT JA NIIDEN EKOSYSTEEMIT.............................................................8 2.1 Android.............................................................................................................................8 2.2 iOS...................................................................................................................................10 2.3 Windows Phone..............................................................................................................11 2.4 Markkinaosuudet.............................................................................................................12 3 MOBIILISOVELLUSTEN MONETISAATIOMALLIT......................................................15 3.1 Premium-malli.................................................................................................................15 3.2 Freemium-malli...............................................................................................................16 3.3 Tilauspohjainen malli......................................................................................................17 3.4 Mainosratkaisut...............................................................................................................18 3.5 Sovelluspaikkojen tuki monetisointimalleille.................................................................19 3.6 Yhteenveto monetisaatiomalleista...................................................................................20 4 MONIALUSTAKEHITYSTYÖKALUJEN KÄYTTÖ PELINKEHITYKSESSÄ...............22 4.1 Mobiilialustojen monimuotoisuus...................................................................................23 4.2 Monialustakehitysratkaisujen perustyypit.......................................................................27 4.3 HTML5-teknologia.........................................................................................................31 4.4 Monialustatyökaluratkaisujen tehtävät............................................................................33 5 ALUSTOJEN ASETTAMAT VAATIMUKSET KEHITTÄJÄLLE.....................................38 5.1 Laitteiston pirstaloituneisuus...........................................................................................38 5.2 Kehitysympäristövaatimukset.........................................................................................40 5.3 Laskutus ja monetisaatiotoiminnot..................................................................................42 5.4 Alustakohtaiset suunnitteluperiaatteet.............................................................................43 6 KÄYTÄNNÖN PELIPROJEKTIN ESITTELY.....................................................................44 6.1 GameMaker: Studio........................................................................................................44 6.2 Peli-idea ja toteutus.........................................................................................................44 1 6.3 Käytännön vaatimukset monialustajulkaisua ajatellen...................................................49 7 JULKAISUPROSESSIN KULKU KÄYTÄNNÖSSÄ..........................................................52 7.1 Google Play -julkaisu......................................................................................................52 7.2 App Store -julkaisu.........................................................................................................54 7.3 Windows Phone Store -julkaisu......................................................................................56 7.4 Julkaisuprosessien yhteenveto ja vertailu.......................................................................57 8 YHTEENVETO......................................................................................................................59 LÄHTEET..................................................................................................................................60 2 SYMBOLI- JA LYHENNELUETTELO APK Android Application Package CSS Cascading Style Sheets DVM Dalvik Virtual Machine HTML Hypertext Markup Language IPA Apple Application Package JDK Java Development Kit JS JavaScript JVM Java Virtual Machine OHA Open Handset Alliance OpenGL Open Graphics Library URL Uniform Resource Locator W3C World Wide Web Consortium WHATWG Web Hypertext Application Technology Working Group XAP Windows Phone Package 3 1 JOHDANTO Tässä johdanto-osiossa esitellään lyhyesti työn aihealueeseen liittyviä taustaseikkoja. Lisäksi osiossa rajataan työlle asetetut tavoitteet ja rajaukset, sekä käydään läpi työn rakenne osiokohtaisesti. 1.1 Tausta Mobiililaitteet ovat kehittyneet hurjasti viimeisen vuosikymmenen aikana. Nykyisin mobiililaitteiden suorituskyky ja käytettävyys mahdollistavat yhä monipuolisempien sovellusten, sekä etenkin pelien suorittamisen laitteilla. ICT-alan konsultointiyritys Gartner arvioi, että vuoteen 2017 mennessä mobiilisovellusmarkkinoiden liikevaihto ylittää 77 miljardia Yhdysvaltain dollaria [1]. Tässä valossa ei olekkaan hankala ymmärtää miksi sovellusten kehittämisestä on muodostunut erittäin suosittu ja kannattava bisnesalue. Huomattavaa mobiilipelaamisen yleistymisessä on se seikka, etteivät mobiilipelit keskimäärin ole monimutkaisuudeltaan perinteisiä mittavia työpöytä- tai konsolipelejä vastaavalla tasolla. Tämä johtuu enimmäkseen siitä, että käyttäjien odotukset mobiilipeleistä ja niiden massiivisuudesta eivät ole läheskään yhtä vaativia. Laajuudeltaan yksinkertaisempien pelien suosio on tuonut alalle sen mullistuksen, ettei pelien kaupallisen potentiaalin valjastamiseen enää välttämättä tarvita suuria kehitystiimejä tai nimekkäitä julkaisijoita, vaan myös pienemmillä toimijoilla on mahdollisuuksia menestyä markkinoilla. Siinä missä mobiilisovellusmarkkinat olivat vielä ennen, viimeisen vuosikymmenen aikana tapahtunutta mobiililaitteiden buumia, olleet hyvin pirstaloituneita – ovat nykyisin markkinoiden suuret pelurit kuten Apple, Google ja Microsoft muodostaneet omia ekosysteemejään menestyneiden laite- ja palvelutarjontansa ympärille. Näiden suurien ekosysteemien muodostuminen