Viiveenestomenetelmät online-peleissä
Aittola, Teemu (2023)
Aittola, Teemu
2023
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2023111930028
https://urn.fi/URN:NBN:fi:amk-2023111930028
Tiivistelmä
Tämän opinnäytetyön tarkoitus oli selvittää parhaat tekniikat viiveen minimointiin kilpailullisten videopelien yhteydessä. Selvitin myös mistä pelaajien kokema viive johtuu ja mikä sitä aiheuttaa. Peligenret, joita tarkas-telin tässä opinnäytetyössä, olivat ensimmäisen persoonan ammuntapelit ja taistelupelit. Kummatkin näistä genreistä sisältävät pelejä, jotka ovat erittäin kilpailullisia ja kärsivät rajusti pienimmästäkin koetusta viivees-tä.
Taistelupelien yhteydessä tutkin rollback netcodea ja sen ylivoimaisesti suosituinta versiota GGPO:ta. Roll-back netcode on viiveenesto tekniikka, jota käytetään pääasiassa taistelupeleissä, mutta sen käyttö on myös onnistunut haarautumaan muihin peligenreihin. Toimintatapansa vuoksi rollback netcode on yhä yksi suosi-tuimmista tekniikoista mitä taistelupelit käyttävät. Sen avulla kaikki mitä pelaaja näkee, on sulavaa, vaikka tosiasiassa itse pelin sisällä asiat voivat ollakin toisin. Rollback perustuu pelaajan seuraavan syötteen ennus-tamiseen ja mitä paremmin ennustus onnistuu niin sitä sulavampi pelaajan kokemus tulee olemaan.
Tekniikka, jota ensimmäisen persoonan ammuntapelit yleisimmin käyttävät on client-side prediction. Client-side prediction on jo pitkään käytetty tekniikka, joka on ollut osana viiveen estämisessä jo 90-luvulta alka-en. Toisin kuin rollback netcode, client-side predictionista ei ole olemassa mitään yksittäistä suosittua ver-siota. Client-side prediction rakentuu pelaajan antamaan syötteeseen ja vastaukseen, joka tulee serverin puolelta analysoinnin jälkeen.
Nämä kaksi erilaista tekniikkaa pystyvät ratkaisemaan erittäin tärkeitä ongelmia, joita verkossa pelattavat kilpailulliset pelit kohtaavat nykyään. Kummatkin näistä tekniikoista on luotu ratkaisemaan oman genrensä kohtaamia viiveongelmia. Lopuksi selvitin vielä millaisia tulevaisuuden näkymiä näillä eri tekniikoilla on ja miten viivettä pystyttäisiin ehkäisemään tulevaisuudessa.
Taistelupelien yhteydessä tutkin rollback netcodea ja sen ylivoimaisesti suosituinta versiota GGPO:ta. Roll-back netcode on viiveenesto tekniikka, jota käytetään pääasiassa taistelupeleissä, mutta sen käyttö on myös onnistunut haarautumaan muihin peligenreihin. Toimintatapansa vuoksi rollback netcode on yhä yksi suosi-tuimmista tekniikoista mitä taistelupelit käyttävät. Sen avulla kaikki mitä pelaaja näkee, on sulavaa, vaikka tosiasiassa itse pelin sisällä asiat voivat ollakin toisin. Rollback perustuu pelaajan seuraavan syötteen ennus-tamiseen ja mitä paremmin ennustus onnistuu niin sitä sulavampi pelaajan kokemus tulee olemaan.
Tekniikka, jota ensimmäisen persoonan ammuntapelit yleisimmin käyttävät on client-side prediction. Client-side prediction on jo pitkään käytetty tekniikka, joka on ollut osana viiveen estämisessä jo 90-luvulta alka-en. Toisin kuin rollback netcode, client-side predictionista ei ole olemassa mitään yksittäistä suosittua ver-siota. Client-side prediction rakentuu pelaajan antamaan syötteeseen ja vastaukseen, joka tulee serverin puolelta analysoinnin jälkeen.
Nämä kaksi erilaista tekniikkaa pystyvät ratkaisemaan erittäin tärkeitä ongelmia, joita verkossa pelattavat kilpailulliset pelit kohtaavat nykyään. Kummatkin näistä tekniikoista on luotu ratkaisemaan oman genrensä kohtaamia viiveongelmia. Lopuksi selvitin vielä millaisia tulevaisuuden näkymiä näillä eri tekniikoilla on ja miten viivettä pystyttäisiin ehkäisemään tulevaisuudessa.