Tworzę internetową grę wieloosobową. Działa dobrze, kiedy testuję go w sieci lokalnej, ale zanim go wypuszczę, chciałbym przetestować, jak działa środowisko użytkownika dla kogoś, kto nie ma tak dobrego połączenia z serwerem. Jak mogę zasymulować złe połączenie internetowe przy dużym opóźnieniu, niskiej przepustowości, fluktuacji i sporadycznej utracie pakietów w środowisku …
Na podstawie Dlaczego tak trudno jest stworzyć MMO? : Tworzenie gier sieciowych nie jest trywialne; do pokonania są nie tylko duże opóźnienia, ale także zapobieganie oszustwom, zarządzanie stanem i równoważenie obciążenia. Jeśli nie masz doświadczenia w pisaniu gry w sieci, będzie to trudne zadanie edukacyjne. Znam teorię na temat gniazd, …
Wiem, że UDP jest zwykle zalecane w przypadku gier wieloosobowych w czasie rzeczywistym z dużym wykorzystaniem danych. Większość artykułów ma wiele lat, a ponieważ około 80% wszystkich danych przesyłanych w Internecie to TCP, wiele zostało zoptymalizowanych pod kątem TCP. To mnie zastanawia: czy UDP wciąż jest lepszy pod względem szybkości …
Wcześniej połączenia TCP przez połączenie modemowe / ISDN / wolne łącze szerokopasmowe powodowały niestabilne, opóźnione gry, ponieważ pojedynczy upuszczony pakiet spowodował resynchronizację. Oznaczało to, że wielu twórców gier musiało wdrożyć własną warstwę niezawodności na podstawie UDP, lub używali UDP do wiadomości, które można upuszczać lub odbierać poza kolejnością, i używali …
Aby stworzyć grę podobną do sieci RTS, widziałem tutaj wiele odpowiedzi sugerujących, że gra jest całkowicie deterministyczna; musisz tylko przenieść do siebie działania użytkowników i opóźnić to, co się trochę wyświetla, aby „zablokować” dane wejściowe wszystkich osób przed renderowaniem następnej klatki. Wówczas rzeczy takie jak pozycja jednostki, zdrowie itp. Nie …
Jak mogę stworzyć grę wieloosobową p2p? Chciałbym mieć grę wieloosobową bez serwera. Ale w jaki sposób wszyscy klienci znają się? Dlaczego protokół p2p jest tak sławny w przesyłaniu plików, ale nie w grach dla wielu graczy?
Pracuję nad izometryczną grą 2D z umiarkowaną skalą dla wielu graczy, około 20-30 graczy jednocześnie połączonych z trwałym serwerem. Miałem pewne trudności z wdrożeniem dobrej implementacji przewidywania ruchu. Fizyka / ruch Gra nie ma prawdziwej implementacji fizyki, ale wykorzystuje podstawowe zasady do implementacji ruchu. Zamiast ciągłego sprawdzania danych wejściowych zmiany …
Przeczytałem Valve + Gafferon i setki stron z Google, ale z jakiegokolwiek powodu nie mogę się oprzeć prognozom klientów. Według mnie podstawowym problemem jest: Klient A wysyła dane wejściowe o T0 Serwer otrzymuje dane wejściowe o godzinie T1 Wszyscy klienci otrzymują zmianę o T2 Na T2Jednak użycie przewidywania klienta, klient …
Zaprojektowałem system encji dla FPS. Zasadniczo działa tak: Mamy „światowy” obiekt o nazwie GameWorld. Zawiera tablicę GameObject, a także tablicę ComponentManager. GameObject zawiera tablicę Component. Zapewnia również bardzo prosty mechanizm zdarzeń. Same komponenty mogą wysyłać zdarzenie do jednostki, które jest transmitowane do wszystkich komponentów. Komponent jest w zasadzie czymś, co …
Chcę stworzyć grę 2D, która w zasadzie będzie oparta na fizyce piaskownicą / aktywnością. Jest jednak coś, czego tak naprawdę nie rozumiem. Z badań wynika, że aktualizacje z serwera powinny być wykonywane co około 100 ms. Widzę, jak to działa dla gracza, ponieważ może on jednocześnie symulować fizykę i kompensować …
Większość MMORPGS ma system Worldsave, który zapisuje wszystkie postacie raz na X godzin. Myślę, że powodem jest wydajność. Dlaczego więc jest to lepsze pod względem wydajności niż oszczędzanie postaci po rozłączeniu?
Jak radzą sobie z nimi gry takie jak Minecraft, a właściwie każda gra MMO z przetwornikami? Powiedzmy, że teren odradza 3 krople „brudu” za każdym razem, gdy kopiesz wspomniany teren. Powiedzmy, że każdy element ma animację obrotu obliczoną dla każdej klatki. Jeśli liczba odbiorników na świecie będzie bardzo wysoka, byłby …
Wiele gier korzysta z techniki kompresji delta w celu zmniejszenia wysyłanego obciążenia danych. Nie rozumiem, w jaki sposób ta technika faktycznie zmniejsza obciążenie danych? Powiedzmy na przykład, że chcę wysłać pozycję. Bez kompresji delty wysyłam na vector3przykład dokładną pozycję bytu (30, 2, 19). Z kompresją delta wysyłam vector3mniejszy numer (0.2, …
Jaki jest właściwy sposób, aby poinformować serwer o pozycji naszego lokalnego gracza? Niektóre dokumenty mówią, że lepiej jest wysyłać dane wejściowe za każdym razem, gdy są produkowane. Niektóre dokumenty mówią, że klient przesyła swoją pozycję w ustalonych odstępach czasu. Z podejściem wysyłania danych wejściowych: Co powinienem zrobić, jeśli gracz przytrzymuje …
W przypadku gier sieciowych dla wielu graczy, jakie techniki istnieją, aby zapewnić, że użytkownicy łączą się z oficjalną aplikacją kliencką, a nie zhakowaną aplikacją kliencką? Zdaję sobie sprawę, że prawdopodobnie nie ma pewnego sposobu, aby to zrobić, ale interesują mnie techniki, które można zastosować w celu złagodzenia problemu. Szczególnie interesują …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.