Werkzeuge für die Spieleentwicklung
Auf dieser Seite finden Sie Links zu unseren Artikeln über Spieleentwicklungswerkzeuge, die letztendlich Frameworks, Compiler und Debugging-Tools abdecken sollen.
- asm.js
-
asm.js ist ein sehr eingeschränkter Teil der JavaScript-Sprache, der erheblich optimiert und in einer Ahead-of-Time (AOT) Compiling-Engine ausgeführt werden kann, um eine viel schnellere Leistung als die typische JavaScript-Leistung zu erreichen. Dies 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 hochleistungsfähiges JavaScript kompilieren. Dies ist ein ausgezeichnetes Werkzeug zum Portieren von Anwendungen ins Web! Es gibt ein nützliches Emscripten-Tutorial auf der 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 laufen lassen können.
- Werkzeugkette für die Entwicklung und das Debuggen von Spielen
-
Wie unterscheidet sich dies vom normalen Debugging von Web-Apps? Welche speziellen Werkzeuge sind verfügbar? Vieles davon wird von Will in tools behandelt, aber hier sollten wir eine Art praktisches Werkzeugketten-Tutorial zum Debuggen von Spielen bereitstellen, mit Links zu Wills Materialien:
- Grundlegender Überblick über die Werkzeuge
- Shader-Editor
- Leistungswerkzeuge (noch in Produktion, voraussichtlich Anfang 2014)
Web-Technologien
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, um in JavaScript zu kompilieren) |
Netzwerk | WebRTC und/oder WebSockets |
Speicherung | IndexedDB oder die "Cloud" |
Web | HTML, CSS, SVG (und vieles mehr!) |
- Fetch API
-
Senden und Empfangen jeder Art von Daten, die Sie von einem Webserver benötigen, wie das Herunterladen neuer Spielebenen und Grafikdateien bis hin zur Übertragung von nicht echtzeitkritischen Spielstatusinformationen hin und her.
- Full Screen API
-
Vollbild-Spielverlauf.
- Gamepad API
-
Verwenden Sie Gamepads oder andere Game-Controller.
- HTML und CSS
-
Erstellen, gestalten und layouten Sie die Benutzeroberfläche Ihres Spiels.
- HTML-Audio
-
Einfaches Abspielen von Soundeffekten und Musik.
- IndexedDB
-
Speichern Sie Benutzerdaten auf ihrem eigenen Computer oder Gerät.
- JavaScript
-
Schnelle Web-Programmiersprache, um den Code für Ihr Spiel zu schreiben. Um Ihre bestehenden Spiele einfach zu portieren, verwenden Sie Emscripten oder Asm.js
- Pointer Lock API
-
Sperren Sie die Maus oder ein anderes Zeigegerät innerhalb der Benutzeroberfläche Ihres Spiels.
- SVG (Scalable Vector Graphics)
-
Erstellen Sie Vektorgrafiken, die unabhängig von der Größe oder Auflösung des Benutzerdisplays sanft skaliert werden.
- Typed Arrays
-
Greifen Sie auf rohe Binärdaten innerhalb von JavaScript zu; Manipulieren Sie GL-Texturen, Spieldaten oder alles andere.
- Web Audio API
-
Kontrollieren Sie die Wiedergabe, Synthese und Manipulation von Audio in Echtzeit.
- WebGL
-
Erstellen Sie hochleistungsfähige, hardwarebeschleunigte 3D- (und 2D-) Grafiken. OpenGL ES 2.0.
- WebRTC
-
Echtzeitkommunikation zur Steuerung von Audio- und Videodaten, einschließlich Videokonferenzen und dem Senden anderer Anwendungsdaten zwischen zwei Benutzern wie Chat.
- Websockets
-
Verbinden Sie Ihre App oder Website mit einem Server, um Daten in Echtzeit hin und her zu übertragen. Perfekt für Mehrspieler-Gaming, Chat-Dienste und dergleichen.
- Web Workers
-
Erzeugen Sie 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-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, das im Web ausgeführt werden kann.
Um loszulegen, sehen Sie sich an:
- Über Emscripten für eine Einführung mit umfassenden Details.
- Download und Installation für die Installation des Werkzeugketten.
- Emscripten-Tutorial für ein Tutorial, das Ihnen zeigt, wie Sie anfangen können.