mcpField
G
game-development

game-development

github.com/davila7开发33.0k687 次安装今天更新
代码仓库

关于 game-development

面向游戏开发项目的编排型技能,提供通用开发原则,并根据平台、维度和专业领域引导至对应子技能。内容涵盖游戏循环、架构模式、输入抽象、性能与 AI 选择。

主要功能

  1. 01按平台和类型路由子技能
  2. 02游戏循环与固定时间步
  3. 03常见架构模式选择
  4. 04输入抽象原则
  5. 05性能预算与优化顺序
  6. 06按复杂度选择游戏 AI

适用场景

  1. 01确定浏览器、移动端或 PC 游戏方向
  2. 02为 2D 或 3D 项目选择开发模式
  3. 03规划多人游戏、音频或美术工作
  4. 04诊断性能瓶颈并选择优化策略

安装

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

$npx skills add https://github.com/davila7/claude-code-templates --skill game-development

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

详细介绍

游戏开发

编排器技能,提供核心原则并路由到专门的子技能。


何时使用此技能

你正在开发一个游戏开发项目。此技能教授游戏开发的原理,并根据上下文引导你找到正确的子技能。


子技能路由

平台选择
如果游戏面向……使用子技能
Web 浏览器(HTML5、WebGL)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
专业领域
如果你需要……使用子技能
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)
  • 渲染:尽可能快
  • 在状态之间插值以获得平滑视觉效果

2. 模式选择矩阵
模式何时使用示例
状态机3-5 个离散状态玩家:Idle→Walk→Jump
对象池频繁生成/销毁子弹、粒子
观察者/事件跨系统通信生命值→UI 更新
ECS数千个相似实体RTS 单位、粒子
命令撤销、重放、网络输入录制
行为树复杂 AI 决策敌人 AI

决策规则: 从状态机开始。仅在性能需要时添加 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

优化优先级:

  1. 算法(O(n²) → O(n log n))
  2. 批处理(减少绘制调用)
  3. 池化(避免 GC 峰值)
  4. LOD(按距离细化)
  5. 剔除(跳过不可见对象)

5. 按复杂度选择 AI
AI 类型复杂度何时使用
FSM简单3-5 个状态,可预测行为
行为树中等模块化,对设计师友好
GOAP高涌现式,基于规划
效用 AI高基于评分的决策

6. 碰撞策略
类型最适合
AABB矩形,快速检查
圆形圆形对象,开销低
空间哈希大量大小相似的对象
四叉树大型世界,大小各异

反模式(通用)

不要要
每帧更新所有内容使用事件、脏标记
在热循环中创建对象对象池
不缓存任何内容缓存引用
未经性能分析就优化先进行性能分析
将输入与逻辑混合抽象输入层

路由示例

示例 1:"我想制作一个基于浏览器的 2D 平台游戏"

→ 从 game-development/web-games 开始进行框架选择 → 然后 game-development/2d-games 了解精灵/瓦片地图模式 → 参考 game-development/game-design 进行关卡设计

示例 2:"面向 iOS 和 Android 的移动端益智游戏"

→ 从 game-development/mobile-games 开始了解触摸输入和商店 → 使用 game-development/game-design 进行益智游戏平衡

示例 3:“多人 VR 射击游戏”

→ 舒适度与沉浸感请参考 game-development/vr-ar → 渲染请参考 game-development/3d-games → 网络请参考 game-development/multiplayer


请记住: 优秀的游戏源于迭代,而非完美。快速制作原型,然后再打磨。

评论

支持 Markdown