Wpis z mikrobloga

Chcecie się obijać w pracy i na lekcjach? Napisałem Hotline Miami w przeglądarce gdzie da się wbijać rangę jak w CSie rozwalając randomów (albo innych Mirków, wystarczy im przekleić link do serwera! ( ͡º ͜ʖ͡º) )

https://hypersomnia.io
#gamedev #programowanie #hypersomnia #opensource

Wystarczy lognąć się Discordem. Albo jako gość na casualowych serwerach.
Pisane przez 10 lat w C++ bez silnika. NIE było warto ani trochę, ale zawsze mogłem w tym czasie scrollować wykop (też pożyteczne wiem).

Gra jest całkowicie open-source!
https://github.com/TeamHypersomnia/Hypersomnia

Wrzucam jeszcze raz bo poprzedni wpis nie załapał. Wrzucałem też dawno na mirko, ale to była wersja Steamowa - teraz przeportowałem grę całkowicie do przeglądarki za pomocą Emscripten i WebRTC.

Odpowiem na każde pytanie dotyczące technologii i kodu - w razie pytań pytajcie ( ͡ ͜ʖ ͡)
bob-pager - Chcecie się obijać w pracy i na lekcjach? Napisałem Hotline Miami w przeg...
  • 15
  • Odpowiedz
  • 1
Czy gracze hypersomnii to hypersomnianie? ( ͡º ͜ʖ͡º)

@kank_: Tak! Nieironicznie śpię 10 godzin dziennie żeby funkcjonować (a tym bardziej żeby programować). Czasami z dodatkową drzemką w środku dnia. Jestem największym śpioszkiem w historii tej planety.
bob-pager - >Czy gracze hypersomnii to hypersomnianie? ( ͡º ͜ʖ͡º)
@kank_: Tak! Nieiro...

źródło: tosleep

Pobierz
  • Odpowiedz
@bob-pager: Pytanie odnośnie networkingu - co w przypadku desynchronizacji, np. gdy jakiś pakiet inputu gracza nie doleci do serwera? Dzieje się jakiś rollback u wszystkich klientów?
  • Odpowiedz
  • 12
co w przypadku desynchronizacji, np. gdy jakiś pakiet inputu gracza nie doleci do serwera? Dzieje się jakiś rollback u wszystkich klientów?


Dolecieć ostatecznie doleci bo mam warstwę reliability nad UDP - może tylko nie dolecieć na czas (i w jedną i w drugą stronę).

Co do rollbacka - klient utrzymuje dwa światy. Ten przewidywany i ten który stał się "na pewno".
Ogólnie klient nigdy nie czeka i zawsze symuluje przewidywany świat w przód z założeniem że stan wciśnięcia przycisków odległych graczy się nie zmienił, a potem odtwarza swoją predykcję jeszcze raz gdy dostanie poprawkę z serwera z której wynika że się pomylił. Zmiany poprawkowe kryje interpolacja wykładnicza.
  • Odpowiedz
  • 0
fajne tylko troche dzwiek sie #!$%@? na przegladarce


@papyshh: Niestety Web Audio nie wyrabia czasami. W przeglądarce możesz wyłączyć HRTF (Settings->Audio), ono bardzo zwiększa wydajność dźwięku ale jego przestrzenność jest widocznie gorsza. To niestety taki tradeoff.
  • Odpowiedz
  • 1
jakbyś mial pisać jesczce raz to samo to jaki silnik bys wybral.?

@Arhus Unreal Engine albo Godot. Prosta przyczyna - nie wyobrażam sobie pisania skomplikowanej gry sieciowej bez dostępu do kodu źródłowego silnika i jego modyfikacji od podstaw. Gdybym pisał singla, rozważyłbym ewentualnie Unity, ale tylko dlatego że wszyscy go używają i łatwiej byłoby znaleźć kogoś do pomocy.
  • Odpowiedz