Skocz do zawartości

Zablokowane Pozycja gracza - online


Rekomendowane odpowiedzi

Opublikowano

Witam,

tworze prosta strzelanike online na 39dll, spotkalem sie jednak z problem, nie technicznym, a raczej teoretycznym...

otoz.. chodzi o wysyłanie pozycji graczy... gdy ustawie je w stepie (wysylanie na bieżąco) gra strasznie laguje... a dokladnie jest straszne duze opoźnienie moich ruchów u innych graczy, probowałem tez wysylac pozycje co jakis czas - alarm[0]=5 - ale niestety to też nie zdało egzaminu, ruchy były bardzo klatkowe... i zabrakło mi pomysłu gdzie moze lezeć ewentualny bład merytoryczny lub techniczny. Jakieś sugestie? Z góry dzieki =)

Opublikowano

zapewne wysyłasz pozycje i nadajesz nadajesz ją obiektowi jako x y.

Jeżeli tak to odrazo ci piszę że tak się nie robi, przesuwaj postacie jakąś z punkcji mp_ lub move_ to pozycji odebranej.

Opublikowano

Spróbuj wysyłac dodatkowo direction i speed. Wtedy będzie można zrobic żeby objecty innych graczy "zgadywały" kolejne ruchy. W wielu grach zauważyłem takie rozwiązanie.

Opublikowano

Hmm.. szczerze nie dokońca rozumiem, jakbym miał w dynamicznej strzelance zastosowac "zgadywanie" zamierzenia ruchu.... czy to naprawde by sie sprawdzilo?

Opublikowano

A moglbyś opisac dokładniej ten sposob... znaczy czym miałby być docelowy punkt w momecie gdy sterowanie jest na WSAD'zie? I w jakich mometach wysylac?

Opublikowano

Możesz wysyłać informację, gdy gracz wciśnie dany klawisz i gdy go zwolni.

Nie wiem, pogłówkuj, to coś ci wyjdzie. :)

Opublikowano
Nie wiem, pogłówkuj, to coś ci wyjdzie.

Solmis to mi pomogłes ^^

 

No coż obawiam sie ze wysylanie stanu klawisza, tez moze sie nie dokonca sprawdzic biorac pod uwage, ze wystarczy sekundowa zwłoka i u roznych graczy jedna postac bedzie na roznych pozycjach, tak wiec synchronizacje szlak trafi...

Opublikowano
Hmm.. szczerze nie dokońca rozumiem, jakbym miał w dynamicznej strzelance zastosowac "zgadywanie" zamierzenia ruchu.... czy to naprawde by sie sprawdzilo?

Zrobiłbyś tak jak masz teraz tylko wysyłałbyś też direction i speed. Jak obiekt otrzyma taką informację to zacznie już iśc w danym kierunku. Jedynie jak gracz nagle zatrzyma się albo zmieni kierunek to będzie można zobaczyc małe lagi (Pójdzie trochę za daleko i przeskoczy z powrotem do tyłu) Pomysł z klawiszami też dobry. Nie wiem czy da się wymyślić coś wydajniejszego, lagi istnieją i trzeba się z tym pogodzić =(

Opublikowano

Wysyłanie pozycji klawiszy imo badziewny pomysł, ale direction ok.

 

Może nawet nie wysyłać direction i speed, ale po prostu płynnie przechodzić playerem od poprzedniej pozycji do aktualnie odebranej.

 

Lub zabezpieczyć się przed większym lagiem - żeby player na odebranym direction i speed mógł iść maksymalnie powiedzmy 500ms.

Opublikowano

Dzieki wszystkim za pomoc, naprawde sie przydała, choc nie dokonca rozwiazała moj problem.. znaczy sie został mi mały problem.. uzylem opcji move_towards_point by postac podazala do punktu docelowego miedzy odebraniem danych. Niestety choc klijent dobrze odbiera pozycje czyli np X = 232 to przez opcje move_ znajduje sie np na pozycji 235.12425... co niby nie jest az taka wielka roznia w grze gdzie to czy gracz jest widoczny czy jeszcze chowa sie za sciana jest dosyc istotne... To jakas wada wrodzona opcji move_ czy ja cos nie prawidlowo robie?

Opublikowano
Pewnie o klatkę (step) za późno odbierasz...

Ale stepy nie maja tu nic do gadania, klijent dostaje wspolzedne do ktorych ma przejsc i juz go nie obchodzi w ktorej klatce, po prostu ma tam dojsc...

 

Btw. przerzuciłeś się z margonem na GMa?

Nie bardzo rozumiem? ^^ -> swoja droga jutro mijają dwa lata od kiedy jestem na tym forum =p

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

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