敏感、迟钝则是另一类条件要素,可以扩大或缩小第一类条件要素的范围;另外还有可以导致伤心、高兴和疼痛的条件要素……当几种条件要素并进行一层一层的限定计算,就可以得出一个或几个确定的结果。
具体到玩家与npc之间的互动过程,就是玩家首先在npc附近做出某种行为(例如站在npc周围突然大叫),ai根据此行为的各种关键参数(与附近npc的距离、朝向、音量、语言是否有意义),搜索数据库对此行为的意义进行判断(假设结果判断为玩家惊吓npc);接着再根据npc的设定性格(胆小、敏感),对npc的行动进行判断(尖叫、哭泣、逃跑、好感度下降、拒绝与玩家交流、求救、报警)。
在最简单的ai程序中,只要建立起性格影响、环境影响这两类数据库,并在计算结果中取交集,就可以让ai的反应接近人类的真实反应,建立的数据库类别越多越全,ai的反应也就越准确真实。
其实真正的人类也是这样来计算自己对某个外在刺激的反应的,而这个ai程序的最大难点其实是数据库的准确性和完善程度,第二大难点是搜索时间、计算速度,以及计算资源的占用量——
如果数据库不行,那“正确的反应”自然无从说起,有希已经通过对现有心理学资料的总结和归纳构建出了一个庞大而完善的数据库,就算准确性有问题那也是心理学家的错,与有希无关。
而玩家与电脑之间的交流,如果不能让电脑得出结论的时间与人脑相差仿佛那就没有意义了,即使是天然呆控也肯定无法忍受所有npc都是反应慢半拍的天然呆。
可是虚拟世界里的所有物理变化和npc行动计算都要通过电脑来完成,如果是可以依靠电脑联网分担计算量的网络游戏还好说,但是在仅仅依靠一台普通电脑来进行计算的单机游戏里,对同一场景里的成百上千,甚至成千上万、成万上亿的npc行动进行计算的压力如果过大,电脑自然就无法及时完成其它计算任务,出现天然呆甚至“卡机”