当前位置: 首页 > 科技观察

从六步设定谈游戏互动文的编写

时间:2023-03-17 10:31:32 科技观察

写#p#难。last_monster_master(来自gamasutra)如果你善于言辞,那就太棒了。通过这种方式,您可以轻松创建3个不同角色在4种不同情况下所说的不同单词。总的来说,编写非线性文本游戏对话和叙事内容是一种在约束、创造性重用和确定性条件下的有效实践。假设您有一个基于文本的游戏的大纲。你知道游戏的主题、主角、每一章发生的主要事件、玩家的能力等等。所以现在你可以开始写作了——但你很难迈出这一步。你如何写一个任何事情都可能发生的故事?你如何设置玩家选择?你应该从哪里开始?我最近向ChoiceofGames发布了我的第一个未删节的文字游戏《The Last Monster Master》(250,000字!),在这个过程中我想出了一个基本框架,可以帮助人们逐章编写游戏。在将最终文本转为ChoiceScript(选择游戏自己的脚本语言)之前,我使用ChatMapper(免费)编写了每个非线性章节。我将整个过程分解为6??个部分来完成每一章,这有助于我保持专注。此外,ChatMapper还有一个功能,可以让您更改每个文本节点的颜色。这使您可以跟踪每个文本,我还使用此功能更改每个节点的颜色以标记完成。Pass1-存根文本(无颜色)Pass1是关于为章节创建结构。我们可以使用占位符作为存根对话来指示谁将发言、何时发言以及玩家的选择是什么,而不是编写实际的对话或描述。如果根据统计和其他条件有不同的分支,指出违规统计并清楚地描述选择。此时您不必担心编写任何游戏逻辑,那是以后的事。避免在此过程中进行过多编辑——主要目的是将高级章节结构分解为可读格式。完成此任务后,您将能够初步定义后续所有内容的路线图。在《The Last Monster Master》的以下序列中,玩家的一个怪物在攻击时被卡在树上。玩家必须选择使用心灵感应或字体语言检测技能来帮助怪物抵抗攻击或逃脱。stub_text(来自gamasutra)第2遍-修改存根文本(黄色)在下一遍中,您应该只关注刚刚创建的结构。您正在查看内容的设置——不必担心拼写错误或与文本相关的任何内容,因为您编写的所有内容都会在修订过程中被替换。您主要是在寻找没有意义或不适合故事或边缘情况的选择或选择分支,并且有可能在以后导致问题。其次,您要确保您到目前为止设置的结构使用了您计划在本章中使用的任何玩家统计数据或能力选项。如果事实证明你没有做你想做的事,那么你需要做出明智的决定来修改你的原始计划,创建使用这些统计数据的全新序列或选项,或者使用那些在未来被遗漏的章节通过注意统计数据。第三遍-第一遍文本(橙色)基于经过组织和完善的结构,现在是时候编写玩家可以看到的真实文本了。这是一个非常简单的问题,但是和以前一样,您应该保持注意力。不用担心为变量、结构转换或任何纯编写的东西设置值。与大多数纯书面内容一样,这是最有趣和最耗时的部分。first_text_pass(fromgamasutra)fourthpass-modifytext(purple)你写过真正的章节吗?现在事情发展得更快了。您将进入编辑模式。阅读第一篇文章时,您会发现自己在写作时没有任何情绪。关于文本的一切都是关于游戏的——拼写、语法、对字符或位置的错误引用、更严格的词汇选择等等。同样,你应该专注于写作。创建生动的文本内容。第五种方式——变量(蓝色)结构清晰,文字也很紧凑。现在我们将再次浏览这些章节并寻找可能出现变量的任何实例,尤其是修改或引用玩家统计数据以确定结果的地方。您很可能只会找到少数特定玩家物品或一次性遭遇的示例。您将在未来的修改、游戏平衡和测试中完善此处使用的值。现在,您将在您认为需要显示值的位置画一条线。为每个章节需要的特定统计数据创建一个外部参考文件。例如,如果玩家在第4章中的力量属性至少为45才能踢开木门,那么在第6章中要求玩家具有65的力量才能撞倒金属门是合乎逻辑的。这样做inspecificlane会保证统计的内部一致性,之后会进一步调整数值。variable_pass(fromgamasutra)pass6-输出和逻辑(绿色)最后,您需要将完成的章节带到您用来创建游戏的开发工具中。幸运的是,ChatMapper可以输出XML、JSON、Excel和RichText格式,因此它为您提供了更多选择。对于《The Last Monster Master》,我只是检查了每个文本节点并将其复制到我的ChoiceScript文件中,对格式进行了调整并进行了一些转换。如果您自己也在编写幕后的实际逻辑,则需要在将文本带入游戏时开始编写脚本。幸运的是,由于您已经弄清楚了发生的时间和地点,因此每个脚本任务都会很容易地脱离内容。其他方法这不是编写非线性文本游戏的唯一方法,但非常适合该项目。根据您正在进行的开发类型和您使用的工具,您可以选择更早地将存根文本输入到游戏中,以便您可以尽快执行它。此外,由于ChatMapper支持Lua,只要您不介意在开发环境中再次编写脚本,您可以直接在程序中设置所有需要的逻辑。无论您选择哪种流程,您都应该一次专注于一项任务,庆祝每一次成功并注意您需要完善的地方。讨论非线性叙事不是一项微不足道的任务——那么你为什么不从中创造一个真正的游戏呢?