游戏中的人群
最后更新于
你是否曾在圣诞节时被困在繁忙的商场里,或者在体育赛事中被大量人群包围?也许你曾在香气扑鼻的香料市场中的摊位购物?现在,想象一下这个环境中所有的人都消失了。这会如何改变氛围?我想会相当显著。无论环境中的人群大小,他们肯定会增加整体氛围。
游戏中人群的一些很好的例子包括《刺客信条》系列:
人群可以包括互动性的NPC和那些只是闲逛的人,他们只关心自己的事情。在某些情况下,例如在《刺客信条》中,人群成员将扮演重要角色,如需要你保护他们,为你提供保护,甚至需要你的资源(例如乞丐向你乞讨)。在其他情况下,人群对你的游戏玩法没有影响,除了挡住你的路!
构建逼真的人群
虽然人群是由大量的人组成的,通常在特定地点有共同的目的,但他们的创建需要一些思考。这并不像简单地丢弃一堆NPC,给他们一些自主性(例如通过人工智能),然后按播放那么简单。构建一个逼真的人群需要我们考虑一些事情。
首先要考虑的是应该出现在那里的不同类型的人。回到我们的香料市场示例,你很可能会发现商店商人、买家、乞丐、儿童等等。在下面的《堆叠》游戏截图中,没有大量的人群或人群聚集。
然而,在《死亡复苏》中,如下截图所示,有相当多的人群(在这种情况下是僵尸),都在试图攻击你:
下一个考虑因素更多的是审美方面的。例如,根据其在空间和时间中的位置,移动类型、衣服、年龄等也会有所不同。除非这是你想要的角度,否则你不太可能有角色穿着像是去参加1930年代鸡尾酒派对的服装,如果你在第三次十字军东征期间攻击圣殿骑士。
然后,我们有听觉方面的考虑。这群人听起来是什么样的?他们是大声的还是小声低语?也许有自行车呼啸而过,孩子们按着铃铛。所有这些方面在创造一个令人信服的人群时都很重要。
最后但同样重要的是,我们有人群的运动。他们如何移动?他们是遵循特定路径,被引导到特定区域,还是可以自由地到处漫游?
动物
现在,并非所有的群体都呈现出人类(或部分/像人类)形态。群体也可以以动物群体的形式存在。正如我们之前讨论的,当开发动物群体时,也需要考虑同样的因素。你还必须注意动物之间的互动方式,因为这与人类的方式大不相同。例如,狼可能会形成不同大小的群体,或称为“群”,而秃鹫群或鹿群则可能不同,如下图所示:
人群移动
在涉及到人群功能的技术层面时,我们必须考虑人群与玩家的互动程度。例如,如果玩家在跑过他们时击中他们,人群成员是否会做出反应?如果会,他们会如何反应?
在《实况足球》、《FIFA》、《火箭联盟》等游戏中,人群除了根据情况欢呼或喝倒彩之外,不会与玩家进行其他互动。当然,他们还会通过听不见的吟唱/谈话/欢呼来增加氛围:
人群动态和创造真实行为
既然我们已经讨论了一些有助于创造真实人群行为的特征,那么让我们从更技术性的角度来谈谈如何实现这些特征。
基于流动性的方法
这类方法关注的是人群而不是其组成部分。这意味着个体(在人群中)的特殊行为是由于他们周围环境的输入而产生的。
基于实体
这类方法意味着这些人群中的角色没有任何自主性。这是因为他们的行为基于一组预定义的规则,这些规则旨在模拟群体中个体所经历的社会/心理影响。通过这种方式,角色的所有动作都由这些规则决定。
基于代理
这可能是最动态和灵活的人群处理方法。在基于代理的方法中,角色是自主的,可以与个体互动。也就是说,这种类型的人群中的每个角色都具有一定程度的智能,这使他们能够根据受周围环境影响的一组规则作出反应。
这正是我们将在AI系统中使用的方法,在本章中,我们将探讨处理人群的内置虚幻系统。