我在构建理想中的sandbox场景,NPC(非玩家角色)需要表现出自己的生存方式且无需玩家干预,仅在玩家做出行为时才有反应。目前,我采用模仿RimWorld的利益最大化目标系统,将目标导向行动规划(GOAP)绑定在一起,NPC评估其自身需求并根据优先顺序选择目标,然后GOAP来确定如何实现它们。

它从机械上来看是有效的。NPC会因饥饿而自动寻找食物并进食。 他们会因冷而锯树并建造房子。然而,它仍然觉得像是看表格中的需求被勾选,如同是生活在生死关头一秒一秒过来的东西,而不是生活的、做出微妙决定的东西。这对我来说挺失望的,因为我花了很多时间让GOAP与整数事实合作,即使正常情况下人们会使用布尔值来做GOAP。

对于那些玩这些类型游戏的人来说,那会让你感叹NPC似乎在思考的那个时刻是什么?是当他们做出次优选择的时候吗?是当他们对刚刚发生附近的事物做出反应的时候吗?还是当他们改变思想,中间某个步骤的时候呢?是有一个秘技还是我需要乱七八糟地试试看?

我一直在思考,开发者应该投入什么资源来实现某些行为,而玩家根本不会注意到,除非我将其指出。