Új hozzászólás Aktív témák

  • #96241664

    törölt tag

    válasz bodnar123 #4840 üzenetére

    Rendben, nem lesz rövid, de tessék:

    Amikor a játékos és a szerver között az információ nem jut el a célállomásig, azt nevezik packet loss-nak. Ping-től egyébként teljesen független és pusztán a te oldaladról nem tudod kivédeni, bármilyen jó internetre fizetsz elő.

    Ilyenkor újra kell küldeni a sikertelenül kézbesített információt. Régi fifákban, amikor még p2p kapcsolat volt, ilyenkor megállt a kép mindkét játékosnál. És minden meccs teljesen más volt, hol végig tudtál játszani egy mérkőzést reszponzív játékmenettel, akár akadás nélkül, hol diavetítést néztél, hol csak percenként egyszer állt meg.
    Kompetitív játékmódokban ez nyilván probléma, mert ott még azt sem lehet megtenni, hogy büntetlenül akármennyiszer kiléphess kedved szerint, amikor épp nem tetszik a gameplay.

    Így amikor bevezették a Weekend League-et, jöttek vele együtt a dedikált szerverek is, amiknek az egyik előnye (igen) a lagkompenzáció, ami biztosítja a sima (≠reszponzív) és a korábbihoz képest konzisztensebb játékmenetet.

    A lagkompenzációnak sok fajtája van.
    Meg lehet például tisztán "előrejelzéses" alapon oldani, viszont ez nem minden játékhoz illik. Ha mondjuk nem lövéseket, hanem egy karakter mozgását kell prediktálni és a te számítógépeden, illetve a szerveren futó szimuláció nincs szinkronban, akkor az információ megérkezésekor ugrani fog a kép. Fifához hasonló játékokban ez így nyilván nem működik.

    Egy másik módszer, hogy a játékosok játékmenete egymáshoz képest van késleltetve. Ez úgy néz ki, hogy mindenkinek sima és reszponzív a játékmenet, de ha nálad van packet loss, akkor kicsit késleltetve jut el hozzád mondjuk az az információ, hogy lelőttek. Adott esetben pont abban a pillanatban, amikor (a te képernyődön) már fedezékben voltál. Frusztráló, de még mindig kisebb rossz ahhoz képest, mintha nem tudnál célozni a delay-től.
    Fifában viszont az abszolút nem működne, hogy te még blokkolni próbálsz egy lövést, az ellenfél meg már megy vissza középkezdéshez.

    Fifában mindkét játékosnál ugyanannak kell történnie a képernyőjén, így itt csak az működik, hogy mindketten várnak az információ újraküldésére, magyarul mindkettőnél késleltetés van.
    Az ellenfeled és a szerver között hiába jó a kapcsolat, neki is meg várnia azt, amíg hozzád eljut az információ. Hiába ad meg gombnyomással egy parancsot, addig nem hajtódhat végre, amíg a te képernyődön is nem tud egyidőben megjelenni, tehát nincs olyan, hogy "neki kedvez" a delay.

    Van viszont egy buffer time, amin túl már nem várja meg az újraküldést. Ilyenkor nálad megáll a kép az ellenfél meg addig úgy játszik "ellened", mintha folyamatosan ugyanazt a gombot tartottad volna nyomva, majd amikor visszatérsz a játékba, gyorsított felvételen látod az addig történt dolgokat. Ez a speed up lag.

    A sok delay miatti panaszáradat után még a Fifa 19-ben volt egy update, amikor csökkentettek a buffer time-on, vagyis kevesebb volt a maximum késleltetés (nem magát a lagkompenzációt vették ki, mint ahogy korábban olvastam valakitől). Aztán megtapasztalhatták a játékosok, hogy nem viccből meg szimpla kiszúrásból volt ilyen a játék, mert hirtelen sokkal több lett mindenkinél a speed up lag. Úgyhogy vissza is állították.

    Nyilván ez egy nagyon leegyszerűsített magyarázat, a tényleges implementáció ennél jóval komplexebb.
    Önmagában a késleltetéssel nem tud működni ez a "mindkét kijelzőn ugyanez történjen" dolog, mert úgy hogy nem teljesen konstans a kapcsolat, nem tudod kiszámítani, hogy tényleg tűpontosan ugyanakkor érkezzen meg az adat.
    Tehát amennyire egy ilyen játéknál ésszerű keretek között lehet, valamennyi client-side prediction, vagy hasonló megoldásnak és interpolációnak egészen biztosan a részét kell képeznie a fifában használt lagkompenzációnak is.
    Ezáltal nem véletlen, hogy amikor rossz a kapcsolat, akkor nem csak kevésbé reszponzív a játék, de gyakrabban fordulnak elő olyan furcsaságok, hogy labdaátvételkor elsőre nem jó irányba fordul a játékos és hasonlók.

    Sokszor mondtam már, de ez a játék ilyen, el kell fogadni, helyén kell kezelni.
    Nem csalás, nem "szándékosan kedvező" a lagkompenzáció, és amikor téged érint, akkor biztos lehetsz, hogy az ellenfeledet is.
    Frusztráló, de egész egyszerűen máshogy nem lehet megoldani, csak esetleg p2p-vel, amiből én személy szerint nem kérnék sem a mai formájában létező Rivals-ban, sem WL-ben.

    [ Szerkesztve ]

Új hozzászólás Aktív témák