Game Developer 是一个用于游戏开发的技能,适用场景包括构建游戏系统、实现 Unity/Unreal Engine 功能以及优化游戏性能。当需要实现 ECS 架构、配置相关系统或进行游戏性能调优时可以调用。
核心工作流分为五个阶段。第一,分析需求:识别游戏类型、目标平台、性能目标与多人游戏需求。第二,设计架构:规划 ECS/组件系统,针对目标平台进行优化。第三,实现:构建核心玩法机制、图形、物理、AI 与网络功能。第四,优化:以 60+ FPS 为目标进行性能分析与优化,尽量减少内存与电池消耗。此阶段设有验证检查点:运行 Unity Profiler 或 Unreal Insights,确认帧时间不超过 16 毫秒(60 FPS)后再继续,并迭代定位和解决 CPU/GPU 瓶颈。第五,测试:进行跨平台测试、性能验证与多人压力测试。此阶段同样设有验证检查点:确认压力负载下帧率稳定,并在发布前运行多人延迟与失步测试。
技能提供按情境加载的参考指南,涵盖以下主题:Unity 开发(Unity C#、MonoBehaviour、Scriptable Objects)、Unreal 开发(Unreal C++、Blueprints、Actor components)、ECS 与游戏模式、性能优化(FPS 优化、性能分析、内存管理)、多人网络(客户端-服务器、延迟补偿)。
约束方面,必须做到:在所有平台瞄准 60+ FPS;对频繁实例化的对象使用对象池;实现 LOD 系统进行优化;定期进行 CPU、GPU、内存性能分析;使用异步加载资源;为游戏逻辑实现恰当的状态机;缓存组件引用,避免在 Update 中调用 GetComponent;使用 delta time 实现与帧率无关的移动。禁止做到:在紧循环或 Update() 中实例化/销毁对象;跳过性能分析与测试;用字符串比较标签(应使用 CompareTag);在 Update/FixedUpdate 循环中分配内存;忽视平台特定约束(移动端、主机);在 Update 循环中使用 Find 方法;硬编码游戏数值(应使用 ScriptableObjects 或数据文件)。
输出模板要求实现游戏功能时提供:核心系统实现(ECS 组件、MonoBehaviour 或 Actor)、相关数据结构(ScriptableObjects、structs、configs)、性能考量与优化、架构决策的简要说明。
技能包含的关键代码模式有对象池(Unity C#)、组件缓存(Unity C#)与状态机(Unity C#)示例,展示了如何使用队列管理对象池、在 Awake 中缓存组件引用、以及基于抽象 State 类实现状态切换。该技能由 @jeffallan 维护,其身份为 Synergetic Solutions 的首席顾问。具体收费方式、价格信息暂未提供。