20-2-2020

DEV BLOG: EKSPLOZJE I ODŁAMKI W R5S1

Co się dzieje w Rainbow Six Siege w chwili eksplozji? Jakie czynniki brane są pod uwagę przy kalkulacji obrażeń od wybuchu? Jak to wszystko działa?

Wybuchy grają kluczową rolę podczas rozgrywki w Rainbow Six Siege. Nie chodzi tylko o samo bum – eksplozje tworzą luki w obronie, otwierają nowe przejścia, są narzędziem zwiadowczym i użytkowym, a czasami bezpośrednio prowadzą do zwycięstwa. W tym wpisie na blogu autorów wyjaśnimy, w jaki sposób działają eksplozje i w jaki sposób chcemy je zmienić.

Anatomia wybuchu

Zniszczenia w Rainbow Six Siege są unikatowe, a wybuchy nigdy nie przebiegają dwa razy w ten sam sposób.

Obrażenia i zniszczenia na skutek wybuchu obliczane są na przestrzeni tysięcznych części sekundy. Gracze dostają informacje wizualne i dźwiękowe, a jeśli znajdą się w zasięgu eksplozji, ich operatorzy zostają zranieni. Aby to wszystko było możliwe, nasz engine odpowiedzialny za wybuchy musi przejść przez kilka kroków.

Zasięg i kształt wybuchu

Każdy rodzaj wybuchu zdefiniowany jest przez szereg danych wejściowych, które określają kształt i zasięg eksplozji. Kształty wybuchów zależne są od rodzaju materiału wybuchowego – na przykład granat odłamkowy ma okrągły wybuch, a mina kierunkowa – podłużny.

W chwili wybuchu gra bierze określony kształt eksplozji i wysyła zapytanie do naszego engine’u odpowiedzialnego za fizykę. Następnie, uwzględniając miejsce eksplozji i jej kształt, engine ten odpowiada listą elementów (operatorów i przedmiotów), które wybuch objął swoim zasięgiem. Oto nasza lista potencjalnych elementów, na które może wpłynąć wybuch.

[R6S] Explosions: R6 AOE Animated

*Barykada i operator znajdujący się wewnątrz kuli to elementy, na które może wpłynąć eksplozja.*

Generowanie promieni w celu określenia kto lub co ma otrzymać obrażenia

Po wygenerowaniu list potencjalnych obiektów znajdujących się w zasięgu wybuchu nasz engine odpowiedzialny za fizykę wykreśla promienie. Te promienie to teoretyczne linie, które przemieszczają się na zewnątrz od epicentrum wybuchu w kierunku dowolnych elementów i ich punktów zapytań, znajdujących się wewnątrz zasięgu eksplozji.

Każdy element ma wiele indywidualnych punktów zapytań, używanych do określenia, czy zadano jakiekolwiek obrażenia. Zamiast obierać za cel szkielet danego modelu albo ustalać pojedynczy docelowy punkt dla każdego operatora, dzięki punktom zapytań skuteczniej podejmujemy decyzję, czy operator powinien odnieść obrażenia na skutek wybuchu. Ta metoda najlepiej się sprawdza pod względem optymalizacji prędkości działania i minimalizacji opóźnień.

Promienie trafiają w te punkty zapytań na podstawie konkretnych parametrów, a następnie tworzą punkty danych używane później do wyliczenia faktycznych obrażeń. Przykładowo, w przypadku operatora promienie obiorą za cel najbliższe wybuchowi punkty na fizycznej postaci operatora, jak również 4 punkty na ich obudowie (czyli na kształcie, który otacza elementy wizualne operatora), a w przypadku ściany trafią w punkty zapytań, wybrane według innego zestawu zasad.

[R6S] Explosions: R6 Raycast Animated

*Wynik wyświetlania promieni określa, czy możemy wpłynąć na element wewnątrz zasięgu eksplozji.*

Przed wyliczeniem obrażeń bierzemy pod uwagę jeszcze jedną zmienną. Elementy otoczenia zmieniają fragmenty kształtu wybuchu i mogą cię potencjalnie uchronić przed obrażeniami.

To metadane cię uratowały

Gdy promienie kończą swoją podróż w kierunku elementów w zasięgu wybuchu, zwracane są dane, które określają efekt końcowy eksplozji.
W Siege występują obiekty, które mogą zablokować obrażenia od wybuchów. Wszystkie obiekty zawierają metadane określające rodzaj obiektu oraz sposób jego interakcji z pozostałymi obiektami w grze. Niektóre obiekty zawierają metadane, które blokują obrażenia od wybuchów, jak choćby metalowe barykady, panele Castle’a, rozkładane tarcze i tak dalej.

Jeśli promień trafi w obiekt zawierający metadane blokujące obrażenia od wybuchów zanim trafi w punkty zapytań operatora znajdującego się w zasięgu wybuchu, jesteś bezpieczny. Jeśli promień nie trafi w nic albo trafi w obiekty bez metadanych blokujących obrażenia, zostaniesz zraniony. Ten system dotyczy również gadżetów z obszarowym efektem wybuchu, takich jak ładunek EMP Thatchera.

[R6S] Explosions: R6 Results Animated

*Obiekty z metadanymi blokującymi obrażenia od wybuchów kontra obiekty bez takich metadanych, w obu przypadkach obiekt znajduje się w polu rażenia.*

Obrażenia od wybuchów są przeliczane i nakładane na koniec, po zebraniu tych wszystkich danych.

Określanie poniesionych obrażeń

Podczas kalkulacji obrażeń zmniejszają się one wraz ze wzrostem odległości od epicentrum wybuchu. Rozmaite eksplozje mają różne wykresy parametru zmniejszania obrażeń, zwykle największe obrażenia zadawane są w epicentrum eksplozji. Ostateczne obrażenia wyliczane są na podstawie rezultatów analizy za pomocą promieni oraz nałożenia wykresu parametru zmniejszania obrażeń wraz z odległością na twoją aktualną odległość od źródła eksplozji.

Zniszczenia kontra obrażenia

Za wybuchy w Siege odpowiedzialny jest nasz engine zniszczeń, Realblast. To system zniszczeń generowanych proceduralnie, który stanowi fundament unikatowej i dynamicznej rozgrywki, którą znacie i kochacie w Siege. Warto zapoznać się z panelem GDC na temat Realblast, który prowadził Julien L’Heureux, klikając tutaj.

__Wybuchy zwykle mają dwa efekty – zniszczenia i obrażenia. Obrażenia to system zadawania ran graczom, a zniszczenia to system destrukcji otoczenia. __Każdy z parametrów może mieć zróżnicowany zasięg i kształt, zależny od eksplozji.

[R6S] Explosions: R6 DamageVsDestruction Animated

*Zasięg zniszczenia (Realblast) kontra zasięg obrażeń.*

Obecnie w Siege po początkowej eksploracji za pomocą promieni i zebraniu danych, określamy zasięg efektów obrażeń i efektów zniszczenia. Jeśli promień trafi na blokadę, zasięg obrażeń zostaje ograniczony do zasięgu systemu Realblast.

Aktualne rozwiązanie dotyczące efektów i zasięgów wybuchów nie jest jednak idealne, ponieważ w określonych przypadkach efekt wybuchu może być nierealistyczny. Na przykład w obecnym systemie wybuchów ładunek C4 na otwartej przestrzeni jest znacznie bardziej zabójczy niż wtedy, gdy zostanie użyty wewnątrz budynku, gdzie ściany ograniczają jego zasięg obrażeń.

Zmiany dotyczące odłamków w R5S1

Wraz z R5S1 wprowadzimy subtelne, ale ważne poprawki wybuchów, dzięki czemu obrażenia od eksplozji będą bardziej realistyczne i logiczne.Od teraz do wybuchów w Rainbow Six Siege wprowadzamy koncept odłamków. To oznacza, że obiekty, które daje się zniszczyć, nie będą już ograniczać zasięgu obrażeń od wybuchów, co rozwiąże problem rozbieżności pomiędzy zasięgiem zniszczeń i zasięgiem obrażeń, o którym napisaliśmy powyżej.

Odłamki sprawią, że obrażenia od wybuchów będą bardziej realistyczne, ponieważ obrażenia nakładane na gracza zostaną obniżone na podstawie liczby zniszczalnych obiektów, przez które promień przenika w drodze do celu. Eksplozje będą również bardziej logiczne, ponieważ dzięki dziurom od odłamków gracze uzyskają więcej informacji na temat oryginalnego miejsca wybuchu.

[R6S] Explosions: Shrapnel Animated

*Zmiany w odłamkach.*

TL;DR – PODSUMOWANIE

Sztuka zniszczenia w Rainbow Six Siege to jedyne w swoim rodzaju doświadczenie, które stawia na realistyczne rezultaty i reakcje. Dodanie obrażeń od odłamków stanowi ważny krok w kierunku poprawy realizmu efektów i obrażeń od wybuchów, jak również poprawia informacje wizualne związane z eksplozjami.

Aby dowiedzieć się więcej o wybuchach i odłamkach, sprawdźcie wyjątkowe pierwsze spojrzenie i dyskusję o systemie na podcaście Logic Bomb

Sprawdź pozostałe media społecznościowe

facebook icontwitter iconyoutube icontwitch icon