Hejto.pl
Dodaj post

Wpisz coś do wyszukania (minimum 2 znaki)

Wpis użytkownika DexterFromLab w Hydepark

Gruba ryba

w Hydepark

31piorunów

Silnik gry działa bardzo dobrze :smiley: Całość jest bardzo lekka – cały tick gry dla mapy 100 na 100 pól wykonuje się w 0,3 ms na moim 8-letnim laptopie. Silnik gry napisany jest w Javie, z rdzeniem w C++ dostępnym przez JNI. Mam na ten moment napisanych około 200 testów jednostkowych, 200 integracyjnych i około 100 E2E. Zajęło mi to trochę czasu, bo głównie skupiłem się na optymalizacji. Jeden kafelek to dokładnie 4 bity pamięci. Chodzi o to, żeby móc budować ogromne światy do eksploracji z wieloma lokacjami, a całość ma działać na RPI :grinning:

Na ten moment zużycie zasobów całej aplikacji wygląda tak:

Zużycie zasobów Coconut Game Stack:

Główne komponenty gry:

:video_game: Game Server 0,63% CPU 401 MB eclipse-temurin:17-jdkJava Spring Boot + JNI Engine

:atom_symbol: Client0,20% CPU 84 MB node:18-slimReact + Vite dev server

Monitoring (opcjonalny):

:bar_chart: Grafana 0,68% CPU 209 MB

:bar_chart: PODSUMOWANIE:

Minimalna konfiguracja (tylko gra):

* CPU: ~0,8% (server + client)

* RAM: ~485 MB (401 + 84 MB)

Pełna konfiguracja (z monitoringiem):

* CPU: ~1,5%

* RAM: ~733 MB (401 + 84 + 209 + 36 + 3 MB)

Wydajność:

* Game Server: Najbardziej zasobożerny (Java JVM + C++ engine)

* Client: Lekki (tylko Vite dev server)

* Monitoring: Średnio zasobożerny, ale opcjonalny

Na ten moment działa:

* Multiplayer (wielu graczy)

* Wiele mobów, AI

* Poruszanie się, systemy kolizji i wiele typów terenu

* Bardzo prosty interfejs graficzny z chatem (żeby mieć wizualizację)

* Proste statystyki

Następnym razem udostępnię serwer – napisana jest już cała konfiguracja auto-deploymentu. Wystarczy wrzucić i uruchomić. Zrobię to w najbliższym czasie.

Później zajmę się rozwijaniem mechaniki gry, punktacją, rozwojem postaci :D

Komentarze (14)

Autorytet2piorunów

fajnie to wygląda, niezła robota.

Gruba ryba3piorunów

@Fausto nie za bardzo. Takie gry przeważnie nie zarabiają. Jak bym miał 1000 aktywnych graczy to może z 200 zł dostanę na miesiac. Raczej otworze to jako open source i spróbuję dodać do repo Ubuntu. Wtedy będę miał wpis do portfolio poważny. I będę robił jakieś scenariusze do gry hobbystycznie jak ludzie będą grali.

Fanatyk1piorunów

Nie znam się ale czy dla RPi te 700mb to jakoś sporo się wydaje?

Gruba ryba0piorunów

@owczareknietrzymryjski są różne usługi. Zazwyczaj mocno zasobożerne. Co tam byś chciał, nie wiem immich, może coś do hostowania video? Jellyfin? Słabo z ramem. Raczej bym polecał jakiś używany terminal od della albo HP. Można za 100 zł wychaczyć fajne sprzęty dużo mocniejsze niz rpi z mniejszym poborem mocy.

Gruba ryba2piorunów

@owczareknietrzymryjski wziąłeś najniższą wersję to teraz tak masz. Poszło by z bólem. Trzeba by swapa zrobić i wtedy by się zmieściło na Ubuntu server. Ale jak bym wylączyl statystyki serwera to by śmigało. Bo grafana trochę obciąża system.

Lider1piorunów

@DexterFromLab widzę liquid glass. ;d

Gruba ryba0piorunów

@Deykun nie zmyślam. Tak mi wyszło. Potem będę eksperymentował z większymi mapami. Ale obciążenie procesora będzie zależało od ilości graczy. Bo gracze generują chunki i ruchu mobów. To tak na prawdę zjada zasoby. Mapa to tylko ram. No i całość silnika to C++ to już nawet jak bym to napisał w asemblerze to by mi niewiele dało 😛