游戏设计笔记3:人工智能(古典)

最近看了几个关于游戏制作的视频,都提到了如何给游戏npc增加智能,让它们在世界里活动、生存、社交,从而打造一个可交互的真实世界。

之所以说是古典,是因为这套系统已经存在了几十年,无数游戏的ai都是用类似的方法实现的。本质就是设置一套数值属性,让npc根据性格来行动,形成特色鲜明的行为风格,与玩家产生智能交互。

其实可以想见,现在有了新一代的基于神经网络的ai,等于拥有了无数种属性的庞大数值系统,能够理解更复杂的情况,同时做出更细致的反馈,可惜暂时还不能落地,得要等硬件性能再提升一个级别,模型再精简一个级别,只有大部分设备能流畅本地运行,才能解决云服务无法支撑的使用成本。

回到正题

首先是《雨世界》(另外不得不提这个瑞典老哥一个人做出全部这些东西真是太强大了,还是得要单独写一篇)

其中部落生物有几个属性维度来量化性格:

同情心、精力、勇敢程度。并延伸出三个特性:敏感性、攻击性、霸主性

这些生物和玩家之间的关系用一个数据来记录:社交属性,包含喜欢、恐惧、临时喜欢、临时恐惧、认识。虽然没有提具体的实现,但是可以想象这是一个一维好感度数据。如果是我,会让临时喜欢与恐惧随时间淡化,变回认识这种中立状态。但是如果积累突破临界值,变成喜欢或者恐惧,就是永久的烙印(或者增加一个系数改变的阻力buff)

不同物种之间也有敌友关系,或者恐惧链,让整个生态系统运转起来。

然后是GMTK讲述的模拟人生系列。

作为积累了十数年的EA招牌大作,其系统更为复杂丰富。

每一个虚拟人都有八个基本需求属性:饥饿、精力、舒适、玩乐、补水、社交、如厕、房间。基本就是覆盖了吃喝拉撒睡和玩乐的欲望。

很明显这些属性不是平等的,比如同时饥饿和玩乐见底了,肯定得要优先填饱肚子而不是去玩电脑。为了做到这一点,这些属性设置了不同的非线性曲线来放大需求强度。

比如饥饿在见底时需求剧烈增加,而满足的时候则基本处在很低的优先级。

而高级需求则有一个两端略高,中间低的曲线,从而在饥饿见底的时候不那么优先但也不是完全不需要,在基本满足的时候则会更进一步去追求这些高级需求。

同时虚拟人不会永远只选排序最高的一个需求,而是在前三当中随机一个。这样既增加多样性,又保持逻辑的合理。

更进一步,新版本还增加了大量特性,让每个虚拟人的需求倾向不同,造就了多彩甚至每个都唯一的性格表现。这些特性也比基本需求更具体,比如沙发废人、书虫……

同时在宏观上也有曲线来控制全局平衡,比如性别比控制男女性生成概率来兼顾随机和可控。

最后在评论区,实际参与开发的老哥发言:

规则不是硬编码的,而是给每个人上了一堆buff,这些buff提供强化或者限制,避免做出不合适的行为。


已发布

分类

作者: