Quantum, deterministisen pelimoottorin tuomat hyödyt ja tehokkuudet pelinkehityksessä : Deterministinen moninpeli-pelimoottori Unityssä
Mäkinen, Henri (2024)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2024060722090
https://urn.fi/URN:NBN:fi:amk-2024060722090
Tiivistelmä
Pelialan verkkomoninpelien kehittäminen on aina ollut haastavampaa kuin yksinpelien kehittäminen. Tästä syystä verkkomoninpelien kehitystä on yritetty helpottaa, yksinkertaistaa ja tehostaa ensimmäisten verkkomoninpelien ilmestymisestä asti. Nykypäivän verkkomoninpelien kehityksessä hyödynnetään erilaisia pelimoottorin deterministisyyteen pohjautuvia, ohjelmallisia kooditekniikoita korjaamaan verkon yli pelaamisesta aiheutuvia verkkoongelmia. Pelimoottorin riittävä deterministisyys varmistaa yhdistäneiden pelaajien responsiivisen ja sulavan pelikokemuksen, mutta pelinkehittäjien pitää käyttää täysin determinististä pelimoottoria tai ylläpitää deterministisyyttä ohjelmoidessa epädeterministisellä pelimoottorilla.
Unity Technologies tarjoaa Unity-pelimoottoria, joka on laajasti käytössä oleva epädeterministinen pelimoottori. Unity tarjoaa omia moninpelikehityspaketteja kehittäjien käyttöön käytettäväksi Unity-pelimoottorin päällä, jotka ovat osaksi deterministisiä ja pyrkivät deterministisyyteen verkkomoninpelitoiminnallisuuksia käsitellessä. Photon Engine tarjoaa erilaisia verkkomoninpelikehityspaketteja käytettäväksi Unity-pelimoottorin päällä, joista Quantum-kehityspaketti on täysin deterministinen.
Työn tavoitteena oli selvittää täysin deterministisen pelimoottorin tuomat hyödyt ja tehokkuudet pelinkehityksessä kahden Unity-prototyypin toteutuksen kautta. Ensimmäisen prototyypin toteutus tehtiin osaksi deterministisellä Unity Netcode for Entities-paketilla, kun taas toisen prototyypin toteutus tehtiin täysin deterministisellä Unity Photon Quantum-paketilla.
Opinnäytetyön tuloksina saatiin realistinen kuva verkkomoninpelien deterministisyyden ylläpidosta ja toteutuksien työnkulusta Entities- ja Quantum-paketeilla. Tämän lisäksi ymmärrettiin pakettien verkkomoninpelikehityksen toimintoja ja vahvuuksia.
Unity Technologies tarjoaa Unity-pelimoottoria, joka on laajasti käytössä oleva epädeterministinen pelimoottori. Unity tarjoaa omia moninpelikehityspaketteja kehittäjien käyttöön käytettäväksi Unity-pelimoottorin päällä, jotka ovat osaksi deterministisiä ja pyrkivät deterministisyyteen verkkomoninpelitoiminnallisuuksia käsitellessä. Photon Engine tarjoaa erilaisia verkkomoninpelikehityspaketteja käytettäväksi Unity-pelimoottorin päällä, joista Quantum-kehityspaketti on täysin deterministinen.
Työn tavoitteena oli selvittää täysin deterministisen pelimoottorin tuomat hyödyt ja tehokkuudet pelinkehityksessä kahden Unity-prototyypin toteutuksen kautta. Ensimmäisen prototyypin toteutus tehtiin osaksi deterministisellä Unity Netcode for Entities-paketilla, kun taas toisen prototyypin toteutus tehtiin täysin deterministisellä Unity Photon Quantum-paketilla.
Opinnäytetyön tuloksina saatiin realistinen kuva verkkomoninpelien deterministisyyden ylläpidosta ja toteutuksien työnkulusta Entities- ja Quantum-paketeilla. Tämän lisäksi ymmärrettiin pakettien verkkomoninpelikehityksen toimintoja ja vahvuuksia.