|
|
1
8
除非你的游戏只有不到六个独特的对话框,否则你绝对应该把这些信息放在某种数据文件中。XML是该格式的有力竞争者。我不会说Ruby,所以在这种情况下可能不起作用,但另一种选择是直接在Ruby代码中将对话框定义为数据。(我知道这在Lua、Python和Javascript中都能很好地工作……我假设在Ruby中定义嵌套数据结构也很容易。) 我们使用XML文件来定义《火海海盗》中的所有静态数据,这是一个很好的方法。拥有这样的数据格式可以让非程序员控制数据,并让程序员专注于功能而不是数据输入。将这些数据文件设置为文本意味着您可以将其置于源代码管理之下,这样您就可以知道它们何时更改。 |
|
|
2
5
如果你还没有听说过YAML,那就看看它。它就像XML,但XML并不是真正为手工编写的——它是一个机器-机器界面,恰好是人类可读的(所以你真的应该为它创建一个编辑器)。YAML是一个人机界面,可写性更高。 我不会费心使用DSL,YAML映射非常完美。 |
|
|
3
1
DSL将是梅赛德斯-奔驰的实现,用Ruby编写会很有趣。你说得对,这需要付出很多努力,但如果这样做,可能会得到回报 写得很好,这款游戏真的很受欢迎。 如果采用XML路由,需要考虑的一件事是您将用于呈现它的解析器/引擎, REXML 是 这是城里唯一一场鲁比主义者的表演。如果你喜欢REXML,那么XML听起来是一个不错的选择,但如果你还没有尝试过,我建议你这样做 在做出这个决定之前。我并不是在挑REXML,只是建议你小心一点,因为无论你使用什么,你都会完全依赖这个库。 |
|
|
4
1
因为您是用Ruby编写的,所以我认为用XML编写就足够了。这样,你就可以制作一个web应用程序,让你可以在任何地方处理对话和游戏逻辑。其他人可以与你合作,或者可能创建用户模组——这总是一个加分项。 只要你把XML文件组织得很好(纸上的流程图会有所帮助),你就不会遇到任何问题,甚至可能会感谢自己经历了解析它的痛苦:) |
|
|
5
1
要获得灵感,甚至可能被采用,请查看AIML和BuddyScript。AIML是聊天机器人的XML,BuddyScript是另一种变体,现在归微软所有。 以下是AIML的示例 http://www.alicebot.org/aiml.html
如果你将AIML技术(我认为是免费的)集成到你的游戏中,你的NPC会有你的玩家可以对话的AI。这难道不有趣吗? AIML是模块化的,因此您的所有NPC都可以有一个共同的文件,描述有关其世界的所有标准知识。然后,您可以为每个种族、阶级、地点、个人或任务的典型内容添加特定的文件。有很多有趣的AIML文件示例,例如Eliza。 情境信息可以在对话开始时添加,AIML引擎外的一些软件可能会监听NPC的“魔法”词,表明NPC希望在“真实”游戏世界中发生一些事情。比如“***给球员20只水牛翅膀”。 |
|
|
J_Cus504 · 在单匹配语句中使用身份变换和多谓词来沉默节点 1 年前 |
|
|
surge3333 · 使用PowerShell构建XML 1 年前 |
|
|
Sandeep · XSLT代码,用于根据条件提取元素值 1 年前 |
|
|
Reto · XSLT 3.0突发流-如何存储/获取另一个分支的值 1 年前 |
|
Ian Kemp · 如何从SelectXml调用本机XPath函数? 1 年前 |