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: 162 Pomógł: 12 Dołączył: 20.12.2009 Skąd: Siedlce Ostrzeżenie: (0%)
|
Będę dążył do przepisania tego co mam w php, ale ważniejsze jest napisanie tego, co jeszcze nie jest gotowe.
Pokażę na pseudokodzie o co mi mniej więcej chodzi. (Jeśli chodzi o javascript to znam bdb, ale w node funkcjonuje on troszkę inaczej) Kod var app = require('http').createServer(handler) , io = require('socket.io').listen(app) , fs = require('fs') var php = require('phpHandler'); app.listen(80); function handler (req, res) { //gra ma tylko jeden plik index, reszta wszystko już dynamicznie php.execute("index.php"); } io.sockets.on('connection', function (socket) { socket.emit('init', { initData: '<initData>' }); socket.on('walk', function (data, fn) { //w jakiś sposób trzeba przekazać te parametry do php var result = php.execute("extAPI.php", "a=walk&d="+data); fn(result) }); socket.on('innaFunc', function(data, fn){ //inna funkcja już napisana w js /** **/ fn(result); }); }); Oczywiście jest to schemat bardzo uproszczony. Zgłębiam się w tę technologię dla tego projektu, wcześniej nie miałem z nią do czynienia. Może polecicie też wygodne IDE dla node? (win/linux) Jeśli nie jest to możliwe będę musiał od razu napisać wszystko od nowa. Nic tak nie zdenerwuje ludzi jak oczekiwanie na nową wersję. |
|
|
|
foxbond Integracja php z node.js 15.09.2013, 10:14:48
R4D3K Witam, trochę mało informacji zawarłeś żęby dokład... 15.09.2013, 22:33:00
foxbond Już lepiej tłumaczę i wraz z propozycjami zmieniam... 16.09.2013, 07:34:06
Sephirus Nie będę się wypowiadał na temat samej gry i rozwi... 16.09.2013, 09:00:49
Crozin 1. Architektura, gdzie przy każdej, najmniejszej a... 16.09.2013, 14:28:54
arrtxp Ehe, musisz przemyśleć to jeszcze raz...
Node.js.... 16.09.2013, 15:00:47
foxbond Jakie Danarroth, jakie Danarroth
Zobaczymy co z ... 16.09.2013, 15:31:41
arrtxp Serwerujesz na własnym kompię ?
Wiesz, niema prob... 16.09.2013, 15:36:35
R4D3K Nie ma dedykowanego IDE dla nodejs, polecam poszuk... 16.09.2013, 18:44:07
foxbond Projekt zwie się Borderless Engine, a gra na nim p... 16.09.2013, 19:14:03 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 06:04 |