Skocz do zawartości


Projekt karcianej gry multiplayer przez przeglądarkę


1 odpowiedź w tym temacie

#1 GoDee

    Nowy na forum

  • Użytkownicy
  • 1 Postów:

Napisano sob, 18 paź 2014 - 23:47

Witam,
Jestem w trakcie zastanawiania się nad rozwiązaniami, jakie powinienem zastosować aby stworzyć wieloosobową grę karcianą. Jako punkt odniesienia należy przyjąć jakąkolwiek grę karcianą online, np pokerstars.com (aplikacja Windows/Mac OS X), lub gryonline.wp.pl (JAVA)

Założenia i problemy do rozwiązania:
  • Gra musi być jak najbardziej uniwersalna, uruchamiana w przeglądarce, bez instalacji dodatkowych wtyczek (Flash i JAVA odpada)
  • Gra musi być wydajna, gdyż (a jak! ;] ) liczę na sukces, czyli duże obciążenie serwera spowodowane bardzo dużą ilością prowadzonych na raz gier (uruchomionych stołów gry)
  • Rozwiązanie problemu dwustronnej komunikacji SERWER<=>KLIENT
  • Hosting
  • Jako że w grze będzie dostępna wirtualna waluta, konieczny jest wysoki poziom bezpieczeństwa
  • Disconnect Protection


A teraz pytania:
  • Czy zastosowanie AJAX i ewentualnie HTML 5 + PHP + MySQL będzie dobrym rozwiązaniem?
  • W jaki sposób rozwiązać problem dwustronnej komunikacji na żywo? WebSocket, Long Polling, czy zwyczajne odświeżanie co 1 sekundę?
  • Wiadomo że docelowo, wraz ze wzrostem popularności trzeba będzie zainwestować w wydajne maszyny. Lecz na początek i pierwszy okres rozruchowy na czym to odpalić?
  • W jaki sposób wykrywać rozłączenie gracza, tak aby można było mu doliczyć dodatkowy czas na akcję w grze?


Będę bardzo wdzięczny za wzięcie udziału w dyskusji, odpowiedź na powyższe pytania, oraz być może inne sugestie, o których nie pomyślałem.

Jako, że brakuje mi trochę umiejętności, będę poszukiwał osoby do współpracy przy projekcie, tak że również potencjalnych zainteresowanych zapraszam.

Pozdrawiam! :)

#2 Jason

    Avatar

  • Super użytkownicy
  • 1118 Postów:

Napisano nie, 19 paź 2014 - 22:07

Przyjrzyj się w Firebugu przebiegowi rozgrywki na stronie http://pl.boardgamearena.com/ - polecam np. prostą grę "Hive" -> dowiesz się jak dane są przesyłane itp. Gry tam raczej działają bez wtyczek, no Hive na pewno.

Jeśli chodzi o backend, to polecam jakieś chmurowe rozwiązanie. Opłaty za serwer będą zależne od ruchu na stronie, ale nie musisz inwestować w infrastrukturę. Weź np. Google App Engine, już można tam nawet z PHP korzystać ;) Ale PHP jest językiem kiepsko zaprojektowanym, więc nie radziłbym się pchać z PHP w duży projekt. Chociaż ostatnio PHP trochę nadrabia w tym zakresie, to i tak odradzam poważne plany z PHPem.