返回顶部
g

game-engine游戏引擎

Expert skill for building web-based game engines and games using HTML5, Canvas, WebGL, and JavaScript. Use when asked to create games, build game engines, implement game physics, handle collision detection, set up game loops, manage sprites, add game controls, or work with 2D/3D rendering. Covers techniques for platformers, breakout-style games, maze games, tilemaps, audio, multiplayer via WebRTC, and publishing games.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
783
下载量
免费
免费
2
收藏
概述
安装方式
版本历史

game-engine

游戏引擎技能

使用HTML5 Canvas、WebGL和JavaScript构建基于网页的游戏和游戏引擎。本技能包含入门模板、参考文档以及使用Phaser、Three.js、Babylon.js和A-Frame等框架进行2D和3D游戏开发的分步工作流程。

何时使用本技能

  • - 使用网页技术从头构建游戏引擎或游戏
  • 实现游戏循环、物理引擎、碰撞检测或渲染
  • 使用HTML5 Canvas、WebGL或SVG进行游戏图形开发
  • 添加游戏控制(键盘、鼠标、触摸、手柄)
  • 创建2D平台游戏、打砖块类游戏、迷宫游戏或3D体验
  • 使用瓦片地图、精灵或动画
  • 为网页游戏添加音频
  • 使用WebRTC或WebSockets实现多人游戏功能
  • 优化游戏性能
  • 发布和分发网页游戏

前置要求

  • - HTML、CSS和JavaScript基础知识
  • 支持Canvas/WebGL的现代网页浏览器
  • 文本编辑器或IDE
  • 可选:用于构建工具和本地开发服务器的Node.js

核心概念

以下概念构成了每个基于网页的游戏引擎的基础。

游戏循环

每个游戏引擎都围绕游戏循环展开——一个持续的循环过程:

  1. 1. 处理输入 - 读取键盘、鼠标、触摸或手柄输入
  2. 更新状态 - 更新游戏对象位置、物理、AI和逻辑
  3. 渲染 - 将当前游戏状态绘制到屏幕上

使用requestAnimationFrame实现流畅、浏览器优化的渲染。

渲染

  • - Canvas 2D - 最适合2D游戏、基于精灵的渲染和瓦片地图
  • WebGL - 硬件加速的3D和高级2D渲染
  • SVG - 基于矢量的图形,适合UI元素
  • CSS - 适用于基于DOM的游戏元素和过渡效果

物理和碰撞检测

  • - 2D碰撞检测 - 基于AABB、圆形和SAT的碰撞
  • 3D碰撞检测 - 包围盒、包围球和射线投射
  • 速度和加速度 - 用于移动的基本牛顿物理
  • 重力 - 平台游戏的恒定向下加速度

控制

  • - 键盘 - 方向键、WASD和自定义按键绑定
  • 鼠标 - 点击、移动和FPS风格控制的指针锁定
  • 触摸 - 移动触摸事件和虚拟摇杆
  • 手柄 - 用于控制器支持的Gamepad API

音频

  • - Web Audio API - 程序化声音生成和空间音频
  • HTML5 Audio - 用于音乐和音效的简单音频播放

分步工作流程

创建基础2D游戏

  1. 1. 设置包含元素的HTML文件
  2. 获取2D渲染上下文
  3. 使用requestAnimationFrame实现游戏循环
  4. 创建具有位置、速度和大小属性的游戏对象
  5. 处理键盘/鼠标输入以实现玩家控制
  6. 实现游戏对象之间的碰撞检测
  7. 添加计分、生命值和胜负条件
  8. 添加音效和音乐

构建3D游戏

  1. 1. 选择框架(Three.js、Babylon.js、A-Frame或PlayCanvas)
  2. 设置场景、相机和渲染器
  3. 加载或创建3D模型和纹理
  4. 实现光照和着色器
  5. 添加物理和碰撞检测
  6. 实现玩家控制和相机移动
  7. 添加音频和视觉效果

发布游戏

  1. 1. 优化资源(压缩图片、精简代码)
  2. 跨浏览器和设备测试
  3. 选择分发平台(网页、应用商店、游戏门户)
  4. 如有需要,实现盈利功能
  5. 通过游戏社区和社交媒体进行推广

游戏模板

入门模板位于assets/文件夹中。每个模板都提供了一个完整的工作示例,可作为新项目的起点。

模板描述
paddle-game-template.md使用纯JavaScript的2D打砖块风格游戏
2d-maze-game.md
支持设备方向控制的迷宫游戏 |
| 2d-platform-game.md | 使用Phaser框架的平台游戏 |
| gameBase-template-reop.md | 游戏基础模板仓库结构 |
| simple-2d-engine.md | 带碰撞检测的简单2D平台游戏引擎 |

参考文档

详细参考材料位于references/文件夹中。查阅这些文件以深入了解特定主题。

参考文档涵盖主题
basics.md游戏开发简介和结构分析
web-apis.md
Canvas、WebGL、Web Audio、Gamepad及其他网页API |
| techniques.md | 碰撞检测、瓦片地图、异步脚本、音频 |
| 3d-web-games.md | 3D理论、框架、着色器、WebXR |
| game-control-mechanisms.md | 触摸、键盘、鼠标和手柄控制 |
| game-publishing.md | 分发、推广和盈利 |
| algorithms.md | 射线投射、碰撞、物理、矢量数学 |
| terminology.md | 游戏开发术语表 |
| game-engine-core-principals.md | 游戏引擎核心设计原则 |

故障排除

问题解决方案
Canvas为空白检查是否在获取上下文后且在游戏循环内调用了绘制方法
游戏运行速度不一致
在更新计算中使用增量时间而非固定值 | | 碰撞检测不一致 | 对快速移动的对象使用连续碰撞检测或减少时间步长 | | 音频无法播放 | 浏览器需要用户交互后才能播放音频;从点击处理程序触发播放 | | 性能较差 | 使用浏览器开发者工具进行性能分析,减少绘制调用,使用对象池,优化资源大小 | | 触摸控制无响应 | 阻止默认触摸行为,将触摸事件与鼠标事件分开处理 | | WebGL上下文丢失 | 处理webglcontextlost事件,并在webglcontextrestored时恢复状态 |

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 game-engine-1776319453 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 game-engine-1776319453 技能

通过命令行安装

skillhub install game-engine-1776319453

下载

⬇ 下载 game-engine v1.0.0(免费)

文件大小: 118.02 KB | 发布时间: 2026-4-16 16:54

v1.0.0 最新 2026-4-16 16:54
Initial release of the game-engine skill for building web-based games.

- Provides guidance for creating 2D and 3D games using HTML5, Canvas, WebGL, and JavaScript.
- Includes step-by-step workflows, starter templates, and troubleshooting tips.
- Covers topics such as game loops, rendering, physics, collision detection, game controls, audio, and multiplayer features.
- Offers reference documentation on engine architecture, APIs, algorithms, and game publishing.
- Supports frameworks like Phaser, Three.js, Babylon.js, and A-Frame.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部