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
| 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:
- Über Emscripten für eine Einführung mit einem allgemeinen Überblick.
- Herunterladen und installieren für die Installation der Werkzeugkette.
- Emscripten-Tutorial für eine schrittweise Einführung.