敌人设计
为有着不同行为,力量和弱点的敌人设计原型
最后更新于
敌人设计是为有着不同行为,力量和弱点的敌对NPC设计原型。
敌人设计通常是AI设计师、程序员、角色艺术家、动画师、音效设计师所负责实现的。这远超出这本关卡设计书的范围。然而,关卡设计师必须能够理解敌人设计的理论知识,即使他们不是负责实现这部分的开发者。
假设我们在制作一款动作游戏。以下是我们的敌人名册中的一些基本角色,以及他们在战斗中所扮演的角色。
步兵
近距离肉搏攻击玩家,简单直接,容易引诱
小队
从中远距离攻击,理想情况下作为一个团队轮流攻击
领袖
高生存能力,以某种方式增强附近的盟友
坦克
高生存能力,但速度较慢且体型较大
蜂群
小型快速攻击者,生命值低但近距离伤害高
狙击手
慢速远程攻击者,没有其他人保护时非常脆弱
一个成熟敌人NPC的设计通常需要设计师、艺术家和程序员的合作,这需要大量的工作,并且远超出这本关卡设计书的范围。
在这里,我们将专注于战斗设计师/关卡设计师的责任,即专注于游戏玩法特性和可读性:
独特的轮廓,使玩家在中距离(约10米以上)能够辨别敌人类型。
设计细节和动画应能传达敌人的状态、意图以及强项和弱点。
例如:游戏中经常出现的独眼巨人,只需要稍微观察就知道他的弱点是什么
使用电子表格来组织敌人名册是很有帮助的
步兵
中
低
近
中
小队
中
中
中
低
队长
中
中
中
中
坦克
满
高
近
高
蜂群
快
低
近
低
狙击手
满
低
远
高
这可以帮助平衡敌人或指出不足,但不要让电子表格将你的思维固化。例如,在上面的矩阵中:
只有一个快速敌人?也许领袖也可以是快速的,这样与小队相比会显得更不同?
没有高DPS的中距离敌人。需要一个吗?这样会有趣或有用吗?
这个矩阵设计是否太简单?我们需要一个尺寸列或行为列吗?等等。
如果要分析你在为其制作mod的游戏中的敌人名册:游玩多个关卡,然后创建自己的电子表格。
哪种地形/位置最适合哪种敌人类型?
哪些敌人类型配合得好?为什么?
哪些敌人组合出现在哪些关卡中?
一些关于设计敌人类型和名册的一般行业共识/建议:
多样性:每种类型的战斗感觉应该不同,避免相似的敌人。
层次性:某些类型较弱,某些类型较强。使这种排名清晰。
持久性。类型不应变得过时。一个弱的早期敌人应该在后期仍然有趣,或者中级boss应转变为常规类型,等等。
涌现:不同的敌人类型组合应创造不同的情况。对单独类型有效的战术在组合中应效果较差。
智能:给人一种智能和拥有不同情感状态(害怕、愤怒等)的假象。
“聪明”的敌人应具有高生存能力,否则他们会在展示其聪明之前死亡。
一致性:可预测,具有明确的模式,玩家可以识别和利用。
译者注:
涌现(emergence)或称创发、突现、呈展、演生,是一种现象,为许多小实体相互作用后产生了大实体,而这个大实体展现了组成它的小实体所不具有的特性。
对于大多数3D动作游戏来说,每个敌人设计至少需要回答以下问题:
生命值:这个敌人有多强,通常能活多久?
速度:这个敌人移动速度如何?比玩家慢还是快?
伤害:敌人的攻击有多危险?
射程/行为:敌人是近战攻击还是中远程攻击?
对于初始设计,具体的数字并不是那么重要,因为这些数字可能会发生很大变化。估计“10% / 50% / 100%”或“低 / 中 / 高”已经足够了,在实际开始原型制作和测试时再调整具体数字。
玩家需要花费多少资源才能使这个敌人失效?
在3D动作游戏《天空地堡:斯派罗的冒险》中,Activision-Blizzard的设计师Mike Stout谈到设计团队如何概念化了4种主要原型(“近战、远程、蜂群、重型”)以及它们的行为。他认为,单独的近战敌人通常相当无聊,远程敌人对关卡设计很重要:
“远程敌人非常简单,他们只是会向你射击的人。但他们非常有趣,因为这时环境很重要。当你遇到近战敌人时,由于他们无法从远处攻击你,你所处的环境完全没有意义:无论你把他们放在悬崖上,或是在掩体后面,这和在平面上作战没有任何区别。因此,在关卡中添加远程敌人,并将它们与其他类型混合在一起,意味着你的关卡设计突然开始变得重要。”
弹道设计(速度、移动模式)
大小(小的远处物体更难瞄准和攻击,而大的远处物体则相反)
一个大的方盒房间通常就足够了,不要花费超过几分钟的时间
对于远程敌人,还要建立多样的悬崖/缝隙/掩体
创建一个简单对象
使用多种形状,如滑动的方块和胶囊
重复使用现有的角色艺术,但使用不同的颜色
编写行为脚本
如果游戏引擎或工具有强大的脚本系统或AI系统,你可能可以在不直接编辑游戏代码的情况下制作敌人原型
但通常你需要进行一些编程
常见的AI脚本模式:状态机、行为树或一堆if()语句
测试敌人原型
如果可以,使用控制台命令/调试菜单在游戏中生成更多敌人
一旦敌人在游戏中能够正常运行,你的工作才刚刚开始。现在你必须调整敌人的属性和行为,以实现你的体验目标。
对于早期的调整,不要进行小幅度的调整。因为在早期阶段,你无法注意到这些小的调整。要进行大刀阔斧的改变。
例子,某个敌人有100点生命值,但感觉太弱,需要变得更强。不要尝试115点生命值,变化太小了,在测试中你可能根本感觉不到区别。尝试200点生命值。
如果200点感觉太强了,恭喜!你现在已经建立了一个100-200的调整范围。接下来尝试150。
但如果200点仍然感觉太弱,你应该尝试300甚至400。继续进行,直到你确定了一个范围,然后再回过头来缩小范围。
整个敌人设计过程可能需要在整个项目的过程中花费多年时间,因为你需要逐渐添加新的敌人、武器、玩家能力、关卡等。
你的项目团队可能会突然舍弃一个半成品的敌人类型以追赶截止日期。或者也许你需要将一个完全调整过的boss降级为一个较弱的可重复使用的“中级boss”类型。一个完美调整过的敌人可能会突然感觉过时或有问题。这就是游戏设计的本质:项目将会变化和发展。
基本上与一般敌人是相同的设计过程,但现在它是一个重要的设定场景。
除此之外,你还应该在为boss制作原型的同时持续迭代竞技场白盒。
Boss不一定是一个新的敌人类型,它可以是一个具有特殊脚本的现有敌人类型,甚至是围绕NPC设计的谜题。任何冲突和危险的高潮场景都会感觉像是一场boss战。
敌人设计需要大量工作,通常需要与艺术家和程序员合作,才能创建出可用的敌人类型。
敌人名册可以帮助你平衡敌人类型在战斗系统中的作用。避免冗余的敌人,这些敌人没有明确的目的和用处。
多样性很重要。你可能需要混合使用弱和强、慢和快、小和大、近距离和远距离等各种类型的敌人。
如何设计敌人:
定义核心属性,如生命值、速度、伤害和攻击范围/行为。
制作一个竞技场测试白盒,但不要花费超过几分钟的时间。
原型化敌人并进行测试,你可能需要一些脚本或编程知识。
调整敌人;在原型阶段尝试大幅度的变化,避免小幅度的调整。
Boss设计是一个特殊的情况,是一个与特定关卡紧密相关的独特场景战斗。持续迭代boss场景的白盒。
- Mike Stout,