CS:GO alapok: hitbox, lag, ping
Amit látsz az nem a valóság
Azt hiszem ezzel nem is nagyon mondtam újat, hiszen egy számítógépes játékról van szó. De arra gondolok itt, hogy amit a játékban látsz az még a játékban sem ott van ahol látod. Részben azért, mert a hitbox és a játékos modell nem fedi egymást, részben pedig azért, mert a te géped és a szerver egy kicsit máshol látja az ellenfeleket és a társakat.
Mi az a hitbox?
A hitbox egy leegyszerűsített játékos modell, ez a játékos modellnek a váza, amit el kell találnod, hogy sebezzed. Attól függően, hogy hol találod el az ellenfeled hitboxát, sebzel rajta kisebbet vagy nagyobbat. A fejre leadott lövések többet sebeznek, mint amik a testet érik, a kar és a láb találatok érnek a legkevesebbet. A hitbox jellegzetessége, hogy nem látható és hogy nem is pontosan ott van ahol a játékos modell, ahogy ez a képen is látszik. Tehát nem kell mindig meglepődni, ha te úgy látod, hogy valakit hasba lőttél és mégsem találtad el a játék szerint, mert ilyenkor valószínűleg a hitboxát nem, csak a játékos modellt találtad el. Az alábbi videón látható, hogy mikor van az, hogy a modellt ugyan eltalálod, de a hitboxot nem. (Ahhoz, hogy lásd te is a hitboxot, indíts egy saját szervert egy bottal és írd be: sv_cheats 1, sv_showimpacts 1)
Jó tanács: a bombát rakó terroristának ne a fejét lődd, mert a modell animálódik csak, a hitbox ugyanott van ahol a T eredetileg guggolt.
Szerver kliens kommunikáció
Ha neten játszol akkor sokszor közted és a szerver között több ezer kilométer távolság is lehet és ugyan az adatok rendkívül gyorsan közlekednek a világhálón, mégis van egy kis késés amíg a szerver összeszedi mindenkinek az adott pillanatban történt megmozdulásait, visszanézi, hogy amikor ezek megtörténtek ki hol volt, merre nézett, mit csinált valójában és kiküldi az eredményeket. Ezekből az adatokból sok elveszhet útközben, és a te géped ilyenkor megtippeli, hogy az ellenfeleid hol lehetnek akkor, amikor épp rájuk lősz. Természetesen a géped téved néha, így sokszor nem is ott van az ellenfél modellje ahol te látod, nemhogy a hitboxa.
Hősünk a fenti videóban 120-as pinggel játszik és jogosan hiszi, hogy kétszer is eltalálta az ellenfelét, és a gépe ki is jelzi neki a találatot (fröccsen a vér, sv_cheats 1 mellett pedig megjelenik a hitbox is) mégis a szerver nem adta be neki, mivel az ő gépe csak tippelte, hogy ott lehet épp az ellenfél. Alapszabály: a szervernek mindig igaza van. A legkevesebb késés, legkisebb eltérés a valóságtól természetesen LAN-on van, ott nehezebben kavarodnak el az adatok. Mindez persze csak részben fedi ezt a témát, akit behatóbban érdekel ez, annak javaslom ezt az írást: https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking (angol)
Ugrás bug
Jelen állapotban (2014.11.22.) a szerver és a kliens másképp látja kicsit az ugró modelleket. Adren csinált egy jó kis videót, amiben ezt bemutatja. Aki nem tud angolul, annak a lényeg: a piros hitboxok amiket a te géped (a kliens) lát, a kék pedig amit a szerver. Kliens oldalon mindig magasabbnak látszik az ugrás mint szerver oldalon. Így ha túl magasra célzol (vagyis oda ahol te látod az ugráló ellenfeledet), nem fogod eltalálni, mert a szerver szerint nem is ugrott olyan magasra, és mint említettem, a szervernek mindig igaza van.
128 tick vs 64 tick
A tickrate azt mutatja meg, hogy egy szerver másodpercenként hányszor küld friss információt a kliensnek arról, hogy mi is történik a játékban valójában. A valve 64 tickes szerverei 64-szer küldenek neked adatot másodpercenként, egy jobb 128 tickes DM szerver pedig 128-szor teszi meg ugyanezt. Ha neked egy olyan géped van ami 300 fpst is ki tud hozni a játékból, mindehhez egy 120 Hertzes monitorod is van, a 64 tickes szerver szinte lekorlátoz téged is kb 60 fps-re, hiszen a szerver állapotát másodpercenként csak ennyiszer fogod megkapni, akármilyen jó is a géped. A 128 tickes szerverek sokkal simábbak és pontosabbnak tűnhetnek egy jó konfiggal rendelkező játékos számára.
CS:GO vs CS:S
Végezetül egy kis összehasonlítás. Ilyen volt a source hitbox a mostani GO-hoz képest.
KÖVETKEZŐ RÉSZ -------> (még készül)