马达

人工制作vs系统自动化神秘海域4中的

发布时间:2022/10/11 15:00:47   

作者:Rouder,本文首发知乎

Part.1

1.1CombatDesigninUncharted1-3

神海4团队首先介绍了神秘海域第一部到第三部的战斗设计。神海前三部作品的战斗流程设计高度依赖硬编码。

他们提出了分区式NPC的概念,NPC只可以在指定的区域进行移动、战斗。策划需要在场景里设置好区域,保证NPC整体上可以覆盖到玩家所有可能的前进路线。

这么做的优点是,NPC可以均匀地分布在场景中,防止他们聚集到一起,还能产生一种NPC在智能利用空间地假象。缺点是,策划需要想到玩家所有可能前进的路线,为所有路线设置好分区。由于前三部的战斗场景比较小,战斗流程较为线性,所以分区式NPC机制运行良好.但是第四部的战斗场景得益于PS4的性能而扩大了很多,此机制没有办法良好运作。

在给NPC手动分配区域需要一些技巧。首先要让场景中地部分NPC的分区跟随玩家进行移动。这种区域作为前方战线,使得玩家无论移动到哪里都可以感受到NPC的存在,保持战斗过程的持续紧张感,不会走到一个地方就突然没有了敌人。然后让场景中部分NPC的分区固定在场景的出口附近,并且将这些区域设置得大一点。这种区域作为后方战线,而且在战斗结束后,玩家正好面对出口,起到了引导玩家前进的作用。最后让场景中部分NPC的分区固定在视野最好的地方,并且将这些区域设置得小一点。这种区域作为聚集点存在。

狙击点

上面提到的区域不但可以静态设置,还可以在运行时根据战斗情况进行调整。接下来用两个例子进行说明。首先来看一下第一个例子,注意观察左方阳台的NPC。

动态分配区域:玩家走左边的情况

系统自动为一个NPC分配了一个区域在阳台上

动态分配区域:玩家走右边的情况

系统自动为一个NPC分配了一个区域在阳台下方。然后玩家等NPC走到油桶附近再把油桶打爆,瞬间可能觉得自己很帅,但是其实都是策划设计好的。

再来看一下第二个例子

动态分配区域的例子二

前方的NPC倒下后,后面的NPC分区会依次设置到前方。有利于保持战斗节奏,持续给予玩家压力。

1.2Uncharted4DesignGoals

由于游戏的运行平台从PS3升级到了PS4,性能得到了提升。团队希望实现在大场景下的战斗,以下是马达加斯加的战斗场景。

虽然还是线性战斗流程,但是增加了广度。神海前3部所使用的单纯的分区式NPC机制不再适用,神海团队对该机制进行了调整。

有了这么大的场景,就希望提升主角攀爬能力在战斗中的实用性,所以可探索的垂直空间也增加了。NPC也需要由一套良好的系统来处理攀爬。

前三部在潜行的过程中被法线就没有办法回到潜行状态。这次需要实现一套完整的潜行循环流程,在非战斗、战斗、潜行状态之间进行切换。

一场战斗中同时出现的NPC数量从8个增加到了16个,需要更好地调度敌人。

降低策划地工作量

1.3FundamentalAITechnology

已有的以及为实现神海4设计目标而提出的基础AI技术

1.3.1框架概念

Skill拥有一个状态机,例如战斗Skill地状态机有开放战斗状态和掩体战斗状态。Skills是一个由Skill组成地优先级列表,运行时会实时判定各个Skill是否开启,然后再所有被开启的Skill中选择优先级最高的Skill作为当前Skil。Behaviour代表具体的行动,例如移动到一个点、进行设计。Lo

转载请注明:http://www.aideyishus.com/lktp/1937.html

------分隔线----------------------------