游戏开发工具

在此页面上,您可以找到指向我们游戏开发工具文章的链接,这些文章最终旨在涵盖框架、编译器和调试工具。

asm.js

asm.js 是 JavaScript 语言的一个非常有限的子集,可以对其进行显著优化,并在即时(AOT)编译引擎中运行,从而获得比典型 JavaScript 更快的性能。当然,这对于游戏来说非常棒。

Emscripten

一个 LLVM 到 JavaScript 的编译器;使用 Emscripten,您可以将 C++ 和其他可以编译为 LLVM 字节码的语言编译成高性能 JavaScript。这是将应用程序移植到 Web 的绝佳工具!Wiki 上有一篇有用的 Emscripten 教程

Firefox Profiler

Firefox Profiler 允许您分析代码,帮助您找出性能问题所在,以便您可以让游戏以最高速度运行。

用于开发和调试游戏的工具链

这与普通 Web 应用调试有何不同?有哪些专用工具可用?Will 在工具中将涵盖很多内容,但我们应该在这里提供一种实用的工具链教程,用于调试游戏,并链接到 Will 的内容。

  • 基本工具概述
  • 着色器编辑器
  • 性能工具(仍在制作中,预计 2014 年初)

Web 技术

游戏开发中的 Web 技术及其功能
Function 技术
音频 Web Audio API
图形 WebGL (OpenGL ES 2.0)
输入 触摸事件游戏手柄 API、设备传感器、WebRTC全屏 API指针锁定 API
语言 JavaScript(或使用Emscripten编译成 JavaScript 的 C/C++)
网络 WebRTC 和/或 WebSockets
Storage IndexedDB 或“云”
Web HTMLCSSSVG(以及更多!)
Fetch API

从 Web 服务器发送和接收您想要的任何类型的数据,例如下载新的游戏关卡和艺术资源,或传输非实时游戏状态信息。

全屏 API

全屏游戏。

Gamepad API

使用游戏手柄或其他游戏控制器。

HTMLCSS

构建、样式化和布局您游戏的 UI。

HTML 音频

轻松播放简单的音效和音乐。

IndexedDB

将用户数据存储在其自己的计算机或设备上。

JavaScript

用于编写游戏代码的快速 Web 编程语言。为了轻松移植您现有的游戏,请使用EmscriptenAsm.js

Pointer Lock API

将鼠标或其他指针设备锁定在游戏界面内。

SVG(可伸缩矢量图形)

构建矢量图形,无论用户显示器的尺寸或分辨率如何,都可以平滑缩放。

类型化数组

从 JavaScript 中访问原始二进制数据;操作 GL 纹理、游戏数据或任何其他内容。

Web Audio API

实时控制音频的播放、合成和操作。

WebGL

创建高性能、硬件加速的 3D(和 2D)图形。OpenGL ES 2.0。

WebRTC

实时通信,用于控制音频和视频数据,包括视频会议以及在两个用户之间来回传输其他应用程序数据,例如聊天。

WebSocket

将您的应用或网站连接到服务器,以实时来回传输数据。非常适合多人游戏、聊天服务等。

Web Workers

为多核处理器生成运行自己 JavaScript 代码的后台线程。

将原生游戏移植到 Web

如果您是原生开发者(例如用 C++ 编写游戏),并且您对如何将游戏移植到 Web 感兴趣,那么您应该更多地了解我们的Emscripten工具——这是一个 LLVM 到 JavaScript 的编译器,它接受 LLVM 字节码(例如,由 Clang 从 C/C++ 或其他语言生成),并将其编译成asm.js,可以在 Web 上运行。

要开始,请参阅