Werkzeuge für die Spieleentwicklung

Auf dieser Seite finden Sie Links zu unseren Artikeln über Werkzeuge zur Spieleentwicklung, die letztendlich Frameworks, Compiler und Debugging-Werkzeuge abdecken sollen.

asm.js

asm.js ist ein sehr eingeschränkter Teilbereich der JavaScript-Sprache, der erheblich optimiert und in einer Ahead-of-Time (AOT) Compiler-Engine ausgeführt werden kann, um eine wesentlich schnellere Leistung als die typische JavaScript-Leistung zu erreichen. Das ist natürlich großartig für Spiele.

Emscripten

Ein LLVM zu JavaScript Compiler; mit Emscripten können Sie C++ und andere Sprachen, die in LLVM-Bytecode kompiliert werden können, in leistungsstarkes JavaScript kompilieren. Dies ist ein ausgezeichnetes Werkzeug für die Portierung von Anwendungen ins Web! Es gibt ein nützliches Emscripten-Tutorial auf der Wiki-Seite.

Firefox Profiler

Der Firefox Profiler ermöglicht es Ihnen, Ihren Code zu profilieren, um herauszufinden, wo Ihre Leistungsprobleme liegen, damit Sie Ihr Spiel mit Höchstgeschwindigkeit ausführen können.

Toolkette zur Entwicklung und zum Debuggen von Spielen

Worin unterscheidet sich dies vom normalen Debugging von Webanwendungen? Welche spezialisierten Werkzeuge stehen zur Verfügung? Vieles davon wird von Will in den Werkzeugen behandelt, aber hier sollten wir eine Art praktisches Toolchain-Tutorial zum Debuggen von Spielen anbieten, mit Links zu Wills Inhalten:

  • Grundlegende Übersicht über Werkzeuge
  • Shader Editor
  • Leistungstools (noch in Produktion, geschätzt Anfang 2014)

Web-Technologien

Web-Technologien in der Spieleentwicklung und ihre Funktion
Funktion Technologie
Audio Web Audio API
Grafik WebGL (OpenGL ES 2.0)
Eingabe Touch Events, Gamepad API, Gerätesensoren, WebRTC, Full Screen API, Pointer Lock API
Sprache JavaScript (oder C/C++ unter Verwendung von Emscripten zur Kompilierung nach JavaScript)
Netzwerk WebRTC und/oder WebSockets
Speicherung IndexedDB oder die "Cloud"
Web HTML, CSS, SVG (und vieles mehr!)
Fetch API

Senden und empfangen Sie jede Art von Daten, die Sie von einem Webserver möchten, z.B. das Herunterladen neuer Spielebenen und Grafiken bis zum Übertragen von nicht Echtzeit-Spielstatusinformationen hin und her.

Full Screen API

Vollbild-Spielerlebnis.

Gamepad API

Verwenden Sie Gamepads oder andere Spielcontroller.

HTML und CSS

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

HTML Audio

Einfaches Abspielen von Soundeffekten und Musik.

IndexedDB

Speichern Sie Benutzerdaten auf deren eigenem Computer oder Gerät.

JavaScript

Schnelle Web-Programmiersprache, um den Code für Ihr Spiel zu schreiben. Um Ihre bestehenden Spiele einfach zu portieren, nutzen Sie Emscripten oder Asm.js

Pointer Lock API

Sperren Sie die Maus oder ein anderes Zeigegerät innerhalb der Benutzeroberfläche Ihres Spiels.

SVG (Skalierbare Vektorgrafiken)

Erstellen Sie Vektorgrafiken, die unabhängig von Größe oder Auflösung des Benutzerbildschirms sanft skalieren.

Typed Arrays

Greifen Sie auf rohe Binärdaten innerhalb von JavaScript zu; Manipulieren Sie GL-Texturen, Spieledaten oder alles andere.

Web Audio API

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

WebGL

Erstellen Sie leistungsstarke, hardwarebeschleunigte 3D- (und 2D-)Grafiken. OpenGL ES 2.0.

WebRTC

Echtzeitkommunikation zur Steuerung von Audio- und Videodaten, einschließlich Videokonferenzen und Übertragen anderer Anwendungsdaten zwischen zwei Benutzern wie Chat.

WebSockets

Verbinden Sie Ihre App oder Website mit einem Server, um in Echtzeit Daten hin- und herzutauschen. Perfekt für Multiplayer-Spielaktionen, Chatdienste und so weiter.

Web Workers

Starten Sie Hintergrundthreads, die ihren eigenen JavaScript-Code auf Mehrkernprozessoren ausführen.

Native Spiele ins Web portieren

Wenn Sie ein nativer Entwickler sind (beispielsweise Spiele in C++ schreiben) und daran interessiert sind, wie Sie Ihre Spiele ins Web portieren können, sollten Sie mehr über unser Emscripten Tool erfahren — dies ist ein LLVM zu JavaScript Compiler, der LLVM-Bytecode (z.B. generiert aus C/C++ mit Clang oder aus einer anderen Sprache) nimmt und in asm.js kompiliert, welches im Web ausgeführt werden kann.

Um zu beginnen, sehen Sie sich Folgendes an: