关于ERM的文法替代器
ERM使WoG游戏更加有意思,但是ERM晦涩难懂而且不易使用!如果现在有一个ERM的转换器,大家希望有什么功能呢?对于这种宏语言,大家有什么要求呢?
希望大家踊跃讨论,发表自己的意见! 。。。这个。。我建议你还是学ERM的语法吧。。做转换器要死人的;P: 原帖由 b2b2244424 于 2007-1-17 10:40 发表
ERM使WoG游戏更加有意思,但是ERM晦涩难懂而且不易使用!
如果现在有一个ERM的转换器,大家希望有什么功能呢?对于这种宏语言,大家有什么要求呢?
希望大家踊跃讨论,发表自己的意见!
C 语言易学易懂,用 C 的语法就好了,做一个把 C 编译成ERM的就可以。
类似的东西似乎有,LPC就是一个解释器(www.mudos.org),解析LPC的程序就是用 lex+yacc 搞的 parser,文法分析部分应该都实现了,以那为原型改改就成,剩下的语义解析和代码生成可以自己搞。难度应该不算太大,但是工作量相当相当大。
但是问题在于:这个东西即使有用,也不是最有用的。如果有精力,倒不如加入WoG组对ERM本身进行改进,这要比在ERM之上再做个转换器有意义得多。
ERM 的最大问题不在于它晦涩难懂,而在于游戏本身不是由 ERM 驱动,ERM 更象一个仅仅用来修改游戏的外挂,因此无法使用ERM进行比较深层次的编程工作。
为什么说游戏本身不是由 ERM 驱动?这会带来什么问题?我简单解释一下:
1。电脑对手什么时候该造兵,什么时候该攻击,攻击中如何根据敌方情况选择什么魔法,这些都不是使用 ERM 实现的,因此你无法更改电脑对手的战略战术。——更重要的是,当你为游戏增加了新的特性时,你无法对电脑对手修改,以使其在制定战术时考虑对这些新特性的使用(比方说电脑就从来不会通过发展主力兵种并增加产量和特技的办法来建设。也不知道训练宠物与追随者的意义,也不知道为了生物经验先打野兵攒经验再出击。)——一个好的人工智能算法应该能够使电脑在完全公平的战斗中达到跟人类顶尖高手对决的能力(下国际象棋的程序便是如此),而不是象现在的电脑一般除非故意不公平的提高其能力否则就只能任人宰割。
2。许多游戏的特性无法在ERM中找到直接对应,例如,城镇的每个建筑的建造依赖关系如何?建筑描述如何?酒馆招募英雄的算法究竟如何?甚至说,某个生物代码对应的生物叫什么名字?传统龙城的代码?除了招魂术技能以外,亡灵城的建筑与许多英雄宝物能够“提升Necromancy能力”,但是这个“Necromancy能力”究竟是多少,在ERM中能体现么?许多内容我们可以设置或者修改,但是很难读取。你可以修改任何生物的名称,但是你很难知道生物本来的名称。你可以替换掉龙城,但你永远无法知道本身龙城的代码。你可以完全替换掉招魂术技能,但是为了替换它你得自己用ERM把这个技能完全实现一遍然后修改你想修改的东西,而不是根据其本来的特性进行创造与调整。
。。。 楼上的,我觉得想办法黑了3DO拿到源代码自己修改的方法比这个要简单点,但是偶干不了 好像很有趣~! 偶也想很简单就能掌握!!真的可以吗? 我觉得做一个这样的文法翻译器是很有意义的事情!
虽然一个人做确实很麻烦,但是我通过需求分析后想出解决方案!
然后将一些重复繁杂的任务分给论坛里的同志们来做!这样就很容易了!
而且做出来了能够方便专业的地图编辑者来使用,使得脚本的编写更容易!
页:
[1]