Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Aktualizowanie pozyji mojej postaci i wyswietlanie innych graczy


Rekomendowane odpowiedzi

Opublikowano

Witajcie :)


 


Jestem początkującym, młodym "programistą". W przyszłości chciałbym napisać własną grę MMORPG 2d via www coś typu Margonem ( tak wiem, dużo klanów tej gry teraz powstaje ) :)


Na sam początek dodam, żeby nikt się nie czepiał że grę robie w php :D To co teraz chcę zrobić w grze nie będzie, chcę porostu wiedzieć jak to zrobić aby rozwinąć swe umiejętności :)


 


Mam do was parę pytań!


 


1. Pytanie bardziej techniczne - Czy zapisywać pozycję gracza do bazy gdy się poruszy i co 5 sekund sprawdzać czy dane się równają? ( jeśli nie to zamienia dane ) czy co sekundę zapisywać aktualną pozycję gracza?


 


2. Wyświetlanie innych graczy - I z tym mam problem. Czy innych graczy (aktywnych) wyświetlać normalną pętlą w php + co x sekund aktualizować ich pozycje i wyświetlać na mapie? ( ajax ). 


 


Teraz za bardzo nie wiem jak zrobić to w ajaxie ( zapisywanie co x sekund i wyświetlanie co x sekund ). Mógłby mnie ktoś nakierować jak to zrobić?


 


Dziękuję wszystkim za odpowiedzi! Za pomoc oczywiście + :)


 


 


Chcę przerobić ten skrypt*: http://forum.gammo.pl/showthread.php/11083-chodzenie-po-mapie 


* - Nie wiem czy to jest forum konkurencyjne i czy mogę dać ten link! Nie dałem go w celach reklamy innego forum tylko w celach poinformowania. 


sygnatura.png

Opublikowano

Z tego co widzę to jesteś bardzo początkujący. Przewinęło się tutaj już bardzo wiele podobnych tematów. Pewnie ci się nie chciało poszukać, co nie?

Twoje pytania i tak są bez sensu. Polecałbym ci dużo poczytać na temat, w jaki sposób działają gry multiplayer. I w ogóle, w jaki sposób działają gry.

 

Ale podpowiem ci. Żeby zrobić grę multiplayer potrzebujesz dwóch aplikacji. Klienta, czyli w twoim przypadku grę działająca w przeglądarce. Oraz Serwera - programu, który obsłuży wszystkich klientów, czyli będzie odbierał i wysyłał informacje na temat aktualnego stanu gry.

 

AJAX stosuje się do zupełnie innych rzeczy niż obsługiwanie gry multiplayer i dobrze gdyby tak zostało.

gamedevmania.com

Opublikowano

Kolega powyżej już ci napisał, ja dodam że proponuje ci na początek robić mniejsze projekty zamiast porywać się na głęboką wodę, przy tworzeniu gier MMORPG pracuje więcej niż jeden programista, i mają oni duże doświadczenie, tak więc jeśli chcesz zrobić grę to rób coś prostszego. 

Cześć...

Opublikowano

Kolega powyżej już ci napisał, ja dodam że proponuje ci na początek robić mniejsze projekty zamiast porywać się na głęboką wodę, przy tworzeniu gier MMORPG pracuje więcej niż jeden programista, i mają oni duże doświadczenie, tak więc jeśli chcesz zrobić grę to rób coś prostszego.

Zwykłe gry tekstowe potrafie napisać. Poza tyn w grach tekstowych nie widzę przysslosci :-)
sygnatura.png

Opublikowano

Tez nie widzę przyszłości w grach tekstowych.

Chcesz zbudować grę 2D. Więc polecam ci odstawić PHP i zainteresować się głębiej javascript i jakąś biblioteką do tworzenia gier, hmm np. Phaser :p

 

gamedevmania.com

Opublikowano

Serwer chcę zrobić w PHP i JavaScript :) 

tak wiem, że to powinno się robić inaczej ale ja chciałbym zobaczyć jak to działa z samym php i js ( i tam mysql)

 

pomoże ktoś z tym kodem?

sygnatura.png

Opublikowano

Wiesz, że powinno się robić inaczej to po co brniesz w tą złą stronę? Jaki masz cel? Na pewno w ten sposób niczego się nie nauczysz, a efekty i tak będą mizerne.

 

Może zrób najpierw grę, która będzie działać, a dopiero później myśl o multiplayerze.

 

Znalazłeś sobie jakiś marny gotowiec i myślisz, że dzięki temu zrobisz grę? No niestety nie tędy droga.

gamedevmania.com

Opublikowano

spróbuj zrobić najpierw ping ponga/arkanoida. Jeżeli zaczniesz pisać jakiegoś RPG bez wiedzy jak czytelnie rozplanować kod, to bardzo szybko staje się on nieprzejrzysty, nieczytelny i trudny do pracy z nim. Już nawet nie wspominam o wzorcach projektowych.

Opublikowano

Jeżeli planujesz zostać programistą a nie psełdo informatykiem z mopem (Wpadłem na takich co niby dużo umieli a teraz za 1500 netto sprzątają w firmie), to te przemyślenia są ważne. RPG 2D, tak czy tak nie wypali, za dużo gier tego typu już jest. A poza tym, jak nauczysz się c++, to przejście na php to jest dwa tygodnie solidnej pracy. A i serwer stabilniejszy napiszesz (tu polecam node.js bardziej) i będzie lepiej dla ciebie bo wraz z nauka c++ nauczysz się myśleć jak programista a nie psełdu informatyk, których w tym dziale na forum jest coś w okolicach 96% populacji.

mca.png
Opublikowano

Poprosiłem tylko o pomoc w kodzie a nie o jakieś inne przemyślenia!

Ściągnij sobie kilka dużych opensourcowych projektów gier (dużo większe szanse, ze trafisz na coś wartościowego niż przy takich małych gównach), zobacz jak tam jest to zrobione, skonfrontuj to z wiedzą książkową żeby nie robić takich głupot jak chociażby w tym twoim 1 punkcie. Poczytaj o zdarzeniach.

 

Offtopic: Polish Civil, do nogi ;)

pasek_4oo_6o.jpg

Aktualny poziom zła: 75 punktów ostrzeżeń.
Achievements:
  • 22 zajebiste posty oznaczone czerwonym kółeczkiem
  • 1 urażony modek - dwa razy! (Istny Diabeł)
  • 4365 userów forum, którym powiedziałem smutną prawdę
Opublikowano

Doobra, poucze sie Node.js. Sa jakies dobre ksiazki, poradniki? ( prosilbym o linki, nazwy)

 

I no powiecie jak to odswiezanie zrobic? Bo chce skonczyc chat :)

sygnatura.png

  • 3 miesiące temu...
Opublikowano

"Sprzątaczka zostawiła na stole liścik "Ajax się kończy", a programiści zaczęli doszkalać się o socketach"

Jeśli pomogłem to zamiast gdzie kol wiek klikać najlepiej wejdź na stronę http://www.pajacyk.pl i kliknij.
W ten sposób pomogłeś. Czy to takie trudne aby wykonywać tą czynność codziennie?

Opublikowano

"Sprzątaczka zostawiła na stole liścik "Ajax się kończy", a programiści zaczęli doszkalać się o socketach"

Jak sobie nie umiesz sam posprzątać to ci sprzątaczka będzie zostawiać jakieś dziwne liściki.

 

Ajax ma swoje przeznaczenie i wcale się nie kończy. To osoby nie ogarniające socketów próbują wykorzystać AJAX do celów, do których się nie nadaje.

gamedevmania.com

  • 4 tygodnie później...
Opublikowano

Słuchajcie tak czy siak kolega pyta jak takie coś wykonać, a to czy zrobi to na PHP, C++  czy na BrainFuck'u to mało ma znaczenia (to ostatnie nie wiem czy dobrze napisałem). Oczywiście PHP się nie nada i można mu powiedzieć żeby sie przestawił, ale nie o to pyta. Ja może też sie wypowiem.
 

Ja ostatnio zacząłem korzystać z Phaser.JS  (biblioteka do gier 2d w WebGL lub Canva'sie) oraz z serwera na socketach w Node.JS. Sprawe rozwiązałem bardzo prosto w node.js mam osobny "pokój" (room) na każdą mape, i każdy "pokój" (a raczej jego ID)  jest po prostu elementem tablicy "players" który jest natomiast kolejną tablicą przechowującą obiekty graczy, I podczas logowania się użytkownika do systemu przesyłam mu Tabele z obiektami na mapie (czyt. graczami). Potem w skrypcie przelatuje caałą tablice i dodaje każdego na mape i wrzucam do tablicy players. Potem wystarczy aktualizować ich koordynaty.

W wielkim skrócie

-gracz loguje sie do systemu przesyłając mi swoje ID
-wyszukuje go w bazie
-wysyłam infomacje wszystkim na mapie że user się zalogował
-odsyłam Logującemu się tablice z aktualnie znajdującymi sie graczami na mapie
-po stronie gracza obrabiam tablice przechodząc po każdym elemencie i ddając playerów na mape
-Po ruchu każdy wysyła mi socketem dane {player_id,x,y}
-po stronie serwera aktualizuje jego obiekt w tablicy Players i wysyłam pozostałym graczom że takie ID -poruszyło się na takie X|Y

To tak w wielkim skrócie i trochę chaotycznie ale myślę że ogarniesz, To też może być nie dobre ale ja póki co tak robię by porobić sobie testy i nauczyć się połączenia Klient-Serwer

 

Odniose się do twojego punktu pierwszego. Akurat przy korzystaniu z PHP+Ajax musisz za każdym połączeniem zapisywać do DB, ja używając serwer w Nodeku moge pobrać przy loginie i zapisać dopiero jak gracz sie rozłączy ;-) Czyli nie tykam prawie bazy tylko operuje na tablicy

hcq0.png


Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...