18-10-2017

Blog twórców: Wykorzystywanie pingu, przewaga zerkającego i następne kroki

Z uwagą śledziliśmy uwagi od społeczności dotyczące wykorzystywania pingu, opóźnienia i przewagi zerkającego. W tym wpisie wytłumaczymy, o co chodzi, jaki to ma wpływ na rozgrywkę i co robimy w tym względzie.

Zanim przejdziemy do szczegółów dotyczących opóźnienia, pragniemy podkreślić, że Rainbow Six Siege zaprojektowany został w oparciu o filozofię przyznającą priorytet – w odniesieniu do replikowania gracza i zatwierdzenia trafień – graczom mającym szybsze i bardziej stabilne połączenie. Będziemy dalej ulepszać wszystkie nasze systemy, aby zapewniać jak najlepsze wrażenia graczom z niskim i stabilnym pingiem i jednocześnie utrzymywać dostępność gry dla graczy z pingiem wysokim.

Wysoki ping i przewaga zerkającego

Replikowanie gracza (czyli jego kopiowanie) to proces polegający na tym, że odtwarza się ruchy i działania wykonane przez gracza na zdalnym komputerze, np. serwerze gry. Zreplikowana postać jest jakby “duchem”, który idzie krok w krok za graczem. “Duch” ten odzwierciedla twoją pozycję, tak jak ją widzi serwer. Oznacza to, że jeśli masz ping w wysokości 200 ms, twój “duch” jest w miejscu, w którym byłeś 100 ms temu (ping to czas trwania podróży pakietu danych w obie strony). Im wyższy ping gracza, tym dalej za nim znajduje się jego “duch”.

Jeśli jednak jako zerkający wychylasz się zza zasłony, wyższy ping nie zapewni ci więcej czasu na reakcję i oddanie strzału, zanim staniesz się widoczny dla innych graczy. Będzie tak, gdyż wszystkie strzały muszą zostać zatwierdzone przez serwer, więc wydłużony czas dotyczyć będzie także przekazywania informacji o strzałach na serwer.

Przewaga zerkającego jest wynikiem wyżej opisanego efektu “ducha”. Nie da się go usunąć, gdyż w rezultacie wszystkie ruchy musiałyby być zatwierdzane przez serwer, zanim weszłyby w życie na twoim kliencie. To z kolei skutkowałoby opóźnieniem na wejściu (równym twojemu pingowi), co stałoby w sprzeczności z naszą filozofią, zgodnie z którą poruszanie się powinno być maksymalnie reaktywne. Z drugiej jednak strony wbrew powszechnemu mniemaniu przewaga obserwatora zależy wyłącznie od szybkości połączenia ofiary, nie zaś obserwatora.

Kiedy tylko zerkający stanie się widoczny, maksymalny czas, jaki ofiara ma do dyspozycji, aby strzelić i wygrać pojedynek, określany jest jako okno możliwości. Przewaga obserwatora spowodowana jest faktem, że okno to jest zawsze krótsze niż czas reakcji obserwatora.

Okno możliwości = Czas reakcji zerkającego – Ping ofiary (łącznie z czasem przetwarzania)

Na poniższym filmie zaprezentujemy sytuację, w której ofiara (gracz nr 2) ma szybszy czas reakcji (150 ms) niż obserwator (gracz nr 1) (300 ms czasu reakcji). Zauważcie, że zwiększony ping zerkającego nie ma wpływu na wynik starcia – jako, że jego zwiększenie nie wywołało sposobności skorzystania z okazji. Choć obserwator miał czas wystrzelić, ofiara uprzedziła go, strzelając w głowę, co zostało zatwierdzone przez serwer, i w rezultacie strzał obserwatora został odrzucony, a on sam zginął.

Na następnym filmie możecie zobaczyć, jak ping ofiary wpływa na wynik pojedynku. Przy stałym czasie reakcji (150 ms dla ofiary i 300 ms dla obserwatora) zwiększaliśmy ping ofiary. Ping zerkającego pozostawał stały na celowo wysokim poziomie 400 ms. Zwiększanie pingu ofiary skutkuje skróceniem jej okna możliwości. Ofiara może wygrać pojedynek dla niskiego pingu (50-100 ms), przy zbyt wysokim pingu (200 ms) zaczyna przegrywać.

Przygotowaliśmy poniższy obrazek, aby zademonstrować to, co zobaczyliście na filmach – bez rozgrywki. Widzicie tutaj oś czasu z naniesionymi na nią podejmowanymi działaniami, kolejnością, w jakiej serwer przyjmuje przychodzące dane, oraz sposób, w jaki opóźnienie wpływa na te kroki.

Peek1

Powyższa grafika ukazuje, w jaki sposób czas reakcji obserwatora jest zachowywany na serwerze i następnie na symulacji ofiary, nawet jeśli obserwator ma wysoki ping.

Peek2

Na powyższej grafice widać wpływ pingu ofiary na jej szansę przetrwania. Ofiara musi wystrzelić do przeciwnika, zanim strzał obserwatora dotrze na serwer, co może się udać tylko wtedy, kiedy strzał zostanie oddany w trakcie trwania jego okna możliwości. Na czas trwania okna nie ma wpływu ping obserwatora. Po tym, jak gracz zostanie przez serwer uznany za martwego, wszelkie dalsze jego czynności zostaną zignorowane. Jest to zgodne z naszą opisaną wyżej filozofią przyznającą przewagę graczom z najszybszym i najbardziej stabilnym połączeniem.

Następne kroki

Wraz z uzupełnieniami w połowie sezonu (R2S3) będziemy wprowadzać następujące dostosowania i zmiany w traktowaniu przez grę opóźnień, przetwarzania i zatwierdzania trafień. Mamy zamiar kontynuować pracę nad tymi zagadnieniami także w przyszłych sezonach.

Wyrównanie opóźnień

Wyrównanie opóźnień to zmiana, jaka pozwala serwerowi dokładniej odzwierciedlać czas reakcji strzelającego, mającego niestabilne połączenie. Jeśli gracz przesyła aktualizacje swojej lokalizacji w nieregularnych odstępach, serwer dostosuje czasy napływających danych o oddanych strzałach tak, aby lepiej odpowiadały swoim odpowiednikom powstającym w wyniku poleceń gracza. Choć wszystko rozgrywa się w przeciągu milisekund, grając przeciwko przeciwnikom doświadczającym wahań opóźnień, gracz skorzysta z dłuższego okna możliwości.

Fizyka w systemie Pawn-to-Pawn

Wprowadzamy nowy system fizyki o nazwie pawn-to-pawn, który zajmie się przypadkami, w których gracze teleportowali się za plecy postaci korzystających z tarcz. Problem ten występował najczęściej w czasie blokowania przejścia przez drzwi przez Montagne’a.

Poprawki w zatwierdzaniu trafień

Zmniejszamy górny limit opóźnienia wymaganego do inicjacji dodatkowych kroków zatwierdzania trafienia. Więcej informacji o mechanizmie zatwierdzania oraz jego wpływie na rozgrywkę opublikujemy w jednym z przyszłych wpisów na blogu.

Poprawki replikowania

Optymalizujemy także replikowanie działań. W wyniku tego gracze powinni móc cieszyć się większą reaktywnością swoich postaci i skróceniem opóźnienia.

Opóźnienie wynikające z przetwarzania + ping

Obecnie wartość pingu wyświetlana w menu zawiera w sobie opóźnienie wynikające z przetwarzania. Może to prowadzić do nieporozumień, gdyż uruchomienie gry z większą liczbą klatek na sekundę skutkować będzie wyświetlaniem niższego pingu. Wyświetlana wysokość pingu nie będzie teraz zawierać opóźnienia wynikającego z przetwarzania. Choć zmiana jest zasadniczo kosmetyczna i bez wpływu na rozgrywkę, wyświetlana wartość będzie bardziej dokładnym odzwierciedleniem szybkości waszego połączenia z serwerami.

Ikony sieciowe

Wprowadzamy serię zmian, które ułatwią wam monitorowanie statusu klienta, serwera oraz waszego połączenia internetowego.

Dzięki tej zmianie gra będzie wyświetlać do czterech nowych ikon w prawym górnym rogu ekranu. Informować one będą o wpływających na jakość rozgrywki wielkościach: pingu, stabilności połączenia, szybkości odświeżania i stabilności hosta (w kolejności od lewej do prawej).

Peek1

Kiedy jedna z tych wielkości znajdzie się w stanie negatywnie wpływającym na rozgrywkę, pojawi się informująca o tym ikona. Dzięki temu otrzymacie bardziej szczegółowe informacje dotyczące połączenia niż tylko wartość pingu. Ikony mogą znajdować się w jednym z dwóch stanów: żółtym lub czerwonym. Próg przechodzenia pomiędzy stanami może być w przyszłości zmieniony przez twórców, dlatego poniżej przedstawiamy jedynie orientacyjne przybliżenia ich aktualnych ustawień.

  • Ikona opóźnienia: pojawia się wtedy, kiedy gracz ma wysoki ping. Żółta ikona opóźnienia oznacza, że ping gracza jest na tyle wysoki, że włączają się dodatkowe kroki zatwierdzania na serwerze (ping w wys. 100-140 ms). Owe dodatkowe kroki zatwierdzania będą stosowane w stosunku do strzałów takiego gracza; służyć też będą sprawdzaniu czy trafiły one wroga, czy też nie. W niektórych sytuacjach strzały te nie zostaną zaliczone. Mając wysoką wartość pingu, gracz może też doświadczyć takich niemiłych sytuacji, jak śmierć za zasłoną. Ikona czerwona oznacza, że ping jest naprawdę zły (400-500 ms). Jeśli ten stan będzie się przedłużał, gracz może zostać usunięty z serwera. Kiedy widoczna jest czerwona ikona opóźnienia, prawie wszystkie strzały gracza zostaną odrzucone przez serwer. To nie błąd, lecz zaplanowany rezultat.
  • Ikona połączenia: pojawia się wtedy, kiedy gracz doświadcza utraty pakietów lub niestabilności opóźnienia (np. kiedy niektóre pakiety zostają przesłane inną trasą w sieci). Kiedy pojawi się ikona, gracze mogą doświadczać przeskakiwania, odrzucania trafień przez serwer gry i nieprawidłowo indukowanego opóźnienia. Prawdopodobieństwo doświadczania takich zdarzeń jest znacząco większe, gdy ikona ma kolor czerwony.
  • Ikona szybkości odświeżania: pojawia się, kiedy liczba klatek na sekundę spada lub jest niestabilna, a liczba pakietów wysyłanych przez klienta gry do serwera jest niewystarczająca. Gracz może doświadczyć odrzucania trafień przez serwer gry i nieprawidłowego indukowania opóźnień (ten rodzaj opóźnienia indukowany jest przez serwer gry, aby inni gracze nie widzieli, jak postać gracza zacina się). Kiedy ikona jest czerwona, gracz może też doświadczyć przeskakiwania.
  • Ikona hosta: ikona ta pojawia się, kiedy serwer doświadcza problemów i nie jest w stanie utrzymać stabilności symulacji. Ikona wyświetli się jednocześnie wszystkim graczom podłączonym do danego serwera gry. Kiedy to się stanie, gracz może doświadczać przeskakiwania, nieprawidłowego opóźnienia lub problemów z rejestrowaniem trafień. Jeśli ikona stanie się czerwona, problemy te będą bardziej zauważalne.

Większość nadchodzących zmian będzie skutkować mniejszą przyjemnością z gry dla graczy z wysokim pingiem, ale decydujemy się na to z pełną świadomością, gdyż uważamy, że w ogólnym rozrachunku przyniesie to korzyść dla gry, jako całości.

Aby dyskutować na tematy poruszane w tym blogu, przyłączcie się do nas na naszym koncie Rainbow Six na Subreddit!

Sprawdź pozostałe media społecznościowe

facebook icontwitter iconyoutube icontwitch icon