![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 12 Dołączył: 20.12.2009 Skąd: Siedlce Ostrzeżenie: (0%) ![]() ![]() |
Tworzę obecnie grę przez przeglądarkę. Zdecydowałem się na php+mysql po stronie serwera (z gotowym miejscem na implementację memcache) i html+css+js po stronie przeglądarki (bez uroków html5). Dodatkowo do gry równolegle powstaje klient w c#.
Nie przewiduję 100k graczy on-line, raczej coś koło tysiąca więc uznałem, że w/w technologie wystarczą, wręcz mają jeszcze zapas. Przemieszczanie się po mapie jest real-time względem innych graczy, a sama walka jest w zamyśle turowa. (dopiero biorę się za jej tworzenie). komunikacja klient<->serwer mapa: klient odpytuje serwer co 1s lub gdy wykona dowolną akcję (poruszy się, zmieni eq) walka: W planie było tak samo. Komunikacja odbywa się za pomocą API (a nie każde zapytanie ma inną strukturę, każdy POST inny schemat). Dzięki temu możliwe jest tworzenie klienta w C# przez inną osobę. Uznałem jednak, że jest to dość niewygodne rozwiązanie. Nie chcę skazywać na zapomnienie silnika napisanego w php. Nie jest on ukończony, ale pochłonął wystarczająco dużo godzin, aby go uznać za 'cenny'. Wydumałem sobie, aby połączyć node.js z php. Czyli komunikacja by wyglądała mniej więcej w ten sposób: Kod klient<->node<->php | | mysql klient - widok;node - kontroler;php - część wykonawcza Prosiłbym o rady w jaki sposób mogę wykonać integrację node z php, w jaki sposób wykonać skrypty php przez node. W tym wypadu klient nie musiałby odpytywac serwera co 1s, tylko node (socket.io) sam wykonywałby skrypt php i wysyłał dane do klienta. Z góry dziękuję Jeśli ktoś jest zainteresowany samym projektem mogę wysłać linki na pw, nie chcę, aby temat wyglądał na reklamę. Ten post edytował foxbond 15.09.2013, 10:18:09 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 12 Dołączył: 16.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam, trochę mało informacji zawarłeś żęby dokładniej Ci odpowiedzieć.
Jak rozumiem kolega tworzy klienta w C# a ty tylko chcesz tak naprawdę postawić serwer REST do synchronizacji danych między graczami ? Jeśli tak to nodejs będzie zdecydowanie lepszy bo zużyje ci mniej pamięci i ogólnie jest lżejszy (bo do phpa musisz postawić serwer www), jak czytam: Cytat dopiero biorę się za jej tworzenie to przeniesienie kodu z php na nodejs nie będzie problemem. Bardziej mnie martwi wasze podejście: * użycie mysqla do odpytywania serwer co 1s tutaj polecam na dane, ktore mają się często zmieniąc jak pozycja gracza lub mapka gry użyć memcache lub nawet zwykłej zmiennej w nodejs (bo dopóki aplikacja odpalona na serwerze wtedy zmiena jest w pamięci i dostępna co requesty dla klienta) * odpytywanie co 1s beznadziejny pomysł, w sensie wykonuj requesty wtedy kiedy są potrzebne bo tylko zarżniesz serwer np wykonujesz ruch wtedy klient wykonuje request do serwera, przeciwnik ruszy się po planszy wykonaj request z serwera do klienta któremu pokarzesz że przeciwnik się rusza * Klient w c# i websockety ? LOL Websockety są stardartem w przeglądrakach do ciągłej komunikacji i powstały jako rozwinięcie koncepcji long polling, użyj zwykłych socketów mniej danych między pakietami będzie leciało => lepsze latency |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 13:52 |