战斗2.0的技术特点
实时动态阻挡机制
在现实世界中,所有的真实物体都具有体积和质量,并占有一定的空间,因此其存在也自然会对其他与之相接触的物体产生碰撞阻挡作用。
但在很多传统3D网游中,因为服务器性能的原因,大多没有对虚拟游戏角色(包括玩家角色和非玩家角色)类的运动物体的进行实时阻挡处理。玩家彼此或者和怪物角色之间都是可以随意的相互重叠和穿越,这并不符合真实世界的规律。
在运用了实时动态阻挡技术的游戏中,任何怪物和玩家角色本身都具有不同的体积参数,游戏服务器能够按照真实情况计算不同运动角色之间甚至和技能法术之间产生的碰撞阻挡关系,以真实的影响玩家的行动和战斗结果。在有实时阻挡的情况下,因为玩家角色或者非玩家角色之间将不能随意重叠穿越,因此在战斗中,玩家准确的移动位置就会变非常的重要,正确的跑位可以有效躲避敌人的追击和伤害。
无锁定技能模式
所谓“无锁定”技能模式是相对于传统“锁定”模式技能而言。锁定模式技能是指玩家在战斗时可以选择并锁定一个怪物目标后,然后释放所有的对单体目标技能将自动对该目标产生作用,而不会影响其他的怪物目标,甚至在玩家没有选择锁定目标之前,锁定类技能都将无法释放。同样相对而言,怪物的攻击也会“锁定”住玩家,在被怪物锁定后,怪物发出的打击伤害玩家将无法通过运动来躲避。
以一个简单的怪物对玩家发出火球技能为例,在传统网络游戏中的锁定技能模式中,在技能发出之时在服务端就已经被确定是否命中目标,而玩家已经被认为是一个已锁定伤害的目标,并进行了相应的数值伤害计算。而至于火球飞行过程,其实只是一个在玩家本地客户端上的画面表现而已,并不具有任何实际意义,玩家也无法通过移动来规避此次技能伤害,玩家移动可能只能造成火球自动追踪命中玩家。
而无锁定技能模式的设计,是将任何运动技能在服务器端独立处理为一个对象,按照一定的规则真实运动,并在与目标发生运动碰撞的瞬间才进行命中判定和伤害结算。在无锁定技能技术支持下,玩家可以通过移动躲避一个弹道技能,或者运用估算提前量的方式来射击命中一个运动目标。对于无锁定技能模式而言,甚至没有单体和群体技能的区别,而是靠技能实际作用效果来判断具体伤害目标数量多少。因此可以看出,无锁定技能模式给与了玩家更自由和富有技巧的操作空间,但同时也对服务器的运算能力和前后台通讯技术有了更高的要求。
无锁定技能模式的一些具体应用包括:高速飞行弹道类技能,真实动作碰撞伤害检测等等
动作特效匹配机制及特效材质关联机制
游戏中的真实战斗打击感其实是由众多表现因素共同组成,主要的相关技术包括:攻防双方的动作精确匹配与碰撞表现机制,打击特效匹配与碰撞材质关联技术,极高速视觉特效等等。
攻防双方的动作精确匹配机制是指战斗中,当攻击方命中目标角色时,目标角色会根据攻击方的攻击动作,按照真实的攻击的方向,力度和类型产生一个对应的受击动作,而且双方的打击和受击动作毫秒级实时匹配对应,不存在任何延迟现象。而且随着打击力度不同,目标角色随后还会发生被击退,击倒或者击飞等多种位移反应,以加强打击表现。
打击特效匹配机制与碰撞材质关联技术是指在发生战斗受击表现时候,根据双方的动作以及目标受击部位的材质特性来匹配表现打击特效的技术机制。一般打击特效会考虑不同伤害效果(暴击、正常、招架)、不同武器锐度(锐器、钝器)、不同对抗材质(木、肉、石、金属、骨)、不同动作阻尼(划、砍、刺、砸、敲)等多种因素对实际打击效果的影响,并结合材质做出血肉、木屑、火花、碎石、骨屑、植物汁液等不同创口的飞溅特效,力求真实还原现实世界中打击的快感。
极高速视觉特效技术是利用极短的视觉残留表现,以暴闪,红帧等特效,以肉眼难以察觉高速度(通常只有一两帧表现)来给人潜意识留下冲击感,该技术多用在表现战斗暴击或者冲击类技能表现中。
真实朝向与真实转身判定
在传统的战斗模式中,一般目标怪物只是一个简单的数值载体,所以怪物的朝向其实并没有任何意义,只是一个本地客户端表现而已,玩家跑到怪物背后其实是没有什么意义的,因为无论玩家跑到什么角度,战斗时客户端都会瞬间将怪物面对玩家,怪物和玩家角色其实都没有“朝向”这个概念。
真实朝向和真实转身,是网游战斗2.0体系中提高战斗真实性的一个基础技术。在具有真实朝向和转身的机制下,怪物不再会出现瞬转现象,而是会根据自身的体形,动作特点和转身速度来真实的花费时间转动身体来对准目标,这可以带给玩家通过不断快速移动来制造“绕背”攻击的玩法,利用怪物的转身时间,无伤攻击目标。
实时战斗硬直机制
硬直和打击停顿最早是在街机格斗游戏中被引入到战斗系统的一个概念术语,其具体是指角色被击打后进入的一种长时间失去操作控制或者行动能力的状态。硬直和打击停顿的差别是在作用时间的长短上,一般被击打到短暂的停顿就成为动作停顿,而较长时间(0.5秒以上)的僵硬才被成为硬直。
网游战斗引入硬直机制后,传统的站桩数值战斗的节奏就被打破了,玩家的攻击将会导致中断怪物的攻击动作和结算,因此战斗的技巧性会大大加强。连击造成连续硬直目标会成为玩家追求的目标,同时玩家也要防止自己被敌方打硬直。
有了硬直机制以后,一系列与硬直状态相关的概念和操作乐趣才能得以体现,比如通过强制取消收招硬直实现连招,通过特殊技能状态抵抗硬直实现霸体,通过受身技能脱离硬直等等。在硬直基础上,可以建立一整套的战斗控制与反控制玩法,从而使战斗技巧性和乐趣性大大提升。
硬直:硬直是一种特殊的状态,处于这种状态下的单位,无论是主角和怪物身体将保持僵直,无法移动和使用大部分常规技能。硬直又包括出招硬直,收招硬直和受击硬直等多种类型。
强制取消:特定的技能在按照一定的顺序连续发动时,前一个技能的收招硬直时间将会被后一个技能的出招硬直所取消,通过合理规划技能的顺序,攻击者可以在对手的受击硬直时间内发动多次攻击,这就是传统意义上的连续技。
霸体:这种强横的状态将让加持者在一定时间内不受硬直的影响,按照自己的节奏进行攻击和移动。
受身:在硬直状态下,可以通过消耗体力值发动受身,强行从无法行动状态中挣脱出来,并获得短暂的保护时间。
实时战斗位移机制
实时的战斗位移机制是为了体现战斗的真实打击感和技巧性而设计的一套战斗打击表现机制。在战斗中,当目标受到攻击后,会根据攻击的类型和力度以及目标的类型,质量和体形来确定打击是否会改变目标的位置,是否能震退,击倒甚至打飞目标。强力打击造成目标位移不仅会极大的提升战斗的打击感,也能利用位移来制造连续打击的条件,以便玩家发动连招和追击技能。
这种战斗中的实时位移与一般的玩家移动机制不同,首先是这种位移发生的响应速度要非常快,在打击或者使用发生的瞬间打断角色当前动作即时位移,同时在角色受到多个位移因素影响时候,要能正确的在服务端统一角色的位移信息。在部分实时位移状态下,还需要同步处理其他可能发生的其他伤害和状态改变,防止因为实时位移产生的服务器和客户端不同步问题。
被动移动:击飞/击退/浮空/抓取
击飞击退和浮空都是根据攻击者的打击类型,力度,方向和受击者的类型,体形和质量已经计算判断后得出的不同效果状态。同样的受击者,在不同力道的攻击下,将呈现出不同的受击位移表现;同样力道的攻击,对不同体格强度的受击者,也会造成不同的受击位移表现。
抓取则是一类独特的技能,和击飞击退不同,抓取技能将会把受击者投掷向一个由攻击者所指定的位置,当然,受击者的体格值同样也会影响抓取技能效果。另外,抓取技能对于处于霸体状态下的目标会有额外的效果。
主动移动:二段跳/闪避
通过这两种主动移动的效果,玩家可以在战场中自由移动以躲避伤害或寻找更利于输出伤害的位置。一些特殊的怪物也会拥有这类技能,届时,对提前量的预估和把控,将成为战胜他们的核心能力。
多种战斗前后场表现
根据战斗环境及自身条件的不同,怪物将通过不同的方式加入战团。原地站立等着玩家前去屠杀的怪物将不复存在。对于网络游戏,尤其是MMORPG,这样的表现能够极大地增加玩家的代入感,怪物确实是“生活”在据点中,而不是被“放置”在据点中
而怪物的死亡,也会根据击杀技能的不同而不同。用火焰系技能杀死怪物,怪物会浑身冒火化为灰烬,而使用冰霜系技能杀死怪物,它会变成冰块然后碎掉。
真实物理表现
游戏中的真实物理表现必须依靠物理计算引擎技术实现,采用物理引擎后,战斗所产生的各种物体动态效果可以按照现实世界的物理规则来实时计算其表现效果,以增强游戏的战斗表现力。
常用的物理引擎表现技术包括:真实物体碰撞表现,布料计算,柔体表现,流体表现等等
技能效果互动技术
技能效果互动是指技能之间相互影响的技术机制。一般技能除了涉及数值效果以外,在客户端都是独立的屏幕特效表现,技能效果互动就是只让技能效果之间产生互相作用影响的技术机制。
比如,当玩家释放一道火墙法术之后,如果有箭支飞过火墙会被点燃变成火箭,或者有旋风穿越火墙之后,会变成火焰旋风,而一个暴雨法术则可能会浇灭火墙等等。技能之间实现实时的相互影响后,会令战斗更加拟真,但会需要处理技能之间彼此组合影响产生的大量结果,从而带来大量的工作量。
场景互动技术
场景互动技术是指玩家的行为和战斗环境之间发生相互影响的技术机制。
较轻度是表现级的互动,比如玩家可以碰动场景的草木树叶,击毁场景中的石柱、吊灯、脚手架等物件等等纯表现类的环境互动,这一般通过客户端表现技术即可实现,
更高级的互动可以让被移动破坏的场景物件掉落、坍塌并对战斗单位产生伤害。更拟真的表现甚至可以让吊灯上的蜡烛坠落会点燃地面形成伤害区域,草地会被火焰系技能点燃烧毁,燃烧对其中的战斗单位产生伤害等等,各种伤害表现都需要在服务器端也有相应逻辑机制实现。
真实天气系统
传统天气系统大多都是一个贴在镜头上的屏幕特效,最初用于展现显卡的运算能力,随着图形技术的不断发展,这种低成本的表现级技术渐渐变得可有可无。真实天气系统着力于将天气特性加入到玩法当中,并允许战斗单位通过技能对其造成一定的影响,同时改变战斗环境的光照效果、可视范围等等。比如在雷雨天会随机劈下闪电,在狂风中逆风而行将变得困难,而顺风而行则更加轻松……
可移动BSP面技术
战斗环境的多样不仅体现在地理风貌上,更应当体现在变化上。BSP(二叉空间分割Binary Space Partitioning)树是一种空间分割技术,常用于world-object式的碰撞检测。BSP面是指通过二叉空间分割方法对游戏场景模型的多边形进行整合,最终生成的可供玩家站立的平面。
可移动的BSP面是指玩家可站立的表面本身也可以运动,意味着玩家可以站在一个时刻移动的物体上进行战斗,比如顺水而下的竹筏,巨兽的背上等等。战斗场景重力,连通性等等效果也会因为BSP面的移动而发生改变,从而产生更加丰富的战术和玩法。
QTE元素
QTE是quick time event(快速反应按键)的缩写。考验玩家即时反应的系统,在实际游戏过程中,玩家要对游戏画面上出现的按键迅速作出反应,并按下与画面所对应的按键来触发系列动作或者剧情的玩法机制。
完整的QTE元素应当包含对玩家反应速度,预判精度,操作速度,节奏把握等多个不同纬度的考验。