浏览器网页游戏开发
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/web-games。
技能介绍
你在浏览器里做游戏时会卡在哪
Web 游戏没有本地文件系统、标签页会被节流、移动端还要省流量,还要和用户手势政策较劲(比如音频不能自动播)。框架一多——2D 用 Phaser 还是 PixiJS、3D 用 Three.js 还是 Babylon.js——以及 WebGPU 已经覆盖约七成用户时该不该默认上,很容易在选型阶段就拍错板,后面再改渲染路径成本很高。
技能在讲什么
这份指南按「选型 → 图形 API → 性能 → 资源」串起来,给可执行的决策,而不是堆文档链接。
- 框架对比(2025):
Phaser 4偏完整 2D 游戏能力;PixiJS 8更适合渲染与 UI;Three.js做 3D 可视化与轻量场景;Babylon.js 7面向完整引擎与 XR。可按「完整游戏 vs 渲染/UI vs 3D 完整度」走决策树。 - WebGPU 采用:Chrome/Edge v113+、Firefox v131+、Safari 18+ 已支持。新项目建议 WebGPU 并回退 WebGL;要兼容老环境则从 WebGL 起步,用
navigator.gpu做特性检测。 - 性能优先级:资源压缩(KTX2、Draco、WebP)→ 懒加载 → 对象池减 GC → 批处理 draw call → Web Workers 卸重计算;并针对无本地文件访问、隐藏标签页暂停、压缩移动资源、音频需用户交互等约束给出对应策略。
- 资源与加载:纹理 KTX2 + Basis Universal,音频 WebM/Opus,3D 用 glTF + Draco/Meshopt;启动阶段只拉核心资源,其余按需加载。
适用边界
内容聚焦 浏览器平台约束与通用工程原则,不是某个框架的 API 教程,也不会替你写完整游戏架构或关卡编辑器。若项目强依赖原生能力、或目标主要是 Steam/主机发行,需要另做非 Web 技术栈规划。
使用场景
- 团队要在官网做可分享的 2D 小游戏,需要在 Phaser 与 PixiJS 之间按「完整玩法 vs 偏 UI/渲染」做框架拍板
- 新项目打算默认 WebGPU,但要兼容 Safari 18 以下用户,需要 WebGL 回退与 `navigator.gpu` 检测方案
- H5 活动在移动端打开居多,要按 KTX2、WebP、懒加载和启动只拉核心资源来压首屏体积
- 标签页切到后台后帧率被节流,需要设计隐藏时暂停逻辑与对象池,避免 GC 卡顿
适合人员
- 从 Unity 转 Web 的前端,要把 3D 展示放进浏览器并纠结 Three.js 与 Babylon.js 的分工
- 负责公司活动 H5 的全栈,要在无本地文件访问的前提下打包资源并处理音频需用户点击才能播放
- 独立开发者做网页 Roguelike,需要按决策树选 2D 引擎并落实 draw call 批处理与 Web Worker 卸算
- 技术负责人评审 Web 游戏立项,要核对 WebGPU 覆盖率与遗留 WebGL 策略是否写进架构文档