Turn Your Writers Into Programmers: Greyboxing Narrative with Story Languages:
https://www.youtube.com/watch?v=JGZQSFvcQzo&t=1142s
关于演说者
John Manning
John Mannin是一位获奖的游戏开发者,技术作家以及公众演说者。他的工作领域囊括移动游戏开发,叙事开发以及工具开发。John Manning在澳大利亚塔斯马尼亚大学获得了计算机学士学位与人机交互哲学博士学位。他现在是独立游戏工作室Secret Lab的联合创始人以及Yarn Spinner的技术总监。
Ryan North
Ryan North是New York Times畅销书作家与爱斯纳奖获得者。同时他也为视频游戏,电视与Dinosaur Comics写故事。Ryan North在卡尔顿大学获得了计算机学士学位,并在多伦多大学获得了理学硕士学位。
引言
现在的游戏开发团队中常用三种对话编辑器。第一种是节点式的对话编辑器,这种编辑器可以更好地从视觉上表现剧情的故事分支,但是对于作者来讲这种编辑器执行一次编辑需要多次点击。第二种是电子表格,但是当需要处理对话分支时,电子表格的效率是十分低的。当然你也有可能更多在word,google docs中写故事,但是当你需要制作故事分支的时候,这种扁平结构的设计可能会导致文档很混乱。并且你还需要在这之后复制粘贴到游戏中,并不能说是一个理想的工作流程。
因此,有没有一种更好的工具可以既能高效地处理剧情分支,又可以让作家们有更好的写作体验呢?
上图图一为节点对话编辑器,图二为电子表格,图三为使用Word文档创作的对话脚本。
什么是Yarn Spinner?
因此们,John Manning希望可以将程序中的流程控制和对话与剧情编写结合在一起。他们的解决方案就是Yarn Spinner。这是一个专门用于处理游戏中的对话系统的领域特定语言(DSL)。
与此同时,Yarn Spinner也是一款完整的编程语言。因此这也是本次演说的主题:将作家变为程序员。当然,Yarn Spinner也并不是第一个将故事编程的语言,这种思想最早可以追溯到无限引擎,Baldur‘s Gate和Iceland Dale。
关于Yarn Spinner
1. 这是一个MIT协议的开源项目
2. 灵感来源于Twine
3. 最早用于Night in the Woods的开发中
4. github.com/YarnSpinnerTool/YarnSpinner
Yarn Spinner的好处之一在于很容易让那些没有编程经验的作家们使用。Yarn Spinner的语法基于电影脚本。
什么是故事编程语言:
1. 作家可以像写脚本那样写对话
2. 编辑器可以读脚本并且对其进行语法分析
3. 当在gameplay中,Yarn Spinner可以执行脚本
4. 通过这种语法,可以使创建分支对话更加简单。这也可以使尝试的成本更简单
上图图一是Yarn Spinner,图二是一般故事的剧本
Yarn Spinner的优势与劣势
Yarn Spinner的优势
1. 快速创作
2. 更快的编辑,即使在项目开发的晚期
3. 可以在编辑时Debug
4. 与文本编辑器一样,可以即时调试
5. 简单的文本格式意味着更容易在版本跟踪软件中使用它
6. Yarn Spinner可以让编辑做得更加简单,因为在很多时候场景的逻辑是场景的故事
Yarn Spinner的劣势
1. Yarn Spinner的Sandbox在实际应用时并没有想象的那么大
2. 当处理非线性数据时,应该使用表格而非Yarn Spinner
3. Yarn Spinner不支持函数
叙事灰箱处理
在一些关卡设计中,关卡设计师可以对游戏进行“灰箱处理”,用一些粗糙的几何形状来进行初期的游戏开发,在开发昂贵的3D/2D美术品前。因此在Yarn Spinner中,也提供了供作家使用的“叙述灰箱处理”。
1. 作家可以自己书写逻辑控制并编写自己的系统,无需工程师参与
2. 而工程师也可以搭建自己的系统并用Yarn Spinner创建一些占位符等待作家来书写剧情
演说者对游戏工具开发者的建议
1. 创建一个编辑器比你想的要简单!
2. 在这里开发者使用的是ANTLR,你只需要定义语法,这个工具就可以生成parser的源代码,Yarn Spinner的parser的代码就是这样生成的
3. 不要尝试设计一“整”个编程语言
4. 不要创造一个C#的克隆
5. 解决特定的问题,作为工具开发着需要开发的是一个“脚手架”
暂无关于此日志的评论。