Walka wieloosobowa w sieciowym wokselowym świecie Bad Goons
Bad Goons · Autorytatywne serwery Linux · Sieciowy teren wokselowy

TWORZENIE GIER MULTIPLAYER

Multiplayer projektowany wokół pętli rozgrywki.

Sourcegarden Studio zajmuje się networkingiem w grach, autorytetem, predykcją, sesjami i serwerami dedykowanymi. Nasz dorobek obejmuje czteroosobowy co-op w VR, kompetycyjne mobilne VR z predykcją po stronie klienta oraz wieloosobowego FPS-a na dużą skalę na PC z modyfikowalnym terenem synchronizowanym przez sieć.

Porozmawiajmy o Twojej grze multiplayer

JAK WYGLĄDA WSPÓŁPRACA

Zakres, rezultaty i odpowiedzialność – zanim zaczniemy pracę.

01

Autorytet, replikacja i responsywna walka

Architektura multiplayer zaczyna się od akcji, które muszą działać natychmiast, i stanu, który musi pozostać wiarygodny. Określamy autorytet dla każdego systemu, wybieramy, co podlega predykcji, decydujemy, jak rozbieżności są rekoncyliowane, i ustalamy budżety przepustowości oraz częstotliwości aktualizacji, które pętla rozgrywki jest w stanie utrzymać.

Szybka walka, interakcje VR angażujące całe ciało i modyfikowalne wokselowe pole bitwy wymagają różnych strategii replikacji. W trakcie produkcji stosujemy reprezentatywne opóźnienia, jitter i utratę pakietów, aby responsywność była oceniana w warunkach produkcyjnych, a nie tylko w lokalnym teście z niskim opóźnieniem.

  • Modele autorytetu serwera i klienta
  • Predykcja i rekoncyliacja
  • Replikacja i budżety przepustowości
  • Testy opóźnień i utraty pakietów
02

Sesje, matchmaking i scenariusze odzyskiwania

Mecz nie zaczyna się od pierwszej zreplikowanej klatki. Drużyny, wyszukiwanie sesji, przydział serwerów, tokeny połączeń, zgodność wersji i ponowne łączenie decydują o tym, czy gracze w ogóle dotrą do gry i w niej pozostaną. Modelujemy te stany jawnie, zamiast ukrywać je za jednym przyciskiem Połącz.

Zasady matchmakingu muszą równoważyć umiejętności, opóźnienia, skład drużyny, czas oczekiwania i dostępną pojemność. Gdy projekt potrzebuje tej warstwy, definiujemy mierzalne kompromisy oraz narzędzia, których operatorzy potrzebują, aby stroić je po pojawieniu się prawdziwych graczy.

  • Stan drużyn i sesji
  • Ograniczenia matchmakingu
  • Połączenia bezpieczne dla wersji
  • Ponowne łączenie i obsługa awarii
03

Serwery dedykowane i wdrożenia

Autorytatywna symulacja potrzebuje buildu serwera, który da się zbudować, wdrożyć, monitorować i bezpiecznie wymienić. Rozdzielamy odpowiedzialności klienta gry, serwera czasu rzeczywistego, usług trwałych i infrastruktury, a następnie automatyzujemy budowanie i wdrażanie na granicach, które zespół będzie utrzymywał.

Bad Goons wykorzystuje w architekturze produkcyjnej serwery headless Unity na Linuksie i konteneryzowane wdrożenia. Pojemność, wyłączanie, kondycja, logi i wdrażanie wersji traktujemy jako kwestie dotyczące samej gry, bo zachowanie infrastruktury bezpośrednio wpływa na trwające mecze i możliwość diagnozowania zgłoszeń graczy.

  • Buildy serwerów headless na Linuksie
  • Konteneryzowane wdrożenia
  • Kondycja, logi i diagnostyka
  • Pojemność i wdrażanie wersji
04

Testy multiplayera i obserwowalność produkcji

Błędy sieciowe trudno odtworzyć, gdy buildy nie ujawniają stanu, który je spowodował. Dodajemy diagnostykę stanu połączeń, zmian autorytetu, obciążenia replikacji, wydajności serwera i ścieżek awarii, a następnie zachowujemy scenariusze, które można wykorzystać w testach regresji.

Testy obciążeniowe projektujemy wokół obciążenia, które ma znaczenie: aktywnych symulacji, modyfikowalnego stanu świata, fal ponownych połączeń lub zależności od usług. Celem nie jest efektowna liczba jednoczesnych użytkowników, lecz dowód, że architektura degraduje się przewidywalnie i daje operatorom wystarczająco informacji, by mogli działać.

  • Symulacja sieci i testy regresji
  • Profilowanie wydajności serwera
  • Scenariusze obciążenia powiązane z pętlą rozgrywki
  • Dashboardy operacyjne i runbooki

CZĘSTE PYTANIA

O co pytają zespoły, zanim zaczniemy.

Czy możecie dodać multiplayer do istniejącej gry w Unity?

Czasami tak, ale właściwym pierwszym krokiem jest ocena architektury i pętli rozgrywki. Własność stanu, determinizm, fizyka, założenia dotyczące treści i architektura klienta decydują o tym, czy multiplayer można wprowadzać stopniowo, czy potrzebna jest ukierunkowana przebudowa.

Czy budujecie serwery dedykowane, a nie tylko netcode po stronie klienta?

Tak. Udokumentowane prace obejmują serwery headless Unity na Linuksie, konteneryzowane wdrożenia, predykcję po stronie klienta i autorytatywną symulację. Dokładny zakres backendu trwałego i hostingu definiujemy osobno dla każdej gry.

Czy tworzenie multiplayera to to samo co backend do gier?

Nie. Ta usługa obejmuje mecz w czasie rzeczywistym: autorytet, predykcję, rekoncyliację i replikację. Sesje, lobby, wdrażanie serwerów, trwałość danych i monitoring wokół meczu obejmuje nasza usługa tworzenia backendu do gier, którą można wycenić razem z netcode’em lub osobno.

Jakiego frameworka sieciowego używacie?

Framework dobieramy do gry, platform docelowych, modelu autorytetu i podziału odpowiedzialności w zespole. Bad Goons korzysta z FishNet, a wcześniejsze projekty wykorzystywały inne podejścia. Nie wciskamy każdej produkcji w jeden stos sieciowy.

ZACZNIJMY ROZMOWĘ

Potrzebujesz partnera do tworzenia gry?

Przyjdź do Sourcegarden Studio z pomysłem, prototypem albo trwającą już produkcją. Pomożemy określić właściwy zakres prac.

Porozmawiajmy o Twojej grze