QII_Tech_HERO_1920x870.pngquake_ii_box_front.jpg

Quake II

Buy Game
Quake II
10 sierpnia 2023

Pełne informacje techniczne na temat rozszerzonej wersji Quake'a II

quake_ii_box_front.jpg

Quake II

Buy Game

Nowa edycja Quake'a II zawiera mnóstwo ulepszeń.

Wiele z nich, na przykład dynamiczne cienie, jest dodanych współcześnie, a inne zostały dokonane poprzez powrót do technik używanych w wersji z roku 1997.

Choć rozgrywka jest wiernie zachowana w porównaniu z debiutem z lat 90., oto opis głównych ulepszeń technicznych, usprawnień, a nawet modyfikacji w wyniku nawiązania współpracy, które czynią Quake'a II przystępnym dla nowego pokolenia graczy. Czy jesteście doświadczonymi moderami, entuzjastami gier retro czy po prostu ciekawi was, o co chodzi w tej nowej wersji, zagrajcie!

Narzędzia do kompilacji map

Podobnie jak w oryginalnej wersji z roku 1997, większość oświetlenia w Quake'u II zostało wkompilowane do pliku BSP. Oświetlenie jest wstępnie obliczane przez narzędzie oświetlenia, a spakowane tekstury samego oświetlenia zostały zapisane w pliku BSP.

Aby poprawić wsparcie dla BSP z Quake'a II, nawiązaliśmy współpracę z dwoma twórcami popularnych narzędzi ericw, Erikiem Waylishenem i Jonathanem Barkleyem. Postawiliśmy też na całkiem nowe rozwiązania, dzięki którym uzyskaliśmy lepsze oświetlenie, zarówno na mapach oryginalnych, jak i stworzonych przez użytkowników.

Oświetlenie przeliczane odgórnie to wciąż proces oparty całkowicie o procesor główny, dzięki czemu grę można wciąż uruchamiać na maszynach bez układu grafiki. Podczas gdy oświetlanie oryginalnych map na komputerach PC z roku 1997 zajmowało często wiele godzin, a nawet dni, lepsza wydajność na megaherc i wiele rdzeni do dyspozycji oznacza, że oświetlenie własnej mapy ze wszystkim nowoczesnymi efektami można uzyskać już w kilka minut.

Zwiększona gęstość lukseli

Niezależnie od wyrafinowanego żargonu, to ulepszenie kompilatora map jest dosyć proste – oryginalna gra oświetlała świat zgodnie ze współczynnikiem 16:1. Oznacza to, że 16 jednostek w grze było mapowanych do jednej próbki oświetlenia. Przebudowaliśmy wszystkie mapy i zwiększyliśmy współczynnik do 8:1 czyli czterokrotnie zwiększyliśmy szczegółowość. Efekt ten jest dość subtelny na obszarach, gdzie widzimy dużo rozproszonego oświetlenia, ale w miejscach, gdzie snopy światła rzucają wyraźne cienie, widać znaczącą poprawę.

Obsługa siatki oświetlenia

Ta funkcja kompilatora mapy pochodzi z Quake III Arena. W przypadku oświetlenia, w Quake'u II wyzwaniem był fakt, że obiekty były oświetlane w zależności od tego, gdzie na podłożu się znajdowały. Dobrze się to sprawdza w przypadku obiektów i wrogów stojących na ziemi, ale system ten zaczyna mieć kłopoty po pojawieniu się latających potworów. W powietrzu stają często się one ciemniejsze, kiedy przelatują nad cieniem o niskim kącie albo czymś podobnym.

Oprócz przechowywanych map oświetlenia, przechowujemy teraz siatkę wokseli umieszczoną w zamkniętym obszarze świata i zawierającą próbkę światła. Przez ten obszar przenikają wszystkie promienie składające się na system oświetlenia. To dosyć prosty system opierający się głównie o większe pliki i większą zajętość pamięci dla map, a więc można go było wdrożyć dopiero w Quake III Arena.

Oświetlenie niezależne od tekstur

Kolejnym systemem wstecznie portowanym z Quake III Arena jest przechowywanie map oświetlenia w odniesieniu do powierzchni. W oryginalnym Quake'u II, przechylanie i skalowanie tekstur powodowało, że mapa oświetlenia przechylała się i skalowała tak samo. Teraz mapy oświetlenia są przechowywane w oparciu o wielkość pędzla, a nie wielkość tekstury.

Odgórna okluzja otoczenia

Jednym z pierwszych ulepszeń z narzędzi ericw była okluzja otoczenia, zwana także mapowaniem kątów, która pozwala dodać głębię światu poprzez zaciemnienie rogów, aby odzwierciedlić mniejszą ilość światła w takich miejscach.

Cieniowanie Phonga

Po premierze Quake'a II, wydane zostało narzędzie o nazwie ArghRad. Było to rozszerzone narzędzie oświetlenia obsługujące cieniowanie Phonga. Ta starożytna technika pochodząca jeszcze z lat 1970. dostosowuje oświetlenie na powierzchni o niedużej liczbie wielokątów. Pozwala to uzyskać efekt zaokrąglenia bez przebudowywania obiektów i zwiększania liczby wielokątów. Nasze zaktualizowane mapy korzystają z tej techniki tam, gdzie się ona sprawdza.

Materiały przezroczyste

Kolejną zmianą, która naprawdę poprawia oświetlenie przestrzeni, są przezroczyste tekstury. Przepuszczają one promienie światła i dodają nieco własnego koloru. Oznacza to, że kolorowe szkło, hologramy, terminale i inne elementy mogą przepuszczać światło i odpowiednio je modyfikować.

Oświetlenie płynów

Ta funkcja jest coraz bardziej popularna w społeczności twórców map do Quake'a, ponieważ zdecydowanie poprawia wygląd map zawierających płyny. W oryginale woda nie była wcale oświetlana i zawsze miała maksymalną jasność. Teraz powierzchnie płynów mogą posiadać własne mapy oświetlenia, tak jak każda inna powierzchnia, a jednocześnie nie blokują promieni znajdujących się pod powierzchnią.

Grafika

W momencie premiery Quake'a II prawdziwą nowinką było kolorowe oświetlenie. W dzisiejszych czasach to coś uroczo staroświeckiego, ale nasza nowa edycja Quake'a II nieznacznie poprawia kolorowe oświetlenie, jednocześnie zachowując wierność oryginalnej grafice.

Animacje

Animacje w Quake'u II przygotowane przez Paula Steeda dodały temu światu mnóstwo wyrazistości. Od subtelnych drgań i animacji bezczynności po niezwykle efektowne przewroty i nurkowania, nigdy nie było wiadomo, co wrogowi przyjdzie do głowy. Wielu z nas, grających wtedy w Quake’a II po raz pierwszy, wołało „o jasna cholera!” kiedy po raz pierwszy zobaczyło strażnika uchylającego się przed ostrzałem z blastera. Wtedy technologia ta była mocno ograniczona i animacji Paula nie można było wykorzystać w pełni.

Przede wszystkim format modeli MD2 ma ograniczony zakres precyzji werteksów. Powoduje to efekt „kołysania się”, widoczny szczególnie na pierwszoosobowych modelach broni. Udało nam się odzyskać oryginalne pliki animacyjne dla większości modeli w grze i użyć tych animacji w wysokiej rozdzielczości, aby utworzyć animacje szkieletowe dla rozszerzonych modeli, co wyeliminowało kołysanie.

Przejście na animacje szkieletowe usunęło też część przypadków, w których zawiodła interpolacja liniowa. Jest to najbardziej zauważalne w przypadku animacji śmierci Parasite'a, który obracał się i przeskakiwał tak szybko, że animacja interpolowana liniowo dawała efekt wielokątnej zupy z Parasite'a.

Mapy poświaty

Wiele elementów i oświetlenia Quake'a II zawartych jest w teksturach – na przykład w przypadku świecących się elementów broni. W podstawowym silniku były one oświetlane i zaciemniane tak samo jak cała reszta. Teraz obsługujemy mapy poświaty, które są swego rodzaju maskami nakładanymi na tekstury i określającymi, które obszary powinny świecić. Oznacza to, że światło na wrogach będzie świeciło w ciemności, a lampki na uzbrojeniu będą w mroku jeszcze jaśniejsze. Tym samym szczegóły oświetlenia na istniejących skórkach będą jeszcze wyraźniejsze.

Mgła wysokościowa

Rozszerzyliśmy obsługę mgły, dodając gęstszą mgłę na wyższych wysokościach. Twórcy map mogą teraz określić dwa różne kolory mgły. Jest to efekt postprocessingu, a nie dodatkowa mapa objętościowa. Ma to pewne wady, ale pozwala twórcom map tworzyć bardziej zróżnicowane przestrzenie.

Rozbłyski na lufie

Choć nie jest to dodatek stricte techniczny, zmiana ta ma tak pozytywny wpływ na rozgrywkę, że opiszemy ją również tutaj! Lufy uzbrojenia zarówno gracza, jak i wrogów, rozbłyskują po wystrzale. Pomaga to szybko zorientować się, kto do ciebie strzela, szczególnie w dobrze oświetlonych pomieszczeniach, gdzie dynamiczne oświetlenie może nie być dobrze widoczne.

Dźwięk

W naszej rozszerzonej edycji Quake'a II dokonaliśmy ulepszeń dźwięku. Oprócz usunięcia błędów w oryginalnym kodzie dźwięku i podwyższenia limitów, dzięki którym możliwe jest odtwarzanie większej liczby dźwięków na szybszych procesorach, obsługujemy teraz także dołączanie nazwy materiału do każdej tekstury.

Ma to dwa cele: po pierwsze umożliwia śledzenie rodzaju powierzchni, dzięki czemu kroki na każdym materiale brzmią inaczej. Po drugie, możemy teraz mniej-więcej oszacować wielkość pomieszczenia i materiały w nim użyte, aby wybrać konfigurację pogłosu. Dzięki temu chodzenie po podziemnych kanałach brzmi inaczej niż po trawie na zewnątrz.

Sztuczna inteligencja

SI w Quake'u II w trakcie produkcji przeszła wiele zmian. Pierwotnie Quake II miał korzystać z QuakeC, ale pod koniec cyklu podjęto decyzję o zmianie z interpretowanego kodu na natywną bibliotekę. Trzeba więc było przekonwertować cały istniejący kod QuakeC na C i przy okazji uprościć nieco SI, aby przypominała tę z oryginalnego Quake'a. W tej reedycji poprawiliśmy nieco boty i ujawniliśmy więcej ich wewnętrznej logiki SI wroga.

Ulepszone poruszanie się

Przekazaliśmy wiele funkcji poruszania się botów do biblioteki DLL gry, przez co gra lepiej zarządza planowaniem trasy do i z wyznaczonych punktów. SI wciąż wymaga jednak ręcznego ustawiania punktów nawigacji – choć początkowo zastanawialiśmy się nad generowaniem siatek nawigacyjnych poprzez takie rozwiązania jak Recast, uznaliśmy że nie zdążymy wdrożyć ich zgodnie z harmonogramem produkcji i zdecydowaliśmy się na ulepszenie istniejących narzędzi dla botów.

Pierwotna SI w Quake'u II posiadała bardzo podstawowe funkcje, pozwalające postaciom poruszać się po otoczeniu. Teraz SI może ustawić cel – na przykład zbliżenia się do gracza albo poruszania się po skomplikowanych pomieszczeniach ze schodami, aby wykorzystać przewagę wysokości lub zeskoczyć w dół.

Ulepszone podejmowanie decyzji

Podejmowanie decyzji przez SI zostało poprawione, a działania wrogów są bardziej zaawansowane w porównaniu z pierwotną edycją. Wrogowie znacznie lepiej oceniają, czy w ogóle są w stanie trafić gracza, szczególnie jeśli dysponują kilkoma atakami.

Przykładowo, Gunner którego ramię z działkiem łańcuchowym jest zablokowane przez ścianę, będzie używał granatów, a nie wystrzeliwał całą amunicję w róg. Wrogowie mogą też czasem zdecydować, że skrócą dystans do gracza i zaczną strzelać, zamiast czekać aż dotrą do wyznaczonego celu przemieszczania się. Takie zmiany ograniczają liczbę kiepskich decyzji SI, ale drastycznie nie zmieniają zachowania wrogów.

Nowa SI latania

SI latania została całkowicie przebudowana, aby wyglądała bardziej naturalnie. Latający wrogowie będą zwalniać i szybować, a nie nagle się zatrzymywać. Roje dronów Flyer będą się ze sobą zderzać i odbijać, lecąc w wyznaczone miejsce.

Odtworzona zawartość

Każdy, kto oglądał oryginalne pliki Quake'a II, zauważył na pewno dodatkowe animacje, które nigdy nie zostały użyte w pierwotnej wersji. Dokładnie je przejrzeliśmy, doszlifowaliśmy i ponownie dodaliśmy do gry. Przykładowo, Technician wysuwa teraz swoje groźne szpony, aby zastawić pułapkę, a Berzerker jest jeszcze bardziej gwałtowny, bo ma do dyspozycji atak skokiem z ziemi.

Dokonaliśmy kilku zmian w Parasicie, aby walka z nim była jeszcze ciekawsza. Jego trąbka jest teraz swego rodzaju pociskiem, którego można uniknąć i który może wbić się w ścianę. Dodaliśmy tę mechanikę, aby Parasite mógł używać swojej animacji szarpnięcia i przewrotu, gdyż po nieudanym ataku pozostaje odkryty.

Boty

Oto kilka nowych funkcji botów w rozszerzonej edycji Quake'a II:

  • Boty mogą teraz zyskiwać dostęp do trudnych obszarów, takich jak Megahealth na The Edge po użyciu rocket jumpa.
  • Wszystkie rodzaje broni, przedmioty i wzmocnienia w grze są dobrze zrozumiałe i używane przez boty w odpowiednich momentach.
  • Wszyscy wrogowie są rozpoznawani i atakowani, jeśli zagrażają botom.
  • Boty potrafią skakać, schylać się, jeździć windami/platformami, używać drabin, aktywować pułapki na wrogów i same unikać pułapek.
  • Komendy wyższego poziomu z bibliotek DLL gry pozwalają moderom kontrolować to, dokąd idą boty i co robią.
  • Dodaliśmy nowe przedmioty, uzbrojenie i wrogów do waszych modów. Wystarczy dodać wpis do prostego pliku tekstowego, aby boty widziały i rozumiały te elementy (więcej na ten temat poniżej)

Boty kontrolowane przez dane do tworzenia modów

Boty zostały zaprojektowane tak, aby szybko i łatwo wspierać mody. Osiągnęliśmy to poprzez zestaw plików danych wyjaśniających, które obiekty interesują boty i jak te obiekty działają. Dla twórcy modów, jest to tak proste, jak stworzenie własnej definicji dla danego moda, a definiować można wyjątkową broń, przedmioty, potwory itp.

Lista dostępnych plików wraz z przykładami elementów znajduje się poniżej:

Ulepszony edytor poruszania się

Rozszerzona edycja Quake'a II pozwala szybko ustawić wytyczne poruszania się po mapie, z pomocnymi informacjami i uwagami zawartymi w edytorze. Plik NAV stworzony w edytorze jest zapisywany osobno i można go udostępnić w modzie lub przesłać znajomym.

Ulepszone narzędzia debuggingu

Dostępne są różne narzędzia debuggingu botów, dzięki czemu można debugować konkretnego bota, wydawać mu komendy albo sprawdzić tok jego myślenia.

Narzędzia debuggingu pozwalają:

  • Wyświetlić informacje o ogólnym stanie, celach itp. bota.
  • Wyświetlić obecny stan systemu zachowania bota.
  • Wyświetlić informacje o trybie gry i przedmiotach/obiektach, które pozostają w obszarze zainteresowania bota.
  • Dać botowi cel poruszania się w świecie, do testowania poruszania się.
  • Wyświetlić wrogów, których widzi bot i których atakuje.
  • Wyświetlić obecny stan systemu uzbrojenia bota i jego dostępny ekwipunek.

Linie debuggingu

W kodzie gry można teraz rysować proste kształty. Pozwalają one narysować takie rzeczy, jak położenie obiektu, tekst w świecie, a nawet kierunek poruszania się czegoś. To wszystko jest niezwykle użyteczne przy debuggingu.

Kształty dostępne przy debuggingu:

  • Linia
  • Punkt
  • Okrąg
  • Granice
  • Sfera
  • Zorientowany tekst w świecie (zawsze ustawia się w kierunku widoku lokalnego klienta)
  • Statyczny tekst w świecie
  • Walec
  • Promień

data.images.authors.idsoftware.jpg

id Software