Jak istotny jest dzisiaj PHP dla gier przeglądarkowych?

12

Byłem głównym programistą 2 umiarkowanie udanych gier przeglądarkowych kilka lat temu i planuję wkrótce pracować nad nową grą. W tym czasie pisałem je w czystym PHP (bez silnika szablonów lub czegoś podobnego).

Chciałbym zacząć pracować nad nową grą, ale od jakiegoś czasu jestem poza światem programowania. Czytając dookoła, słyszę dużo dobrego o Railsach, Django, Node.js itp., Z którymi nie mam doświadczenia (chociaż znam się na Pythonie, JavaScript i innych całkiem dobrze).

Więc moje pytanie jest następujące - jeśli miałbym pójść starymi sposobami i ponownie zacząć korzystać z PHP, czy utrudniłbym sobie to? Czy wybranie czegoś bardziej „modnego” miałoby realny wpływ na mój rozwój?

Ponadto, czy ktoś ma jakieś wskazówki dotyczące tworzenia gier przeglądarkowych za pomocą tych bardziej nowoczesnych narzędzi?

Bitgarden
źródło
Node.js ma tę zaletę, że jest JSON od samego początku, ale będziesz mógł szybciej się rozwijać, trzymając się tego, co wiesz (a PHP ma json_encode i json_decode, jeśli chcesz pracować z JSON na kliencie)
thedaian
Trzymaj się PHP5, jest aktywnie rozwijany i nie ma żadnych funkcji, które uniemożliwiłyby stworzenie dobrej gry na przeglądarkę. Technologie internetowe mają pewne wąskie gardła, takie jak serwer WWW, serwer baz danych. Obawy, że nie powinieneś linkować bezpośrednio do wyboru języka. Język to tylko środowisko, jeśli czujesz się komfortowo z PHP, użyj PHP.
daemonfire300,

Odpowiedzi:

13

PHP jest nadal istotne dla gier przeglądarkowych. Istnieje mnóstwo firm ( Gameforge , Funzio , Goodgame Studios itp.) , Które używają PHP do gier online.

Myślę, że PHP i Java są najczęściej używane, ale nauka czegoś takiego jak Node.js i Python może być również korzystna. To naprawdę zależy od tego, na czym chcesz się skupić. Uczyć się nowych technologii / nowego języka programowania lub stworzyć grę za pomocą narzędzi, które już znasz?

Jak sugerowali inni, możesz ulepszyć swojego klienta gry, używając technologii takich jak HTML5 i JavaScript. Do backendu możesz nadal używać PHP. To może dać ci wystarczająco dużo nowych rzeczy do nauki, a Ty nadal możesz korzystać ze swoich umiejętności programowania w PHP.

grzmot
źródło
+1, programowanie serwera zazwyczaj nie jest trudne, jesteś ograniczony językiem klienta.
Markus von Broady,
5

PHP jest nadal aktualne i szeroko stosowane.

Według społeczności programistycznej TIOBE PHP jest piątym najpopularniejszym językiem. W ubiegłym roku był na czwartej pozycji. Spadek ten może być po prostu spowodowany wzrostem liczby dostępnych technologii.

Zakładam, że istnieje pewna korelacja między popularnością języka programowania ogólnego a popularnością języka programowania gier.

Railsy, ​​Django i Node.js to frameworki lub biblioteki, więc porównywanie ich z PHP nie będzie działało tak dobrze, zamiast tego możesz porównać je z frameworkami PHP takimi jak Symfony i CakePHP . Jeśli masz już pewność co do PHP i nie masz doświadczenia z Ruby / Python, warto skorzystać z jednego z nich.

Większość tych frameworków oferuje architekturę kontrolera widoku modelu, która może przyspieszyć programowanie, a Twój kod będzie czystszy i łatwiejszy w utrzymaniu.

CiscoIPPhone
źródło
+1 za rozróżnienie języka / tłumacza i frameworka. Mój przyjaciel pracuje teraz w startupie, którego backend sieciowy jest napisany w perlu z frameworkiem Catalyst. Nienawidzi Perla, ale całkiem lubi sposób, w jaki jest używany w Catalyst.
michael.bartnett
1
-1 do wywołania Node.js w ramach lub bibliotece. Jest to samodzielne środowisko skryptowe i pod pewnymi względami jest w rzeczywistości dość niskim poziomem, co moim zdaniem czyni go lepszym kandydatem do zaplecza gry niż PHP. W przypadku normalnego tworzenia stron internetowych należy nałożyć na to framework, aby doprowadzić go do poziomu abstrakcji w PHP.
aaaaaaaaaaaa
3

Stare gry przeglądarkowe tego dnia nie mają nic wspólnego z tym, co możesz dziś osiągnąć dzięki temu, co jest dostępne.

Najważniejsze pytanie dotyczy czasu rzeczywistego; jeśli chcesz zachować taki sam wygląd jak stara gra przeglądarkowa, PHP powinno być w porządku. Rzecz w tym, że rodzaj gry został określony przez ograniczenia w tym czasie; Myślę, że jeśli już bawiłeś się w te gry, prawdopodobnie będziesz chciał pójść o krok dalej.

Jeśli chcesz zachować starszą grę opartą na czasie statycznym, możesz równie dobrze trzymać się PHP i być może zarobić na modnym płótnie w HTML5 . Kolejnym krokiem może być zmieszanie go z odrobiną AJAX, aby uczynić rzeczy nieco bardziej „w czasie rzeczywistym” ; i tak prawdopodobnie używałeś tego w swoich starszych grach.

Nie znam specyfiki innych narzędzi, którymi się zajmujesz, ale znam gry PHP / AJAX, a dzięki twojej podstawowej wiedzy i nowej mocy HTML5 uważam, że każda gra przeglądarkowa powinna działać całkiem dobrze .

Oczywiście; biorąc pod uwagę fakt, że chcesz stworzyć dość statyczną grę.

Jonathan Connell
źródło
0

Aby uzyskać bardziej nowoczesne narzędzie, możesz wybrać silnik gry oparty na WebGL. Większość z nich jest obsługiwana przez JavaScript. Możesz sprawdzić tę listę i sprawdzić, czy któraś z nich odpowiada Twoim potrzebom.

Quazi Irfan
źródło
3
Myślę, że pytanie dotyczy raczej gier opartych na stronach internetowych niż tradycyjnych gier działających w przeglądarce
Ioachim