当前所在位置: 首页 > 数码科技 > 正文

如何在MOBA类游戏中给角色实现背刺类技能

2024-06-06 本站作者 【 字体:

7月22日消息,MOBA类游戏是当前最受玩家喜爱的游戏类型。通常在这样的游戏中会设计多个游戏英雄角色,并赋予它们各种各样的技能,其中就包括背刺类技能。所谓背刺类技能就是从背后百分百击中敌人的技能,下面我们就来说说这一技能的设计方法。

我们总是会遇到这样一些设计——角色从背后攻击别人会有额外的效果,尤其是DotA类和动作类游戏中。这些效果设计本身很有趣,类似刺客类角色应该有这样的技能设计来体现个性。但是当去实现这些效果的时候,我们通常都会把焦点集中在了“如何判定在背后”,乍看起来是一个初中算数的问题,不难——只要算算攻击者和挨打者的面向关系就行了。但是深入思考一个问题——很多英雄恰好是近战攻击的,假如我们是否允许设计一个英雄,他也有“任何伤害背后攻击必爆”的特性,但是他的4个技能是:

1、向前丢出一个回力标,飞到一定距离后折返,类似LoL的轮子妈的Q,策划要求“如果背后命中敌人则必爆”。

2、在身边召唤雷电球顺时针环绕自己,击中敌人后会爆炸,策划要求“如果从背后击中敌人则必爆”。

3、飞出鱼叉,抓住一个目标并拽回,目标被拽回的路径上的敌人碰到目标都会受到伤害,策划要求“如果目标被拽回时,从背后撞击了路径上的人,则此伤害必爆”。

4、大招:在远处召唤8道水柱,水柱顺时针螺旋向中心即释放技能时候角色的位置移动,对碰到的敌人造成伤害,对碰到的友军造成治疗,策划要求“如果是从正面碰到友军则治疗必爆,如果时从背后碰到敌人则伤害必爆。”

当然,以上4个技能设计也是有趣的,那么问题来了!——这4个伤害的“背后判定”,一定与“我”释放这个技能的人的位置有关吗?所以我想说,楼上的大多是纸上谈兵,那么作为一个实际干出过数款上线并有几款成绩不错的MOBA游戏的我就从最简单的实现来谈谈这个在真实的MOBA游戏中是如何实现的。

在这个问题中,涉及到的数据以及他们的最基础属性:

1、CharacterObj角色对象,有一个属性面向FaceDirection,为了编写lua脚本的策划便于理解,我们通常使用0-359的整数,描述了一个角色面向的角度,这里还要注意一点——在很多游戏设计的需求下,面向的角度不等于角色移动的方向的角度,你可以根据需要把面向FaceDirection和移动角度MoveDirection做一个分家,但是这个问题下,我们关注的只是FaceDirection。

2、DamageInfo伤害信息,通常新手会认为这个是一个多余的环节,但是如果你真的理解了我的buff机制你可以从知乎搜索“如何设计一个易扩展的游戏技能系统”,你会发现整个流程中这是一个必要的东西。首先我们来说DamageInfo通常包含的内容与本次讨论无关的属性就不再这里列出了,根据项目的实际需求扩展这个结构就行了:

1Damage: 通常在Moba中是int,如果你还会用到金木水火土等属性伤害,那么可以把它定位Array,如果你是传统页游,那int其实很难满足你的需求。无论如何,你需要一个地方暂时记录这次伤害的值。

2isHit:boolean,是否命中,是否能够命中并不影响造成的伤害,伤害管伤害Damage计算值,会影响最后命中的因素非常多,所以这里只记录当前伤害信息能否命中。

3isCritical:boolean,是否暴击,同是否命中,你不应该因为暴击了直接就把Damage进行运算,我们说DamageInfo这个信息用于最后的伤害计算,所以最后实际算伤害的时候,会根据和得出一个合适的伤害数字的。

4degree:int,0-359,伤害来源的角度,这个角度就是当前问题的关键,由于游戏中有太多的因素会产生伤害,所以每一个因素在产生伤害的时候都会有不同的赋值方式,因此这里会涉及到另外一个课题——将伤害来源做个抽象归类,合理的设计下应该是这样的:

当你的游戏依赖的逻辑对象是:

bulletObj:在Moba类游戏中那些必定命中的、通常用于单体的技能,请记住,技能的效果未必是伤害,伤害只是效果之一,这才是对的抽象!

aoeObj:在Moba类游戏中通常是一些范围性技能。

buffObj:给角色添加buff的处理。

这3个逻辑对象的对应“效果”确切的说是回调点的函数中,可能带有产生伤害信息的接口。

由此,我们可以获得这个DamageInfo,也正是在此时,根据游戏的规则来赋值了这个:

bulletObj的degree,通常等于这个bulletObj在命中时候的方向。之所以说是“通常”,因为游戏策划可以重新定义他的用法,下同。

aoeObj的degree,通常等于到产生伤害信息的对象角色的向量的角度。

buffObj的degree,通常是0,也有用释放这个buff的角色当前buffObj逻辑回调瞬间的面向作为degree的,两者都是科学的,取决于策划设计需要。

实际上我们看开篇我命题设计的4个技能,他们的degree的确和“我与目标”的位置没什么关系,而是与“我”发出的aoe/bullet与目标的位置有关系。

也许我需要进一步的解释一下好的伤害流程的抽象,才能让你更明白DamageInfo的意义,那么我们就接着说:

请注意,这个伤害流程适合于任何需要伤害逻辑的游戏,在这里我们穿插了对buffObj的回调点的处理,把这些处理丢给脚本也好,丢给其他程序逻辑代码段也好,这都OK,关键在于——整个伤害流程是一个变化DamageInfo值的过程,最后依赖于DamageInfo的数据,我们产生了真正的伤害。事实上,很多类似“背后必爆”的处理,都是在这一段里通过buff机制来实现的。

当你理解了这个流程的时候,我想你不难写出这样一个buffModel用于创建一个添加在角色身上的buffObj,伪代码如下:

= "crit_behind";

= false;

= functionbuffObj, target, damageInfo, designParam

if + - % 360 = 60

//在逻辑的世界,命中的时候,2个点伤害来源和挨打者必然重合,所以我们只能认为如果2个人的面向是相向的,并且差距在一个可接受范围内,那么就是“背后攻击”因为来源会定义不同的方向,这是给来源留个活路,这里涉及到一个逻辑架构能力

= true;

return damageInfo;

就是这样的简单思路,很轻易的就能实现你来自任何渠道的伤害和你能想到的一切处理,比如说“来自正面的伤害会治疗目标”这种,我相信聪明人看到这里已经狠轻易就能知道怎么做了。所以说,这个问题的根本,并不是用一个数学公式解决2个点的方向问题,而是一个逻辑抽象问题——合理的游戏逻辑业务框架该如何设计才是问题的根本。

阅读全文
相关推荐

2024去云南旅游最佳路线 云南旅游的最佳路线安排

2024去云南旅游最佳路线 云南旅游的最佳路线安排
如果你是第一次来云南旅游,推荐最经典的线路是:昆明→大理→丽江→泸沽湖→香格里拉。这条线路经典的经典比较多,比较集中,都是在一条线,每个地方都有机场,全国好多城市都有直飞的航班。交通也很方便,可以根据自己的时间随意搭配。

2024最适合穷游的12个地方 一个人穷游去哪里好

2024最适合穷游的12个地方 一个人穷游去哪里好
1、哈尔滨:要想体验冬季游玩乐趣的朋友,那可一定不要错过哈尔滨这座城市了,绝对是让你来了还想再来。除了好玩的滑雪、冰雕以外,其实哈尔滨也是非常适合拍照写真的,因为哈尔滨临近俄罗斯这个国家,其有的建筑也是非常有国外欧美建筑的风格。2、苏州:苏州的每一角落,都有着江南水乡的风韵。必打卡景点有:平江路:先有平江路,后有苏州城,一条历史老街,一条沿河的小路。白天就来平江路感受原汁原味的苏州。拙政园:中国四大园林之一,亭台楼阁,奇石古树,园区以水为中心,山木环绕。苏州博物馆:需要提前预约,整个博物馆宛若一座小园林。

2024桂林必去五个景点 桂林旅游必看景点

2024桂林必去五个景点 桂林旅游必看景点
来桂林旅游,漓江是必游的。漓江景区是世界上规模最大、风景最美的岩溶山水游览区,集中了桂林山水的精华。一般游漓江的主要方式有坐船、竹筏及徒步,包括漓江三星、四星游船,漓江竹筏游和兴坪渔村大船游等。

2024清明家庭旅游最佳去处 清明节去哪里玩比较好

2024清明家庭旅游最佳去处 清明节去哪里玩比较好
带着父母或者爷爷奶奶来厦门,在鼓浪屿上度过一个悠闲下午,身心都可以得到放松。厦门是很多人旅游必去的城市之一,这里有很多出名的景点,比如说鼓浪屿、中山路步行街等等。厦门位于福建省,因此这里一年四季的气候都是比较合适的。鼓浪屿是一个小岛,需要乘船上岛哦。岛上有日光岩、菽庄花园、风琴博物馆等景点,在日光岩内,可以俯视全岛,将景色尽收眼底。这里还有著明经典打卡地《最美转角》。

张家界旅游必去景区 张家界旅游景点推荐

张家界旅游必去景区 张家界旅游景点推荐
张家界旅游必去景区,指的是张家界的核心景区武陵源风景区,也就是通常所说的“张家界国家森林公园”。张家界国家森林公园和武陵源风景区其实是同一片景区,只需要买一张门票即可,可从五处门票站进景区。第二个打卡景点是天门山,通过乘坐天门山索道,你可以欣赏到绝美的风景,山顶森林和各种珍稀植物让人叹为观止。天门山景区与张家界国家森林公园不在同一个地方,门票也是分开购买的。其最著名地标是天门洞,出火车站抬头就能看到天门山索道。天门山国家森林公园内处处古树参天,藤蔓缠绕。景区分为天门洞、中线、东线和西线景区等几个主要区域。

2024重庆旅游攻略 2024年重庆旅游景点

2024重庆旅游攻略 2024年重庆旅游景点
重庆旅游住宿建议住在解放碑附近,神仙选择,地理位置优越,离各大景点都近,出行便利,公交,地铁,打车都方便,好吃的多,八一好吃街,包括一些有名的小吃都在附近。而且是商业中心,购物也方便,适合逛吃逛吃。

西安旅游攻略自由行路线推荐 第一次去西安旅游攻略

西安旅游攻略自由行路线推荐 第一次去西安旅游攻略
第一天洒金桥和西羊市吃早点,西安本地人一般选择的洒金桥和西羊市。吃完早饭步行前往钟鼓楼,鼓楼可以看到各种类型的鼓,以及一些关于鼓的背景和知识,还有一些表演。钟楼鼓楼其实都是夜景好看。下午就去碑林博物馆和西安城墙。碑林博物馆很多喜欢历史和石刻的一定要来。傍晚就去城墙,建议女孩子穿汉服,拍照很出片。晚上可以去永兴坊转转,可以在这儿吃吃逛逛。

2024昆明旅游攻略景点大全 昆明有什么好玩的地方推荐

2024昆明旅游攻略景点大全 昆明有什么好玩的地方推荐
冬天旅游的话一定要去滇池,这里会有成群的海鸥栖息在这里。拍照超级好看。3月份之后海鸥就会飞走,一定要留意时间,不要跑空。滇池周围有大小数十个山峰,在湖畔,您可以欣赏到云南民族村、云南民族博物馆、西山华亭寺、太华寺、三清阁、龙门、筇竹寺、大观楼及晋宁盘龙寺、郑和公园等风景名胜区。在滇池可以看到很多海鸥。天气特别晴朗,滇池周边的柳树摇曳,加上阳光照射,堪称为一副美景。可以去买点面包喂海鸥,抓拍几张漂亮的照片。

成都旅游必去十大景点推荐 四川成都最值得去的十大景点

成都旅游必去十大景点推荐 四川成都最值得去的十大景点
1、锦里:夜间的锦里更加热闹,人来人往的街道,水榭亭台间点缀着红红的灯笼,让夜晚的锦里更具古典韵味,十分适合拍照打卡。锦里的店铺都很有川蜀地区老房子的特色,古色古香,还可以淘到各种小玩意。2、宽窄巷子:宽窄巷子是一条清朝遗留下来的古街道,由宽巷子、窄巷子和井巷子三条古朴街道和其间院落组成。在这里还可以体验碗茶、掏耳朵、川剧变脸等特色民俗项目。可以穿汉服来,很有感觉。其实井巷子是非常有看点,而且适合拍照的一条街。

2024山西旅游必去十大景点 山西必去景点攻略地

2024山西旅游必去十大景点 山西必去景点攻略地
1、云冈石窟:中国四大石窟之一,是历史古迹类的景点。第20窟是云冈石窟的代表作,游客们游览云冈石窟都会来这里拍照留念。云冈石窟一共有四十多个洞窟,时间有限的话可以选部分来看。尤其是第五窟和第六窟。这两个洞窟非常精美,洞窟里面密密麻麻的雕像,太壮观太震撼了。比较传统的参观路线是从东部的第1窟开始,依次往西直到第45窟结束。
本文Tag