我这里就简单说两句。
什么是即时演算,可变参数经模型生成脚本就是。注意,这个脚本不是事先写好的。avg中的简单的if else触发剧情或是生成树还是太简单。现在即时演算普遍用于物理和数学模型,实现图像、声音生成,或是战斗计算,但这个思路难以套用到剧情上来,剧情可没有一个现实中的模型,想要模拟很难。
怎么办呢?看到上面有答案提到《矮人要塞》事件,联想到了这么一种情况。事件里猫喝到酒会死,酒可以泼到猫的的身上,猫会不时舔自己的身体,猫不会主动喝酒,这些包含了物体和动作的简单属性经过组合后脚本就可以变得很有意思。MUD类游戏有着很强的自由度,源于把动作和物体的属性细分化,再由逻辑链接起来。因为游戏中无法还原真实的动作,所以开发者通常把动作具体化,只是具体细化的程度不同。另外考虑到复杂度和操作性等等的问题,使得这个细化过程很有限。其实现在很多游戏走的就是这条路,参考《模拟人生》系列。
而我想说,上面那种即时演算剧情的是很初级(但不简单)的即时演算,因为它的本质是个事件逻辑引擎。真正的剧情即时演算,依赖于是理想化的剧本生成。剧本和现实是不一样的,要求一种表现的张力。换句话说,谁愿意在奇幻冒险剧中总是看到朴素平淡的日常生活。根据人物、时间、地点等去静态生成一个剧情已经很不容易了,更何况还要根据玩家的行为去动态生成。
你要问我有没有什么思路,大概是有的。静态变量不能太多,也就是不能把游戏中所有的人物关系,性格,环境,物品特性等等一系列乱七八糟的都事先策划好,而是符合逻辑自洽地随机生成出来,并且不是一次性生成,是根据需要实时生成。也就要像作家那样制造矛盾。这对NPC的AI智能化程度也提出了很高要求。控制任务行为的AI时小AI,生成剧本的AI可是需要掌控全局的。
很可惜,上面只是我瞎想想,实际在这方面进展缓慢。小小的剧情生成要涉及大数据统计,复杂系统,机器学习等方面,可能还有一些我所不知和尚未出现的领域,技术难度很大。在《我的世界》《武装突袭》等沙盒游戏中,玩家可以自导自演,而AI想要学会人类的导演天赋,恐怕还得继续努力。