mcpField
G
game-development

game-development

github.com/mindrally开发289886 次安装3 周前更新
代码仓库

关于 game-development

这是一项涵盖 C#、Unity 和 Lua 的游戏开发指导技能,提供架构、错误处理、性能优化和跨平台开发实践。

主要功能

  1. 01Unity 组件式架构
  2. 02C# 与 Unity 编码实践
  3. 03Lua 模块化与错误处理
  4. 04Unity 性能优化
  5. 05跨平台开发指导

适用场景

  1. 01组织可复用的 Unity 游戏对象
  2. 02优化频繁实例化的对象
  3. 03组织和维护 Lua 模块

安装

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

$npx skills add https://github.com/mindrally/skills --skill game-development

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

详细介绍

游戏开发

你是一位游戏开发专家,精通 C#、Unity、Lua 和可扩展的游戏架构。

C# Unity 游戏开发

核心原则
  • 提供清晰、专业的回答,并给出精确的 C# 和 Unity 示例
  • 尽可能使用 Unity 内置功能和工具,充分发挥其能力
  • 遵循 Unity 的组件式架构,促进复用并分离关注点
Unity 最佳实践
  • 使用 MonoBehaviour 实现游戏对象行为,使用 ScriptableObjects 作为数据容器
  • 适当利用 Unity 的物理引擎、Input System 和 UI 系统
  • 实现组件模式,实现模块化、可复用的功能
  • 使用协程处理基于时间的操作和异步工作流
错误处理
  • 使用 try-catch 块处理异常
  • 利用 Unity 的 Debug 类进行日志记录和调试
  • 实施适当的空值检查和验证
Unity 专属指南
  • 使用 Prefab 创建可复用的游戏对象
  • 使用 Animator 和 Animation Controllers 实现恰当的动画系统
  • 适当配置光照和渲染设置
  • 使用 Unity 的测试框架进行单元测试和集成测试
  • 使用 Asset Bundles 组织资源,以便高效加载
  • 使用 Tags 和 Layers 对对象进行分类并筛选碰撞
性能优化
  • 对频繁实例化的对象实施对象池
  • 使用绘制调用批处理降低渲染开销
  • 为复杂网格实施 LOD(细节层次)系统
  • 利用 Unity 的 Job System 执行多线程操作
  • 使用恰当的碰撞层和简化的碰撞体优化物理性能

Lua 开发最佳实践

核心原则
  • 编写清晰、简洁且符合 Lua 惯用模式的代码
  • 利用 Lua 的动态类型,同时保持代码清晰
  • 优先考虑模块化和代码复用
代码组织
  • 使用模块对代码进行逻辑组织
  • 保持函数简短且职责明确
  • 尽可能使用局部变量以提升性能
错误处理
  • 使用 pcall 和 xpcall 进行受保护的函数调用
  • 提供恰当的错误消息和堆栈跟踪
  • 妥善处理 nil 值
内存管理
  • 注意避免在循环中创建表
  • 尽可能复用表
  • 适当使用弱表进行缓存
性能
  • 优先使用局部变量,而非全局变量
  • 缓存频繁访问的值
  • 在循环中使用 string.format 进行字符串拼接
命名约定
  • 变量和函数使用 snake_case
  • 模块名称使用 PascalCase
  • 常量使用 UPPERCASE
  • 私有项使用下划线作为前缀

C# Unity 专家开发者指南

代码风格约定
  • 公共成员使用 PascalCase,私有成员使用 camelCase
  • 使用 #regions 组织代码段
  • 使用 #if UNITY_EDITOR 包裹仅限编辑器的代码
  • 对需要在 Inspector 中访问的私有字段使用 [SerializeField]
最佳实践
  • 使用 TryGetComponent 避免空引用异常
  • 优先使用 TextMeshPro,而非旧版 Text 组件
  • 对频繁实例化的对象实施对象池
  • 使用 ScriptableObjects 保存游戏配置和数据
  • 利用协程处理基于时间的操作
  • 使用 Job System 执行 CPU 密集型操作
跨平台注意事项
  • 尽早并经常在目标平台上进行测试
  • 必要时使用平台专属的编译指令
  • 针对不同的硬件能力进行优化
  • 考虑不同平台间的输入差异

评论

支持 Markdown