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 Spieleentwicklungstools, die sich schließlich mit Frameworks, Compilern und Debugging-Tools befassen sollen.

asm.js

asm.js ist ein sehr eingeschränkter Teil der JavaScript-Sprache, der signifikant optimiert werden kann und in einer Vorab-Compile-Engine für viel schnellere Leistung als die typische 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 in LLVM-Bytecode kompiliert werden können, in leistungsstarkes JavaScript kompilieren. Dies ist ein ausgezeichnetes 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 auf Höchstgeschwindigkeit bringen können.

Toolchain für die Entwicklung und das Debuggen von Spielen

Wie unterscheidet sich dies vom normalen Debuggen von Web-Apps? Welche spezialisierten Tools sind verfügbar? Vieles davon wird von Will in tools behandelt, aber hier sollten wir eine Art praktisches Toolchain-Tutorial für das Debuggen von Spielen bereitstellen, mit Links zu Wills Inhalten:

  • Grundlegende Werkzeuge Übersicht
  • Shader-Editor
  • Leistungswerkzeuge (noch in Produktion, voraussichtlich 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, Vollbild-API, Pointer Lock API
Sprache JavaScript (oder C/C++ unter Verwendung von Emscripten zum Kompilieren in JavaScript)
Netzwerk WebRTC und/oder WebSockets
Speicherung IndexedDB oder die "Cloud"
Web HTML, CSS, SVG (und vieles mehr!)
Fetch API

Senden und Empfangen von beliebigen Daten, die Sie von einem Webserver wünschen, wie das Herunterladen neuer Spielebenen und Grafiken oder das Übertragen von nicht-echtzeitspiel-spezifischen Informationen hin und her.

Vollbild-API

Vollbild-Spielerlebnis.

Gamepad API

Verwendung von Gamepads oder anderen Spielsteuerungen.

HTML und CSS

Aufbau, Gestaltung und Layout der Benutzeroberfläche Ihres Spiels.

HTML-Audio

Einfaches Abspielen einfacher Soundeffekte und Musik.

IndexedDB

Speichern von Benutzerdaten auf ihrem eigenen Computer oder Gerät.

JavaScript

Schnelle Web-Programmiersprache zur Erstellung des Codes für Ihr Spiel. Zum einfachen Portieren Ihrer vorhandenen Spiele 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)

Erstellung von Vektorgrafiken, die unabhängig von Größe oder Auflösung des Benutzerbildschirms nahtlos skaliert werden.

Typed Arrays

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

Web Audio API

Steuerung der Wiedergabe, Synthese und Manipulation von Audio in Echtzeit.

WebGL

Erstellung von leistungsstarken, hardwarebeschleunigten 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

Verbindung Ihrer App oder Website mit einem Server zur Übertragung von Daten in Echtzeit hin und her. Ideal für Mehrspieler-Spiele, Chat-Dienste und vieles mehr.

Web Workers

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

Native Spiele ins Web portieren

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

Um anzufangen, sehen Sie: