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 (⌐ ͡■ ͜ʖ ͡■)
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 (⌐ ͡■ ͜ʖ ͡■)


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.
Tutaj rozpisałem się trochę więcej na ten temat po angielsku:
https://github.com/TeamHypersomnia/Hypersomnia/issues/284