Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Java][MySQL][PHP]Gra sieciowa. Jakie technologie?
Forum PHP.pl > Forum > Przedszkole
jawka7
Witam serdecznie,

Chciałbym stworzyć grę na zasadzie jakiejś mapy i własnej postaci która zbiera punkty doświadczenia, wbija kolejne poziomy oraz wykonuje questy. Teraz pytanie W jakiej technologii stworzyć najlepiej taka platformę i czy sama przeglądarka będzie dobrym pomysłem do tego, tworząc w niej wirtualna mapę i postać która expi. czy jestem zmuszony do tego aby stworzyć platformę w c++.

Moje języki które znam na dość dobrym poziomie to, i czy to wystarczy?:

- php + mysql (bardzo dobry)
- flash (AS) (średni)
- javascript (dobry)
- ajax
- jQuery
- java (dobry)
- C++ (słabo)

Programowanie obiektowe w poszczególnych językach oczywiście. Mam kilka pomysłów zaczynam tworzyć fabułę. Jestem gotów podjąć się nauki języków jeśli będzie taka potrzeba. Nawet jeśli gra nie wypali to nauczę się czegoś nowego. W jakiej technologi powinienem zacząć pisać? (nie mam doświadczenia w pisaniu tego typu projektów i chciałbym wiedzieć jaki język jest najodpowiedniejszy w tworzeniu tego typu gier)

Dla dodania szukam jeszcze jakiegoś dobrego grafika do mojej jednoosobowej ekipy i programista tez nie pogardzę winksmiley.jpg
Crozin
Znasz języki AJAX i jQuery? Ciekawe...

Jak C++ nie znasz, to wykorzystaj Javę. W niej bez problemu napiszesz serwer aplikacji. Natomiast co do klienta - przeglądarki nadal nie są najlepszym środowiskiem dla "ciężkich" gier czasu rzeczywistego, więc również sugerowałbym użycie Javy jako normalnej desktopowej aplikacji.
Mephistofeles
Od strony klienta najlepsza będzie sama przeglądarka z racji dostępności. Od strony serwera może być sam PHP z bazą, lub jakiś normalny silnik odpalony jako backend i nasłuchujący zapytań z frontendu (PHP). Jako, że słabo znasz C++ raczej sobie odpuść to drugie.
Ściągnij sobie Symfony 2, ostatnia jest chyba wersja PR4. To bardzo dobry framework i na nim proponuję Ci się oprzeć. Do tego Doctrine 2 jako ORM.
Rozpisz sobie dokładnie cały projekt, bez tego daleko nie zajedziesz (niestety sam to przerabiałem).
Interfejs postaraj się oprzeć na HTMLu i JSie, do mapy możesz użyć obiektu canvas, ewentualnie całość niech chodzi na Flashu.
Koniecznie zintegruj grę z Facebookiem, będziesz miał dodatkową reklamę i więcej użytkowników.

W kwestii programowania mogę Ci pomóc, ale raczej tylko kwestią projektową, na pisanie kodu nie mam czasu, bo też zajmuję się grą mmo.

@Crozin: już lepiej Flash. Z dowolnego komputera wejdziesz na dobrze napisaną stronę z MMO, większość ma Flasha zainstalowanego, z Javą bywa inaczej, a to dostępność jest główną zaletą takich gier.
jawka7
Tak wiem ze ajax i jquery to jedynie biblioteki wymieniłem ponieważ uważam ze w dzisiejszych czasach są dość istotne w internecie.

Uważasz ze java powinna spełnić wymogi tego typu gry?

Hm.. Mephistofeles@ rozmawiałem z firma piszaca gry przgladarkowe odradzaja flasha choc poniewaz niby to nie jest jezyk w ktorym powinno sie pisac takie rzeczy nie wiem czemu?
Crozin
jQuery wcale nie jest jakoś specjalnie ważne. A AJAX i tak Ci się w takim projekcie specjalnie nie przyda (potrzebujesz dwustronnej komunikacji).

@Mephistofeles: Sf2 się kompletnie nie nadaje do czegoś takiego - to nie jest strona internetowa, a gra.
@jawka7: Może na początku określ czy to ma być gierka przez przeglądarkę czy pełnoprawna gra. I jaka to ma być gra. 2D czy 3D? FPS czy RPG? itp. itd.
jawka7
Zdecydowanie 3D i RPG jednak obawiam się trudności choć warto spróbować choćby dla nauki.

W jaki sposób proponujecie stworzyć taką dwustronną komunikację?
Crozin
Zostaw więc w spokoju środowisko HTTP i przeglądarki bo na chwilę obecną nie nadają się do takich rzeczy. Co do dwustronnej komunikacji to w niedalekiej przyszłości WebSockets powinny być znowu dostępne.

Skoro C++ u Ciebie kuleje skieruj się w pełni na Javę. Jeżeli robisz to w celach edukacyjnych możesz zrobić wszystko samemu (w sieci jest o dziwo bardzo dużo materiałów dot. programowania gier sieciowych w Javie, wiem bo sam niedawno w Javie robiłem coś takiego). Możesz też skorzystać z gotowych silników typu JMonekyEngine.

PS. Oczywiście robienie wszystkiego od podstaw to przede wszystkim dogłębne studiowanie już istniejących rozwiązań, sposobu ich działania byś się przykładowo w połowie projektu nie zorientował, że opracowany przez Ciebie protokół jest zbyt ociężały, albo nie pozwala na przesłanie takich, a takich informacji.
jawka7
A gdybys ty osobiscie miał wybierać miedzy javą a C++? Do grafiki oczywiscie obiekty z 3dmax tak?
Crozin
Narzut Javy nie powinien być odczuwalny, tak więc obie technologie dadzą tutaj radę. Kwestia rozchodzi się bardziej o Twoje obecne umiejętności (wg tego co piszesz tutaj Java prowadzi) czy społeczność i dostęp do zewnętrznego kodu (tutaj C++ obejmie prowadzenie z racji swojej dominacji na tym rynku).

Co bym wybrał? To w czym chciałbym się podszkolić.
Mephistofeles
No jeśli chodzi o takie sprawy, to rzeczywiście, żadna technologia obecnie dostępna w przeglądarkach się nie nadaje. Można by pokombinować z native clientem (Chrome), ale nie ma sensu się w to bawić.
Symfony się doskonale nadaje na grę (ale zwykłą, a'la Ogame, w tej sytuacji odpada bo niewiele pomoże), bo czym się różni taka gra od zwykłej, bardziej rozbudowanej strony?
jawka7
hm umiem jave ale mam kumpla ktory bardzo dobrze umie c++ takze pomysle jeszcze jak to podzielic a poki co wielkie dzieki za info winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.