游戏开发Skill game-development

这个技能是游戏开发的编排器,提供核心原则如游戏循环、模式选择、输入抽象、性能预算、AI选择和碰撞策略。它根据游戏目标平台(Web、移动、PC、VR/AR)、维度(2D/3D)和专门领域(游戏设计、多人游戏、游戏艺术、游戏音频)路由到相应的子技能。适用于游戏开发者,帮助快速原型开发和迭代,提升效率,适合SEO搜索关键词如游戏开发、核心原则、子技能路由、性能优化。

游戏开发 0 次安装 0 次浏览 更新于 3/21/2026

name: game-development description: 游戏开发编排器。根据项目需求路由到平台特定技能。 allowed-tools: Read, Write, Edit, Glob, Grep, Bash

游戏开发

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


何时使用此技能

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


子技能路由

平台选择

如果游戏目标是… 使用子技能
网页浏览器 (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  → 读取玩家动作
UPDATE → 处理游戏逻辑 (固定时间步)
RENDER → 绘制帧 (插值)

固定时间步规则:

  • 物理/逻辑: 固定速率 (例如,50Hz)
  • 渲染: 尽可能快
  • 在状态之间插值以实现平滑视觉效果

2. 模式选择矩阵

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

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


3. 输入抽象

将输入抽象为动作,而不是原始键:

"jump"  → 空格, 游戏手柄 A, 触摸点击
"move"  → WASD, 左摇杆, 虚拟操纵杆

为什么: 实现多平台、可重新绑定的控制。


4. 性能预算 (60 FPS = 16.67ms)

系统 预算
输入 1ms
物理 3ms
AI 2ms
游戏逻辑 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 用于网络


记住: 伟大的游戏来自迭代,而不是完美。快速原型,然后抛光。