SuperAPI AI 工具集

game-development

编程与开发

查看项目

更新于 10-16 06:00

技能介绍

用途

Game Development 是一个编排型(Orchestrator)技能,用于游戏开发项目。它教授游戏开发的通用原则,并根据上下文把工作引导到合适的子技能。当用户正在开发游戏项目时使用该技能。

主要能力

子技能路由

平台选择:

  • 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(读取玩家操作)→ UPDATE(处理游戏逻辑,固定时间步长)→ RENDER(绘制帧,插值)的模式。固定时间步长规则:物理/逻辑使用固定速率(例如 50Hz),渲染尽可能快,并在状态之间插值以获得平滑视觉。

  2. 模式选择矩阵:状态机用于 3-5 个离散状态(如玩家 Idle→Walk→Jump);对象池用于频繁生成/销毁(如子弹、粒子);观察者/事件用于跨系统通信(如生命值→UI 更新);ECS 用于成千上万个相似实体(如 RTS 单位、粒子);命令用于撤销、回放、网络(如输入记录);行为树用于复杂 AI 决策(如敌人 AI)。决策规则:从状态机开始,仅在性能需要时加入 ECS。

  3. 输入抽象:把输入抽象为动作(ACTIONS)而非原始按键,例如 "jump" 对应 Space、手柄 A、触摸点击;"move" 对应 WASD、左摇杆、虚拟摇杆。这样可实现多平台与可重绑定控制。

  4. 性能预算(60 FPS = 16.67ms):输入 1ms、物理 3ms、AI 2ms、游戏逻辑 4ms、渲染 5ms、缓冲 1.67ms。优化优先级:算法(O(n²) → O(n log n))、批处理(减少绘制调用)、池化(避免 GC 峰值)、LOD(按距离调整细节)、剔除(跳过不可见对象)。

  5. 按复杂度选择 AI:FSM 简单,用于 3-5 个状态、可预测行为;行为树中等,模块化、对设计师友好;GOAP 高,涌现式、基于规划;Utility 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 处理网络。

限制

该技能本身是编排层,具体实现细节需依赖各子技能。资料未提供各子技能的具体内容、安装命令、支持的引擎或框架清单、收费与价格信息,这些事实暂未提供。