Wszystkie projekty
  • C#
  • s&box (Source 2)
  • Multiplayer
  • 2026, otwarta beta

Pushout: Demolition Derby

Multiplayerowa walka samochodami na fizyce. Wytrzymaj na arenie 240 sekund i zepchnij rywali, zanim oni zepchną ciebie. Zrobiłem ją w pojedynkę, od pomysłu po LiveOps.

Graczy łącznie
1665
Łączny czas gry
18 dni
Średnio na gracza
16 min
Pozytywne recenzje
25
Zespół
Solo
Odtwórz gameplay Pushout: Demolition Derby (YouTube)
Gameplay z otwartej bety.

Moja rola

  • Projekt mechanik i balansTryb Sumo, czas meczu, respawn po 10 sekundach, sterowanie pędem pojazdu.
  • Architektura kodu w C#Struktura projektu w s&box, gotowa na szybkie zmiany po feedbacku graczy.
  • Sieciowa synchronizacja fizykiAutorytatywny host, bufor historii stanów i kompensacja opóźnienia: zderzenia działają tak samo u wszystkich graczy.
  • UI, analityka i LiveOpsInterfejs, zbieranie statystyk i poprawki balansu wdrażane na żywo.

Wyzwanie: fizyka, która zgadza się u wszystkich

Problem
W grze opartej na zderzeniach każdy desync od razu psuje zabawę: auto, które u ciebie spadło z areny, u rywala dalej jedzie.
Rozwiązanie

Hostowany, autorytatywny system zderzeń. Każdy gracz symuluje fizykę własnego auta, a host co tick (50 Hz) zapisuje stan każdego pojazdu w buforze historii z ostatnich 500 ms.

Przy zderzeniu klient wysyła tylko lekkie zgłoszenie: ID obu aut i punkt styku. Host sprawdza, czy nadawca jest właścicielem jednego z nich, cofa się w historii o połowę jego pingu (kompensacja opóźnienia) i liczy symetryczny impuls z prędkości zbliżania wzdłuż normalnej styku, stosunku mas i kąta uderzenia. Blokada pilnuje, żeby ta sama para nie została przeliczona dwa razy.

Wynik trafia do wszystkich, a każdy klient przykłada go do własnego auta. Lokalna, ciągła siła "rozpychania" daje natychmiastową reakcję na kontakt, bez czekania na odpowiedź serwera.

Efekt
1665 graczy, 25 pozytywnych recenzji i średnio 16 minut gry na osobę. Mecze są na tyle stabilne, że gracze zostają na kolejne rundy.
Kadr z rozgrywki Pushout Kadr z rozgrywki Pushout Kadr z rozgrywki Pushout
Wybrane kadry ze starć.

Stack

  • C#
  • s&box / Source 2
  • Networking
  • Lag compensation
  • Rigidbody physics

Czego się nauczyłem

Jak pisać kod pod multiplayer i jak pracować z żywą grą. Ponad 1600 graczy dało mi feedback, którego nie zastąpi żaden playtest: błędy z produkcji, szybkie poprawki balansu i decyzje oparte na danych.

Następny projekt Hourglass Sanatorium