Danny Reinhold Freiberufler

Die meisten einfachen Spiele kann man übrigens auch wunderbar per Hand realisieren. Dabei sieht man auf einem vergleichsweise niedrigen technischen Level, was im Detail passiert. Außerdem macht es einfach Spaß.

Wolfgang Schmidt Softwareentwickler

Die Spiele, die wir hier vorstellen, sind bewusst einfach gehalten und laden zum Experimentieren und zu Erweiterungen ein. Erstellen Sie neue Level, tauschen Sie die Grafiken aus, animieren Sie Spieler und Gegner, bauen Sie nette Soundeffekte oder variierende Gegner ein  – es gibt unendlich viele Erweiterungsmöglichkeiten.

„Läuft das auch im Browser?“ – Das war die gängige Frage, mit der sich vor einigen Jahren viele Entwickler konfrontiert sahen, die ihre GUI-Anwendungen bis dahin als herkömmliche Desktopanwendungen entwickelt hatten. Lange Zeit wurden insbesondere Spiele fast ausschließlich in Sprachen wie C und C++ in Verbindung mit entsprechenden Bibliotheken geschrieben. In diesem Teil stellen wir uns der Eingangsfrage und implementieren einen Klassiker unter den Computerspielen unter Verwendung von JavaScript und HTML5 zur Ausführung im Browser. Und, ja, es läuft!

Willkommen zurück zum letzten Teil unserer dreiteiligen Serie zur Programmierung von 2-D-Spielen. Bevor wir in die Implementierung einsteigen, gehen wir hier noch einmal kurz auf die Verwendung von JavaScript zur Spieleprogrammierung ein.

JavaScript war lange Zeit nicht gerade die erste Wahl für die Programmierung von Spielen. Genauer gesagt: Es hat allgemein lange gedauert, bis Kodieren in JavaScript überhaupt als „Programmierung“ anerkannt war. Da Spiele meist in Echtzeit ablaufen und eine große Anzahl bewegter Objekte darstellen müssen, galt JavaScript als schlicht zu langsam. Darüber hinaus fehlten JavaScript im Browser wichtige Möglichkeiten wie etwa die Darstellung von Grafiken und Sprites und Unterstützung für die Wiedergabe von Sound. Sollte das Spiel daher im Browser spielbar sein (und es gab von Anfang an viele entsprechende Spiele), wurden sie eher als Flash-Applikation oder sogar als Java-Applets implementiert, da diese Art von Applikationen die genannten Fähigkeiten hatte.

Inzwischen haben sich die Zeiten jedoch gewandelt. Mit der zunehmenden Bedeutung von Webtechniken ist JavaScript bei aller immer noch bestehenden Kritik salonfähig geworden. Die Rechner sind schneller geworden, und JavaScript in Browsern wird mit vielen Geschwindigkeitsoptimierungen ausgeführt. Mit HTML5 steht außerdem eine Reihe neuer Fähigkeiten standardisiert zur Verfügung – insbesondere die Möglichkeit, direkt auf Zeichenflächen zuzugreifen (Canvas), die Ausgabe von Klang (Audio) und das Persistieren von Daten (Local Storage). Gleichzeitig befinden sich Flash-Applikationen auf dem Rückzug, da sie für mobile Geräte als zu ressourcenhungrig gelten und die Aktivierung von Java im Browser mittlerweile allgemein eher als Sicherheitsrisiko gilt.

Für eine Implementierung in JavaScript sprechen im Wesentlichen die folgenden Punkte:

  • Die betreffenden Anwendungen laufen im Kontext eines Browsers. Eine Ausführungsumgebung ist damit auf den meisten Geräten (vom PC bis zum Smartphone) gegeben – und zwar unabhängig vom jeweiligen Betriebssystem. Die Notwendigkeit zur Installation der Software entfällt damit.
  • Damit entfällt auch die Notwendigkeit zur Distribution – es reicht, die entsprechenden Dateien auf einer Webseite zur Verfügung zu stellen, um das Spiel zu veröffentlichen.
  • Die Entwicklungsumgebung ist minimal. Es müssen weder Bibliotheken installiert werden, noch wird ein Compiler benötigt. Alles, was am Anfang benötigt wird, ist ein Texteditor (allerdings möglichst einer mit Syntaxunterstützung) und ein Browser.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Entwickler Magazin 4.16 - "PICAXE: Mit Spaß und Spiel zum Embedded-Profi"

Alle Infos zum Heft
2463412D-Spiele mit JavaScript und HTML5
X
- Gib Deinen Standort ein -
- or -