Skocz do zawartości

Pieter

Użytkownicy
  • Postów

    1 990
  • Dołączył

  • Ostatnia wizyta

Odpowiedzi opublikowane przez Pieter

  1. Cześć wszystkim pragnę poinformować iż powracam do Game Makera jaki i do was Gmclanowicze , z pewnością nie zostałem zapamiętany ze zbyt udanych produkcji ale owe są już przeszłością i teraz rozpoczynam pracę nad pewnym projektem lecz co to będzie póki co nie zdradzę iż jest on owiany tajemnicą , w każdym bądź razie witam z powrotem , dziś jestem już starszy wtedy wiele nie rozumiałem (gimbaza) , wolę robić coś rok lecz dobrze niż na siłę i beznadziejnie , oto moje motto :) .

    No cześć :)

  2. Sprawa jest skomplikowana, w zależności od rodzaju NATu i ogólnych założeń. Ogólnie fajnie jest kiedy wysyłając pakiet UDP do serwera otwieramy port UDP i jest dostępny na połączenia z każdego ip. Sprawa się komplikuje kiedy router sprawdza czy otrzymał odpowiedź UDP z tego samego adresu IP do którego wysłał pakiet. Wtedy można zastosować technikę "zgadywania" portów. Wiadomo, że podczas hole punching musisz wysłać pakiety UDP "każdy do każdego", jednak te pakiety giną i nie jesteś wtedy wstanie stwierdzić, które porty były użyte... Co do portów i tego co pytałeś:

     

    http://samy.pl/pwnat/ to Ci się może przydać

     

    Klient -> NAT -> SERWER -> NAT -> Klient to prosta sprawa nie wymagająca zbyt brain stormingu, sprawy się komplikują kiedy mamy klient->nat->nat -> klient 2 -> nat -> nat -> klient... W grę wchodzi zgadywanie otwartych portów i inne rzeczy, w zależności od konfiguracji NAT. Niestety nie da się stworzyć idealnej dziury p2p udp. Ale można wykorzystać hole punching do wysyłania danych po UDP z serwera do klienta (gdzie normalnie nie jest to możliwe gdy klient jest za NAT).

  3. nie uruchomisz tego na zwykłych vpsach czy dedykach, a takie z karta graficzną zaczynaja się gdzieś od minimum 200-300$/miesiąc

    dlatego jak ktoś chce robić gierke online to lepiej od razu dllki uzyć.

     

    Ale to troche taki strzał w stopę, bo np dla androida aż się prosi robic gierki online a potem nie ma jak połączenia obsłużyć.

    bullshit, wystarczy napisać serwer w C++ choćby i nawet...

  4. Witam!

     

    Powoli rozszerzam "przykład" platformówki, który umieściłem w tym temacie, ale w pewnym momencie natrafiłem na problem z którym nie mogę sobie poradzić. Mianowicie, mimo unikania eventu collision i używania place_meeting, zatrzymuje się w ścianie i innych obiektach. Wszystko jest ładnie i pięknie kiedy origin mam ustawiony na 0x0 dla każdego obiektu, lecz gdy ustawiam go na center (24x24) to wszystko zaczyna się sypać i najlepsze jest to, że nie mogę dojść dlaczego...

     

    przykład obrazujący problem:

     

    https://dl.dropboxusercontent.com/u/1685437...problem-0.1.zip

     

    miejsca w które trzeba zajrzeć: obj_player -> step -> komentarze collisions oraz to samo w obj_simple_physics.

     

    EDIT:

    zła nazwa tematu, zmieniłem.

  5. Jako iż znowu zaczynam swoją przygodę z GM po dłuuuugim czasie, przygotowałem sobie w ciągu pół godziny mały przykład silnika gry platformowej.

    Wzorowałem się na super meat boy i wiem, że nie jest to jeszcze tak responsywne jak oryginał ale zmierzam w tą stronę :) Brakuje tu jeszcze zwiększania prędkości gracza na podstawie czasu trzymania wduszonego przycisku ale to już drobnostki.

     

    Może komuś się przyda, choć to nic naprawdę specjalnego i nasi bardziej doświadczeni twórcy nie znajdą tu nic ciekawego dla siebie ale miło by było uzyskać opinie oraz konstruktywną krytykę od wszystkich.

     

    ficzery:

    - wszystko można skonfigurować

    - wall sliding

     

    klawisze:

    - A - lewo

    - D - prawo

    - SPACJA - skok

     

    Przykład przygotowany w GM:S, ale w paczce znajdują się pliki dla GM8.1 oraz GMS:

     

    EDIT:

     

    0.3:

    - poprawiony błąd (https://forum.gmclan.org/index.php?showtopic=30350&view=findpost&p=411443)

     

    0.2:

    - ulepszony response na skoki

    - poprawna kolizja z sufitem

     

    https://dl.dropboxusercontent.com/u/1685437...n/platf-0.3.zip

  6. Tak, powinno wszystko działać. Zakładam, że masz włączone wifi - w takim razie należy zgłosić błąd wraz z przykładowym wyeksportowanym projektem (wystarczy obiekt i kod z błędem, nie musisz całej gry dawać ;) ).

     

    http://help.yoyogames.com/home

     

    Tak, jest połączenie z wifi. Nie chce narzekać ale czy po prostu kupiłem kota w worku i niekompletny produkt? rozumiem, że GM:S jest cały czas w produkcji ale...

     

    kodu z błędem nie ma, po prostu aplikacja z androidem nie łączy się z serwerem (zwracane -1).

     

    a sprawdzales laczenie sie po IP zamiast domenie? :>

     

    tak, to była moja pierwsza myśl :) myślę też, że błąd może leżeć jednak gdzieś po stronie gm:s, próbowałem z różnymi serwerami i odpowiadającymi na nich portami.

     

    EDIT:

     

    OK rozwiązano. Błąd znajduje się w funkcji network_resolve która zwraca randomizowane dane zamiast prawdziwego IP dla androida :(

  7. A heartbeat to nie jest po prostu info, czy serwer działa? Wystarczy wysłać jakiś ping do serwera i już wiesz. Wystarczy też strona z PHP, która spróbuje się podłączyć pod dane IP (np. funkcje socket, ale może być też file_get_contents które otwiera jakis tam (pseudo)plik na serwerze z grą).

    wiesz, nie komplikujmy. Swojego czasu dla starych projektów korzystałem z rozwiązania PHP + MySQL czyli:

     

    1. gra wysyłała wiadomość do skryptu php, że tworzy nowy serwer.

    2. skrypt php zapisywał dane tzn ip, port, datę utworzenia, nazwę serwera, ilość graczy i co tylko chciałem do mysql

    3. serwer gry co 1 minute wysyłał "ping" czyli po prostu odwoływał się do skryptu php z odpowiednim ID a skrypt php robił update na dacie w przypisanym wpisie ("serwerze").

    4. po zamknięciu serwera gry, wysyłane było zapytanie że to już koniec i php usuwało wpis.

    5. php przy każdej akcji: ping, dodanie, usuwanie, pobieranie statusu, usuwało z listy serwery których daty nie zmieniły się przez ostatnie 5 minut, co mogło oznaczać np, że serwer się wykrzaczył, wyłączył, stracił połączenie itd w niedozwolony sposób i to czyściło listę z śmieci :)

  8. Dawno mnie nie było i wiecie co? Padłem na pysk oglądając to... Śmiech na sali przez łzy. Sam mam własną działalność gospodarczą, zresztą jak dużo osób na tym forum, ale to co robi paqoo... wstyd :)

  9. I proszę nie pytać, dlaczego nie w Koziej Wólce, Swornych Gaciach czy innym Dupowie - jak nie chcecie jechać, to nikt was nie zmusza :) Wybierzemy miasto, które najbardziej pasuje wszystkim, niech zwycięży demokracja ^_^

    Czemu nie ma niczego na śląsku np Katowice/Częstochowa? Najbliżej mnie jest kraków lub łódź... Tam bym mógł się wybrać. Jeżeli zostanie wybrane miasto max 2 godziny drogi w jedną stronę ode mnie, jestem w stanie bez problemu się zjawić i być może nawet zabrać kogoś po drodze samochodem.

  10. No minecraft teraz jest głupi. Pamiętam jak się cieszyłem creativem i koleszkami z gmclanu ctrl tez pamietam.

    Oj tak, to były dobre czasy ;p czasami nawet wydaje mi się, że to przez nas minecraft stał się tak popularny :D

×
×
  • Dodaj nową pozycję...