Skocz do zawartości

Trajektoria Lotu


Jaklub

Rekomendowane odpowiedzi

Tym razem mam bardzo dziwaczny problem. Otóż gdy testuję moją grę na multiplayerze (2 okna z grą włączone na raz), jest taki problem, że na hoście pocisk leci dobrze, a na cliencie... spada szybciej. Nie wiem, jak to możliwe, ale precyzyjne testy z zrobionym przez siebie debugiem wykazały, że hspeed jest dobry, a vspeed szybciej wzrasta na cliencie. Skrypt jest banalny i jest w stepie:

GML
if vspeed<12

vspeed+=0.2;

else

vspeed=12;

Od razu mówię, że gra przesyła i odbiera dane wyłącznie dotyczące działającego robala. Wszystko teoretycznie powinno być ok, ale nie jest. Wysyłanie pozycji pocisku nie wchodzi w grę.

Pytanie: jak temu zapobiec?

 

Oczywiście gwarantuję miejsce w creditsach. =p Z góry dzięki.

Odnośnik do komentarza
Udostępnij na innych stronach

możesz sobie z podejścia fizycznego wyliczyć pozycję i tylko raz przy strzale wysłać wiadomość

jest możliwe, że na kliencie masz jakieś opóźnienia fps

Właśnie wiadomość wysyłam tylko raz. W temacie strzału wysyła się tylko kąt i siła. Poza tym, fps nie powinien mieć nic do robienia z pociskami, powinny lecieć normalnie.

 

edit: wyliczyłem różnicę w vspeedzie pomiędzy pociskami po 20 klatkach - 0,2.

Odnośnik do komentarza
Udostępnij na innych stronach

zapewne te info wysyłasz przy tworzeniu pocisku. Tak więc na serwerze obiekt już leci, a do klienta jeszcze nie doleciały instrukcje o stworzeniu

Tak, ale pocisk powinien lecieć "sobie". Problem jest taki, że jakimś cudem na cliencie vspeed zamiast o 0,2 zwiększa się o 0,21.

Odnośnik do komentarza
Udostępnij na innych stronach

to prześlij tą wartość jako string.

Wolałbym nie (z tego, co się zorientowałem, 39dll może wysyłać i odbierać jedną wiadomość na raz), ale wygląda na to, że to jedyne wyjście. Jeszcze czekam na rozwiązanie.

Odnośnik do komentarza
Udostępnij na innych stronach

sprawdzałeś najnowszą wersję 39dll?

Sprawdzałem - 25 - najnowsza.

jeszcze masz opcję.. możesz wysłać wartość pomnożoną o 10, a po odebraniu podziel ją przez to 10

Tak robię zawsze.

 

edit: Jednak będę wysyłać te dane pocisków. Temat można zamknąć, a Marek dostaje creditsy.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...