mcpField
G
game-development

game-development

github.com/sickn33开发48.7k3.8k 次安装今天更新
代码仓库

关于 game-development

game-development 是面向游戏项目的编排技能,结合通用开发原则并引导至专门子技能,帮助开发者按平台、维度、设计和技术需求查找指导。

主要功能

  1. 01按目标平台和维度分流
  2. 02游戏循环结构指导
  3. 03常见系统的模式选择
  4. 04输入抽象原则
  5. 05AI 与碰撞策略参考

适用场景

  1. 01为浏览器、移动端或 PC 游戏选择子技能
  2. 02规划 2D 或 3D 项目的架构
  3. 03为实体和游戏系统选择模式
  4. 04查找多人游戏、音频或美术指导

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill game-development

安装后在 Claude Code 中输入/game-development确认已加载。

详细介绍

游戏开发

编排器技能——原则,以及路由到专用子技能。


何时使用此技能

你正在开发游戏项目。此技能介绍原则,并根据上下文引导你使用合适的子技能。


子技能路由

平台选择
如果游戏面向……使用子技能
Web 浏览器(HTML5、WebGL、WebGPU)game-development/web-games
移动平台(iOS、Android)game-development/mobile-games
PC(Steam、桌面端)game-development/pc-games
VR/AR 头显game-development/vr-ar
维度选择
如果游戏是……使用子技能
2D(精灵、瓦片地图)game-development/2d-games
3D(网格、着色器)game-development/3d-games
架构 / 工具
如果你需要……使用子技能
引擎 / 框架选择、外壳与来宾、适配层级game-development/engine-selection
GDD、平衡性、玩家心理game-development/game-design
多人游戏、网络game-development/multiplayer
视觉风格、素材管线、动画game-development/game-art
音效设计、音乐、自适应音频game-development/game-audio

核心原则(所有平台)

1. 游戏循环
INPUT  → Read player actions
UPDATE → Process game logic (fixed timestep)
RENDER → Draw the frame (interpolated)

固定时间步长的起点(并非每款游戏都必需):

  • 物理 / 逻辑:固定频率(例如 50Hz)
  • 渲染:与显示器 / 帧调度器同步,并遵循选定的功耗预算
  • 适当插值;暂停后限制累积延迟 / 子步数,以避免追赶螺旋

**混合型 / UI 密集型游戏:**外层应用可以由 DOM / 事件驱动;仅在 canvas/WebGL 视口(或任何模拟按刻度更新的区域)使用经典游戏循环。

2. 模式选择矩阵
模式适用场景示例
状态机3-5 个离散状态玩家:待机→行走→跳跃
对象池频繁生成 / 销毁子弹、粒子
观察者 / 事件跨系统通信生命值→UI 更新
ECS数千个相似实体RTS 单位、粒子
命令撤销、回放、网络输入录制
行为树复杂的 AI 决策敌方 AI
内容即数据设计师无需编写代码即可发布关卡 / 事件JSON/YAML 包

**决策规则:**从状态机开始。仅在性能需要时添加 ECS。

3. 输入抽象

将输入抽象为操作,而非原始按键:

"jump"  → Space, Gamepad A, Touch tap
"move"  → WASD, Left stick, Virtual joystick
4. 性能预算示例(60 FPS = 16.67ms)
系统预算
输入1ms
物理3ms
AI2ms
游戏逻辑4ms
渲染5ms
缓冲1.67ms

选择优化方案前,应在目标硬件上分析 CPU 和 GPU 路径;这些技术没有通用的优先级顺序。

5. 按复杂度选择 AI
AI 类型复杂度适用场景
FSM简单3-5 个状态、行为可预测
行为树中等模块化、便于设计师使用
GOAP高涌现式、基于规划
效用 AI高基于评分的决策
6. 碰撞策略
类型最适用场景
AABB矩形、快速检测
圆形圆形物体、开销低
空间哈希大量尺寸相近的物体
四叉树大型世界、物体尺寸各异

反模式(通用)

不要这样做应该这样做
每帧更新所有内容使用事件、脏标记
在热点循环中创建对象使用对象池
什么都不缓存缓存引用
不做性能分析就优化先进行性能分析
将输入与逻辑混在一起抽象输入层
跟风选择引擎根据游戏类型 + 团队 + 发布目标匹配引擎

路由示例

“浏览器 2D 平台游戏”

→ game-development/engine-selection → game-development/web-games → game-development/2d-games → game-development/game-design

“包含小型街机挑战的 UI 密集型网页游戏”

→ game-development/engine-selection(外壳与访客端的选择)→ game-development/web-games → 仅访客端使用 game-development/2d-games

“移动端益智游戏”

→ game-development/mobile-games → game-development/game-design

“多人 VR 射击游戏”

→ game-development/vr-ar → game-development/3d-games → game-development/multiplayer

“带有简单属性的分支叙事”

→ game-development/engine-selection(Ink/Twine)→ 选择任意宿主 UI


请记住: 优秀的游戏源于不断迭代,而非追求完美。快速制作原型,再进行打磨。

限制

  • 仅当任务明确符合上述范围时,才使用此技能。
  • 不要将输出视为环境特定验证、测试或专家评审的替代品。
  • 如果缺少必要的输入、权限、安全边界或成功标准,请暂停并要求澄清。

评论

支持 Markdown