战斗系统
前言
游戏中只要有对抗元素,就会有战斗系统,那么战斗系统是什么?战斗系统可以分为哪些部分?战斗系统的内容?下面就让我们一起来学习下吧。
一、战斗系统是什么?
- 从
策划
角度来说:战斗系统,就是游戏中玩家与敌对方(系统或其他玩家)的对抗方式,它包括游戏机制,画面表现,玩家行为。它的核心设计目的是给玩家创造成长反馈、社交关系和对抗乐趣。 - 从
系统
角度来说:就是战斗状态之间的关系和流向构成的一个循环,类似生态系统。 - 从
开发者
角度来说:战斗系统,是游戏中用于展现战斗场景和模拟战斗过程的核心组成部分(狭义)。
RPG中的战斗系统可能包括:
战斗背景、角色属性、技能判定、伤害计算和效果触发
。其中,战斗背景可以是静态的图像或动态的3D场景,而角色属性则通常包括血量、攻击力、速度等。技能判定和伤害计算则是指游戏会根据攻击方和防御方的属性来计算出具体的伤害数值,以及是否触发对应效果(如眩晕、冰冻等)。效果触发则是指在一次攻击/防御完成后,游戏系统可能触发的各种特殊效果(药水,技能效果)
二、战斗系统的体现?
战斗系统在不同的游戏类型中有不同的设计和表现:
角色扮演
(技能,属性,经验,装备,药水等)和动作冒险
(连招,格挡,索敌,终结技)等游戏类型中占比较大。但也会考虑设计中的核心体验,比如巫师三中战斗系统就有所取舍,专注点在剧情叙事上(吐槽一下杰洛特的战斗不能跳跃,不能疾跑),再比如只狼的专注点毫无疑问是战斗系统,打击感,技能,弹反,背刺等,追求的就是硬核。- 但对于
模拟经营
等游戏类型来说,就可有可无了。创造与魔法,波西亚时光等,战斗系统可以说是相当简陋,关注点就不在战斗系统中。
游戏开发中肯定要有所取舍,考虑如成本,时间,质量
之间的平衡,但最终的目的肯定是为了服务玩家。
三、战斗系统的分类?
- 从是否需要承担
成长反馈
的目的来看,战斗系统可以分为平衡战斗系统
和非平衡战斗系统
,两者的区别就是外围的数值是否会影响到战斗中的角色属性。 - 从是否需要承担
社交关系
来看,战斗系统可以分为协作
战斗系统(PS:魔兽世界、英雄联盟)、多人非协作
战斗系统(PS:守望先锋)和单人
战斗系统。 - 从
对抗乐趣
的程度来看,战斗系统可以分为数值
战斗系统,视觉
战斗系统,轻对抗
战斗系统,重对抗
战斗系统,完全对抗
战斗系统五种。
下面简述一下对抗乐趣的五种分类:
1)数值战斗系统是
纯数值对抗
,几乎没有战斗表现的战斗系统,战力高的一方一定能获取战斗的胜利。采用这种战斗系统的游戏,核心一般在成长和PVP的竞争上,所以战斗过程可以省略。比如卡牌游戏大掌门,MMORPG传奇、征途、奇迹MU觉醒,SLG列王的纷争等。
2)视觉战斗系统是以战斗中的
视觉表现
和数值对抗
为核心
,对抗乐趣为辅的战斗系统,这类战斗系统中玩家只需要在战前作出一定的选择,或者在战斗中进行一些无关紧要但是表现力很强的操作,就能进行一场直观而宏大的战斗。这种战斗系统也适合以成长或社交为主的游戏,并且相对于纯数值战斗系统,它会通过战前的搭配和战斗中的直观表现,给予了玩家一定的自主决策空间,让玩家感受到一丝丝数值之外的策略上的对抗乐趣。如冒险与挖矿,王国纪元,NBA梦之队,原版奇迹Mu等。
3)轻对抗战斗系统是以战斗中的
数值对抗、关键决策和操作反馈
为主,战斗前的选择和战斗表现为辅的战斗系统。这种战斗系统适合外围成长稍重于战斗策略的游戏,玩家在此类游戏中既能感受到数值成长后的碾压乐趣,也能感受到战斗策略正确后的对抗乐趣。如刀塔传奇,剑与家园,阴阳师,部落冲突,海岛奇兵,龙之谷,暗黑3等。
4)重对抗战斗系统是以偏重度的
战中玩法对抗
为主,数值对抗(可能没有 )和战斗表现为辅的战斗系统。这种战斗系统适合以战斗为核心玩法的游戏,玩家可以在游戏中可以充分体会到战斗对抗带来的乐趣。这类游戏即使有外围的成长,也会用合适的方式弱化(低成长深度,平行化追求等),例如万智牌,炉石,皇室冲突,格斗游戏,魔兽世界,各类单机主机游戏等。
5)完全对抗战斗系统是以战斗中的
玩法对抗和数值对抗
为主,战斗表现为辅,几乎没有外围成长的战斗系统。这类战斗系统的核心是,在重战斗玩法对抗的基础上,一定要做战斗中的数值成长(甚至多维度成长),利用策略和成长的结合,将游戏的变化和深度以指数级提升。例如RTS,MOBA,大逃杀。
四、战斗系统的内容?
战斗系统大致可分为三个模块:角色,逻辑,表现(逻辑与表现分离),包括处理玩家输入,角色控制,相机控制,数值设计,攻击判定,伤害计算,AI的行为树和状态机,动画表现,特效,声效,还要考虑拓展和维护功能。具体可看:B站:战斗系统的开发实践,有较为笼统的介绍,适合了解
战斗系统的模块细节:
1,输入规则
绝大多数输入形式可以分为两类:数字和模拟。
数字形式
只有两种状态的“按下”或“释放”。模拟形式
就是设备可以返回某个数字范围,比如虚拟摇杆。
1)搓招的输入实现?
同时按键
序列按键
2)帧对数字形式输入的影响和解决?
- 影响:游戏是按帧运行的,帧分为渲染帧和逻辑帧,数字形式只有按下和释放操作,如果某个逻辑按下只需要执行一次但是多帧检测为按下(发射子弹,结果一直发射?),这种情况怎么处理?
- 解决:一种方法是检查上一帧的状态和当前状态对比
3)死区(无效区域)是什么?
模拟输入是一个数字范围
,虚拟摇杆的值在玩家没有操作时会在0左右浮动,如果玩家没有操作角色,角色却自己动了,这显然是不合理的。
所以引入死区(在虚拟摇杆中心划分一个小圆,范围内的输入值为无效值,不做任何响应
)
2,动画技术
1)混合和遮罩的区别?
两者之间的区别在于动画叠加
和限定区域
:
- 混合是多个动画在同一区域进行叠加,每个动画占比不同
- 遮罩是多个动画在不同区域分别播放,每个区域动画不同
3,相机(镜头)控制——电影技巧的应用
1)电影技巧的复合运用?
将运镜和转场进行组合使用,可以得到电影级的游戏画面。
2)相机控制的游戏作用?
相机的作用绝不仅仅只是展示游戏画面,合理运用会提高游戏性。
4,游戏AI的设计模式
1)状态机
概念:
状态机(State Machine)是一种基于状态的设计模式,它将NPC行为划分为不同的状态。每个状态代表NPC可以采取的不同行为或决策,而转换条件则由NPC当前的状态和周围环境的变化发生才能触发。状态机的设计可以针对不同的NPC类型、角色属性等因素进行配置。
- 在动作类游戏中,敌人拥有追逐、攻击、逃走等不同状态
- 在模拟经营类游戏中,可以通过状态机自动管理NPC应对事件
状态机更适合处理简单、结构化的问题
2)分层状态机
概念:
分层状态机(Hierarchical State Machine)是一种扩展了基本状态机概念的设计模式,它把多个相关联的状态组合成一个更高级别的状态。属于状态机中的状态过多时进行的细分。
3)行为树
概念:
行为树(Behavior Tree)是像树形结构一样组织NPC行为的设计模式。它通常由顶部节点(Root)以及一系列的子节点和叶子节点组成。每个节点代表NPC可以采取的某种行为或决策,例如巡逻、攻击等。叶子节点表示具体的行为,而父节点则指导其执行。整个行为树通过每个节点被评估并返回成功或失败值来确定跳转下一步执行,进行分层行为管理。
行为树适合处理复杂和分层问题
游戏开发中可能会结合使用状态机和行为树,一般来说操作角色
用状态机就足够了,而复杂AI(NPC)才需要行为树去实现。
具体可看:B站:行为树实战训练营,简单说了下状态机的实现和行为树的判定机制。
参考
- B站:战斗系统的开发实践
- 腾讯游戏学堂:战斗系统浅析(偏游戏策划)
- B站:行为树实战训练营
- 《游戏编程算法与技巧》