Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Czy wato pisać grę w PHP?


Rekomendowane odpowiedzi

Opublikowano

Witam. Zastanawiam, się, czy warto pisać grę 2D na przeglądarkę w PHP? Będzie to gra ekonomiczna, dane w bazie danych będą często aktualizowane. Jeżeli nie warto, to jakim językiem go zastąpić? Boje się, że PHP będzie mulił przy większej ilości graczy. z góry dziękuje za odpowiedzi ;)

Moje Pliki Serwerowe (Minecraft) - Już Niedługo!


Opublikowano

PHP jest dobrym wyborem do text-based games. Jeżeli chcesz stworzyć grę, w której będą występowały elementy real-time, to polecam Node.js. Ale oczywiście, wszystko zależy od Ciebie. Więcej informacji na temat PHP i Node.js - http://webapplog.com/php-vs-node-js/

 

PHP nie będzie mulił przy dużej ilości graczy. Mulić będzie za to baza danych MySQL (zależy to od ilości zapytań, znalazłem ciekawe wytłumaczenie na StackOverflow - http://stackoverflow.com/questions/1276/how-big-can-a-mysql-database-get-before-performance-starts-to-degrade. Możesz oczywiście wybrać inne rozwiązanie, na przykład znana baza danych NoSQL MongoDB. Z tego co wiem, jest ona lepiej przystosowana do dużej ilości zapytań. MongoDB stosuje sposób zapisu BSON (binary JSON), więc bardzo dobrze współdziała z Node.js. 

 

Reasumując: PHP jest dobrym wyborem back-endu, lecz możesz go zastąpić szybszym Node.js (badania wykazują że jest szybszy, stosuje model danych non-blocking I/O i bazuje na silniku V8). Musisz też wybrać silnik bazy danych. Nie krytykuje MySQL`a, ale z tego co wiem, to MongoDB jest szybszy (http://www.moredevs.ro/mysql-vs-mongodb-performance-benchmark/).

Opublikowano

Gra będzie będzie polegała na klikanie w przyciski, tylko że problem zaczyna się na synchronizacji wirtualnej waluty między klientem a bazą danych (zamierzam zrobić tak, aby synchronizacja odbywała się co minutę) i teraz boje się, że MySQL tego nie przetrwa przy liczbie graczy powyżej 10. I teraz nie wiem co robić, ponieważ PHP mam w jednym placu, a nauka nowego języka to kilka tygodni... 

Moje Pliki Serwerowe (Minecraft) - Już Niedługo!


Opublikowano

Gra będzie będzie polegała na klikanie w przyciski, tylko że problem zaczyna się na synchronizacji wirtualnej waluty między klientem a bazą danych (zamierzam zrobić tak, aby synchronizacja odbywała się co minutę) i teraz boje się, że MySQL tego nie przetrwa przy liczbie graczy powyżej 10. I teraz nie wiem co robić, ponieważ PHP mam w jednym placu, a nauka nowego języka to kilka tygodni... 

 

Właśnie dlatego polecam Node.js (+ socket.io). Node.js nie jest językiem programistycznym, jest to środowisko programistyczne zaprojektowane do tworzenia aplikacji internetowych w JavaScript. Więc jeżeli znasz JS, to nauka Node.js nie zajmie Ci długo. 

 

Oczywiście możesz używać PHP, a do synchronizacji cron`a, ale tak jak już wspominałem, przy dużej ilości graczy baza danych MySQL może nie wytrzymać.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...