GameRes游资网

 找回密码
 立即注册
查看: 6917|回复: 9

[经验心得]动作游戏中连招的实现

[复制链接]
发表于 2015-8-5 11:16:40 | 显示全部楼层 |阅读模式
本帖最后由 小篱 于 2015-8-5 11:33 编辑

QQ截图20150805112937.jpg

  文 / 猴与花果山

  知乎上看到一个关于动作游戏连招的帖子,这里是我的一些看法(在那贴我也回了差不多的内容,但还是在GameRes也发个贴吧)。


  首先你必须了解一个概念,每一个角色的动作(包括跳、走路还有通常说的技能、轻拳、重脚之类的),我们都把它归纳为“一个动作”,通常来说,一个动作是不具备任何属性的,除非这些属性是可以简单归纳的(下面详细说),这里是一个游戏设计师通常会犯的错误,他们认为一个技能=一个动作=所有属性归这个动作,但是动作游戏(ACT,这里还包括FTG也就是格斗类)里面,每一个动作都包含了许多帧,每一帧才是这个动作的特点,每一帧通常包含以下属性:

  1,动作贴图:也就是你一套美术动作序列帧的第几帧(通常这个都是一一对应的,虽然说逻辑和视觉应该分开才能做好游戏程序)。

  2,攻击矩形:用于判断自己攻击命中别人的矩形,通常一些受伤、格挡之类没有攻击性的动作是不带攻击矩形的,在攻击矩形中,还会扩展出以下属性:

  1)伤害:通常是百分比,用于和角色的攻击力相乘得到这个矩形框造成的伤害。

  2)破坏:这个矩形框如果作为命中判断的话,它会造成目标失去平衡多少,这里是一个很重要的概念,在一些蹩脚动作游戏中,你会发现可以无限抽血抽到死,因为他的动作没有破坏属性,所以不会因为你连续做一个动作导致目标被打飞或者倒地(等保护动作),他们都简单的采用“连招的最后一下”这个设定来作为打破平衡的,所以你发现,只要你不连招,就能抽血抽到死。

  3)推动:多方向的力,通常有x和y方向,决定如果命中后,目标发生的位移。
在这里你还可以扩展很多属性,具体根据项目的需要进行。

  4)归类:这个归类其实可以看做是一个TAG,因为这是一个动作中的一帧中的一个矩形,每一个动作会有若干帧连续的,每一帧有若干个攻击矩形,如果他们都能生效,那么目标很可能会被一击毙命等,所以我们约定统一归类的攻击矩形,再一次动作中仅生效一次,比如我们在一个踢腿动作中定义了Kick作为归类,所有的攻击矩形归类都是Kick,那么这个动作帧任何一帧的任何一个攻击矩形命中了目标之后,该目标就不会受到这个动作的第2次影响。

  5)特殊标志:用于一些面对受攻击、防御矩形时候特殊处理逻辑的参数,通常不推荐使用,但如街霸中“锁骨割”,侍魂中“不意打”之类攻击矩形在下半段,却要破坏下半段防御矩形效果的攻击动作会有这样的使用。

  3,受击矩形:若干个受攻击矩形,受到攻击的时候进入受伤处理的流程,这里有一个技巧就是,一些需要保护的动作,比如角色倒地了的时候,是不需要受攻击矩形的。每个受攻击矩形一样会有一些扩展属性:

  1)免伤:受到伤害降低多少,通常很多游戏是不用的,但如果做现在的游戏,尤其是类DNF的,应该会用得上。

  2)平衡:对抗破坏的,如果平衡高于破坏,那么角色的动作不会因为受到攻击而被中断,否则应该当前动作就被中断了,你可以想象街霸中2个角色对踢,然后一起受伤,就是因为踢脚动作的破坏都高于平衡。

  4,防御矩形:角色的防御判定矩形,在遭到攻击矩形碰撞的时候,与攻击矩形相交的面积和攻击矩形与受攻击矩形相交的面积通过一系列算法可以得出本帧是否是防御成功的,防御成功的应当按照防御矩形的属性来算(属性同受攻击矩形,但处理上通常还是会有些区别,这个因游戏而异)。这里通常出现的一个概念问题就是方向,因为每一帧这个概念本身是静态,你也不应该根据前后帧(尤其是后面的你根本不知道)判断攻击来的方向,所以这个算法是个有点意思的东西,我在GameRes上曾发帖说过。

  5,Cancel标志和可Cancel标志:这是2个属性,但我把他们放在一起说,因为他们的作用是互相的,假如A动作的第5帧到第8帧的“可Cancel标志”=FF(举例,所以就算编乱起一个),而B动作具有(不论是否作为动作的属性)Cancel标志=FF,那么当A动作播放到5-8帧的任何一帧,都可以由B动作来终结A动作转而进入B动作,通常的,Cancel标志北方在每一帧里面,B动作的第一个具有Cancel标志=FF的帧,就是在Cancel了A动作之后开始播放的帧。通过这个,策划在合理的设置之后,就能够将一连串动作形成连招,甚至连招并不是简单地一条直线的,你可以A->B->C,也可以A->D->C,也可以A->B->D->C,你想到什么都可以,只要策划填写对路。

  在这里要强调一点,上述说的都是逻辑层的工作,在游戏开发中,逻辑与视觉的同步只是一种必要的耦合,但千万不要因为视觉所以逻辑,只有因为逻辑所以视觉。其实原本还想说一些动作游戏的动作设计技巧,但是我本身是一个程序型的策划,并不擅长美术制作,有很多朋友是美术型策划,作为美术参与了很多著名动作游戏的开发,所以我就不献丑了。

  相关阅读:如何设计好连贯的游戏连招动作

发表于 2015-8-5 12:57:30 | 显示全部楼层
写得不错,事实上会者恒会,不会者根本不知道你说什么,帮顶吧。
发表于 2015-8-5 16:08:04 | 显示全部楼层
herosone 发表于 2015-8-5 12:57
写得不错,事实上会者恒会,不会者根本不知道你说什么,帮顶吧。

恩哼~确实写得不错。
发表于 2016-4-11 10:45:18 | 显示全部楼层
第五条,大错特错!Cancel标志如果定义在5-8F,必须是9F触发,5-8F之间用来预存Cancel指令,不然你的打击节奏不但混乱,还会让你自己忙不过来出下一招,一看就是没做过格斗项目,如果此贴针对动作或ARPG请标注清楚
发表于 2016-4-11 11:15:51 | 显示全部楼层
4楼正解,不过,不是格斗项目,也有预存,是为了增加玩家的操作容错率。DNF这种就是不说了,像魔兽世界这种ARPG也有预存设计,且每次只能预存一个操作指令或集合
所以,可能只是笔误或遗漏,不能证明什么。

关于第四条,想请教楼主
完全可以用攻击者与受击者,双方的坐标和自身动作方向 ,来判断对方位于自己动作的前方或后方啊。
为什么不用这种方式来判断?

通过攻击矩形与防御、受击矩形的相交面积来判断是否防御成功?通过算法来处理,我实在是没想出,怎么去设计这个算法。
为什么不用方向和受击时间点的先后,来辅助判断是否防御成功呢?

可以的话,私信加个QQ交流一下,可以吗?
我QQ:232117398
发表于 2016-4-11 14:05:47 | 显示全部楼层
动作.png
刚才的回答不太清楚,我用我们现在的项目的来举例吧,如上图
5~8F,是后摇时间。其实从机制上来说,一般5F之后,就是完全可取消的后摇
为了保证玩家的输入成功率,我们一般在可取消后摇前,有一段可输出指令时间。
发表于 2016-4-11 17:36:50 | 显示全部楼层
水向 发表于 2016-4-11 11:15
4楼正解,不过,不是格斗项目,也有预存,是为了增加玩家的操作容错率。DNF这种就是不说了,像魔兽世界这种 ...

我是做战斗逻辑设计的策划,我是通过方向来判断是否背击的,攻击框和受击框都是有朝向的,加上施法者的朝向,应该是能计算出背击的。
相交面积会误判的,以前实在GameRes还是哪里看过专门写攻击框的帖子,里面就有详细说过相交面积会判断背击的逻辑会有漏洞,比如横版东西里面长枪刺穿了身体之类的。

然后楼主说5-8F那个东西应该是类似于收尾或者称之为破绽的东西,不是预存吧。楼主貌似没说预存这个事。那个收尾应该就是单纯的表示专门用于技能衔接的时间段。
一般来讲,还需要加上技能打断等级或者技能类型的概念,因为我觉得不是所有技能A都能随意打断技能B,这种效果会好一些
发表于 2016-4-11 18:10:28 | 显示全部楼层
动作.png

审核多长时间。。。还不出来。
重新发一下吧

我在5楼里的回复,没说清楚。见上图
发表于 2016-4-12 09:44:56 | 显示全部楼层
水向 发表于 2016-4-11 18:10
审核多长时间。。。还不出来。
重新发一下吧

同意,基本流程基本都是这样了,根据项目具体情况会有细微调整。
楼主说的应该是可取消的后摇时间,不过跟那种移动可打断的后摇又不相同,楼主说的应该是只有技能可以打断的后摇部分。
发表于 2016-4-12 17:48:34 | 显示全部楼层
我一般是叫出招、判定、收招3个阶段,出招和判定阶段是可以预存指令的,收招阶段是可以被取消的,因为毕竟这种设计放在战斗逻辑以外的地方会觉得很怪,所以我觉得这么叫会更清晰
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|稿件投递|广告合作|关于本站|GameRes游资网 ( 闽ICP备05005107-1 )

GMT+8, 2018-6-18 19:48

快速回复 返回顶部 返回列表