关于继承上局血量(我想问一下原理)
2dfm吧
全部回复
仅看楼主
level 8
这个是怎么实现我想知道,(有时间的话拖影血条也可以顺带提一下)求火吧务必告诉我..(虽然斗魂有现成的,但是我想学习一下,这个对我了解系统变量应该会有帮助,以后好自己做一些特殊系统,我知道用任务变量和角色变量就是不知道怎么用系统变量,估计3个都差不多----)
男生镇楼
2013年06月05日 10点06分 1
level 8
2013年06月05日 10点06分 2
level 8
小火一定要把知识传授给我啊--
2013年06月05日 10点06分 3
level 8
2013年06月05日 10点06分 4
level 8
继承上一局血量应该要
加一个胜利方的奖励血量.................这个提供给设计者改就不错了...
2013年06月05日 11点06分 5
这个以后会有教程介绍的,只需要做点设置即可,《斗魂》在制作之初就考虑过奖励血量以及在一段时间内不受伤可以回血的问题了,这类功能都在角色文件里弄就行,和系统无关
2013年06月05日 15点06分
level 8
要是想搞技术的话就研究这个问题,要是想做游戏的话研究这个就太浪费精力了 ,火吧用的变量跟普通人用的变量不是一个概念.……
2013年06月05日 11点06分 6
level 9
这个恐怕要说清得几万字[揉脸]涉及到的东西太多
2013年06月05日 15点06分 7
召唤---------------
2013年06月05日 16点06分
level 8

-=-有教程介绍吗--那真的很好,我等教程出来看吧...............................................................................................................用到哪些变量可以说说吗--我自己也可以想想的--
2013年06月05日 15点06分 8
https://tieba.baidu.com/p/2137596147这里记录了都有哪些变量被什么功能使用
2013年06月05日 21点06分
level 8
多思考一下也有好处
2013年06月05日 15点06分 9
level 8
任务变量局限太大了吧(比如不能做霸体)--感觉没什么用(没角色变量一半好用)......能举例子告诉我任务变量怎么用吗--—(任务变量在做变身,冰冻石化受伤动作,被抓取还能被第三人攻击,躺地能被追击这种功能用得到,其实任务变量我概括一下就是用来做人物“变身”的,比如冰冻,就是给所有受伤动作全变成无移动的站立动作,然后物一张冰块图片)--
2013年06月05日 16点06分 10
level 12
需要的核心功能:
检测人物当前血量并将其数值记录给某变量(比如A)
将人物血量设置为某变量(比如A)的值那么多
具体原理:
人物所有非受伤动作开头都调用第一个功能,把当前血量记录给变量A
情况1:如果人物战败,血量清零,则A=0
情况2:人物取胜,胜利(自由)动作开头把血量残余数值寄存给A
情况3:平局,人为设置A=0
第二局开始动作中,A不是0的时候,调用第二个功能将人物血量设置为上一局结束时记录的那个A的值,完成血量继承
---------------------------
难点:两个核心功能的制作
1---检测血量,两种方法:
一种是用【血】分1000种情况检测血量,按情况将血量存给A,这个方法至少要3000个脚本方格可以实现
优点:运行迅速,不受攻击或者【槽】增减血量干扰,绝对稳定
斗魂采用的是这个笨办法,当然也是最高效和稳定的方法
另一种:第一阶段功能“减血计数”:【血】检测血量大于99时,用【槽】给人物减血,每次减血100之后给一个变量B加100,然后返回去【血】检测血量是否大于99,如果是,继续减血,如果不是,跳转去【血】检测血量是否大于9,如果是,每次【槽】减血10并给B加10,如果血量不大于9就跳转去【血】检测血量是否大于1,如果是,就每次【槽】减血1并给B加1,如果不是就给B加1跳转到下一阶段功能的开始
第二阶段功能“血量恢复原值”:【变】将B值复制给A储存,然后【变】对B进行检查:大于99时,B-100同时【槽】给人物加血100,然后再次检测B是否大于99,如果是就继续对B减100并给人物加血100,如果否,跳转去【变】检查B是否大于9,如果是就给B-10并给人物加血10,然后重新检测B是否大于9,如果是就继续加血并B-10,如果否跳转去【变】检测B是否大于0,如果是就给B-1同时给人物加血1然后重新检测B是否大于0,否就跳至功能结束
本功能最后输出A值,就是检测到的人物血量,而B最后已经清零,人物血量也还原
优点:脚本数只有几十个
缺点:设计难度比第一种大,运行稳定性未知(因为2dfm的默认血条会随时根据血量变换进行显示,其内核计算量未知,第一种方法不改变人物血量,所以可以判断内核显示血条的功能不做任何计算),未经高强度测试(短时间频繁改变血量并调用本功能检测输出A值)确认此法的稳定性
2---按照变量B的数值设置人物血量:
首先要有减法模块,计算出当前血量K与目标血量A之差(当前血量K减目标血量A,可能是负值)存给B
无论正负,先检测B,B是正值时说明当前血量高于目标血量,检测B大于99、9、0的情况分别减血100、10、1,同时给B减少100、10、1,直到B=0,则人物血量已经减到目标血量A
B是负值时说明当前血量低于目标血量,检测B小于-99、-9、0的情况分别给人物加血100、10、1同时给B加100、10、1直到B=0,人物就达到目标血量A
减法模块的原理我在精品区某帖子里写过,自己找吧
2013年06月23日 02点06分 11
这个我用个简单的方法做(意思一下而已,不然4v4就废了),以100hp为单位,结束时根据胜利方的hp(587就+到600 615就+到700)确定下局的血量...具体怎么搞我还要研究一下.
2013年06月23日 07点06分
level 12
拖影血条极为复杂,需要每次受伤或其它血量变更时,调用一个【检测当前“血率”】的功能,它由五部分组成:
1----检测当前血量并储存给变量A
2----变量A 除以 人物总血量 得到“血率”,这是个百分率,但输出的数值是这个百分率的100倍,例如78%输出是78(除法模块本身就很复杂,这里不细说了,他还要反复调用减法模块的,所以减法模块还是基础)
3----检测人物身份并将血率存给对应身份的那个系统变量
4----系统图像部分建立一个功能,即制作一个【物】,其功能是每隔2单位时间检测一次两个人物的“血率”对应的两个系统变量,根据系统变量值找到对应长度的那个血条图像进行显示,显示时间也就是2单位时间,然后再次检测“血率”有没有变化
5----对上述检测功能,制作一个减序显示血条的动画,只要“血率”降低,就激活对应的动画,血条就是渐变减少的,如果血量增加,则立即回升,不做渐变处理
这个说起来就是这样,但实际做起来的问题超级多,而且2dfm有各种功能限制,要绕过它们也需要很多特定处理,详细讲是没法讲的,需要涉及的东西太多,只是介绍2dfm的限制就要很大篇幅,分析限制原理然后说明绕过它们的机制就要更多篇幅
而最重要的是,为了实现高稳定性,还有很多后期处理,这些是涉及到其他功能的兼容性的,要讲它们不可能不介绍其他功能,那就没边了
2013年06月23日 03点06分 12
噢噢噢噢这样就能做恶魔战士了
2013年06月23日 03点06分
[汗]好吧,确实很麻烦--
2013年06月23日 07点06分
level 12
斗魂是个经过数十次推倒重建和数百次大小修改的东西
因为2dfm功能少的可怜,限制又多,最重要的是变量数量极少,要实现的功能又很多,我还要给诸位留出一些余额将来制作个性功能用,所以反复的优化设计重做是免不了的
即使做了优化也未必保证得了不同功能同时运行会兼容,为了提高兼容性,做的设计修改更是不计其数
最后还有稳定性的问题,只有功能而没有稳定性,那功能等于白做,运行就出故障那是没有意义的功能,所以选用稳定性高的制作方法尤为重要,这就少不了海量的测试分析,毕竟我们不了解2dfm的内核,所以一切制作方法的效果都无法靠理论分析,只能靠大量的实际测试(n in 1坦克大战 这个副产品就是这么来的,它只是一次测试的产物,类似的东西我这里还有很多)
所以它已经不能用“高难”或者“复杂”来形容了,这个东西只能用“恐怖”和“变态”来形容,我说这个的目的不是说我有多能耐,我只是想告诉你这种工作是不可复制的,哪怕是其中的一部分你都很难独立完成,因为我亲自做过,我知道这东西有多杀耐性
探究它的各种功能的制作细节,其实已经没有意义了,即使你知道它是如何实现,你也只是知道冰山一角,各种优化设计以及兼容性考虑,还有稳定性修正,这些才是关键,而它们绝不是那些简单的原理能涵盖的
当下有意义的事情是用斗魂这个模板制作游戏,而非研究这个模板如何制作,汽车问世的目的是为了给大家提速,而非炫耀高科技,所以学会开车比学造车有意义得多,就算你学会造车,你还准备自己造一台不成?
制作格斗游戏实质相当于驾驶模板这台车去拿赛车冠军,你了解汽车构造对你拿冠军其实毫无用处,做格斗游戏最终还是看招式设计以及人物设计,完全和游戏功能没有什么关系,这和开车与造车无关是一个道理
即使你能在你自制的游戏里实现某种功能(比如拖影血条),你觉得你的游戏就鹤立鸡群了吗?
别人用斗魂直接就带这个功能,而且还带其他功能,他完全可以在基础上直接藐视你自制的系统,他就可以把更多精力放在重要的人物招式设计上去
你钻研了半天拖影血条,做出来的东西最后只能说“自己制作的拖影血条很有成就感”,这只能用于自我欣赏而已,会有多少玩家买账呢?
斗魂的存在,不是为了让大家看到2dfm原来可以做到这么多,事实上虽然可以做到,但是这个代价是一般人付不起的
所以斗魂不是一种制作技术能力的展示,所以我反对任何人向着“技术流”发展,去走mugen玩家的老路(mugen的好游戏有多少?按我的标准一个都没有,虽然有各种技术流,但他们一件好玩的东西都没做出来,这有意义吗?)
斗魂存在的意义就是将每个人制作游戏的功能下限提高,让大家不再为了实现某个狗屁功能去纠结制作技术上的问题,而是可以在现成功能条件下,把更多精力用于设计好玩的高质量游戏
其实mugen界的老人们有过制作一个mugen版的类似斗魂这样的模板的念头,但是太多的小白都追求技术流,都想成为技术大虾,伪装一下程序猿(其实就算你mugen玩到神的境界,你还是不够被程序员秒成灰),所以老一代mugen人放弃了这个伟大的计划,因为大家都不想做游戏,只想做点功能特殊的人物来显示自己的制作技术
斗魂相当于我把老一代mugen人的最后梦想,在2dfm这个平台上实现,所以我希望它能激发大家的游戏创作热情,而不是激发大家去争当“技术帝”
有了斗魂,大家应该争当游戏设计的大神,什么技术帝那都是浮云,技术只是为设计服务的,仅此而已
只有技术蛮荒时代,技术帝才有市场,技术帝的受人膜拜正表明了技术贫瘠的本相,当技术已经不再是问题时,谁还需要去膜拜他们?
而斗魂已经给大家打开一个秒杀技术帝的时代,我希望大家都成为创意之神,玩技术早过时了
2013年06月23日 03点06分 13
level 12
无论你是求知欲+好奇心驱使,还是想要获得什么成就感,你都没必要去研究斗魂的功能怎么做出来的,你完全可以把斗魂提供的功能视为内核功能的补充,即完全可以假装看不到它的那些脚本的存在
因为我可以负责地告诉你,能把现有功能用好,那才是高手,因为那不靠技术,靠的是创意,技术谁都能学会,但创意不是谁都有
从求知和好奇角度来说,就算你了解了斗魂模块的制作原理,实际上还是仅仅略知一二而已,距离你能动手实现它还很遥远,因为没有哪个功能是孤立的,要把一个功能做好,不可避免要考虑其他匹配功能,这就不是只做一个功能的问题,它是一个系统工程
所以就算你略知一二满足了好奇心,其实也没有任何意义,最多你可以去和别人说我知道这个东西是这么做的,但是涉及到具体细节,你完全不会知道有多少你想不到的问题存在
如果你想获得成就感,开动你的想象力去做个好游戏吧,那远比研究模块原理有意义,研究模块原理说到底只能纸上谈兵,做一个好游戏那才是开创实业
2013年06月23日 03点06分 14
level 12
望早日看到楼主的力作问世
好的游戏不一定要各种神奇的功能,《东东不死传说》没有炫目的功能,很多方面很粗糙,但是谁都无法否认它是一个很好玩的游戏,就我个人来说,它比拳皇好玩得多,这是实话,和《东东》相比,拳皇街霸在趣味性上都只是渣渣
对于游戏来说,好玩才是一切,毕竟你要做的是给人玩的游戏,而不是什么功能复杂的应用软件,如果你真的想追求别人想不通猜不透的功能如何制作,想要展示自己的编程才能,那你应该去学C++之类的真正编程语言以及它们的配套软件
2dfm说到底,它只是用来制作格斗游戏的工具,你应该用它来展现你的创意,而不是去模仿程序猿(我做斗魂也不是为了模仿程序猿,程序猿遇到这种四处受限的局面也会跳楼的),我的目的就是希望大家可以真正进入一个无视技术帝的时代,一个创意帝的时代
2013年06月23日 04点06分 15
[乖]不是你想的那样--,只是好奇问一下这个功能,如果很复杂我也懒的学-- ,[汗]还有2dfm做出来的游戏会被人改的--有没有加密打不开的,这样我才放心拿出来--毕竟用业余时间做的,花了时间和精力,真不希望不劳而获的人改来改去--他说是他做的我也不管,就是不希望有人改--(初做什么还是算了,太糟糕了)
2013年06月23日 07点06分
如果有加密的,我会考虑发出来,最近突然想做的游戏就是dnf-(dnfpk不知道多气人,拼装备--所以一气之下就有这个念头了)
2013年06月23日 08点06分
还有2dfm能实现保存进度就好了--[开心]。。。。。。。。。。。。。。。。这个问题一直纠结我.
2013年06月23日 08点06分
level 12
1-----禁止别人用编辑器打开你的kgt修改系统图像等设置:
制作一个空的场景文件或者影片文件,放在所有场景文件或影片的第一位,生成游戏后,在生成游戏的目录下把这个空白文件删除
虽然游戏根本用不到他,但是编辑器要打开kgt第一步要读取它,但会报错,因为找不到这个文件,给这个文件起名为零(0)和欧(O)的组合,名称要长,那么别人就无法打开你的kgt了(每次打开都提示找不到000ooo00那个文件)
2-----人物或场景或影片文件防改:
制作完成后项目名都改成零和欧的组合,可防止别人看懂你的项目内容
脚本多使用跳转,并统一跳至作者签名区,再由该区跳至正确目标,这样一方面别人不敢删除你的签名,另一方面他也对你跳来跳去的设置摸不到头脑,不敢擅自乱改你的脚本
图片防盗用的方法有一篇专门帖子介绍,这里不细说了
2013年06月23日 15点06分 16
[汗] 感觉变麻烦了--用2dfm自带的加密是不是没用--
2013年06月23日 17点06分
回复 云雀恭弥与勇士 :用破解版一打就开
2013年06月23日 18点06分
所有加密都只是增加破解的成本而已,你防破解的成本低,破解的成本也低
2013年06月23日 18点06分
2dfm的一个优势就是不用借助别的软件,稍微使用上我说的手段就能自动大幅增加破解和修改的成本,而使用加壳工具容易被杀软报毒
2013年06月23日 18点06分
1