⚡

游戏开发Skill game-development

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

游戏开发 1 次安装 74 次浏览 更新于 3/21/2026
名称 game-development
描述 游戏开发编排器。根据项目需求路由到平台特定技能。 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 用于网络


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