大家好,我是r/Unity3D的一个开发者,我最近正在开发一个小型的文本式游戏规则层YUSPEC(Unity)-专为Unity设计的C#,我刚刚发布了公共预览包。

我这里分享一个理念,即让Unity /C#负责引擎集成、输入、移动、音频、UI和场景对象,而游戏规则是保存在.yuspec文件中的:

当Player与Chest互动时,且Chest.state == Closed:

set Chest.state = Open

给予PlayerChest.reward

播放音效 "chest_open"

      behavior GoblinAI for Goblin {

         state Chase {

            每隔0.01s:

               move_towards Player speed Goblin.chaseSpeed

            on InAttackRange -> Attack

         }

      }

目前公共预览包包含以下内容:

  • GitHub安装Unity Package Manager
  • 表示类型的属性
  • 事件规则与条件
  • 行为/状态机块
  • 场景检查
  • 点击Unity控制台诊断
  • .yuspec文件的热重载
  • 简易的TopDownDungeon示例
  • Vs code扩展,对.yuspec语法的语法高亮和补全

仓库地址和安装指南:

https://github.com/Fovane/yuspec

发布:

https://github.com/Fovane/yuspec/releases/tag/v1.1.1

UPM依赖:

"com.yuspec.unity": "https://github.com/Fovane/yuspec.git?path=/unity/Packages/com.yuspec.unity#v1.1.1"

这是公共预览,不是生产准备框架。我寻找来自Unity开发者的反馈:

  • 规则语法是否可读
  • 这是否适合在实际Unity工程中使用
  • 是否有任何诊断/调试功能可以使此框架更实用
  • 设定此包的方法是否可以在Unity不同版本上工作

本打包测试在Unity 6000.3.8f1上,您的反馈、批评和样本请求将是很好的!