Skocz do zawartości

rzepek

Użytkownicy
  • Postów

    7
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez rzepek

  1. Dzieki za zainteresowanie tematem. Mam zrobione że klient przesyła stan klawiszy przez TCP, a serwer odsyla pozycje, kierunki postaci i musi to robic przez UDP, bo postac sie ma plynnie poruszac. I calkiem nieźle to chodzi przez UDP. Ale z tego co widze to nie ma sensu, bo nie bedzie kazdy gracz sobie przekierowywal portów, bo to nie ma sensu. Więc jak zrobić zeby bylo plynnie przez TCP, jak w nim trzeba przesyłać rzadziej bo nie nadąża (troche zszedlem z tematu przepraszam). Jak sie to robi zeby to było dokładne i płynne ?
  2. Dołączę się do tematu, sam chciałem identyczny założyć i ten rozwiązał mój problem. i takie pytanie... Czy jak ja robię grę, gdzie UDP jest mi potrzebne tylko do wysyłania z serwera do klientów, to nie będę mógł zagrać jako klient nie mając publicznego IP ? Bo z tego co widzę to trzebabyłoby przekierować porty, z czym ja nie mam problemu, ale są przypadki gdzie to dostawca internetu daje wewnętrzne IP. Jest jakaś możliwość żeby tacy też mogli zagrac ? jakieś porty UDP co dostawcy internetu zawsze przekierowują albo coś (przepraszam za moją niewiedzę na ten temat jak cos :P) Piszesz o zmianie priorytetu. Ale z tego co widzę jak w TCP przesyłam co step, to skutki są jakie są, nie nadąża :D chyba że to się da jakoś ominąć ? wysyłanie rzadziej nie wchodzi w gre. musi być jakiś sposób. Przecież tyle gier jest przez TCP i działa ładnie. Z góry dzięki za odpowiedź.
  3. move_towards mi nie robi, moze i skokow nie bedzie, ale w przypadku laga obiekt dalej zostanie w miejscu. Wytłumacz mi dlaczego on właśnie w miejscu zostaje skoro ma speed=odebrane_speed, wedlug mnie powinien jechac z predkoscia ktora ma. przy wyjsciu klienta z gry to samo, powinien jechac z predkoscia speed. Jakas rada ? "Pamiętaj tylko, żeby odebranej pozycji nie zapisywać w zmiennych X i Y bo będzie Ci ten obiekt przeskakiwać." jesli to ma pomóc to powiedz mi dokladniej o co ci chodzi...
  4. GML if global.my_player=object_player { ruch(); //wysylanie if global.alarm1>0 { global.alarm1 -= 1; } else if global.alarm1 = 0 { global.alarm1 = 10; // Tutaj wysyłamy pozycję obiektu mplay_data_write(1+(10*object_player),direction); mplay_data_write(2+(10*object_player),x); mplay_data_write(3+(10*object_player),y); mplay_data_write(4+(10*object_player),image_angle); } mplay_data_write(0+(10*object_player),speed); } else { //odbieranie speed=mplay_data_read(0+(10*object_player)); direction=mplay_data_read(1+(10*object_player)); x=mplay_data_read(2+(10*object_player)); y=mplay_data_read(3+(10*object_player)); image_angle=mplay_data_read(4+(10*object_player)); mam taki kod, i pytanie... obiekt mi skacze zamiast plynnie sie poruszac zrobiłem se mój alarm zeby nie wysyłać wszystkiego co jeden krok, ale speed wysyłam w kazdym kroku. jesli usune calkiem x i y to bedzie w porządku, nie skacze, plynnie obiekt jedzie, no ale wiadomo ze tak nie mozna bez x i y, bo latwo o buga. Moim celem jest zeby w przypadku laga obiekt sie nie zatrzymywał tylko jechal caly czas. Jakaś rada ?
  5. ale jak zrobic zebym mial mape osobno a plik exe osobno i zeby zaladowac ta mape do programu ?
  6. panowie ale tu chyba nie chodzi o to ile zajmuje tylko o ilosc pikseli, bo jak zmniejszyłem rozmiar (zmniejszylem detale) w jpg, i teraz mi zajmuje 800 kb, to teraz dalej mi muli na tym rozmiarze mapy. a musi byc wszystko w exe czy moze byc osobno, i zeby sie ladowalo jak program tego zapragnie ?
  7. mapa ma rozmiary 2000x8000 co daje 18MB i jak próbuje ją wrzucic to zmula a potem wyskakuje błąd. jest jakas rada czy musze ja pomniejszyc ? jesli gdzies juz to bylo omawiane to przepraszam, szukalem i nie znalazlem.
×
×
  • Dodaj nową pozycję...