Kann man ein Webgame ohne PHP programmieren?

8 Antworten

Hi Psychotherapy,

nein das geht leider nicht. Du brauchst um mit dem Spieler/in zu interagieren JavaScript. Und um Daten verarbeiten zu bzw. mit Datenbanken wie MySQL arbeiten zu können, benötigst du eine serverseitige Programmiersprache. Dabei ist es nicht wichtig ob das jetzt PHP sein muss. Aber ja, du benötigst eine Sprache wie PHP.

Woher ich das weiß:Berufserfahrung – Ich bin gelernter Mediengestalter Digital und Print(IHK)

Um im Hintergrund mit einer Datenbank wie MySQL zu arbeiten benötigt man zumindest eine serverseitige Programmiersprache.
Neben PHP kann man hier aber auch andere Sprachen nutzen wie z.B. Python oder auch JavaScript (Node.js).


Psychotherapy 
Beitragsersteller
 12.05.2025, 00:50

Javascript kann man also für Frontend und Backend verwenden? Was ist node.js? Und ist Python besser geeignet? Wieso ist PHP so beliebt dafür?

ChrisCat1, UserMod Light  12.05.2025, 01:05
@Psychotherapy

Node.js ist eine Laufzeitumgebung für JavaScript, welche es ermögliche JavaScript außerhalb eines Webbrowsers ausführen und so auch im Backend nutzen zu können.
https://de.wikipedia.org/wiki/Node.js
https://www.w3schools.com/nodejs/

Jede Programmiersprache hat letztendlich seine Stärken und Schwächen, was am besten geeignet ist kommt immer auf den Anwendungsfall an.

Persönlich nutze ich meist PHP, weil ich damit die meiste Erfahrung habe.
Python hatte ich vor längerem auch mal genutzt, PHP fand ich damals aber einfacher/praktischer für meine Anwendungsfälle.

Mirko Marek  13.05.2025, 15:55
@Psychotherapy

Hi Psychotherapy, PHP wurde nur für die Erstellung von Webseiten erstellt. PHP ist die meistgenutzte Programmiersprache wenn es um Webseiten geht. Über 77% aller Webseiten die mit einer serverseitigen Sprache arbeiten. Die meisten und populärsten CMS-Lösungen arbeiten alle mit PHP im Background.

PHP stand früher oft in Kritik wegen der Performance, Sicherheit und Aufbau der Sprache. Seit PHP 7.x. hat sich sehr viel positives im Bereich Performance, Sicherheit getan. PHP bietet von Haus aus alle wichtigen Funktionen um eine Webseite zu erstellen ohne mit Frameworks oder Workarounds arbeiten zu müssen.

PHP arbeitet sehr schnell und bietet auch unterschiedliche Engines an die noch mehr Performance bringen. Zum Beispiel hat Facebook seine eigene PHP-Engine entwickelt die noch mehr Performance bot und Ressourcen spart.

Natürlich gibt es weitere Sprachen die für Webseiten verwendet werden wie Ruby, ASP.NET und Python. Diese haben auch ihre Daseinsberechtigung sowie Vor- und Nachteile.

Ich würde dir empfehlen PHP zu verwenden, da du schon mal JavaScript in deinen vorherigen Posts erwähnt hast. PHP und JavaScript sowie C, C++ usw. kommen aus einer Sprachfamilie die eine gleiche bzw. ähnliche Syntax aufbauen. PHP bietet auch gleich zwei Schnittstellen zu MySQL an die man für die Nutzung von MySQL und MariaDB-Datenbanken nutzen kann.

Zu Node.js: Das ist eine Möglichkeit JavaScript als Backend zu verwenden. Es gibt viele Beispiele und Einsatzszenarien um es dort anzuwenden. Für deine Seite würde ich dir eher empfehlen PHP zu nutzen.

Zum Glück geht es ohne php.

Alternativen zu php können auch nodejs (JavaScript) basierte Server sein, C# mit asp.net, oder auch Java. Man kann mit so ziemlich jeder Sprache einen web Server erstellen.

Solange es dir reicht Daten nur im Browser zu speichern, reicht auch ein „dummer“ Webserver der einfach nur html, css usw. ausliefert.


Psychotherapy 
Beitragsersteller
 12.05.2025, 00:51

Also ich kann mit Javascript Frontend UND Backend erledigen? Kennst du Spiele wie Ogame? Wie würdest du das programmieren?

BeamerBen  12.05.2025, 10:47
@Psychotherapy

Klar, aber man muss sich natürlich trotzdem an die andere Umgebung gewöhnen.

Ich kenne Ogame nicht, habe aber selber mal einen Prototyp für ein echtzeit 2d multiplayer hero arena fighting game mit Team Deathmatch gemacht. Da habe ich auch Nodejs, websockets und die HTML Canvas API genutzt.

Wenn ich noch mal so etwas umsetzen würde, könnte ich mir vorstellen das wieder so zu machen. Eventuell würde ich überlegen, stattdessen auf Godot als Engine zu setzen, beim Server Go zu nutzen, oder falls das Spiel nicht unbedingt Echtzeit funktioniert, sondern eher wie eine klassische Website eventuell auch asp.net, eventuell mit vue als frontend framework.

Für einen Anfänger würde ich aber empfehlen:

  • Entwickel ein Spiel was mit wenigen Spielern bzw. Single Player funktioniert
  • Halte dich an die Technologien die du schon kannst
  • Entwickel erst mal ein ganz simplen Prototyp der nur dafür da ist zu schauen wie gut du mit der Technologie klar kommst. Zuerst ohne Server falls möglich, dann mit, dann evaluiere neu was du umsetzen kannst.
  • Schreibe ein grobes Konzept, halte fest welche Features du zuerst brauchst und welche später kommen sollen. In meinem Fall habe ich mich z.B. aus Zeitgründen gegen ein Lobby System entschieden
  • Falls du noch gar keine Erfahrung hast, lohnt es sich eventuell das Konzept zu schreiben und kleinere, andere Projekte zum lernen zu machen, bevor du "richtig" anfängst.
Psychotherapy 
Beitragsersteller
 12.05.2025, 16:07
@BeamerBen

Ich habe Singleplayer Cookieclicker nachgebaut. Jedoch weiß ich nicht wie man den Fortschritt des Spiels speichert und dann an den Server sendet. Ich brauche eine sehr große Spielerbase, weil ich nur Einnahmen in der Zukunft haben kann, wenn es viele spielen, da ja nur jeder 100. etwas zahlt dafür. Brauche ich Canvas? Prototyp habe ich schon mit HTML, CSS uns Jquery. Die Mathematik dahinter kann ich auch, also ich kann mit Variablen rechnen. Aber ich will, dass ein anderer Spieler z.B. mich angreifen kann und mir Ressourcen stehlen und dass es ein Ranking gibt, wer am meisten hat. So wie bei jedem Strategiespiel. Ich suche dafür nach einer möglichst einfachen Lösung.

BeamerBen  12.05.2025, 16:12
@Psychotherapy

Wenn du es nicht schaffst, einen einfachen Webserver einzurichten der einen einzelnen Wert speichert, hast du (noch) nicht die Fähigkeiten dafür öffentliche Server Infrastruktur sicher genug für ein kommerzielles Projekt zu hosten und zu programmieren.

Psychotherapy 
Beitragsersteller
 12.05.2025, 16:13
@BeamerBen

Weiß ich, genau das will ich ja lernen, wie ich das mache. Möglichst schnell.

Wenn man ein DBMS wie MySQL nutzen will, kommt man meines Erachtens nicht um serverseitige Programmierung bspw mit PHP herum.

Deine Spielebeispiele kenne ich nicht, aber grundlegend kann man sagen:

Du brauchst eine Backendsprache (NodeJs, Go, php, usw.), wenn dein Spiel eines dieser Features haben soll:

- Nutzerkonto

- Multiplayer

Ansonsten kannst du das ganze Spielgeschehen auch im Frontend geschehen lassen. Was du aber immer brauchst, ist ein Webserver, falls du dein Spiel auf einer Webseite anbieten zu können.

Nehmen wir als Beispiel Tetris: Canvas-Element, Tetrissteinraster, Regeln, Highscore. Das wird alles über Javascript geregelt. Den Highscore könntest du sogar mit Javascript lokal im Browser speichern.

Sobald der Highscore jedoch mit einem Benutzerkonto verknüpft werden soll, dass geräteunabhängig abrufbar sein soll, brauchst du eine Datenbank und die muss mit dem Backend kommunizieren, welches wiederum mit dem Frontend kommuniziert.

Woher ich das weiß:Berufserfahrung