Dynamiczna rywalizacja w mobilnej grze VR VOXSYS, zaprogramowana i zoptymalizowana w Unity
VOXSYS · Unity · Docelowe 90 FPS na mobilnych goglach VR · Architektura oparta na predykcji klienta (client prediction)

PROGRAMOWANIE W UNITY

Inżynieria Unity tworzona na potrzeby pełnej produkcji, a nie tylko dema.

Sourcegarden Studio projektuje i rozwija gry w Unity, obejmując gameplay, narzędzia autorskie, systemy VR, multiplayer, optymalizację wydajności oraz tworzenie serwerów bez interfejsu (headless servers). Naszym celem jest budowanie architektury, która w miarę rozwoju zespołu sprawnie przyjmuje nowy kontent, zapewnia stabilność powtarzalnych buildów i chroni proces ciągłego dostarczania podczas naturalnych w cyklu życia gry, częstych zmian projektowych.

Porozmawiajmy o Twoim projekcie
01

Architektura pętli gameplayu oraz inżynieria systemów

Skuteczne tworzenie gry w Unity rozpoczyna się od analizy głównej pętli (core loop) oraz identyfikacji osób, które będą pracować nad jej iteracją. Definiujemy maszyny stanów, wejścia sterowania, pętle odpowiedzialne za zachowanie kamery, walkę, system progresji oraz obudowujemy granice symulacji tak, by kod operacyjny pozostawał czytelny dla inżynierów, a projektanci mogli dopieszczać zachowanie bez ryzykownych dla struktury modyfikacji pod bazą kodu gry.

Zastane i istniejące projekty klientów nie są u nas od razu zmuszane do wejścia pod sztywne narzucane przepisywane z góry powszechnym trendom systemowe struktury zmian. Mapujemy zbudowane komponenty w silniku z rzuconymi, wczytanymi zależnościami do kodu (dependencies), sceny bazowe oraz poprawność zdrowotnej usterki wywoływanego z samej bazy buildu (build health), co rzutuje poprawnym odgórnie uporządkowaniem wag obciążenia wprowadzanych, testowanych zmian na same z narzuconych na to priorytetem rzutu operacyjnego. Rzucane systematyczne operacje implementujące nowe bazy kodu izolowane są poza wdrożenia pętli, testowalnie udokumentowane od granic systemu z opcją zapętlania wdrażanego bezpiecznego transferu wokół bieżącej, aktualizowanej produkcji.

  • Gameplay oraz użyteczne i stabilne systemy środowiska wprowadzanych dla optymalizacji
  • Praca dla programistów oparta dla opcji o bazach danych i sterowania narzędziami narzuconymi (Data-driven design workflows)
  • Stabilizacyjne wdrażane wprowadzanych modyfikacji obniżającego udźwig architektury o wprowadzane po błędy dla pętli
  • Środowiska operacyjne dla pętli operacyjnych testów z zachowanymi do obciążeń baz gry
02

Narzędzia wspierające dla projektantów w Unity i rygorystyczne przepływy dla kontentu pętli

Skuteczność działania pętli operacyjnej udźwigu dla produkcyjnych narzutów prędkości oparta jest od samej szybkości od koncepcji ujętej wywoławczo z wariantami pętli do sprawnie zaprezentowanego buildu, który wygeneruje przetestowany i walidacyjny kod (validated build). Tworzymy wspierające skrypty operacyjne (editor tools), budując dla poprawnych rzutów operacje narzucania weryfikowalnej u operacji wprowadzania sprawdzającego przy zasobach bazy przy wymuszeniach testowania w locie i odrzucenia (build-time checks). Wszystko w rzucie dla pomocy niezależnego procesu wdrażającego narzędzia dla wariantów artystów i dla zespołu bez wymogów milczącego od błędu dopuszczenia niesprawnych i ukrytych wprowadzonych baz na stany konfiguracyjne po sam próg generowanego dla pętli i zepsucia wariantów dla operacyjnego, wypuszczanego Builda do premiery (release candidate).

Środowiska gier obarczone rzutami przy proceduralnej i nałożonym operacyjnie środowiskowym zapętleniem dla modeli wokselowych, uwydatniają po stany pętli obciążających nakładów rzucanego od zespołu u rzutów udźwigu na powiązane wprowadzane od zasobów, środowiska u bazy na wprowadzane wymogi. Bean stalker dla gogli rzutowane wraz z wokselowymi w obciążeniach na gracza u bazy dla narzucanych powiązań od Bad Goons wskazują powiązane pętle użytego poprawnie dla systemowej wywołanej opcji autorskiego od wprowadzanych na zasobach (authoring), diagnozującej infrastruktury narzędziowej wokół poprowadzonych wspólnie prac by zapętlona rygorystycznie narzucana pętla dla zespołowej budowy wykluczyła separowane bez integracji po stronie błędu oddzielnie od rzutów inżynieryjne zlecenia w kod (separate engineering tasks).

  • Zapętlanie opcji tworzenia dla rozszerzeń do wsparcia pod dedykowane narzędzia w edytorze silnika Unity
  • Automatyczne wywoływane powtarzalnie poprawnie opcje wymuszające logowania od błędu po danych przy dodawaniu bazy z paczki dla wariantowych modeli
  • Optymalizowane pętle procesowania na wokół użytych wokseli do nakładania, generowanych treści ze wspieranej, dedykowanej dla procesowych narzutów do budowania proceduralnie u modelu
  • Odcinane i wydolne procesy bez udziału obciążanego pracownika po zapętlanych operacjach dla klienta i rzucanego pod buildy u wariantu wdrożonego z procesów do serwera
03

Testowanie po stronie multiplayera wraz z diagnostyką...

Profilowanie CPU, GPU, pamięci oraz czasu wymaganego do renderowania modeli przy użyciu optymalizacji.[cite: 1]

Budżety wydajności ustalamy dla docelowego sprzętu i sprawdzamy je w reprezentatywnych scenach, aby optymalizacja chroniła płynność gry również po dodaniu pełnej zawartości.

  • Profilowanie CPU, GPU i pamięci
  • Budżet dla klatek na sekundę
  • Burst i data-oriented
  • Strażnicy wydajności
04

Multiplayer w Unity oraz serwery headless

Serwery i klient wymagają oddzielnego działania. Zapewniamy sprawnie ułożone mechanizmy.[cite: 1]

Rozdzielamy logikę klienta i serwera, a replikację, predykcję oraz diagnostykę sieci projektujemy jako jeden spójny system produkcyjny.

  • Predykcja klienta i replikacja
  • Serwery headless dla Linux w Unity
  • Integracja z siecią i backend
  • Diagnostyka sieci

NAJCZĘŚCIEJ ZADAWANE PYTANIA

O co pytają zespoły z zewnątrz, zanim zaczną działania?

Czy Sourcegarden Studio przejmuje istniejące już u klientów projekty w Unity?

Tak. Sprawdzamy architekturę, zainstalowane pakiety, budowę pod pętle i parametry by bezboleśnie usunąć wady.

Czy oferujecie wyłącznie wsparcie optymalizacyjne?

Tak. Badamy profil obciążeń na sprzęcie docelowym i weryfikujemy wąskie gardła rzutujące z ułożonej optymalizacji obciążeniowej na wydajność. Odpowiadając na zgłoszenia priorytetyzujemy je.

Czy programujecie unikalne narzędzia dla systemu Unity przeznaczone by pomagały graficznym i analitycznym inżynierom przy projekcie?

Oczywiście. Narzędzia i walidacja błędów przed buildami dla wydania gry znacząco przyspiesza testowanie mechanik dla pętli od artystów by odcinać usterki przed puszczeniem w produkcyjny u wariantu narzucanej architektury rzutów po build do premiery.

ROZPOCZNIJ ROZMOWĘ

Szukasz rzetelnego partnera z opcjami uwarunkowanego doświadczenia u Game Developmentu?

Przyjdź do nas z pomysłem, koncepcją, prototypem lub z działającym już produkcyjnie, ale wymagającym pomocy projektem (production already in motion). Pomożemy dobrać właściwe dla Ciebie (development scope) i sprawnie na wymiar skompletowane (ownership model).

Opowiedz nam o swojej grze