Pental
14.08.2011, 19:54:38
Witam. Chciałbym przy użyciu technologii AJAX ze wsparciem PHP stworzyć grę MMO dla praktycznie nieograniczonej liczby graczy online. Jak wskazuje nazwa tematu, chciałbym, aby była to gra czasu rzeczywistego. Tak, wiem, że latency będzie olbrzymie, ale mi się udawało uzyskiwać przy optymalnych warunkach 50ms, a to bardzo dobry wynik. Nie wiem natomiast, jak dobrze wdrożyć te technologie do projektu. Korzystając z protokołu TCP/IP wystarczyło, aby klient przesyłał dane do serwera, a serwer do każdego z klientów. Tutaj jednak sprawa się komplikuje. Jako-takiego serwera nie ma. Jedyne, co na chwilę obecną potrafię zrobić z użyciem HTTP, to: klient przesyła zapytanie do pliku XML o dane innych klientów, a przy ruchu / jakiejkolwiek akcji, wysyła zapytanie do pliku PHP, plik PHP edytuje plik XML i zwraca ewentualnie "coś tam" do pliku JS. Jak dla mnie edytowanie 300 razy pliku XML na sekundę to głupie rozwiązanie. Ale lepszego wymyślić nie potrafię. Jakieś sugestie?
Crozin
14.08.2011, 20:21:06
Cytat
Jakieś sugestie?
Wybierz odpowiednie narzędzia do pracy. Protokół HTTP, a co za tym idzie i AJAX kompletnie nie nadają się do takich rzeczy. Twoim podstawowym wymogiem jest
dwustronna,
trwała komunikacja na linii klient - serwer. Takie coś zapewnia Ci
WebSocket, lecz na razie ta technologia nie jest dostępna. Na chwilę obecną pozostają Ci protezy typu
Cometa lub wyjście poza obszar przeglądarek internetowych.
elektrrrus
14.08.2011, 20:23:24
Połączenie socketowe z poziomy przeglądarki apletem javy/actionscripta(nie wiem czy as to potrafi).
Chyba że popatrzysz na to, ponoć bardzo rozwojowy projekt:
http://www.ape-project.org/
Pental
14.08.2011, 22:08:43
O socketach wiem, jednakże po 2 tutorialach nie skumałem, jak to się implementuje. No cóż, będę próbował inaczej...
Pomóżcie mi proszę, bo chciałbym stworzyć grę przeglądarkową. Da radę np. napisać serwer w C++ i klienta w JS?
A te APE wygląda na bardzo intuicyjne i ciekawe, szkoda, że przypomina nienawidzone przeze mnie Jquery ;] . Sprawdzę to. Edit: Wow, to wymiata. Dzięki wielkie!
wookieb
14.08.2011, 22:49:36
Node.js + socket.io
krowal
15.08.2011, 11:11:07
Możesz też zastosować mostek flashbridge pomiędzy aplikacją w JS a serwerem w czymkolwiek co obsługuje sockety - Java,c++,turbo pascal

Tu masz jakiś tam jeden z wielu:
http://matthaynes.net/blog/2008/07/17/sock...-socket-bridge/
hind
16.08.2011, 14:33:33
Ja do tego zacząłem używać XMPP BOSH (ejabberd) jako dwustronna komunikacja z long polling (a do tego mod_pubsub) i Strophe.js
Pental
19.08.2011, 09:09:58
Mój problem jest taki, że każdy pisze o implementacji klienta w JavaScript. Mi chodzi jak, przy użyciu dowolnej technologii, napisać niepatologiczny serwer, który byłby w stanie normalnie funkcjonować, tj. wysyłać i odbierać sockety. Nie znalazłem żadnego konkretnego tutka, a APE sobie jednak odpuszczę na chwilę obecną.
"winsock serwer" pogoogluj.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.