W jakim języku pisać prostą grę przeglądarkową?

0

Chciałbym napisać prostą grę multiplayer.
Rejestrację zrobiłem. Logowanie za pomocą sesji jest. Wszystko piszę w PHP, CSS i HTML.
Aby gra była bardziej dynamiczna posłużę się też JavaScript. Właśnie zacząłem naukę.

W tabeli "uzytkownicy" mamy zapisane takie wartości jak nick,hp, level, exp, sila, armor. (to jeszcze się powiększy).
Pierwsze co chcę zrobić to walka pomiędzy graczami. Wyświetla się z bazy danych lista wszystkich graczy (później ustalę, że np. 10 losowych z przedziału lev od X do Y). Obok każdego mamy link "WALCZ". Przełącza na stronę walki. Walka się toczy się turowo, uwzględniając siłę, ekwipunek i oczywiście hp. Po zakończonej walce wygrany otrzymuje X expa + X złota a przegranemu jest to zabierane. Zastanawiam się jak zabezpieczyć grę przed bardziej zaawansowanymi użytkownikami, znającymi języki programowania, ponieważ, wydaje mi się, że w pasku wpiszą sobie "walka.php?getexp=2000000000" i będą sobie dodawać punkty jak im się spodoba.

Moje pytanie brzmi: W jakim języku pisać taką grę, żeby zabezpieczyć ją przed "atakami".

1

Nie do końca to rozumiem, jaka to ma być gra, ale tego powinien pilnować serwer. Ktoś naciska przycisk akcja leci do serwera ten ją przetwarza i wysyła do obu graczy informacje na temat tego co ma się pojawić na ekranie. Jeśli to jest gra w czasie rzeczywistym to byś potrzebował obsługę websocketów wdrożyć czyli na serwerze najlepiej by siedział node.js

0

Dobra. Zaczynamy z Nody.js
Powiedz mi tylko czy znasz jakiś kurs internetowy? Na razie podstawowy, darmowy. Jak się w to wciągnę to kupię jakiś lepszy.

0

W dowolnym, byle sensownie. Język programowania nie ma tu nic do rzeczy.

0
brychu napisał(a):

Dobra. Zaczynamy z Nody.js
Powiedz mi tylko czy znasz jakiś kurs internetowy? Na razie podstawowy, darmowy. Jak się w to wciągnę to kupię jakiś lepszy.

Jeśli bierzesz pierwszy lepszy język, czy bibliotekę, którą ktoś Ci zaproponował to życzę powodzenia.
Niestety ale na próbach i błędach musisz wybrać w czym chcesz pisać.
Po paru projektach i tak Ci to nie będzie pasowało, więc non-stop trzeba szukać nowych technologi.

0

Chyba jednak trochę ma. Może podzielę się swoimi obawami.
Klikam powiedzmy "GOTOWY" i dołączam do puli graczy gotowych do walki. Mieli, mieli, losuje. Wybrało przeciwnika. Oboje musimy zatwierdzić walkę i przenosi nas do okna bitwy. Wojna jest turowa i w każdej możesz wybrać jaką akcję ma wykonać Twój bohater. Masz do wyboru powiedzmy kopniak za 2 pkt. i cios pięścią za 1 pkt. W PHP cała strona musiałaby się przeładować, żeby zwrócić wynik, czyli wyświetlić zmniejszoną wartość życia przeciwnika. JS odbywa się po stronie klienta i następuje błyskawicznie.

0

Widzisz Zdzichu. Szukam odpowiedniego języka. Jeśli się nie nauczę podstaw tego, którego ktoś mi proponuje nie będę wiedział czy się nadaje czy też nie.

0

Znaczy sprawa jest prosta. Musi być obsługa websocketów i możliwie wydajne trzymanie stanu gry. php się do tego nie nadaje bo jest bezstanowy. Możesz wykorzystać node, możesz pythona prawdopodobnie jave (chociaż tu ci nie powiem na 100%) Zaproponowałem noda bo pisze się go w js więc zamiast poznawać 2 języki do frontu i backendu poznasz jeden. I tak to później zaorzesz i napiszesz na nowo i to nie raz ale przynajmniej się tak szybko nie zniechęcisz.

Co do kursów to ja kupiłem książkę, "node.js w akcji" ogarnąłem podstawy a reszta z dokumentacji.

0

PHP jest, owszem, "bezstanowy" ale to nie znaczy, że się do tego nie nadaje, w końcu "pół internetu" na tym stoi. Są sesje, bazy danych, dostęp do plików... Brzmi to zresztą jak cała masa takich gier w PHP/MySQL. A co do przeładowywania strony - AJAX.

node.js może być ciekawszy, ale tak jak PHP nie jest za piękny, to i JS nie jest jakimś tam cudem. Po tej stronie programowania znać wypada obydwa. ;)

0
Xupicor napisał(a):

PHP jest, owszem, "bezstanowy" ale to nie znaczy, że się do tego nie nadaje, w końcu "pół internetu" na tym stoi. Są sesje, bazy danych, dostęp do plików... Brzmi to zresztą jak cała masa takich gier w PHP/MySQL. A co do przeładowywania strony - AJAX.

node.js może być ciekawszy, ale tak jak PHP nie jest za piękny, to i JS nie jest jakimś tam cudem. Po tej stronie programowania znać wypada obydwa. ;)

php do realtime się nie nada już się z tym bawiłem, uwierz. Poczytaj czym jest websocket i jak on działa i dopiero wtedy odpowiedz sobie na pytanie czy php się do tego nadaje.

Edit. Tak ajax do realtime, gratulacje do przemyślanego pomysłu :d napieprzanie requestami co pół sekundy, żeby odczytać wartości no ultra dobre rozwiązanie xd

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