GDC 2020: Kako se je latenca Call of Duty: Modern Warfare 'popravila' po različici beta

gdc 2020 how call duty

Call of Duty: Modern Warfare uporablja različne tehnike za ublažitev učinkov različnih vrst zakasnitve omrežja na vse igralce na določeni tekmi. Infinity Ward je v videu pred zagonom Modern Warfare v video posnetku predstavil kratek pregled delovanja svoje mrežne kode, med konferenco razvijalcev digitalnih iger tega tedna pa je studio predstavil podrobnejšo razčlenitev pristopa k povezovanju v omrežje - in kako je bil ta pristop vplivajo nekateri odmevni videoposnetki v YouTubu.



Vprašanje katere koli tekmovalne igre je, kako najbolje sinhronizirati stanje strežnika s stanjem odjemalca igre na vašem domačem računalniku. Če se stvari ne bodo sinhronizirale, boste skakali po okolju ali videli, da to počnejo tudi drugi igralci, dokler se strežnik in odjemalec ne začneta znova dogovarjati.



Modern Warfare deluje na namenskih strežnikih, kot pojasnjuje direktor spletnega inženiringa Infinity Warda Mitchell Sanborn med pogovorom v GDC, tako da se podatki iz igre na vašem računalniku doma pošljejo strežniku in se obdelujejo skupaj s podatki vseh drugih igralcev v match, nato pa strežnik rezultate vrne vaši stranki. Kar je na strežniku, je torej 'prava' različica tekme, igra, ki jo igrate doma, pa je le njena vizualizacija.

Ko pride do težav s povezavo, bodo odjemalci iger in strežnik poskušali pametno uganiti manjkajoče podatke. Torej, če se podatki, ki jih pošiljate strežniku, prekinejo, bo strežnik ekstrapoliral vaš položaj - kar pomeni, da bo še naprej domneval, da se premikate v isti smeri kot zadnji vnos, nato pa se bo popravil, ko bo povezava obnovljena. V drugih primerih vas lahko strežnik prisili, da se postavite v vrsto, kjer misli, da bi morali s predvidevanjem.



Na strani odjemalca igra začne ustvarjati medpomnilnik vhodnih podatkov, preden jih pošlje strežniku, da bi se izognila prisili strežnika, da ekstrapolira ali napove, kje boste. To pomeni, da bo imel strežnik natančnejše informacije o tem, kje ste na zemljevidu.

Sličica YouTube

Toda vnosno medpomnjenje ima svojo ceno: latenca. Potreben je čas, da se ta vnos vnosov nabere, v bolj skrajnih primerih pa to pomeni, da boste med igro in strežnikom zakasnili. V prvotni različici Modern Warfare - tiste, ki je bila del javne beta - je bila igra močno naklonjena medpomnilniku, pri čemer je imela prednost natančna predstavitev vaših gibanj pred zmanjšano zakasnitvijo.

Med različico beta bi igra v času slabe zmogljivosti omrežja omejila zahteve medpomnilnika. Zato je Sanborn pojasnil, da je bila v YouTubovi razčlenitvi omrežne zmogljivosti za različico Modern Warfare beta veliko latentnejša od drugih naslovov Call of Duty in mnogih drugih FPS igre .



Sanborn pravi, da sta obstajali dve možnosti, zakaj je ta 'vneti ljubitelj YouTuba' našel težave, ki jih je našel. Eno bi se zgodilo, če bi bili algoritmi, zasnovani za obvladovanje teh naravnih težav z omrežjem, zmedeni. Drugi bi bil, če bi bilo s povezavo kaj narobe. Razvijalci so lahko ugotovili, v čem je težava, le če so imeli podatke o povezavi tega YouTuberja z igro - kar so tudi storili.

Sličica YouTube

Podatki so pokazali, da je bila stranka YouTuberja na istih tekmah slabše povezana kot drugi igralci. »Na nekaterih tekmah je ta igralec zagotovo doživljal ekstremne mrežne razmere, ki niso bile idealne. Latenca bi bila za to stranko slaba, ne dvomim. Samo na tem grafu se zdi, da bi šlo za težavo, povezano s povezavo. '

Toda medtem ko so bile težave z omrežjem za tega uporabnika ekstremne, so razvijalci tudi ugotovili, da večina strank daje veliko več časa medpomnjenju, kot so pričakovali. In po reakciji po razčlenitvi njihove zakasnilne izkušnje na YouTuberju so igralci glasno želeli, da bi bila izkušnja čim lažja.

Infinity Ward je torej za zadnjo igro obrnil plin za blaženje. Če je bil prej algoritem nastavljen tako, da odstrani napake med strežnikom in odjemalcem s pomočjo medpomnjenja, je bil zdaj nastavljen tako, da odstrani medpomnjenje s sprejemanjem določene količine desinhronizacije med odjemalcem in strežnikom.

Končni strežniki Modern Warfare so končali z ravnotežjem, ki je naklonjeno zmanjšanju zakasnitev pred čisto sinhronizacijo med odjemalci in strežniki - navsezadnje so to nazadnje igralci želeli. Algoritmi so še vedno nastavljeni tako, da zagotavljajo ravnovesje med vsemi temi blažilnimi tehnikami in zagotavljajo najboljšo izkušnjo čim večjemu številu igralcev - vsaj toliko, kolikor je mogoče v okviru omejitev trenutne tehnologije.