游戏开发工具
在此页面上,您可以找到指向我们游戏开发工具文章的链接,这些文章最终旨在涵盖框架、编译器和调试工具。
- 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 技术
| Function | 技术 |
|---|---|
| 音频 | Web Audio API |
| 图形 | WebGL (OpenGL ES 2.0) |
| 输入 | 触摸事件、游戏手柄 API、设备传感器、WebRTC、全屏 API、指针锁定 API |
| 语言 | JavaScript(或使用Emscripten编译成 JavaScript 的 C/C++) |
| 网络 | WebRTC 和/或 WebSockets |
| Storage | IndexedDB 或“云” |
| Web | HTML、CSS、SVG(以及更多!) |
- Fetch API
-
从 Web 服务器发送和接收您想要的任何类型的数据,例如下载新的游戏关卡和艺术资源,或传输非实时游戏状态信息。
- 全屏 API
-
全屏游戏。
- Gamepad API
-
使用游戏手柄或其他游戏控制器。
- HTML 和 CSS
-
构建、样式化和布局您游戏的 UI。
- HTML 音频
-
轻松播放简单的音效和音乐。
- IndexedDB
-
将用户数据存储在其自己的计算机或设备上。
- JavaScript
-
用于编写游戏代码的快速 Web 编程语言。为了轻松移植您现有的游戏,请使用Emscripten或Asm.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 上运行。
要开始,请参阅
- 关于 Emscripten 以获取包含高级详细信息的介绍。
- 下载和安装,用于安装工具链。
- Emscripten 教程,用于指导您入门的教程。