© DrHitch/Shutterstock.com
Einführung in die Programmierung von 2-D-Spielen

3 Implementierung eines Spiels auf Basis von JavaScript und HTML5


„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 Kapitel 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!

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 jeweilig...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang