端游底下的技能在战斗时需要全部释放吗?

太阳:指代圣骑士觉醒技能,因男圣骑士施放时会产生天启之珠散发耀眼光芒得名,在端游中后续推出的奶系职业的觉醒技能也随之这样称呼。在地下城与勇士的手游中,则是率先推出了女圣骑士作为首发奶系职业。

唱歌:指女圣骑士勇气圣歌。因施放技能时周围会产生音符而得名。

猫(猫)拳:指气功师的念兽:龙虎啸技能,释放后手部会有虎型念气,因此被戏称猫拳。

}

现在是一个手游时代,很多的端游都移植到了手机上,这里会面临一个问题,如何把端游上的大量技能放置在手机小小的屏幕上,同时让玩家的操作舒适,又能够快速精准的释放技能。在这里我总结一些游戏的思路。
2.1 这里以王者荣耀作为一个例子,首先,MOBA的端游设定,是一个英雄拥有:4个主动技能,1个被动技能,2个召唤师技能,若干装备技能,1个插眼技能。在这里,王者荣耀为了游戏的简易性,对英雄的技能拥有做了改变(暂时讨论大部分英雄):3个主动技能,1个被动技能,1个召唤师技能,1个装备技能(如果出了多个主动装备的话会被覆盖),没有插眼技能。我们来看一下王者战斗时的UI:

一、二、三技能:表示英雄拥有的三个技能,一二技能为普通技能,4级之前就能够学习,三技能为大招,4级才能学习。这里可以想一下,为什么大招要放在普通攻击按键的上方。首先,这个游戏中,普通攻击是最常用的,所以,在你横屏手持手机时,你的两个大拇指所自然放置的位置下方(一般人手持的话,大拇指会在手机屏幕中间,因为中间和上方都要显示信息,所以只能把操作的大部分放置在下方,保证手不挡住视角),左手拇指就是移动键,右手拇指就是普攻键。那么我们回到一三技能的问题上,现在你的右手放置在普攻上,向左和向上移动,观察一下整只手的协同幅度,你会发现你上下移动的幅度会大于左右移动。这里就是为什么大招是要放在普攻键上方,因为大招的特性决定的:冷却时间长(大部分英雄)导致使用次数少。现在的一个优化是,英雄的3个技能都可以由玩家切换位置,因为有的英雄,比如露娜,娜可露露,赵云等的大招,都是需要大范围拖动的,控制不好就会拖动到取消区域,导致错失良机,所以这一类英雄的大招在高玩的手中可能会在二位置,防止出现误操作。
推塔,补兵按键:普攻键的子功能键,所以依附在普攻键的周围。这个是我个人常用的方案,我的主玩位置是射手,推塔按键对我来说是很重要的,在推水晶的关键时刻,如果你身为一个射手还在用普攻键攻击英雄/小兵,是会被队友喷死的,在游戏中,普攻键的优先级为:英雄>小兵/野怪>防御塔/水晶。

召唤师技能列:图中的惩戒按钮,位置为一技能的左边。在游戏中,召唤师的技能冷却为30-120秒,在冷却时间上来说,是偏久的,召唤师技能在设定上,是一个偏辅助的技能,但是在关键时刻也能有很大的作用,例如大闪,群奶。所以在下一排的三个技能中(还有回城,恢复),召唤师技能的位置必须要最靠近一二三技能。剩下的两个技能按照使用的频率依次向左排列。

完美世界手游人物拥有的技能:普通技能10个(包括一个普攻和一个躲避技能),图中红色方框内,真元技能3个,图中黄色方框内,一共是13个技能。普攻技能仍然是在最中心,但是,在这个游戏里面普攻其实并不是最频繁使用的一个技能,也就是说,普通没有必要放在最中心的位置。各个技能的使用频率是按照CD决定的,你用完一轮技能后,第一个使用的技能CD又好了,在这个过程中是不需要普攻的(看普攻和技能的dps决定是否要在技能中穿插普攻)。所以,UI在设计的时候可能是按照用户的常用习惯而不是技能释放的实际需求来设计这个UI。现在来看一下这8个技能是如何切换的

图中的白色区域4个是一组,当玩家用大拇指以半圆姿势划过白色的圆圈时,技能会切换到下一组(轮盘动画),这样就切换到了另外的4个技能。那么你怎么知道未显示的技能CD已经完毕了呢?

看图中的二技能的,当技能冷却完毕之后,会在相应的技能位置出现技能的阴影图示,大概出现半个圆的区域,1秒之后移动回原位置。这么做有一些弊端:

·大拇指可能会挡住提示

·出现提示的时间大概1秒左右,玩家可能没有即时注意到

那么我们在看看轮盘切换型技能UI的优缺点

·右下角的技能显示少,显得简洁

·转换轮盘提升了操作量

我个人认为只要右下角安排合理,空间是足够放置8个技能的。在修改之前,我们看看右下角还有什么功能。

·4技能右边的准心:改变当前选择目标,例如在boss召唤小怪时优先击杀小怪时使用。

·普攻键右下角的跳跃。在副本中,这个技能的使用频率几乎为0,因为设定中跳跃是不能躲避攻击的,在战斗中也没有对跳跃这种功能的互动,所以跳跃键的加入是画蛇添足的。

·4个技能左边的躲避键,躲避键的设定在这种UI设计中,我认为是合理的,在战斗中,你可以通过躲避键躲避boss的技能,如果是放在轮盘中的话,你要躲避之前可能要滑动轮盘才能使用,增加了操作量。所以躲避技能独立出来的设计是合理的。

·黄色区域的三个真元技能。在完美世界中,真元技能的释放需要通过普通技能的释放积累真元,逻辑如下

在实际的游戏体验中,大概30秒能够积累200真元,才能满足技能的释放,同时真元的上限是400,决定了一定时间内最多可使用2个技能,所以把真元技能放在普通技能之外的位置是合理的。

如图分别是78和80的所示位置,这里官方的设定是安排了两个药品的快捷使用键,相对于MOBA游戏的话则是恢复键。完美世界中,瞬间恢复药品的使用CD是90秒,一般情况下,瞬间回血的需求会比较高,包括副本,PK。而瞬间回蓝的需求几乎为0(我玩的职业是法师同时使用了对应等级的持续回蓝药品,游戏中也没有职业技能能够减少敌对玩家的蓝量,因此并没有出现蓝量不足的情况,故瞬间回蓝药品的设定只是为了和瞬间回血药品组成一对罢了)。所以一个位置放置瞬间回血药品,另一个位置可放置一些功能药品,例如:

四、如何设计好的技能UI和我的理解

要设计出好的UI,首先要明确你技能的使用频率,例如MOBA类手游和MMORPG类手游的普攻使用频率是不一样的,如果都把普攻按照中心来设计,那么就是不大正确的。第二点,玩家的习惯,在游戏的设计传承中,带着一些大家都认同的习惯,例如左手控制移动,右手放技能。在画面中心滑动则为改变/缩放视角。我们的设计必须要建立在玩家的操作习惯上,而不是自己凭空的设定。第三点,突出重点,当你在战斗的时候,UI应当能够使你的注意力集中在战斗对象和操作上,这个时候要简化一些其他的干扰,例如完美世界的右上角地图的左边区域

显示的是一些交易和活动有关的信息,在玩家进入副本后会自动隐藏,是一个优秀的设计。

我在这里提出我对于完美世界右下角区域的修改建议,首先提出需求:

·普通技能(包括普攻),真元技能,普通技能频率>真元技能频率

注:在这里我取消了跳跃按钮,因为没有实用性

想法:的顺序,首先,在没有学完技能的时候,依次按照习得顺序存放,全部习得后提供自定义功能。普攻和躲避技能的大小和一样大,并不突出普攻。在药品快捷使用上,我拉进了两个按钮的距离。真元技能和选择目标功能上,我选取了比普攻要小的圆形按钮,放置在普通技能的上方。同时在选取目标的按钮上,提供了一个收回按钮,点击之后收回技能栏和药品栏(待定)。出现日常使用界面,这个时候就有跳跃等功能。

·按钮过多,界面不够简洁,可能容易误触,不过习惯之后有改善的空间

·操作量比起原本的设计有减少

最后,所有的的设计都要服务于玩家,当然了,众口难调,所以把方案都设计好了,交给玩家自己选择也是一种可行的方法。

}

  很久没有更新博客,中间迁移过一次博客,后来一直忙于项目的开发,忙的晚上回去没时间写博客,周日又要自我调整一下,所以空闲了很久没有继续写博客。最近终于慢慢放慢节奏,项目也快上线了,可以有空写一些个人的笔记。准备写一个战斗系统的入门笔记,也算一个自我总结和反思的过程,中间有些地方是个人的一些想法和理解,如果有什么不正确的,欢迎大家留言讨论。

  通常,我们在玩一款游戏的时候,最直接面对的玩法,就是这款游戏的战斗系统。由于游戏的分类实在太多,对应的战斗玩法也各有其特色。而我目前参与研发的游戏,主要是RTS游戏和MMORPG游戏两种类型,所以我的随笔就记录一下MMORPG游戏的战斗系统的一下设计笔记。

2016年属于MMORPG爆发的一年,多款MMO手游均取得不错的运营业绩,2017,依然属于主流的手游研发类型。在MMORPG游戏中,目前主流的战斗系统可以分为2类:回合制战斗和即时制战斗。回合制游戏的代表,《梦幻西游》,堪称经典,网易对于这款端游转手游的游戏也是用心研发和运营。即时制战斗的代表,《剑侠》,《齐天大圣》,资料片流出的《剑网三手游》等,都有不错的即时制战斗体验。

  虽然很多人对于MMO游戏的理解,主要在系统玩法和社交体验上,大部分玩家进游戏后的战斗都是开启自动挂机的战斗,相对于MOBA游戏,不注重战斗体验。不过剥离出游戏的类型,整个游戏的战斗系统其实属于一个相对独立的模块,而且是整个游戏的核心部分,所以掌握理解了战斗系统,对于大部分的游戏可以有一个相对深入的理解。本文就从一个小白的角度去理解隐藏在背后的即时制战斗系统是如何执行的。

       从小白的角度理解,战斗系统,可以分为:按键响应,技能获取,寻敌检测,技能释放,伤害计算,战斗表现,总共6个大的部分,下面我逐个分析其中的一些执行逻辑。

  在进入游戏后,在游戏的界面上,可以看到一个左侧的摇杆,右侧都会有一个当前职业的技能控制按钮。这在MMORPG和MOBA游戏中,属于比较常见的设计。我们在操作游戏角色进行战斗的时候,可以点击右侧的技能按钮,从而释放技能进行战斗。从技能按钮点击,到执行战斗,第一步就是按钮响应。

 在玩家进入游戏后,就会在游戏模块中打开当前角色对应的技能界面,同时对玩家的点击按钮添加一个事件监听。如果你对事件监听不是很了解,直白的说,就是A添加一个attention,该attention是关注B是否发生,当B发生的时候,B广播其发生,这时候A接收到B发生了,则执行B发生时A应该执行的一些操作。这样的一个直白解释,就是常见的监听系统的设计过程。这样当玩家点击技能按钮X的时候,技能界面会读取其对应的技能指代,然后将其广播出去。在前面监听的部分,在收到该事件后,就会执行技能获取操作,从而传递到后面的部分。

  现在执行到第二步,这时候已经知道玩家点击了某个对应的技能,但是具体是什么技能,还需要进行一系列的操作才能获取到。首先,游戏中,会有不同的职业,不同的职业会有不同的技能配置。所以首先是需要找到当前职业对应的技能。怎么获取呢?在MMORPG游戏中,对于不同的职业,会开发对应的技能组件SkillCpnt。在每个职业角色的实例上,挂载一个技能释放器SkillCaster。这个技能释放器SkillCaster,就是用来执行技能的读取和释放的主要角色。那么它在响应技能按钮点击后,会获取当前玩家具体的技能组件SkillCpnt, 在当前技能组件SkillCpnt中,获取当前技能对应的技能配置。通常,一个技能按钮,会对应的配置一个或者多个技能,这时候需要检测技能的对应释放顺序,同时需要检测当前技能的CD和消耗等。在获取到可以释放的技能后,接下来就需要进行技能的释放了。技能释放的第一步,就是寻找攻击目标。

   在读取到技能后,接下来就是要找到可以攻击的目标。首先,会获取当前技能范围内的所有目标,然后进行检测。首先,检测其是否有效,然后检测是否属于当前技能攻击的类型(比如有的技能打人,有的技能打建筑),然后判断是否是敌人类型(不同玩法对于敌人类型的判断不一致,需要具体设计),是否在攻击范围内,在这个检测中,通常策划会进行一系列规则扩展,最后得到是一个繁琐的检测过程。对于这样的扩展,程序只能尽量保证扩展性和鲁棒性,同时对于某些特定的检测,尽量写入特定的玩法,避免影响公共检测的性能。

  在这儿,需要补充一下,对于游戏中的角色,主要分为两类:玩家和怪物。所以,对于这两类角色的技能检测,可以分为两种不同的方式进行检测的,这样可以尽量保证各自的规则设计,避免耦合和繁琐。

   相对于前面三步操作,技能释放的流程就比较简单,在完成寻敌检测后,此时已经知道当前主角要用什么技能,对着什么目标进行释放了,所以通过技能释放协议,将相关的信息传递到服务器,服务器会收到当前释放技能的请求,然后进行技能校验,主要是检验技能是否处于CD,技能消耗是否足够,攻击对象是否有效等检测,如果通过,则下发给客户端做技能表现。同乘为了提高用户体验,在本地玩家自身的客户端,其释放的技能,是先做技能释放,同时传递给服务器技能释放的请求,如果通过则直接继续,如果不通过,则打断播出的技能动作。这样的设计流程,是为了避免在网络不好时,技能响应过程太慢,玩家点击时没有及时的响应,用户体验太差。

  伤害计算的过程,属于偏向数学计算的过程,如果从小白的角度理解,其基本的流程可以分为:技能更新,伤害寻敌,伤害计算,伤害结果这4个步骤。首先是技能更新,在打出当前技能后,并不是立即生效的,在配合着动画和特效,会有一个更新时间间隔,当更新完后,就会进行伤害检测(通常这个过程称为子物体更新的过程)。完成子物体的更新后,接着就是伤害计算,首先需要根据规则找到当前子物体周围配置范围内的物体,做一次寻敌检测。这个检测的过程,其实就是我们常见的技能特效模型检测,比如直线检测,圆弧检测,圆形检测,矩形检测,这四种基本最常见的检测。通过这四种对应的检测可以获得一个可以攻击的目标对象列表,然后逐个计算其对应的伤害。具体的伤害计算,需要根据数值的伤害计算公式,读取攻击者和被攻击者的相关属性完成对应的伤害值计算。在得到一个伤害结果后,就会进行扣血的操作,然后下发相应的数据结果给客户端。

  最后的战斗表现,是一个归纳的过程,包括技能释放角色的战斗动作和特效,被攻击者的战斗动作和特效,已经相应的UI数据展示等。这样的战斗表现,都可以用对应的技能控制器来实现,特定的技能控制器,在设置后会进行自更新,然后触发对应的动作播放,在动作播放中会触发播放对应的特效。基于这样的基本设计,就可以实现整个战斗的动作和特效播放。

   写到这儿,我又要再现我的灵魂画法了,将整个过程归纳为一个草图,哈哈:

  好了,对于整个战斗流程,从小白的角度做了一个大概的讲解,后续我会接着做一些战斗系统相关的文章分析,比如寻路,行为树,AI,组件设计等,下篇文章见~

}

我要回帖

更多关于 明日之后连环暴击打本有用吗 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信