Werkzeuge für die Spieleentwicklung

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

asm.js

asm.js ist ein sehr begrenzter Teil der JavaScript-Sprache, der erheblich optimiert werden kann und in einer "Ahead-of-Time" (AOT) Compiler-Engine für eine wesentlich schnellere Leistung als die übliche JavaScript-Leistung ausgeführt werden kann. 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 zu LLVM-Bytecode kompiliert werden können, in leistungsstarkes JavaScript kompilieren. Das ist ein hervorragendes Werkzeug, um Anwendungen ins Web zu portieren! Es gibt ein nützliches Emscripten-Tutorial im Wiki.

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.

Werkzeugkette zur Entwicklung und Fehlersuche bei Spielen

Wie unterscheidet sich dies von normalem Web-App-Debugging? Welche speziellen Werkzeuge stehen zur Verfügung? Vieles davon wird von Will in tools abgedeckt, aber hier sollten wir eine Art praktisches Toolchain-Tutorial für die Fehlersuche bei Spielen bereitstellen, mit Links zu Wills Sachen:

  • Überblick über grundlegende Werkzeuge
  • Shader-Editor
  • Leistungswerkzeuge (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, Fullscreen-API, Pointer Lock API
Sprache JavaScript (oder C/C++ mit Emscripten zu JavaScript kompilieren)
Netzwerk WebRTC und/oder WebSockets
Speicher IndexedDB oder die "Cloud"
Web HTML, CSS, SVG (und vieles mehr!)
Fetch API

Senden und Empfangen jeder Art von Daten von einem Webserver, z. B. Herunterladen neuer Spielebenen und Grafiken bis hin zur Übertragung von Echtzeit-Spielstatusinformationen hin und her.

Fullscreen-API

Spiel im Vollbildmodus.

Gamepad API

Verwenden Sie Gamepads oder andere Spielcontroller.

HTML und CSS

Bauen, gestalten und layouten Sie die Benutzeroberfläche Ihres Spiels.

HTML audio

Einfach Soundeffekte und Musik abspielen.

IndexedDB

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

JavaScript

Schnelle Web-Progammier-Sprache, um den Code Ihres Spiels zu schreiben. Um Ihre bestehenden Spiele einfach zu portieren Emscripten oder Asm.js

Pointer Lock API

Sperren der Maus oder eines anderen Zeigegeräts innerhalb der Benutzeroberfläche Ihres Spiels.

SVG (Scalable Vector Graphics)

Erstellen Sie Vektorgrafiken, die unabhängig von der Größe oder Auflösung des Displays des Benutzers reibungslos skaliert werden.

Typed Arrays

Zugriff auf rohe Binärdaten innerhalb von JavaScript; Manipulation von GL-Texturen, Spieldaten oder allem anderen.

Web Audio API

Steuerung der 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 Übertragung anderer Anwendungsdaten zwischen zwei Benutzern, z. B. Chat.

WebSockets

Verbinden Sie Ihre App oder Website mit einem Server, um Daten in Echtzeit hin und her zu übertragen. Perfekt für Multiplayer-Spielaktionen, Chat-Dienste und so weiter.

Web Workers

Erstellen Sie Hintergrund-Threads, die ihren eigenen JavaScript-Code für Multicore-Prozessoren ausführen.