Rzecz o lagu

2009-08-26 11:52:28

Pomysłodawcą i autorem tego krótkiego poradnika jest mój kolega z byłego klanu Delta Force, Barman. Zmieniłem go nieco, by bardziej pasował do gry AA:O, ale zawarte w nim rady stosują się do dowolnej gry sieciowej. Celem tego poradnika jest przekazanie informacji, mających znaczenie zwłaszcza dla tych osób, które lubią sobie ulżyć po śmierci słowami w rodzaju „ku***ski lag” albo “BS”. Pamiętajcie, że nie wszyscy gracze to cheaterzy, a 99,9% przypadków „dziwnych” śmierci zależy właśnie od laga. Miłego czytania i nie zapomnijcie, że tak naprawdę to tylko gra.

Narzędzie Ping
Ping to narzędzie, które wysyła pakiety danych do określonego adresu IP, po czym czeka na odpowiedź. Opóźnienie to czas, po jakim odpowiedź dociera do komputera wysyłającego pakiety - (mierzona w milisekundach). Cały ten proces jest często określany jako mierzenie pinga - czyli określanie czasu, jaki zabiera wysłanie pakietu danych i otrzymanie na niego odpowiedzi. Im wyższy ping, tym większe opóźnienie, im niższy ping, tym niższe opóźnienie.
Wynika z tego, że im niższy ping, tym lepiej. Liczba, jaką widzimy w grze, i którą przywykliśmy określać mianem pingu, to tak naprawdę opóźnienie.

Lag czy opóźnienie?
Naciśnięcie klawisza F1 w grze wywołuje tablicę wyników. Jedna z jej kolumn przedstawia ŚREDNIŚ wartość pingu dla gracza. Dokładna wartość pingu pokazywana jest po wpisaniu w konsoli polecenia stat net.Czym jest wobec tego lag? Prawdę mówiąc, to slangowe określenie na dwie całkiem różne rzeczy: ping i utratę pakietów. Ping to czas podróży pakietów ICMP z i do jakiegoś punktu w Internecie. Pakiet ICMP to pakiet najniższego możliwego poziomu, zawierający zwykle bardzo niewiele danych. Im większy czas trwa "wędrówka" pakietu do i z serwera, tym większe opóźnienie w działaniu aplikacji strumieniowej (czyli, w tym wypadku, gry - przyp. tłumacza). Możemy więc powiedzieć, że masz 40 milisekund laga, czy 250 milisekund laga, czy dowolny inny lag - widać go w kolumnie ping tablicy wyników w grze.

Utrata pakietów i warpowanie
Utrata pakietów (packet loss - PL) zdarza się, gdy coś dzieje się z pakietami podczas transmisji. Przy tak dużej liczbie pakietów, jakie krążą w Sieci, niektóre z nich przybywają do routerów w dokładnie tej samej mikrosekundzie. Ich dane mieszają się i nie można ich odczytać. Mówimy wtedy o zderzeniu pakietów. Takie pakiety są utracone, trzeba je albo zignorować, albo powtórzyć ich transmisję. Utrata pakietów może przydarzyć się z wielu powodów, te najbardziej powszechne to: przeciążone lub źle skonfigurowane routery, mała przepustowość łącza ISP, przeciążone serwery gry (zbyt wielu graczy, by procesor serwera był w stanie obliczać wszystkie dane), zakłócenia na linii telefonicznej - chodzi o niskiej jakości analogowe łącza telefoniczne, gracze grający na serwerach i jednocześnie pobierający duże pliki, a także nieuczciwi
gracze, wykorzystujący hacki i cheaty do zakłócenia przepływu transmisji danych. Utrata pakietów to coś normalnego i zazwyczaj nie jest dużym problemem. Jeśli przytrafia się przy oglądaniu strony w Sieci, pakiety zostają wysłane ponownie, a internauta nawet niczego nie zauważa. Jeśli jednak utrata pakietów ma miejsce podczas gry w sieci, a droga, którą przebywają do serwera twoje pakiety prowadzi przez przeciążone routery, jest spora szansa na to, że utracone pakiety zawierają ważne dane. Mogą to być dane o pociskach wystrzelonych w twoim kierunku lub dane o twojej pozycji względem innych graczy. Większość graczy nawet nie zauważa utraty niewielkiej liczby pakietów, rzędu 2-3%, ale doświadczeni,
znający się na rzeczy gracze sieciowi dostrzegają takie przypadki. Z chwilą, gdy utrata pakietów przekracza 5%, każdy gracz warty tego miana pozna, że dzieje się coś złego. Na ekranie wyświetla się wtedy sporo brzydkich słów, z których najbardziej łagodne to „lagger” i „sh*tty server”. Kiedy utrata pakietów sięga 10%, dla każdego normalnego gracza rozgrywka traci urok - nie można po prostu grać.

Utrata pakietów może przytrafić się każdemu - może ją wywołać złe połączenie, droga do serwera lub inny gracz. Dość łatwo jest poznać przyczynę. Jeśli wszyscy inni gracze odrobinę warpują, albo kiedy twoje strzały wydają się znikać w przestrzeni, przytrafiła ci się utrata pakietów. Jeśli jakiś pojedynczy gracz warpuje tu i tam, biedaczek ma słabe połączenie. Trzeba jednak pamiętać, że utrata pakietów i warpowanie utrudniają grę każdemu na serwerze. Obserwowanie przemieszczających się skokami i teleportujących się graczy jest irytujące, natomiast walka z nimi jest frustrująca.

Ping i jego znaczenie we wszystkich grach sieciowych
Ok, czas na krótki kurs dla opornych, przedstawiający praktycznie to, o czym dopiero co mówiliśmy. Niezależnie od tych wszystkich mądrości, o których przeczytaliśmy wyżej, dla celów tego artykułu wszystkie dane liczbowe dotyczące opóźnienia w grze będziemy określali jako ping. Wyjaśnijmy sobie teraz co i dlaczego jest ważne, jeśli chodzi o gry sieciowe.

Nasz testowy ping ustalimy na 250ms, czyli jedną czwartą sekundy. Tego rodzaju ping ma większość graczy w USA, jeśli łączą się z serwerami przez połączenie modemowe. Jest to również wartość bliska tej, z jaką gracze europejscy posiadający łącza szerokopasmowe łączą się z serwerami znajdującymi się na wybrzeży Kalifornii. 250 milisekund jest jednak ważne także z innych powodów. Tak się składa, że taki jest
średni czas reakcji przeciętnego człowieka. Dlatego, jeśli masz ping 250 ms, nie tylko widzisz rzeczy na ekranie tak, jak wyglądały ćwierć sekundy wcześniej, ale reagujesz na nie dwukrotnie wolniej od kogoś, kto ma ping 0 ms. Oczywiście, twierdzenie to jest mocno przesadzone, ponieważ nikt nie ma tak niskiego pingu (chyba, że gracz hostujący serwer i grający na nim z tego samego komputera), bardziej prawdopodobna jest wartość w granicach 30-50 ms. Tak, czy siak, nigdy jednak nie zareagujesz w optymalnym czasie na każde zagrożenie - możesz być skupiony, czujny i gotowy na wszystko, ale nie zawsze uda ci się zmieścić w optymalnym czasie reakcji (część graczy, ci zdecydowanie najlepsi, mają jednak tak niski czas reakcji, że w ich przypadku można praktycznie mówić o „zmniejszeniu” ich
pingu o jakieś 100ms). Z tego wszystkiego, co napisałem, wynika, że zawsze będziesz reagował w grze wolniej od graczy z niskim pingiem, czyli będą mieć oni nad tobą przewagę.

W środowisku gry te ćwierć sekundy jest niezmiernie ważne - określa jak dobrze sobie radzisz. Można podać prosty przykład. Wyobraźmy sobie, że walczysz z kimś, kto jest dokładnym odpowiednikiem twojej osoby, tylko że on ma ping 40ms. W grze to on zawsze pierwszy cię dopadnie, to on zareaguje pierwszy, to jego działania zostaną zarejestrowane na serwerze jako pierwsze. Oznacza to, że serwer zarejestruje jego strzał w twoją głowę, zanim jeszcze twój mózg nakaże palcowi nacisnąć przycisk myszki. Frustrujące, zwłaszcza gdy zdarza się raz po razie. Ćwierćsekundowa przewaga w grze sieciowej jest naprawdę
olbrzymia. Żeby w pełni docenić różnicę, musisz zagrać najpierw na serwerze z pingiem 250 ms, a potem
na takim, na którym ping wynosi 40 ms. Na tym drugim będziesz grał w grę taką, jaką ma być
w zamierzeniach jej twórców. Twoje strzały będą natychmiast rejestrowane (nawet jeśli weźmie się pod uwagę wbudowany w grę kod balistyczny). Po umieszczeniu celownika na celu statycznym, kiedy wystrzelisz padnie on martwy zanim usłyszysz kliknięcie przycisku myszy. Cele biegnące wymagają prowadzenia bardzo zbliżonego do tego, jak w prawdziwym świecie. Konieczne jest wyprzedzanie go o jedynie kilka cali, by ruchy wroga i balistyka pocisku zrobiły resztę. Nie będzie miał okazji skakać lub wykonywać zmyłek, zanim trafi go kula. Różnicę między grą na serwerze z dużym pingiem, a grą na serwerze z małym zobaczysz jeszcze wyraźniej w trakcie gry w sieci LAN.

Anomalie klienta (twojego PC) i serwera gry
W czasie gry często słychać narzekania graczy, marudzących, że przecież widzieli chmurki krwi przeciwnika, pojawiające się po trafieniu go pociskiem. Oczywiście, widzieli obłoczki czerwonej mgiełki i byli pewni tego, że trafili wroga. Cóż... Trafienie zostało zaliczone jedynie na ekranie ich komputera, czyli po stronie klienta. Serwer gry zignorował je, ponieważ nie obchodzi go to, co graczowi wydaje się, że widzi. Jest zajęty śledzeniem prawdziwej pozycji graczy i ich kul, a nie opóźnionego o około 200 milisekund obrazu, w który strzelają gracze. Pamiętajcie! To, co widzicie, NIE jest tam, gdzie to widzicie. Widzicie jedynie obraz pola walki taki, jaki był milisekundy wcześniej - nie ma on wiele wspólnego z tym, co jest prawdziwe dla serwera.

Mam wysoki ping, ale i tak rządzę!
Odkładanie właściwej poprawki jest bardzo ważne zwłaszcza dla snajpera, który najczęściej nie ma możliwości poprawienia niecelnego strzału.Już słyszę wypowiedzi niektórych czytelników - 250 milisekund to nie jest tak źle, mam tak cały czas i nieźle sobie radzę. Pewnie, doskonała gra z takim pingiem jest możliwa, możesz nawet dominować na serwerze o dużym pingu. Oto dowód - 65 killi do 19 własnych śmierci wszystkie ofiary zabite mniej więcej 20 pociskami, ping powyżej 257 milisekund. Hej, modemowcy - nie drapcie się z niedowierzaniem po głowie. Zastanawiacie się, dlaczego sami nie macie takich osiągnięć? Tajemnica sukcesu tkwi w zrozumieniu zasad rządzących działaniem gier sieciowych i w nauczeniu się sposobu gry odpowiedniego do waszego pingu. Wyjaśniłem już wcześniej, dlaczego przy pingu 250 milisekund zawsze będziecie reagowali znacząco wolniej niż ludzie grający z pingiem 30-100 ms, napisałem także, że 250 milisekund to przeciętny czas ludzkiej reakcji. Dlatego trzeba grać tak, by zminimalizować działanie tych czynników, trzeba nauczyć się wykorzystywać zasady działania gry sieciowej. W jakiś sposób przecież udaje nam się grać na serwerach, gdzie połowa graczy siedzi na drugim końcu świata, a mimo to rozgrywka sprawia nam przyjemność. Czy wydaje się wam, że gdybyście grali z pingiem 250 na serwerze Counter-Strike, a pozostali gracze mieliby ping 50, wciąż kopalibyście ich w tyłki? Zastanówcie się nad tym. Dobry serwer i przewidywanie ruchów przeciwnika to jedno, ale wszyscy gracze o zdrowych zmysłach zawsze wybierają
serwery z najniższym pingiem. Jak więc można dobrze grać z pingiem 250 milisekund? Co takiego ma AA:O, czego brak CS? Cóż... Niestety, w kodzie sieciowym AA:O nie ma żadnych sprytnych sztuczek. Nie istnieją magiczne ustawienia, którymi można zrekompensować wysokie pingi. Prawdę mówiąc, kod sieciowy AA:O jest wyraźnie słabszy od tego, jaki wykorzystują gry opracowane na silnikach Quake'a lub Unreal Tournament (HL/Counter-Strike jest oparty na silniku Quake2). Tajemnica dużej grywalności AA:O przy wysokich pingach tkwi w jednej rzeczy - w odległości.

Wyjaśnię to dokładniej. Przy pingu 250 milisekund, świat gry na twoim ekranie widoczny jest taki, jaki był na serwerze ćwierć sekundy temu. W ciągu 250 ms postać przebywa bardzo małą odległość - biegnąc może półtora metra. Przy odległościach rzędu 300-600 metrów, półtora metra to zaledwie parę piksli na ekranie. Nauczenie się odkładania odpowiedniej poprawki przy celowaniu wymaga oceny szybkości poruszania się celu, jego odległości i znajomości własnego pingu. W większości wypadków, przy odległościach, na jakich rozgrywane są gry w AA:O, poprawka będzie niemal taka sama dla wszystkich graczy.

Dam przykład, jak wygląda to dla mnie. Dla odległości 300-600 metrów muszę prowadzić cel mierząc około półtora do trzech centymetrów przed cel (mowa o centymetrach na ekranie). Przekłada się to na jakieś 7 metrów w odległościach gry. Zobaczcie, jak nieciekawie to wygląda: w prawdziwym świecie musiałbym nanieść poprawkę blisko metra, jeśli mój cel poruszałby się biegiem. Mówiąc jeszcze inaczej - w grze celując do biegnącego celu, znajdującego się w odległości około 300 metrów, muszę wprowadzić poprawkę większą o około 20 razy od tej, jaką wprowadziłbym w świecie rzeczywistym.
Dzieje się tak dlatego, ponieważ gracz tak naprawdę nie znajduje się w miejscu, w którym na ekranie widoczny jest prowadzony przez niego żołnierz - jest on dalej o 250 milisekund. Mówiąc w kategoriach gry, kiedy odkładam poprawkę, strzelam prosto w niego, jedynie na swoim ekranie widzę, że mój punkt celowania znajduje się przed przeciwnikiem. Przy odległościach rzędu 300 i więcej metrów, można nabrać dużej wprawy w takim prowadzeniu celów. Jedyna przeszkoda to gracze, którzy rzucają się dziko, ponieważ w takim wypadku nie można przewidzieć, gdzie naprawdę są. Takim graczom wydaje się, że są bardzo sprytni i unikają kul dzięki nadludzkim umiejętnościom. W rzeczywistości wykorzystują oni jedynie
fakt, że ich ruch, wskutek opóźnienia gry, staje się niemal losowy. Na szczęście przy strzałach na duże odległości nie ma to większego znaczenia, a dzięki dość dowolnie traktującemu wykrywanie kolizji kodowi AA:O, można nauczyć się strzelać tak, by w końcu - powiedzmy po 4 seriach, czy 5-6 pojedynczych strzałach - i tak trafić takiego „spryciarza”.

Napisałem tutaj o ułamkach sekund, odkładaniu poprawki i podobnych sprawach. Wszystkiego tego można się szybko nauczyć, z łatwością można zabijać przeciwnika, nie umieszczając celownika na jego klatce piersiowej. Złą stroną walczenia przy wysokim pingu jest to, że do wyeliminowania przeciwnika konieczne jest wystrzelenie dwóch, trzech, często nawet więcej serii. Oznacza to, że szybciej zużywa się amunicję i zdradza się swoją pozycję. Jeśli przeciwnik jest dobrym graczem, wystarcza mu to do zareagowania, obrócenia się i odpowiedzenia ogniem. Wielu z was doświadczyło zapewne sytuacji, w której strzelaliście kilka serii w przeciwnika, który lagował „tylko trochę” bardziej niż pozostali gracze, po
czym staliście się ofiarą jego jednej, krótkiej serii z SAW czy M16.

AA:O działa źle na odległościach poniżej 100 metrów. Tu poprawka na ekranie twojego monitora powinna wynosić nie dwa czy trzy centymetry, ale 15-20 centymetrów! Dzieje się tak dlatego, że przy opóźnieniu 250 milisekund i wspomnianym wcześniej ruchu półtora metra, odległość na twoim ekranie pomiędzy punktem celowania a widocznym celem musi się zwiększać. Pomyśl - kiedy walczysz w zwarciu, w CQB, półtora metra to odległość, jaka dzieli ciebie i stojącego przed lub za tobą przeciwnika! Omówmy to dokładniej - dwóch graczy, obaj z pingiem 250 ms, zbliża się do siebie. Dzieli ich jakieś 3 metry. Czasu jest
tylko tyle, by obrócić się i strzelać dookoła, modląc się o przypadkowe trafienie. Dodaj do wszystkiego utratę niewielkiej liczby pakietów i graczy szybko obracających się na miejscu i nagle okazuje się, że „spraying and praying”, czyli walenie na ślepo, to jedyna metoda walki. Żadne umiejętności gry nie mogą poprawić błędów wynikających z widzenia pola walki opóźnionego w stosunku do „rzeczywistości” serwera. W tak gwałtownie zmieniających się warunkach nie można też dokładnie celować.

Co można zrobić, by zmniejszyć skutki wysokiego pingu?
Wybierając serwer do gry, powinieneś założyć, że jednym z głównych kryteriów wyboru jest niski ping.Skoro dotarliście aż do tego miejsca, powinniście mieć już dobre pojęcie o czym mówimy. Czas na jakieś rady i propozycje, które pomogą lepiej grać niezależnie od waszego pingu. Na szczęście jest jedna, bardzo prosta rada, która może zdecydowanie poprawić waszą grę. Trzymaj się o tyle metrów od przeciwnika, ile wynosi twój ping. Jeśli masz ping 40 ms, możesz podejść na 40 metrów, jeśli masz ping 250 ms, trzymaj się 250 metrów od niego. Wypróbujcie tę zasadę, zobaczycie, że pójdzie wam znacznie lepiej. Nauczcie się gry, myślcie. Jeśli masz ping wyższy niż 200 milisekund, musisz być o krok przed innymi graczami, by móc im dorównać. Oznacza to, że musisz mieć oczy dookoła głowy, musisz poświęcić czas, by poznać wszelkie tajniki gry. Musisz poznać wszystkie miejsca, gdzie możesz się kryć przed wrogiem i gdzie może ukrywać się nieprzyjaciel. Musisz wymyślić taktykę, która pozwoli ci uporać się z uciążliwym SAWem, blokującym najlepszą drogę ataku. Musisz nauczyć się korzystać z granatów, wchodzić do walki w sytuacji przewagi taktycznej, z boku lub z tyłu wroga. Potrzebujesz tego czasu, jaki wrogowi zabierze obrócenie się w twoim kierunku.

Propozycje stylu gry związane z pingiem

Ping 60 lub mniej milisekund
Wybierz SAW i dąż do zwarcia. Z takim pingiem twoje pakiety będą docierały do serwera 3-4 razy szybciej niż pakiety większość graczy. Być może wydaje im się, że zdołają się ukryć za tarczą 250 milisekundowego pinga, ale jeśli dostrzeżesz ich pierwszy, pierwszy naciśniesz spust, to nie przetrwają długo strugi ołowiu. Przy tak niskim pingu ich rzeczywista pozycja nie różni się zbytnio od tej, jaką widzisz na ekranie. W takich
warunkach będzie wygrywał nawet najgorszy strzelec. Powinieneś się bać jedynie innych graczy z niskim pingiem. W przypadku walki z takim przeciwnikiem wygra ten, kto jest po prostu lepszy.

60 ms - 100 ms
Wciąż możesz dążyć do zwarcia przeciwko większości graczy z niskim pingiem, prawdopodobnie znaczna ich część nauczyła się polegać na swoim pingu, a nie na umiejętnościach. Nie są tak dobrzy jak ci, którzy naprawdę muszą napocić się, żeby zlikwidować przeciwnika. Dobry gracz z niższym pingiem będzie sobie z tobą radził - ma już przewagę czasu reakcji.

100 ms - 150 ms
Do walki w zwarciu, z której chcesz wyjść z życiem, potrzebujesz kociego refleksu. Jeśli niemal zawsze udaje ci się wygrać takie pojedynki, oznacza to, że jesteś jednym z lepszych graczy w AA:O, grasz od lat, a twoje umiejętności orientowania się na polu walki i przewidywania ruchów wroga zdecydowanie równoważą fakt, że znajdujesz się jakieś 2000 kilometrów od serwera.

150 ms - 200 ms
Trzymaj się z dala od walk na bliskie odległości z graczami, którzy mają ping niższy od 100 milisekund. W przeciwnym wypadku sam prosisz się o lanie. Musisz nauczyć się grać na dużych odległościach, ćwiczyć odkładanie poprawki. Wybierz M4 lub M16.

Więcej niż 200 ms
Będziesz z powodzeniem walczył na obrzeżach map, kiedy opanujesz odkładanie poprawki tak, jak dodawanie dwóch do dwóch i kiedy nauczysz się kontrolować zużycie amunicji. W trakcie rozgrywki musisz trzymać się na granicy zasięgu widoczności, za każdym razem, gdy zbliżasz się do przeciwnika, podajesz mu się na talerzu. Wybierz M24, albo - jeśli naprawdę dobrze strzelasz - M16.

Serwery do gry
Chciałbym móc grać na 32-osobowym serwerze z pingiem niższym niż 100 milisekund. Dopóki takie serwery nie powstaną na wschodnim wybrzeżu Stanów, albo - co byłoby jeszcze lepsze - w Europie, marzenie takie nie jest raczej możliwe do spełnienia - chyba, że mieszkasz w Kalifornii. Prosta zasada wyboru serwera jest taka - im niższy ping pokazuje serwer, tym lepiej będzie ci się na nim grało. Dobrze byłoby wiedzieć też, czy jest to serwer dedykowany - unikaj serwerów działających na tym samym komputerze, na którym gra ich właściciel. Jeśli posiadasz szerokopasmowy dostęp do Internetu lub ISDN, powinieneś szukać dla siebie serwerów, które mają ping 150 lub mniej milisekund.

Podsumowanie
Mam nadzieję, że ten artykuł przyda się graczom. Że uda im się sprawdzić przedstawione w nim założenia, i że sami doświadczą ich słuszności na swoich ulubionych serwerach. Konieczne jest jednak zrozumienie jednej rzeczy. Różnica między pingiem 60 ms a 150 ms nie jest tak duża, jak różnica pomiędzy 150 ms a 250 ms. Przy pingu 150 ms i mniej, przeciwnicy padają, kiedy ich trafisz. Przy pingu 250 ms strzelasz już trzeci czy czwarty raz, a jednocześnie wciąż czekasz, aż serwer pokaże ci animację ich śmierci. Ta niewielka
różnica, wydawałoby się bez znaczenia w walce z przeciętnym graczem, stanowi o życiu lub śmierci w przypadku walki z najlepszymi graczami AA:O na świecie. Wtedy liczy się każda milisekunda. Jeśli wątpisz w moje słowa, pomyśl raz jeszcze o przykładzie z tobą i twoim dublerem. Jedyna różnica to pingi - 60 ms i 250 ms. Nadal uważasz, że jesteś tak dobry, mając 250 ms ping?

Komenda Netspeed
Lag w grze można próbować zmniejszyć wykorzystując komendę netspeed, wpisywaną w konsoli gry lub ręczną modyfikację pliku ArmyOps.ini. Poniżej znajdują się orientacyjne wartości dla różnych rodzajów połączeń z Siecią. Wzięto w nich pod uwagę łączenie się z Europy na serwer znajdujący się w USA. Każdy gracz powienien indywidualnie określić najlepszą dla niego wartość netspeed.

Połączenie modem 56k: netspeed 1000 - 4000
Połączenie typu DSL: netspeed 4000 - 6000
Modem kablowy: netspeed 6000 - 8000
Łącze T1: netspeed 8000 to 10000
Łącza T2 - T3: netspeed 10000
Gra w LAN: netspeed 20000

Barman, wersja AAO: Dinux, tłumaczenie: Inkub

Artykuł jest tłumaczeniem poradnika "Book of lag" z witryny Tactical Guides.

Partnerzy

Shooters.pl

Americas Army

Ankieta

Co sądzisz o wyglądzie nowych map ?

  • Do gustu przypadła mi mapa ShantyTown

    31%

  • Do gustu przypadła mi mapa Stronghold

    61%

  • Nie podoba mi się żadna z przyszłych map

    8%