Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Werkzeuge für die Spieleentwicklung

Auf dieser Seite finden Sie Links zu unseren Artikeln über Werkzeuge für die Spieleentwicklung. Diese sollen künftig Frameworks, Compiler und Debugging-Werkzeuge abdecken.

asm.js

asm.js ist eine stark eingeschränkte Teilmenge der JavaScript-Sprache. Sie lässt sich erheblich optimieren und in einer Engine mit Ahead-of-Time-Kompilierung (AOT) ausführen, was eine deutlich höhere Leistung als bei gewöhnlichem JavaScript ermöglicht. Das ist für Spiele besonders nützlich.

Emscripten

Ein Compiler von LLVM nach JavaScript. Mit Emscripten können Sie C++ und andere Sprachen, die sich zu LLVM-Bytecode kompilieren lassen, in leistungsfähiges JavaScript übersetzen. Das ist ein hervorragendes Werkzeug, um Anwendungen ins Web zu portieren! Im Wiki finden Sie ein hilfreiches Emscripten-Tutorial.

Firefox Profiler

Mit Firefox Profiler können Sie Ihren Code profilieren und Leistungsprobleme aufspüren, damit Ihr Spiel möglichst schnell läuft.

Werkzeugkette für die Entwicklung und das Debugging von Spielen

Worin unterscheidet sich das vom Debugging gewöhnlicher Webanwendungen? Welche spezialisierten Werkzeuge gibt es? Will behandelt vieles davon unter Werkzeuge. Hier sollten wir jedoch eine praxisorientierte Anleitung zur Werkzeugkette für das Debugging von Spielen bereitstellen, mit Links zu Wills Inhalten:

  • Überblick über grundlegende Werkzeuge
  • Shader-Editor
  • Performance-Werkzeuge (noch in Entwicklung, voraussichtlich Anfang 2014)

Webtechnologien

Webtechnologien in der Spieleentwicklung und ihre Funktion
Funktion Technologie
Audio Web Audio API
Grafik WebGL (OpenGL ES 2.0)
Eingabe Touch-Ereignisse, Gamepad API, Gerätesensoren, WebRTC, Full Screen API, Pointer Lock API
Sprache JavaScript (oder C/C++, das mit Emscripten zu JavaScript kompiliert wird)
Netzwerk WebRTC und/oder WebSockets
Datenspeicherung IndexedDB oder die „Cloud“
Web HTML, CSS, SVG (und vieles mehr!)
Fetch API

Senden und empfangen Sie beliebige Daten über einen Webserver: Laden Sie beispielsweise neue Spiellevel und Grafiken herunter oder tauschen Sie Informationen zum Spielstatus aus, die nicht in Echtzeit übertragen werden müssen.

Full Screen API

Spielen Sie im Vollbildmodus.

Gamepad API

Verwenden Sie Gamepads oder andere Spielcontroller.

HTML und CSS

Erstellen, gestalten und strukturieren Sie die Benutzeroberfläche Ihres Spiels.

HTML-Audio

Spielen Sie einfache Soundeffekte und Musik unkompliziert ab.

IndexedDB

Speichern Sie Benutzerdaten auf dem Computer oder Gerät der Benutzer.

JavaScript

Eine schnelle Web-Programmiersprache, mit der Sie den Code für Ihr Spiel schreiben können. Um vorhandene Spiele einfach zu portieren, verwenden Sie Emscripten oder Asm.js.

Pointer Lock API

Binden Sie die Maus oder ein anderes Zeigegerät an die Benutzeroberfläche Ihres Spiels.

SVG (skalierbare Vektorgrafiken)

Erstellen Sie Vektorgrafiken, die unabhängig von der Größe oder Auflösung des Bildschirms der Benutzer ohne Qualitätsverlust skaliert werden.

Typed Arrays

Greifen Sie aus JavaScript auf binäre Rohdaten zu, um GL-Texturen, Spieldaten oder andere Daten zu bearbeiten.

Web Audio API

Steuern Sie die Wiedergabe, Synthese und Verarbeitung von Audio in Echtzeit.

WebGL

Erstellen Sie leistungsfähige, hardwarebeschleunigte 3D- und 2D-Grafiken. OpenGL ES 2.0.

WebRTC

Nutzen Sie Echtzeitkommunikation zur Verarbeitung von Audio- und Videodaten, unter anderem für Videokonferenzen sowie für den Austausch anderer Anwendungsdaten zwischen zwei Benutzern, etwa in einem Chat.

WebSockets

Verbinden Sie Ihre Anwendung oder Website mit einem Server, um Daten in Echtzeit auszutauschen. Ideal für Multiplayer-Spiele, Chat-Dienste und Ähnliches.

Web Workers

Starten Sie Hintergrund-Threads, die auf Mehrkernprozessoren eigenen JavaScript-Code ausführen.

Native Spiele ins Web portieren

Wenn Sie native Anwendungen entwickeln, beispielsweise Spiele in C++ schreiben, und wissen möchten, wie Sie Ihre Spiele ins Web portieren können, sollten Sie sich mit unserem Werkzeug Emscripten vertraut machen. Dieser Compiler von LLVM nach JavaScript nimmt LLVM-Bytecode entgegen – etwa solchen, der mit Clang aus C/C++ oder aus einer anderen Sprache erzeugt wurde – und kompiliert ihn zu asm.js, das im Web ausgeführt werden kann.

Für den Einstieg empfehlen wir: