游戏开发工具
在本页面中,你可以找到我们关于游戏开发工具的文章链接,这些文章旨在最终涵盖各类框架、编译器和调试工具。
- 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 音频 API |
图形 | WebGL(OpenGL ES 2.0) |
输入 | 触摸事件、Gamepad API、设备传感器、WebRTC、全屏 API、指针锁定 API |
语言 | JavaScript(或使用 Emscripten 将 C/C++ 编译为 JavaScript) |
网络 | WebRTC 和/或 WebSocket |
存储 | IndexedDB 或“云存储” |
Web | HTML、CSS、SVG(以及更多!) |
- Fetch API
-
可以从 Web 服务器收发任意类型的数据,例如下载新的游戏关卡和美术资源,或来回传输非实时的游戏状态信息。
- 全屏 API
-
实现全屏游戏体验。
- Gamepad API
-
使用游戏手柄或其他游戏控制器。
- HTML 和 CSS
-
构建、设计并布局你游戏的用户界面。
- HTML audio
-
轻松播放简单的音效和音乐。
- IndexedDB
-
在用户的计算机或设备上存储数据。
- JavaScript
-
用于编写游戏代码的高性能 Web 编程语言。 要轻松移植现有游戏,可使用 Emscripten 或 Asm.js。
- 指针锁定 API
-
将鼠标或其他指针设备锁定在游戏界面内。
- SVG(可缩放矢量图形)
-
构建能够平滑缩放的矢量图形,不受用户显示器尺寸或分辨率的影响。
- 类型化数组
-
在 JavaScript 内部访问原始二进制数据;可用于操作 GL 纹理、游戏数据或其他任何数据。
- Web 音频 API
-
实时控制音频的回放、合成与处理。
- WebGL
-
创建高性能、硬件加速的 3D(和 2D)图形。基于 OpenGL ES 2.0。
- WebRTC
-
通过实时通信来控制音视频数据,包括电话会议以及在两个用户之间来回传输聊天等应用数据。
- WebSocket
-
将你的应用或网站连接到服务器,以实时地来回传输数据。非常适合多人在线游戏、聊天服务等。
- Web Worker
-
为多核处理器生成运行自己 JavaScript 代码的后台线程。
将原生游戏移植到 Web
如果你是一名原生开发者(例如使用 C++ 编写游戏),并有兴趣了解如何将游戏移植到 Web 平台,你应该进一步了解我们的 Emscripten 工具——这是一款能将 LLVM 编译为 JavaScript 的编译器,它接收 LLVM 字节码(例如,使用 Clang 从 C/C++ 生成,或从其他语言生成)并将其编译为 asm.js,从而可以在 Web 上运行。
可以从以下资源开始:
- 关于 Emscripten:可查看包含概要信息的介绍。
- 下载和安装:安装工具链。
- Emscripten 教程:一份指导你如何上手的教程。