• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Gra via www MMORPG - Kilka pytań.

Object Storage Arubacloud
+2 głosów
881 wizyt
pytanie zadane 2 stycznia 2016 w Rozwój zawodowy, nauka, praca przez Muhin Gaduła (4,120 p.)
Witam szanownych forumowiczów.

Około rok temu postawiłem sobie zadanie napisania gry podobnej do Margonem w php/js. Napisałem tego kodu już dość trochę. (chodzenie po mapie, kolizje, chat, ekwipunek itp.) Brakowało mi jedynie walki, wyświetlenia innych graczy i wyświetlenia NPC'y, teoretycznie nie jest to trochę, a wręcz bardzo dużo. Napisałem tego trochę i przez ponad pół roku nawet tam nie zajrzałem. Lecz znów zachciało mi się coś pokombinować w tej grze i jak tylko ją uruchomiłem na localhoscie to się załamałem. Ta gra w ogóle nie działa płynnie, postać lata sobie jak chce, raz szybciej, raz wolniej i przelatuje przez wszystkie kolizje. Dalej mam ochotę pisać tę grę, ale na pewno nie w php, bo to jest jakaś masakra. Myślałem nad napisaniem całego silnika gry w c++, a klienta w html. Działanie jest proste, bo komunikacja pomiędzy silnikiem a klientem odbywałaby się w JSON. Niestety układanie sobie tego wszystkiego jest dużo prostsze niż praktyka. Zacząłem dowiadywać się o pętli głównej gry, pętli czasu rzeczywistego i wiele innych. Już w tym wszystkim się pogubiłem. I tutaj moje pytanie a w zasadzie pytania.

Jakie języki najlepiej sprawdzą się w tej grze? Czy silnik w c++ i klient w html/js będzie dobrym rozwiązaniem? Podkreślam iż chcę pisać grę via www.

Czy ktoś może mi polecić jakieś dobre książki na temat silników gier mmorpg, pętlach głównych gier itp.

Dziękuję za uwagę.

2 odpowiedzi

+2 głosów
odpowiedź 3 stycznia 2016 przez Comandeer Guru (601,590 p.)

Jeśli via WWW, to polecam zapoznać się co to jest canvas, jak się obsługuje WebSockets w PHP (Ratchet)/node.js (socket.io) i zaprzyjaźnić się z biblioteką Phaser.

Na upartego serwer może stać na C++, ale i tak najprawdopodobniej będziesz się z nim łączył przy pomocy WebSockets.

komentarz 3 stycznia 2016 przez writen Nałogowiec (29,060 p.)

Również polecam zaprzyjaźnić się z biblioteką Phaser heart Nawet na moim forum posiadam dział jej poświęcony. 

komentarz 5 stycznia 2016 przez Muhin Gaduła (4,120 p.)
O canvasie czytałem już wcześniej, ale dowiedziałem się tylko o funkcji rysowania nim w js. Polecisz jakiś kurs onlinę, lub książkę o canvasie?
komentarz 5 stycznia 2016 przez Comandeer Guru (601,590 p.)
MDN ma sporo. Niemniej gier nikt nie robi na czystym canvasie – stąd poleciłem bibliotekę Phaser.
+1 głos
odpowiedź 3 stycznia 2016 przez Magicone Nałogowiec (45,100 p.)

Margonem od strony technicznej obecnie przedstawia się tak, że pod apache podpięty jest lib w postaci dll (taa, mają windowsy na serwerach), który obsługuje poszczególne połączenia do silnika, napisanego w C++ właśnie. Obecny klient pochodzi z roku 2008/9 i jest napisany w javascript a wszelkie akcje gry rozgrywają się na poszczególnych elementach DOM, przy użyciu jQuery. Obecnie klient jest już od roku przepisywany na canvas (który swoją drogą staje się coraz bardziej trendi), ale coś ciężko im to wychodzi… :D Dokładniej działa to tak, że klient odpytuje 2/3 razy na sekundę serwer, przesyłając mu token ostatniego odebranego pakietu, gdy nastąpi w grze jakaś akcja serwer po prostu wypluwa dane o niej, które już są zarządzane przez klienta.

Jeśli chodzi o silnik, to uwierz mi, że muszą się po jego stronie odbywać często bardzo złożone i skomplikowane operacje, wszystko musi być sprawdzane (no bo hakjerzy są wszędzie, nie? ( ͡° ʖ̯ ͡°)) i zaprojektowane tak, żeby działało szybko i sprawnie. Pomijając fakt samych algorytmów warto też wspomnieć o big data, bo na pewno o to zahaczysz, jeśli chcesz budować grę pokroju margonem. Osobiście nie mam pojęcia jaki byłby wynik konfrontacji między serwerem postawionym na node + socket.io, a takim na c++, ale mogę z pewnością stwierdzić, że serwer w node napiszesz 3, a nawet może i 4 razy szybciej, niż zrobiłbyś to w c++. ;)

komentarz 3 stycznia 2016 przez sonquer Gaduła (4,280 p.)
A o naszym projekcie to nie wspomni ;___;
komentarz 3 stycznia 2016 przez Magicone Nałogowiec (45,100 p.)
toć to jeszcze nie żywe ;__;
komentarz 5 stycznia 2016 przez Muhin Gaduła (4,120 p.)
Czyli serwer będę pisał w node + socket.io. Node.js rzeczywiście może sprawnie rozwiązać problem php. Znasz może jakieś książki na temat node.js, lub jakieś kursy? Polecisz coś?
komentarz 5 stycznia 2016 przez Magicone Nałogowiec (45,100 p.)
Node to tylko środowisko dla języka JS. Nauka JS to IMO nie kwestia książek, tylko doświadczenia, które rośnie wraz z czasem, poświęconym na eksperymentowanie z nim. Sam socket.io to po prostu libek, nie powinieneś mieć z nim problemów po ogarnięciu JS i dokumentacji tej właśnie biblioteki.

Podobne pytania

+12 głosów
6 odpowiedzi 618 wizyt
pytanie zadane 27 grudnia 2015 w Nasze projekty przez fckueve Dyskutant (9,470 p.)
0 głosów
1 odpowiedź 261 wizyt
pytanie zadane 29 listopada 2019 w Nasze projekty przez Marcin90 Użytkownik (500 p.)
0 głosów
0 odpowiedzi 272 wizyt
pytanie zadane 26 stycznia 2018 w Ogłoszenia, zlecenia przez RomeQ Nowicjusz (180 p.)

92,579 zapytań

141,432 odpowiedzi

319,663 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...