Project1

标题: ARPG技能-光耀突袭-效果展示(包含大量技术细节) [打印本页]

作者: RyanYe    时间: 2023-7-28 22:09
标题: ARPG技能-光耀突袭-效果展示(包含大量技术细节)
本帖最后由 RyanYe 于 2023-7-28 22:17 编辑

效果展示

[bilibili=BV1jN411Y7EG,1004]768[/bilibili]

此次帖子包含了本技能的制作流程,主要针对的是具有一定水平的想做ARPG游戏的开发者朋友们
以下因素虽然会直接决定这个技能的好坏程度,但由于并非技术要素,因此本文予以忽略:
游戏整体规划、技能策划案、数值配置、素材打磨

对制作细节感兴趣的可以点开下面不同的章节部分查看内容

技术大方向

简易策划案说明:
基本功能沿着玩家朝向释放能量屏障,贯穿、击退所有怪物并使其短暂僵直
数量增加数量增加后会沿着顺时针方向顺次增加数量,超过4个后间隔一定时间反复发射屏障
大小增加视觉效果和宽高判定区域同时增加
圣盾效果改变屏障颜色并且使击中的怪物进入随机时长的减速debuff

1,根据策划案,此技能需要在技能栏上,并且会造成伤害,因此需要用到AABS插件
2,由于其弹道逻辑较为复杂包含很多细节需求,因此选用功能比较强大的仇九弹幕插件(MV版本)
3,发射出去的是事件还是弹幕?最终选择的是弹幕,事件和弹幕的区别有很多,我总结起来主要的各自优点为:
    事件:可以承载RM自身的所有功能,可以一边移动一边自己再发射更为复杂的弹幕,可以成为怪物被玩家攻击
    弹幕:有丰富的移动轨迹,且无伤害的弹幕(Bit:true)较多时游戏基本不会卡顿,支持文字、激光等特殊元素
选择弹幕是因为此技能的自身移动轨迹比较复杂,大小、判定、速度等均需要与游戏其他功能关联

核心事件页

1,伤害判定

弹幕传攻击类型属性(其实就是对象下面自定义了一个属性而已)“luminal”给到怪物的事件页
怪物被击后切换事件页A,然后并行执行此公共事件,再根据非常长的判断,走到截图的位置
这里就会执行“这个技能”对怪物造成的影响,而区分其他的攻击(非常多,每个都不一样,非常复杂)
根据策划案,被攻击到的怪物,需要:
减血、播放电流SE、进入debuff(天赋功能)、被击退(后面有格子的话)、变色(用了钻头的插件,在下方太长了未截到图)

●其中Holy也是自定义的一个属性,其是否为true是在弹幕上绑定的,如果是那么怪物就中debuff
●!=1和后面事件自变量20那个判定是说某些刚体的怪会无视击退效果(例如DPS稻草人、木桶、大型重量级BOSS等)
●下面的move_valid_region()和direction2p_abs()均为通用的自定义函数,可以望文生义且比较简单(此文针对的是有一定RM基础的)就忽略不讲了

2,技能事件页

●qv_perks()函数是将某变量的值与对应装备词条所加成的值相加后的加和,例如玩家默认可以召唤1道屏障,而武器词条上说了屏障数量+12,那么这个值返回就是13(如果衣服再+2,那就是15),在前面生成好并且赋值给this.xxx的设计目的是为了节省性能,因为后面会出现循环,循环执行此循环函数可能会造成游戏额外消耗不必要的性能
●$gameSelfVariables是事件自变量插件的功能,是可以给事件增加一个只属于自己的自变量,其与在脚本中直接定义this.xxx的功能类似
因此按照这个写法,就是将下列代码执行qv_perks(150)那么多次(召唤多少个屏障的数量)
需要此免费插件的可以点击我的签名档,在其百度网盘或QQ群里有范例工程
●QJ.BL.Shoot就是仇九的弹幕代码,这里的意思是发射一个这样的弹幕,其弹幕对象的属性定义如下(一大堆的key-value)
这里是弹幕的核心,内容极多,因此本文全部忽略,有兴趣的请加仇九的QQ讨论群或者在论坛查找仇九的弹幕帖
●自变量1对4求余==0是在判断是否为同一波的屏障,如果是则一起发出来不要间隔,如果不是则间隔45帧再发(策划案上的纯逻辑)

自定义函数



要点总结

★★★慢就是快:在思考技术问题之前,一定要把准备工作做充分,绝对想清楚了再开始干,尤其策划案不能少,不要做的半截临时加改功能导致各种根源和问题的出现
★★风险意识:技术复杂的功能,先做风险点。比如这个技能对于我来说,风险点就是“技能做出来酷不酷”,这个对我的挑战极大,因此我就先做了个简单的事件测试了一下发射几个屏障好不好看,如果效果很差,做其他部分也都是无意义的。
一般性的风险:美观、性能、关键判断、插件冲突等
★思想编程:这一步有点像下棋,就是刚开始就把后面各个步骤一次性想清楚,需要多少个事件,弹幕需要哪些属性,打怪有什么反馈等
★充分测试:这一点虽然放最后了但无比重要,尤其是不按照规定的方式操作的边界条件测试,能测出很多很多很多的问题,千万不要等上线了再打补丁,到时候一旦玩家的存档因为更新而无法继承,那绝对是骂声一片的。
★★★欢迎大家来跟我交流技术问题,喜欢的可以加群:894605281(几乎没有水群的,包括盒饭)
工作做游戏,是为了生存
RM做游戏,是为了梦想
加油!


作者: qq1425153443    时间: 2023-7-28 22:25
冲鸭,火乐
作者: 白嫩白嫩的    时间: 2023-7-28 22:38
鱼哥太强了,分享心得是大爱啊
作者: tamin21    时间: 2023-7-28 22:44
6666666666666
作者: 红十字    时间: 2023-7-29 05:34
感谢大佬.666666




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1