Jak działa serwer gry przeglądarkowej w C++

0

Witam, pisałem przez dłuższy czas grę w PHP+jquery. Zrobiłem krótką przerwę, w której przeglądałem różne fora i natrafiłem na mnóstwo opinii, że serwer gry nie powinien być napisany w PHP, a C++. Kupiłem książkę "C++. SZKOŁA PROGRAMOWANIA" Stephena Prata, ale zanim poświęcę kilka lat na uczenie się kolejnego języka chciałbym dowiedzieć się jednej rzeczy.

W jaki sposób działa serwer gry napisany w C++? Prosiłbym o wytłumaczenie tego w najprostszy sposób. Zapytania AJAX wysyłane są do plików typu cpp, które wykonują operacje na bazach i zwracają wynik do gracza? Pewnie nie, bo tak jak w przypadku PHP serwer byłby obciążany co sekundę pustymi zapytaniami. W jaki sposób więc działają serwery gier przeglądarkowych pisane w C++?

Drugie pytanie, mniej istotne, ale chciałbym poznać wasze opinie na ten temat. Gra posiada czat, aukcje, walki itp., ale nie posiada chodzenia po mapie (czyli coś jak rozbudowana karcianka czy gladiatus albo bitefight). Przy zalogowanym użytkowniku js musi sprawdzać co sekundę czy ktoś napisał na czacie, czy któryś przedmiot się nie sprzedał, gracz został zaatakowany albo w przypadku walki czy przeciwnik wykonał swój ruch (turówka). Czy w przypadku takiej gry PHP to zły pomysł? Ze względu na te puste zapytania czy szybkość wykonywania kodu PHP?

Konstruktywna krytyka mile widziana, byleby to nie było hejtowanie z którego nic się nie dowiem (np. 'Nie próbuj, nie uda ci się.').

0

Witam, pisałem przez dłuższy czas grę w PHP+jquery. Zrobiłem krótką przerwę, w której przeglądałem różne fora i natrafiłem na mnóstwo opinii, że serwer gry nie powinien być napisany w PHP, a C++

Opinie na forach podziel przez dziesięć. Ilu userów tyle opinii do tego większość z nich to opinie ludzi, kórzy niczego nie wydali. Jeśli Twoja gra w obecnej wersji i technologii robi to, co chcesz żeby robiła, to dokończ ją w obecnych technologiach.

1

Pomyliłeś parę istotnych faktów w "przeglądałem różne fora i natrafiłem na mnóstwo opinii, że serwer gry nie powinien być napisany w PHP, a C++". Mianowicie to ma (trochę) sensu gdy piszesz grę "klasyczną" jak WoW, StarCraft, GTA, etc. W przypadku gry przeglądarkowej (a zakładam, że o takiej mówisz), to używanie C++ to przerost formy nad treścią, bo większość czasu i tak tracisz na requestach a nie na ich obsłudze.

W przypadku gry przeglądarkowej PHP jest nienajgorszym wyborem, a na pewno lepszym niż C++.

Co do czatu to poczytaj o WebSocketach i Server Side Events, które pozwolą uniknąć Ci tego problemu jakim jest Long Polling (technika, której obecnie używasz).

Jednakowoż jeśli mimo wszystko chcesz zmienić technologię, której używasz to ja osobiście poleciłbym Ci Elixira i Phoeniksa, które w bardzo naturalny sposób zapewniają Ci obsługę WebSocketów, co w przypadku gry będzie bardzo pożądanym efektem.

0

Te opinie dotyczyły głównie przeglądarkowych MMORPGów. Dodatkowo niepokoiło mnie to, że programiści najpopularniejszego polskiego MMORPG Margonem po pewnym czasie przepisywali silnik gry z PHP na C++.
WebSockety wyglądają bardzo interesująco, nigdy tego nie używałem, a po przeczytaniu opisu jestem pewien, że mi się przydadzą. Języka programowania nie chcę zmieniać, PHP mi się podoba (głównie dlatego, że jest najprostszym językiem z jakim się spotkałem), ale przerażają mnie opinie na jego temat.
Dzięki wielkie za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1