Skip to main content
Login | Suomeksi | På svenska | In English

Browsing by Author "Lonardi, Jarno"

Sort by: Order: Results:

  • Lonardi, Jarno (2021)
    Tutkimuksessa tutustutaan verkkoselaimen uusiin rajapintoihin ja niiden soveltamiseen pelien kehityksessä. Viimeisten vuosien aikana kaikki suosituimmat selaimet ovat alkaneet tukea uusia HTML5-, WebGL- ja WebAssembly rajapintoja. Nämä rajapinnat mahdollistavat useita tärkeitä asioita peleille kuten laitteistokiihdytetyn 3D-grafiikan esittämisen, suorituskykyisen koodin suorittamisen ja esimerkiksi peliohjaimen tilan lukemisen. Tutkielma on konstruktiivinen ja rajapintojen soveltuvuus koestetaan kahden kokeellisen pelin avulla. Tarkoituksena on yrittää todentaa rajapintojen soveltuvuus pelien kehittämiseen sekä tutkia millaisia työkaluja, esimerkiksi pelimoottoreita, on olemassa. Ensimmäinen peleistä toteutetaan käyttäen ainoastaan selaimen rajapintoja ja toinen käyttäen olemassa olevaa pelimoottoria, joka on rakennettu näiden rajapintojen päälle. Lisäksi työssä yritetään löytää ongelmakohtia, jotka liittyvät selainpelien kehitykseen. Pelkästään selaimen rajapintoja käyttäen on mahdollista toteuttaa suorituskykyisiä 3D-pelejä, mutta etenkin WebAssembly on vielä vahvasti kehityksen alla. WebAssemblyn käyttö on melko hankalaa ja se vaatii ympärilleen työkaluja, jotta sitä voidaan hyödyntää kehitystyössä tehokkaasti. Sen sijaan HTML5- ja WebGL-rajapinnat ovat helposti käytettäviä rajapintoja, joihin löytyy suuri määrä käärekirjastoja, jotka tekevät etenkin WebGL-rajapinnan käytöstä hyvin yksinkertaista. Pelimoottorit ovat alkaneet myös hyödyntää näitä uusia rajapintoja. Esimerkiksi Unitypelimoottori ei vaadi enään erillisen liitännäisen asentamista selaimeen. Unityn ja muiden selainpelimoottorien avulla pystytään hyvin tehokkaasti tuottamaan 3D-pelejä selaimelle. Vaikka nykyisin näyttäviä pelejä voidaan toteuttaa selaimelle, niihin liittyy useita ongelmia. Pelien 3D-mallien suuri koko ja niiden siirtämien verkon yli on hidasta ja kopionsuojaus on hankalaa sillä pelin lähdekoodi pitää aina ladata käyttäjän koneelle. Lisäksi peliä suorittava laitteisto on tuntematon ja sitä ei voida rajata hyvän pelikokemuksen saavuttamiseksi kuten esimerkiksi mobiilipeleissä tehdään