Selainpelien pelimoottorit

Samankaltaiset tiedostot
arvostelija OSDA ja UDDI palveluhakemistoina.

Työn laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages

Pro gradu -tutkielma Meteorologia SUOMESSA ESIINTYVIEN LÄMPÖTILAN ÄÄRIARVOJEN MALLINTAMINEN YKSIDIMENSIOISILLA ILMAKEHÄMALLEILLA. Karoliina Ljungberg

Aika/Datum Month and year Kesäkuu 2012

Maailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan

Koht dialogia? Organisaation toimintaympäristön teemojen hallinta dynaamisessa julkisuudessa tarkastelussa toiminta sosiaalisessa mediassa

! #! %! & #!!!!! ()) +

Luonnontieteiden popularisointi ja sen ideologia

Katsaus korruption vaikutuksesta Venäjän alueelliseen talouskasvuun ja suoriin ulkomaisiin investointeihin

Tiedekunta/Osasto Fakultet/Sektion Faculty Valtiotieteellinen tiedekunta

Hallintomallit Suomen valtionhallinnon tietohallintostrategioissa

C-ohjelmointikielen perusteet, osa 1

Oppimateriaalin kokoaminen ja paketointi

Asuntojen neliöhinnan vaihtelu Helsingissä ( )

!"#$%&'$("#)*+,!!,"*--.$*#,&--#"*/".,,%0

Laskennallinen yhteiskuntatiede

Dominointianalyysi. Teppo Niinimäki. Helsinki Approksimointialgoritmit HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Arkkitehtuurinen reflektio

Seminaari: HL7 versio 2

Raspberry Pi. Yhden piirilevyn tietokone. Tässä dokumentissa kerrotaan yleistä tietoa Rasberry Pi- tietokoneesta ja. sen toiminnoista.

Malliperustainen ohjelmistokehitys (Model-Driven Engineering, MDE)

HTML5 Tutkielma Centria ammattikorkeakoulu Paavo Räisänen

CT50A2601 Käyttöjärjestelmät Androidin ja Symbianin vertailu Seminaarityö

Jouko Nielsen. Ubuntu Linux

OpenUP ohjelmistokehitysprosessi

UCOT-Sovellusprojekti. Asennusohje

WINE API ja Virtualisointiohjelmistot

ELM GROUP 04. Teemu Laakso Henrik Talarmo

Tutkittu totuus globaalista ohjelmistokehityksestä

Demo 13. Aihe: Linux. Opettaja: Antti Ekonoja. Tekijä: Heini Puuska

ARVO - verkkomateriaalien arviointiin

Octave-opas. Mikä on Octave ja miksi? Asennus

MEMS-muisti relaatiotietokannoissa

KANSILEHDEN MALLISIVU

PN-puu. Helsinki Seminaari: Tietokannat nyt HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

HTML5 video, audio, canvas. Mirja Jaakkola

KYMIJOEN VAELLUSKALOJEN NOUSUREITTIEN AVAAMISEN KUSTANNUSTEN JA HYÖTYJEN ARVIOINTI

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012

SQLite selvitysraportti. Juha Veijonen, Ari Laukkanen, Matti Eronen. Maaliskuu 2010

Historiaa. Unix kirjoitettiin kokonaan uudestaan C-kielellä Unix jakautui myöhemmin System V ja BSDnimisiin. Kuutti, Rantala: Linux

Pelinkehittäjäkoulutus. Jouni Huotari

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245

Ohjelmointi 1 / syksy /20: IDE

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

KYMENLAAKSON AMMATTIKORKEAKOULU. Ubuntu. Yukun Zhou

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

Ohjelmointileirin järjestäminen

Microsoft Visual Studio 2005

Useaa tietolähdettä käyttävä klusterointi

Kliininen dokumentaatio

HTML5 PELIKEHITYKSESSÄ

Palvelutasosopimukset ja niiden asema IT-ulkoistuksissa

Projektityö ja pelikehitys

PLA Mobiiliohjelmointi. Mika Saari

Projektinhallintaa paikkatiedon avulla

Maiju Mykkänen Susanna Sällinen

WWW-Sivustojen suunnittelu. Miten WWW toimii. Suunnittelun lähtökohdat

WWW-Sivustojen suunnittelu

ZENHARJOITUS HELSINKI ZEN CENTERISSÄ

Micro:bit. Käyttöohje. Innokas verkosto Petja Pyykkönen, Saimaan mediakeskus Käyttöohje / 2016 Innokas

CVS. Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen

Kieliversiointityökalu Java-ohjelmistoon. Ohje

ruovedellä pohjois-hämeessä. lepounit.com (yritys) lepo.net (oma)

Hajautettujen työvoiden hallinta

Tähtitieteen käytännön menetelmiä Kevät 2009

Pelisuunnittelua tulevaisuudessa. Karoliina Korppoo / Colossal Order

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka

Unifaun OnlinePrinter

Valteri-koulu Tervaväylässä käytettäviä mobiilisovelluksia

Ohje sähköiseen osallistumiseen

Visual Basic -sovelluskehitin Juha Vitikka

arvostelija Turvallisuuskriittisissä, sulautetuissa järjestelmissä esiintyvien ohjelmistovaatimusten virheanalyysi Jarkko-Juhana Sievi

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

S11-09 Control System for an. Autonomous Household Robot Platform

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

Sivuston nopeus. Sivullasi on 2 uudelleenohjausta. Uudelleenohjaukset viivästyttävät sivun lataamista.

Sivuston nopeus. Sivullasi ei ole uudelleenohjauksia. Lue lisää aloitussivun uudelleenohjausten välttämisestä.

ARTIVA-seminaari

HAKURATKAISUN ANATOMIA - KURKISTUS PELLIN ALLE

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

SISÄLLYS 1 YLEISTÄ VERSIOT Tukiaika Variaatiot OHJELMISTO Paketinhallinta Komentorivisyntaksi

ALEMMAT TOIMIHENKILÖNAISET UUSI, ERILLINEN SUKUPUOLISPESIFI YHTEISKUNTALUOKKA?

Suomen virtuaaliammattikorkeakoulu Boolen operaattorit v. 0.5 > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)

Ohje sähköiseen osallistumiseen

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

VisualStudio Pikaopas, osa 1: WEB-sivujen suunnittelu

Sovelmat. Janne Käki

Suomen virtuaaliammattikorkeakoulu Tapauskertomus tietojärjestelmähanke > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)

oppimispeli esi- ja alkuopetusikäisten lasten matemaattisten taitojen tukemiseen

TYPO3 - Open Source Enterprise CMS

Sivuston nopeus. (vanhentumista ei ole määritetty)

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

TIES474 Pelinkehityshaaste Kesä syklin purku & 2. aloitus. Jukka Varsaluoma

PLA Mobiiliohjelmointi. Mika Saari

PLAY. TP1 Musiikkikasvatusteknologia Notaatio 2 ja yhteistoiminnallinen nuotinkirjoitus Jarmo Kivelä, projektikoordinaattori

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

Opettajatuutorointi-kurssin syksyn 2006 kyselyjen tulokset

Convergence of messaging

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

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

Transkriptio:

Selainpelien pelimoottorit Teemu Salminen Helsinki 28.10.2017 Seminaaritutkielma Helsingin yliopisto Tietojenkäsittelytiede

! 1 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta Fakultet Faculty Matemaattis-luonnontieteellinen tiedekunta Laitos Institution Department Tietojenkäsittelytieteen laitos Tekijä Författare Author Teemu Salminen Työn nimi Arbetets titel Title Selainpelien pelimoottorit Oppiaine Läroämne Subject Tietojenkäsittelytiede Työn laji Arbetets art Level Seminaaritutkielma Aika Datum Month and year 28.10.2017 Sivumäärä Sidoantal Number of pages 9 sivua + 0 liitesivua Tiivistelmä Referat Abstract HTML5-selainpeleille on tehty suuri määrä pelimoottoreita sen jälkeen, kun HTML5 julkaistiin virallisesti vuonna 2014. HTML5 mahdollisti helpon grafiikan piirtämisen JavaScriptillä, mikä puolestaan avasi uuden aikakauden selainpeleille ja samalla niiden pelimoottoreille. Suosituimpia HTML5-pelimoottoreita ovat olleet mm. Construct 2, Phaser ja PlayCanvas. Jokaisella niistä on ollut hyvin erilainen lähestymistapa HTML5-pelien tekemiseen. Construct 2 on panostanut graafiseen käyttöliittymään ja helppokäyttöisyyteen, Phaser on keskittynyt JavaScriptin hyödyntämiseen 2D-grafiikassa ja PlayCanvas on tavoitellut laadukasta 3D-grafiikkaa ja -animaatiota. Niillä kaikilla on oma lokeronsa riippuen kehittäjän omista tavoitteista. ACM Computing Classification System (CCS): Application specific development environments Integrated and visual development environments Avainsanat Nyckelord Keywords HTML5, JavaScript, selainpelit, pelimoottorit Säilytyspaikka Förvaringsställe Where deposited Muita tietoja Övriga uppgifter Additional information

! 2 Sisältö 1 Johdanto 3 2 Construct 2 4 3 Phaser 5 4 PlayCanvas 6 5 Vertailua 7 6 Yhteenveto 8 Lähteet 9

! 3 1 Johdanto Selainpelejä on pitkään kehitetty erilaisilla selaimen lisäosilla, kuten Flashilla tai Javalla, mutta HTML5:n virallinen julkaisu vuonna 2014 merkitsi uuden ajan alkua selainpeleille. Sen jälkeen on alkanut olla mahdollista pelata yhä laadukkaampia selainpelejä ilman asennuksia, käyttäen pelkästään suoraan selaimessa toimivia HTML5-elementtejä ja JavaScriptiä [1]. Etenkin HTML5:n mukana tullut <canvas>-elementti on mahdollistanut selaingrafiikan helpon piirtämisen JavaScriptillä. Samalla selainpelien kehittäjien käyttöön on tullut kymmenittäin HTML5- pelimoottoreita. Niiden suosio, laatu ja toteutustavat ovat olleet vaihtelevia, mutta parhaat niistä ovat olleet jopa suurimpien peliyhtiöiden kuten Disneyn käytössä. Seuraavaksi tarkastellaan tarkemmin kolmea HTML5-pelimoottoria, jotka ovat olleet suosituimpien ja arvostetuimpien joukossa. Nämä pelimoottorit ovat Construct 2, Phaser ja PlayCanvas.

! 4 2 Construct 2 Kuva 1: Construct 2 -pelimoottorin käyttöliittymä [3]. Construct 2 on tällä hetkellä suosituin HTML5-pelimoottori HTML5 Game Engines -sivuston mukaan [2], ja se on selvästi eniten aloittelijoille suunnattu HTML5-pelimoottori. JavaScript- tai muuta ohjelmointia siinä ei ole lainkaan, vaan käyttöliittymä on täysin graafinen. Construct 2 on käytännössä Windows-työpöytäohjelma, jolla voi tehdä drag-anddrop -periaatteella 2D-pelejä. Kaikki graafiset elementit asetetaan paikoilleen raahaamalla ne ruudulla haluttuihin kohtiin, ja pelitapahtumat luodaan omalla tapahtumakäyttöliittymällä, joka tekee suuren osan työstä kehittäjän puolesta. Pääasiassa pelikehittäjän harteille jää siis vain luoda 2D-elementit ja miettiä, millaisia pelitapahtumia peliin tulee. Rajoituksena pelimoottorissa on se, että ilmaisversiosta puuttuu monia ominaisuuksia. Muun muassa moninpeli puuttuu siitä kokonaan [3]. Lisäksi 3Dgrafiikkaa ei ole mahdollista käsitellä, vaan kaikki perustuu 2D-grafiikkaan.

! 5 3 Phaser Kuva 2: Phaser Sandbox -käyttöliittymä [4]. Phaser on toinen suosittu HTLM5-pelimoottori, joka on suunnattu JavaScriptiä osaaville web-kehittäjille. Graafisia apuvälineitä pelinkehitykseen ei ole, mutta toisaalta siinä on paljon työkaluja JavaScriptin hyödyntämiseen 2D-peligrafiikan käsittelyssä. Phaser on käytännössä vain JavaScript-kirjastotiedosto, jonka funktioiden käyttäminen helpottaa peligrafiikan piirtämistä. Lisäksi Phaserille on tarjolla Phaser Sandbox -niminen työkalu, jossa voi lähteä kehittämään ja testaamaan Phaserilla toimivaa peliä suoraan selaimessa [4]. Phaser vaatii kuitenkin alkuun pääsemiseen enemmän opettelua kuin Construct 2. Toisin kuin Construct 2, Phaser on täysin ilmainen ja avointa lähdekoodia. Sitä voi siis hyödyntää isoissakin projekteissa ilman maksuja tai rajoituksia. Lisäksi se toimii millä tahansa alustalla, koska sen käyttö vaatii periaatteessa vain tekstinkäsittelyohjelman. 3D-grafiikkaan Phaser ei kuitenkaan sovellu.

! 6 4 PlayCanvas Kuva 3: PlayCanvas-editorin käyttöliittymä [5]. PlayCanvas on myös yksi suosituimmista HTML5-pelimoottoreista, ja sen erikoisuutena on keskittyminen 3D-grafiikkaan. Toisin kuin Construct 2 tai Phaser, PlayCanvas antaa varsin monipuoliset työkalut 3D-pelien kehittämiseen. JavaScript-kirjaston lisäksi PlayCanvas tarjoaa selaimessa toimivan editorin, jolla voi visuaalisesti luoda 3D-malleja ja -pelialueita. Graafinen 3D-mallinnus voi helpottaa kehitystä tuntuvasti, ja graafisiin komponentteihin voi myös suoraan yhdistää JavaScript-skriptejä. PlayCanvas on työkaluna sen verran arvostettu, että sillä on tehty pelejä ja muuta 3D-grafiikkaa korkean profiilin organisaatioissa, kuten Samsungilla ja Disneyllä [5]. PlayCanvas-pelimoottorin JavaScript-kirjasto on ilmainen ja avointa lähdekoodia. PlayCanvas vaatii kuitenkin maksuja tietyistä ominaisuuksista, kuten yksityisten projektien perustamisesta tai selaineditorilla tehtyjen tuotosten viemisestä omalle tietokoneelle [5].

! 7 5 Vertailua Construct 2 Phaser PlayCanvas 2Dgrafiikka 3Dgrafiikka Windowstuki Mac-tuki Linux-tuki Avoin lähdekoodi Täysin graafinen käyttöliitty mä Selainpohja inen kehitysymp äristö tarjolla Kuva 4: Pelimoottorien ominaisuuksien vertailua [2, 3, 4, 5].

! 8 Kuten yllä olevasta taulukosta näkee, näillä kolmella HTML5-pelimoottorilla on jokaisella oma kohdeyleisönsä. Construct 2 on suunnattu aloitteleville pelinkehittäjille, joilla ei ole merkittävää ohjelmointikokemusta. Phaser sen sijaan on suunnattu JavaScript-kehittäjille, jotka ovat kiinnostuneita HTML5-pelien tekemiseen. PlayCanvas on suunniteltu 3D-grafiikan käsittelyyn selaimessa pääasiassa HTML5-peleissä, mutta myös muissa tarkoituksissa. Se, mikä näistä pelimoottoreista soveltuu kehittäjän omiin tarkoituksiin, riippuu täysin kehittäjästä. 6 Yhteenveto HTML5-selainpeleille on tehty suuri määrä pelimoottoreita HTML5:n virallisen julkaisun jälkeen. Suosituimpiin näistä ovat kuuluneet Construct 2, Phaser ja PlayCanvas. Jokaisella pelimoottorilla on oma kohdeyleisönsä, joten vaikka niiden suosio vaihtelee jatkuvasti, ei suuren pelimoottorivalikoiman olemassaoloa voi pitää turhana. Uusia HTML5-pelimoottoreita julkaistaan todennäköisesti jatkossa yhä enemmän ja nykyisistä tulee myös uusia versioita. Jos on kiinnostunut selainpelien kehittämisestä, lähivuodet tulevat olemaan kiinnostavaa aikaa.

! 9 Lähteet [1] Jon Peddie, Play serious games in your browser, 2016. https:// www.computer.org/web/chasing-pixels-finding-gems/content? g=54397843&type=article&urltitle=play-serious-games-in-your-browser. [16.10.2017] [2] https://html5gameengine.com [16.10.2017] [3] https://www.scirra.com [16.10.2017] [4] https://phaser.io [16.10.2017] [5] https://playcanvas.com [16.10.2017]