Tuomas: P2P

Tietokonepelaamisen ylivertaisuudesta vakuuttunut pc-herrarotu tunnetaan dogmaattisuudestaan. Asiat ovat joko tai ja konsoleilla yleensä huonommin. Eräs opinkappale koskee verkkopelaamista ja dedikoituja servereitä. Dedikoidulla serverillä tarkoitetaan konetta, joka on omistettu verkkopelin pyörittämiseen.

Dedikoidulla serverillä pelatessa yksikään pelaaja ei siis saa pelin isäntänä (host) etulyöntiasemaa, vaan kaikki ovat periaatteessa samalla viivalla asiakaspelaajina (client). Dedikoidut serverit ovat perinteisesti olleet pc-pelien heiniä, konsoleilla verkkopelit järjestetään yleensä peer-to-peer-periaatteella eli muodostamalla pelaajien keskinäinen vertaisverkko, jossa yksi pelaaja valikoituu pelin isännäksi.

Mitä huolimattomammin peer-to-peer-peli on suunniteltu, sitä suuremman edun isäntäpelaaja saa muihin pelaajiin nähden. Toisin kuin muilla osallistujilla, peer-to-peerissä isännän vasteaika kontrollisyötteestä pelitapahtumavasteeseen kun on pyöreä nolla.

Herrarodun näkökulmasta pc:n dedikoidut serverit pyyhkivät konsoleiden vertaisverkkopeleillä lattiaa. Herrarotu on periaatteessa oikeassa, mutta estääkö dogmaattisuus näkemästä peer-to-peerin hopeareunusta? Verkkopelitkään eivät ole joko tai…

Älkää viekö minua Hollantiin

Myönnän, että minussakin on herrarotupelaajan vikaa. Olen vannonut dedikoitujen servereiden nimiin kohta parikymmentä vuotta, Quaken päivistä lähtien. Havahduin tarkistamaan käsityksiäni oikeastaan vasta viime vuonna ilmestyneessä Titanfallissa. Xboxille ja pc:lle ilmestyneessä mecharäiskintäpelissä hyödynnettiin dedikoituja servereitä, siitä huolimatta verkkopelaaminen tahmasi. Ei pahasti, mutta juuri sen verran, että sen huomasi.

Tahmailun syy oli se, että kolmansien osapuolten pystyttämien servereiden sijaan Titanfall oli ulkoistanut verkkopelinsä Microsoftilta vuokrattuun pilveen. En nyt ryhdy moittimaan Azure-pilven teknisiä ratkaisuja, mutta maantieteelle edes kaikkivoipa Microsoft ei mahda mitään. Suomesta katsoen Titanfallin lähimmät serverifarmit sijaitsevat Hollanissa ja Irlannissa eli nettiräiskintämittapuulla helevetin kaukana. Vaikka Titanfallia ihan sujuvasti muuten pelaisikin, 60–70 millisekunnin vasteajat Hollantiin ovat kaukana ihanteellisista.

Hollannista päästäänkin dedikoitujen servereiden vaiettuun kääntöpuoleen. Ellei serveri sijaitse maantieteellisesti todella lähellä, mieluiten Suomessa tai Ruotsissa, dedikoitu serveri saattaa aivan hyvin hävitä nopeudessa paikallisemmalle peer-to-peer-matsille.

Lisäksi täytyy muistaa, että Suomi on peer-to-peer-pelaamisen periferiaa, jossa pelaajapopulaatio on suhteellisen pieni ja hajanainen. Suuressa maailmassa on toisin. Kuten Bungien pääohjelmoija Justin Truman kertoi San Franciscon Game Developers Conferencessa, miljoonien pelaajien Destinyssä peer-to-peerillä voidaan säännönmukaisesti parittaa jopa saman kaupungin sisällä pelaavat keskenään. Urbaania vertaisverkkoa nopeampiin vasteaikoihin päästään korkeintaan laneissa.

Konsoliräiskintäpelin ja mörpin hybridinä Destiny on muutenkin mielenkiintoinen esimerkki, sillä konepeltinsä alla se hämärtää täysin käsityksemme dedikoitujen servereiden ja vertaisverkkopelaamisen eroista. Destiny ei ole tarkalleen ottaen kumpaakaan, sillä se on oikeastaan molempia.

Isäntiä ja kuplia

En vieläkään varauksettomasti rakasta Destinyä, mutta sen tiedän, että olen pelannut sitä ihan liikaa. Jokainen Destinyä pelannut pystyy varmasti nimeämään pitkän litanian seikkoja, joista pitää ja ei pidä pelissä. Vihaajienkin on myönnettävä, että Destinyn ohjausvaste ja yleinen pelituntuma on järjestään veitsenterävällä tasolla. Se ei ole mitenkään vähäpätöinen saavutus always online -peliltä, jonka 500 miljoonan dollarin tuotantobudjetti ei riittänyt dedikoitujen servereiden järjestämiseen.

Justin Truman antoi ymmärtää, että Bungie saattoi haukata Destinyllä liian suuren palan kerrallaan. Destinyn tekniset vaatimukset säädettiin alusta pitäen niin korkeiksi, että peliä kehitettäisiin ilmeisesti vieläkin, ellei moninpeliarkkitehtuuriin olisi tehty merkittäviä myönnytyksiä.

Myönnytyksistä merkittävin oli Destinyn ympäristöjen osittaminen kupliksi. Yksi kupla vastaa yhtä nimettyä tapahtuma-aluetta (”Skywatch”, ”Lunar Complex”, ”Mothyards”). Vaikka kuplasta toiseen liikkuminen on saumatonta, kuplia erottavista kapeista kanjoneista ja yhdyskäytävistä eli ”siksakeista” on tehty tarkoituksella niin pitkiä, että Destinyn moninpeliarkkitehtuuri ehtii tehdä temppunsa.

Samassa kuplassa eivät kohtaa kaikki alueella liikkuvat pelaajat, vaan vain kuusi sopivinta kerrallaan. Ja koska kuuden pelaajan mittakaavassa Destiny on vertaisverkkopeli, yksi näistä kuudesta pelaajasta valikoituu isännäksi. Isännyys ei kuitenkaan ole pysyvä olotila. Bungien tilastojen mukaan saman istunnon isäntä vaihtuu keskimäärin 160 sekunnin välein. Isäntähän voi milloin vain vaihtaa maisemaa ja siirtyä seuraavaan kuplaan tai vaikka jättää leikin kesken ja quitata kiertoradalle.

Kuplia erottavat siksakit ovat elintärkeitä Destinyn sulavuudelle. Siksakin puitteissa Destiny paitsi lataa seuraavan kuplan sisällön konsolin muistiin, myös suorittaa vaivihkaista matchmakingiä ja (tarvittaessa) peer-to-peer-isännyyden siirtoa.

Siksakin laskennalliseksi kestoksi on määritelty 15 sekuntia. Seuraavan peliympäristön lataaminen käynnistyy heti siksakin alussa, mutta matchmaking vasta viidennen sekunnin kohdalla. Jos matchmaking ei tuota seuraavan viiden sekunnin aikana kelvollisia tuloksia (pelikavereiksi olisi valikoitumassa esimerkiksi toisella puolella maailmaa pelaavia), matchmaking keskeytetään ja pelaaja asetetaan uuden tyhjän istunnon isännäksi. Destinyn pelaajavolyymin pitäisi taata, että tyhjään istuntoon löytyy pian muita samalle alueelle saapuvia pelaajia.

”Voisin hyvin kuvitella, että Destiny olisi voitu toteuttaa ilman (kuuden pelaajan) kuplia. Kuplaton Destiny ei vain olisi ilmestynyt vielä vuonna 2014”, Bungien Justin Truman kertoi GDC:ssä.

Entäs ne serverit?

Vaikka Truman saa asiat kuulostamaan siltä, että vertaisverkkoja hyödyntämättä Destinyssä ei olisi voitu saavuttaa yksinpelimäistä sulavuutta, kysymys dedikoiduista servereistä on väistämättä myös kustannuskysymys. Dedikoitujen servereiden järjestäminen miljoonille Destiny-pelaajille olisi vaatinut massiivista verkkoinfrastruktuuria – pelkästään PS4:llä puolen miljoonan virtuaalikonsolin pilveä.

Destiny ei silti pyöri pelkästään vertaisverkkojen varassa, sillä pelin taustalla on kuin onkin dedikoitua serverikapasiteettia. Kuuden pelaajan vertaisverkossa isäntäpelaaja on kingi, mutta isännän vaihtuessa jatkuvuus taataan sillä, että tehtävälogiikka säilötään pilvessä. Jos siis vertaisverkon isäntäpelaaja putoaa yllättäen pelistä jättäen vertaisverkon muut jäsenet tyhjän päälle, pilvestä saadaan kaikki tarvittavat tiedot pelitilanteen rekonstruointiin.

Jos isännyys vaihtuu rumimmalla mahdollisella tavalla eli siten, että isännöivä pelaaja aikakatkaistaan, rekonstruointia saattaa edeltää jopa 20 sekunnin isännätön epätietoisuuden aika. Peli jatkuu tällöin näennäisen normaalisti, mutta Destinyyn kovakoodatut varmistukset estävät isännättöminä pelaajia tekemästä mitään, mikä voisi vaikuttaa tehtävälogiikkaan (esimerkiksi voittaa pomotaistelua).

Aikakatkaisun jälkeen Destiny valitsee vertaisverkolle uuden isännän ja lataa pilvestä tehtävälogiikan viimeisimmän tilan. Jos pelaajat ovat epätietoisuuden aikana ehtineet tappaa rivivihollisia toistensa tietämättä, nämä tapot voivat ilmetä ruudulla selittämättöminä äkkikuolemina. Sama toimii toisaalta toiseenkin suuntaan: jos pilvi havaitsee tehtävälogiikassa ristiriitoja, kertaalleen tapettuja vihollisia voidaan myös spawnata takaisin. Toiminnan ollessa niin hetkistä kuin se yleensä on, tällaiset kuprut hukkuvat yleensä visuaaliseen taustakohinaan.

Koska pilvi ei piittaa tuon taivaallista taivaallista pelaajien, vihollisten tai muiden objektien tarkasta fyysisestä sijainnista pelimaailmassa, ainoastaan skriptitason asioista, Destiny pärjää ällistyttävän niukalla verkkoinfralla. Justin Trumanin mukaan yhden palvelinkoneen kapasiteetti riittää jopa 10 000 pelaajalle. Kuuden pelaajan istunnolla on pilvestä katsottuna 45 megatavun muistijälki.

Rahaa kuin roskaa

Destinyn verkkopeliarkkitehtuurissa maailman yksinkertaisin ongelma on saanut maailman monimutkaisimman ratkaisun. Oli Bungien ykkösmotivaattorina sitten kylmä kulujen karsiminen tai vilpitön pyrkimys mahdollisimman sulavaan pelikokemukseen, vertais-verkon heikkoudet ovat näemmä käännettävissä vahvuuksiksi. Ainakin omien kokemuksieni mukaan Destinyn verkkotekniikka on osoittautunut lähes pettämättömäksi.

Olisi silti mielenkiintoista tietää, mikä oikein ajoi Bungien tällaiseen säästöratkaisuun. Maailman kalleimmalta pelituotannolta odottaisi jotain muuta kuin selityksiä dedikoitujen servereiden kohtuuttoman korkeista ylläpitokustannuksista. Jos 500 miljoonan dollarin Destinyllä ei ole niihin varaa, niin miten voi olla muillakaan?

Tai ehkä kysymykseni on vain täysin vanhanaikainen. Destiny kun on kuitenkin yksi niitä harvoja viime vuosien suurlanseerauksia, joka ei tikahtunut lanseerausviikkonsa pelaajatulvaan. Vertaisverkot taitavat olla seuranamme vielä pitkään...

Tuomas Honkala on pelannut viime aikoina ihan liikaa Destinyä.

Lisää aiheesta