silnik_gry

Vostok Engine

Vostok Engine wykorzystuje graficzny interfejs DirectX 11 oraz wielordzeniowe procesory. Zaprojektowany został dla kart graficznych o minimalnych parametrach odpowiadających GeForce 8800 z 512MB pamięci video i wymaga 2GB pamięci operacyjnej. Dla komfortowego grania, niezbędne będzie stabilne połączenie z siecią z 64kbit prędkością wejściową i 32kbit prędkością wyjściową. Podczas projektowania silnika gry, celem twórców było aby wykorzystywał on wszystkie dostępne możliwości obliczeniowe komputera. Przy opracowywaniu rendera gry, skupili się na prawdziwym i dynamicznym oświetleniu oraz środowisku otaczającym gracza.

Oświetlenie

W grze występują dwa rodzaje oświetlenia – bezpośrednie i pośrednie. Oświetlenie bezpośrednie to w pełni dynamiczne słońce oraz własne źródła światła, które mogą i będą rzucać cienie na wszystkie obiekty znajdujące się w pobliżu. Obecnie wykorzystywana przez twórców technologia pozwala na skierowanie oświetlenia zarówno na obiekty dynamiczne jak i postacie niezależnie od ich otoczenia, tzn. jeśli gracz podejdzie do okna to zostanie znacznie lepiej oświetlony. Z kolei jeżeli skieruje się w ciemny kąt – wtopi się w otoczenie. Dodatkowo, w grze wykorzystano współczynnik odbicia Fresnela dla bardziej naturalnych odbić światła na krawędziach obiektów o kącie zbliżonym do 90 stopni oraz bardziej realistyczny model BRDF aby uzyskać dobrą jakość w przypadku takich materiałów jak metale – dzięki temu uzyskano wyraźniejsze własności refleksyjne powierzchni odbijającej. Z kolei dla materiałów innych niż metale, również zastosowane zostały podobne rozwiązania ale odpowiednie dla danych tworzyw.

Zabezpieczenia

Walka z nieuczciwymi graczami jest bardzo ważna dla twórców gry Survarium, ponieważ może zniszczyć całe pozytywne doznanie podczas grania. Dlatego też bardzo poważnie traktują ten problem i planują rozwiązać go w następujący sposób:
Wszystko to co wysyła gracz na serwer jest jego załadunkiem. W ten sposób wszystkie ważne wydarzenia w grze odbywają się na serwerze. Niezależnie od tego czy jest to wystrzał z broni palnej – na serwerze obliczana jest trajektoria lotu pocisku, prędkość, rodzaj naboju itd., co ma zapobiec nieuczciwym zagrywkom. Dzięki temu ograniczono możliwości oszukiwania w grze przy użyciu aim-botów, wallhacków i równoważenia odrzutów przy pomocy makr stosowanych w myszkach do gier. Z takimi metodami oszukiwania twórcy zamierzają walczyć wykorzystując oprogramowanie innych firm aby zapobiec włamaniom do przestrzeni adresowej procesów gry. Na wallhacki zastosowano bardziej precyzyjne odcinanie niewidzialnej powierzchni w taki sposób aby niewidziani gracze w ogóle nie byli odwzorowywani w grze. W planach jest także sprawdzanie zasobów gry po to, aby nie można było robić sztucznej dziury w ścianach i dzięki temu okłamywać silnik gry który pokazywałby graczy.

Pingi i lagi

Zastosowane rozwiązanie zarówno po stronie klienta gry jak i serwera. Po stronie klienta zawsze wykorzystywany będzie ostatni załadunek z serwera. W taki oto sposób, jeżeli nastąpi jakaś przerwa, gracz nie zastygnie w miejscu lecz nadal będzie mógł wykonywać jakieś czynności. Jeżeli w późniejszym czasie nastąpi korekta serwera, to gracz również nie będzie szybko przemieszczać się lub gwałtownie zmieniać kierunek. Za pomocą animacji ma nastąpić równoważenie tego typu lagów. To z kolei oznacza, że zostaną one nieco przyspieszone aby gracz mógł dotrzeć do celu szybciej. Na serwerze odbywa się również zrównoważenie lagów po stronie klienta gry. Pojawiają się one wtedy, gdy serwer bierze pod uwagę czas podczas którego gracz wykonuje jakąś czynność. Przykładowo, jeżeli gracz z wysokim pingiem wysyła wiadomość o tym, że zamierza strzelać w niedalekiej przeszłości, to w tym czasie serwer przywraca pozycje pozostałych graczy do tego samego czasu w przeszłości i wtedy następuje wystrzał. W ten sposób gracz z wysokim pingiem ma możliwość zabicia gracza z niskim pingiem, nawet jeżeli ten drugi gracz na swoim komputerze już zdążył skryć się za rogiem.