穿越火线吧 关注:10,136,436贴子:261,940,248

【CF代码解析】2.0纯净版——第一章

取消只看楼主收藏回复

本帖为代码解析系列的纯净版。
献给所有CF的数据研究爱好者们。


IP属地:日本来自手机贴吧1楼2019-06-29 15:35回复
    二楼用于内容补充/更正或疑难解答。


    IP属地:日本来自手机贴吧2楼2019-06-29 15:36
    回复
      现在,让我来说下我们对于数据的研究,而写出的数据解析目前有如下版本:
      1.0版
      我 Light 泥鳅 美琴共同制作的上面发的链接的那个版本,该版本距离现在快3年了,是有些地方有错误和不严谨的。
      1.0S版
      该版本是我隐退期间Lighthui独自将我们四人组当时没有进行解析的一部分武器外的其他数据进行的一次补全,这也是我隐退期间唯一的一次更新,该版本没有进行发布。
      2.0版
      我们这次开始要更新的版本,对之前的不完整,不准确的部分进行了大规模修正,此次研究从我回归开始到现在为止历时近乎半年完成,由:萌e穹,soren,柚子不幼稚,Lighthui,尿素,美琴,泥鳅,三味线晴掌门等人共同完成(以上仅为主要名单,不代表没有其他人,比如在群里偶然给些点子那种,那种就太多了,所以实在无法列举,现在开始回忆,争取到最后一期给大家个完整的)。
      以上三个版本中,这次要更新的便是2.0版,它的解析比1.0要更加准确,详细,而且更正了其中的错误。
      这次的版本,我也不敢说100%绝对准确,毕竟这个游戏的数据其实比想象的多得多,除了武器,还有各种人物,地图,物理运算等等机制需要进一步探究。


      IP属地:日本来自Android客户端3楼2019-06-29 15:37
      回复
        而且我们对于这些的探究不会就这样结束,如果后续发现有小的问题,我们会在帖子内进行后续的修改,当发现的问题累积到一定程度后,我们会再次更新更准确的版本。所以当各位进行数据研究时发现实际效果与解析内容有所出入,也欢迎联系我,我们会进行进一步的修改。我不确定我们是否有一天可以做到最完美,但我们会永远努力做到比昨天更完美。
        我想说的话,就这么多,接下来我们要进入正题了。


        IP属地:日本来自Android客户端4楼2019-06-29 15:38
        回复
          阅读前必读:
          1.本系列帖子的每个部分均分为四大模块:1.0版原文,2.0版补充/修正,研究过程,结论。
          为什么要加上1.0版原文呢?这是为了让大家看看我们之前的不完整或错误结论,然后和2.0版比较,这样易于理解,而贴出研究过程的目的也是如此,让大家看我们对这组数据的理解从无到有的全过程,将读者带入我们的研究过程中,有一种“身临其境”一起做了研究的感觉,应该更便于大家理解。
          2.请勿拿着新结论对无论我曾经的老团还是现在的新团的成员的任何评测进行无端“找茬儿”,老评测或许从现在开始看来,是很多错误的,但正是这些错误,才能推动我去花这么多精力去更新新的弹道论,没有错误就不会有进步,这个道理大家都懂,请尊重之前的所有评测人员,那些错误评测,我也会督促评测人员花时间尽快去修正,大家静静等待就行了。
          3.请勿用这些东西去做出什么有损腾讯官方或其他公司及玩家利益的行为,造成的一切后果与本团体无关。


          IP属地:日本来自Android客户端5楼2019-06-29 15:38
          回复
            4.很多人关心的:你只教我们如何看数据,为什么不教我们如何扒数据?扒不出来数据,我们光学会它们代表的含义有什么用?
            对于这个问题,我来解释下,首先,制作解包器的作者之一,正是我们团的成员。但是他本人的意思,并不希望传的太广,因为各种原因,包括不想给自己惹麻烦。
            所以,这里我给大家些提示,大家自行心领神会:
            虽然他本人不想直接公开发布,但是他曾经间接的向他的朋友分发过数次。互联网是有记忆的,所以,这些宝藏其实就散落在互联网的海洋中,而你们只需要撒下名为“百度”的网,稍微花一些经历,便可以将它们打捞出来,而且就我个人所知,只要你们有这份心,并不需要你们花太多精力就会找到。
            我的提示只有这么多。
            在這裡鄭重聲明,本團所有的數據修改均為了給玩家科普与展示。絕不用於任何商業用途,測試環境均為僅有本團團员存在的密碼房或人機模式,且僅在外服或殘端進行。汐月評測堅決反對任何破壞遊戲平衡的行為。我們堅決反對,以任何形式的對於客戶端的篡改來進行PVP對戰。維護綠色遊戲環境,從我們做起。


            IP属地:日本来自Android客户端7楼2019-06-29 15:39
            回复
              弹道解析部分
              弹道相关数据是武器参数中最大的一块,不出意外我们会分成三到四次发完,因为内容繁多,一次发完可能观看效果不是很好,我们需要先发一部分试试水,看一看人们能否看懂,再决定接下来的部分是否要更加详细。
              如果觉得自己明明都看懂了,但是却做不出评测,而且对弹道的理解还是觉得无法把知识串联起来,也是很正常的,因为我们会分几次更新,所以等看完所有的弹道相关数据后再试试将所有的知识串联起来,或许效果会更好。


              IP属地:日本来自Android客户端8楼2019-06-29 15:39
              回复
                弹道相关数据我将其分为三大类:
                1.状态类数据:该类数据的特点是,他们每组都有五个参数,按顺序分别对应站立静止,下蹲静止,站立移动,下蹲移动/静步,跳跃。其中跳跃状态采用特殊运算方式,所以即使是和其他四种状态下数据相同的情况下,它的实际效果也会差于其它四种状态。
                这类数据是为了区分各种状态下不同的弹道而存在的。不同状态下弹道不同的主要原因就是来自于这类数据。
                2.节点类数据:该类数据的特点是,均按照子弹数编写,这类数据大多都是决定弹道走向的数据,该类数据往往是CF弹道形成的最基础数据,比如射击偏角,落点区间等等。
                3.非常规数据:这类数据的排列比起前两者,规律性是最差的,甚至会存在明明是同一组的数据,但是连单位都不同,他们的一组数据中既不是按照5种运动状态排列,也不是按照子弹节点排列,也是解释起来最困难的数据。但是这类数据对武器的影响往往还特别大,甚至贯穿一个武器的点射和连射能力。
                除此之外,武器的数据还有决定伤害,各类速度相关等数据,我们会在后续的帖子里慢慢讲。


                IP属地:日本来自Android客户端9楼2019-06-29 15:40
                回复
                  弹道解析部分(1)
                  ——状态类数据
                  1.命中率基础值(命中率区间值/最小,大干扰值)
                  例:M4A1-雷神
                  (PerturbMin1 0.0043 0.0040 0.0053 0.0048 0.0063 )
                  (PerturbMax1 0.155 0.150 0.185 0.158 0.190 )
                  1.0版原文:
                  数据作用:这组数据表示在不同姿势命中率的最大值和最小值。(按顺序依次为站立,蹲下,站立移动,蹲下移动,空中)
                  数据大小影响:最小值越大首发命中率横杆越长,最大值越大命中率衰减后的最大命中范围越大。
                  2.0版补充:
                  这组数据等于将命中限制在了一个区间,它确实影响命中,但却不是决定命中的唯一数据。所以说如果将这几组数据列出来然后说这就是五种姿态下的命中的话,是错误的,比如这是三年前实测阶段的老图:


                  IP属地:日本来自Android客户端10楼2019-06-29 15:40
                  回复
                    上面的数据是当时读像素块得出来的不完全准确的值,大家可以无视,但是只是看长度也知道和这五个数的比例是对不上的,即使除去跳跃状态的不同算法,也是如此。
                    因为,这五组数据只是决定命中的数据之一,而不是全部,他们的意义更大的是在于将命中限制在了一个区间内,而真实的命中还需要计算命中相关的其他系数以及即时的命中衰减状态,这个之后再详细说。
                    同时,该数据挂钩准星大小。
                    总结:CF所有武器命中率都是以线或者矩形的形式存在。这部分数据表示了命中率的最大值和最小值(前提是其它变量不变,因为还有其它数据会影响命中)。单发命中率的具体大小和形状,还要看它的首发落点区域。如果是中间落点,则是直线,不是中间落点,则是矩形。这点会在后面落点概率处详细说明。
                    上面的结论,仅限首发且无精准衰减及浮动的情况。且不是全部武器都符合这个规律,例如副武器。
                    副武器由于算法和步枪的区别,无论首发中区间命中概率是百分之几,都是失准的。所以拿着COP 33 34 33的落点区间,沙鹰/破空等0 100 0的落点区间,然后说COP首发失准,这种说法是错误的,因为其实它们都失准,其实有沙鹰或者破空的朋友可以找个远点地方打一打立刻就会发现不是线形了,这只需要一个简单的测试。关于这方面的详解,就等我们讲到落点区间概率时候再说吧。
                    研究过程:这个就要追溯到三年前了,其实说来也有趣,三年前当我们研究到精准变化率的时候,就已经发现这个数据不是决定命中的唯一值,然后美琴和泥鳅问我,要怎么命名,我说,命名太长的话不好记,干脆拿最有代表性的特点命名吧,所以最初命名为命中率极限值。
                    再之后,因为我隐退了两年,不知道是不是这个问题就被大家遗忘了还是怎么,后来这组数莫名就直接变成命中率了。
                    后来我回来后为了严谨,和SOREN商量,要体现出他不是决定命中的唯一值,所以我回归后尤其是最近的评测多数都以“初始/最大命中基础值”或“命中基础min/max值”来称呼了,不知道大家喜欢哪个呢?
                    再然后,就是不得不说,三年前我和美琴 泥鳅 Lighthui组成破解研究小组开始一门心思破译这些数据的时候,最早发现这组数据不是决定命中的唯一值的是泥鳅。没错,就是那个为了评测打弹道图打了几万张叠加图的人。他最早发现了这组数和他的实测结果对不上,这才引发了我和美琴小辉的后续研究,当然还有两年后和soren,柚子,尿素进行的彻底实锤。


                    IP属地:日本来自Android客户端11楼2019-06-29 15:41
                    回复
                      总结:横摆和上扬的最大值是决定弹道好坏的关键数据之一,他相当于弹道的整体框架,属于看一个武器好坏的最硬性的指标之一。
                      研究过程:这个就不存在啥过程了,当时只是看一眼我们就知道怎么回事了,因为太明显了,然后就是找了大量武器做参照,发现都符合规律,也就这么实锤了。


                      IP属地:日本来自Android客户端14楼2019-06-29 15:45
                      回复
                        3.射击干扰细节值(射击偏角系数/落点间隔)
                        例:M4A1-雷神
                        (DetailPerturbShot1 0.968 0.970 0.930 0.940 0.900 )
                        1.0版原文:
                        数据作用:这组数据表示在不同姿势连射过程中的每发子弹间隔,也就是第N发与第N+1发之间的距离大小。
                        数据大小影响:临界值为1.15,小于1.15时,数值越小间隔越大,且此时弹道为上扬。大于1.15时,数据越大间隔越大,且此时弹道为反向下降,也就是子弹向下跑。等于1.15时,间隔为0,此时弹道不会上扬也不会下。
                        图为pertub大于1.15时的连射弹道逆向运行:


                        IP属地:日本来自Android客户端15楼2019-06-29 15:46
                        回复
                          2.0版修正/补充:
                          补充/修正:其实这组数据翻译的时候,是有细节这个词,所以给很多朋友的直观印象就是,这组数并不重要对吧?恰恰相反,这组数影响力一点不小于精准变化率,他直接影响弹道走向和弹道落点的细节。
                          细心的同学就会发现,后座回复和后座衰减值(之后会详解),只有一组,也就是说,并不区分运动状态,而在那组数据基础上,影响各类运动状态的,恰恰就是这个参数,正是因为他的存在,各种运动姿态的后座变化,才会如此不同。
                          另外,很多朋友会疑惑,为什么要有这种反向偏移的设定。其实很好理解,之前的一切和射击偏角相关的数据,其实都只是决定偏角,如同我们在极限后座那里说的那样,只是决定从中心向上下/左右的偏角,并不决定方向,而决定方向的关键,恰恰就在这一组数据上。
                          同时,这组数据是少有的可以在极端数据情况下突破极限后座框架的数据,而且由于它是一个同时参与多项武器属性计算的参数,如:精准度,准星大小,射击偏角,后座方向等等。所以它所决定的属性,远远不止这些,这组数据对于武器的多项属性都有着极大的影响。
                          比如,它对五种状态下的准星比例也有影响,离1.15的基准值越远,自然该运动状态下的准星就会越大。
                          重点补充一点,该数据直接挂钩准星,且是影响各姿态准星大小比例最重要的数据之一。
                          并且,这组数据的另一个重要意义是,挂钩精准度,注意,这个游戏里除了少数数据(到时候会讲),多数挂钩精准度的数据都会挂钩准星,反过来也是如此。
                          总结:这组数据影响了了连射时的偏角。改数据不仅影响纵向上扬的弹道,对左右的横向摆动同样有影响,因为影响的是射击时的偏角,所以直观打在墙上的感受就是两发子弹之间的疏密,这也是我们最早期将其译为落点间隔的原因。
                          这组数据同时还影响各姿态下准星大小,而且也是让只有一组的后座衰减回复数据实战中弹道出现了五种效果的重要数据。
                          研究过程:这组数据当时主要是我和美琴完成的一次研究,当时发现了上扬和下沉的临界点以及对弹道的影响。再之后就是两年后,我和柚子进行了很久的研究,因为当时发现武器各姿态的准星比例,在很多数据都找不到对应的,后来柚子偶然提醒我贝雷塔的这五个数是相同的,然后我们对比了贝雷塔的准星比例,瞬间就发现了这组数据的另一作用,就是挂钩准星并且是对各姿态准星比例影响最大的数据之一。再之后就是和soren实锤了挂钩精准度的结论。


                          IP属地:日本来自Android客户端16楼2019-06-29 15:46
                          回复
                            4.后座回复细节值纵向/横向(射击细节反应纵向/横向)
                            (DetailReactPitchShot1 0.130 0.117 0.220 0.160 0.350 )
                            (DetailReactYawShot1 0.0723 0.0720 0.1300 0.0730 0.2000 )
                            1.0版原文:
                            数据作用:这两组数据分别表示不同姿势单发点射的上扬和横摆完全回复间隔。(单位“秒”)(按顺序依次为站立,蹲下,站立移动,蹲下移动,空中)因为间隔越大,实际上扬速度越快。所以在实战中,跑动射击往往更快(需要更少数量的子弹)到达极限后座(当然,造成这一结果的不止这一组数据)。
                            数据大小影响:数值越大上扬和横摆速度越快。实际表示的是单发射击后座完全回复的时间,实则决定了不同姿势上扬的快慢,如:跑动状态数据多数很大,所以上扬幅度也很大且很快就达到了最高点。
                            2.0版补充:
                            这组数据决定的不只是后座回复这么简单,要知道,后座回复高,意味着单位时间内的回复能力就越强,也就是说其他参数不变的情况下,高后座回复的武器是可以直观从弹道上体现出来的,因为更强的回复能力,实际上的直观体现就是,连射时武器的上扬会变得很慢,弹道就更加密集,而反之则会上扬幅度加大,弹道会看起来很稀疏,并很快就会达到极限后座。
                            举两个非常好的例子:
                            在站立状态下,9A91单发命中恢复时间是0.5秒,和GPM4一样,按理说很平庸,但是上扬回复却达到了0.058秒,远小于GPM4的0.13秒。所以虽然9A91的速点因为平庸的精准回复导致速点子弹多了就不是很容易跳弹,但是它就是不容易上扬。也就是说,点快了的9A91虽然点不准了,但是子弹就是一团的堆在一个范围内,而不容易出现上扬。
                            同时,9A91的很多弹道参数和M4系列都极为接近,区别很大的主要就是这一组弹道,所以实际上9A91的小连发密集度比M4要高得很明显,这也再次说明了,该数据影响的不只是点射,还有扫射时的弹道密集度,原因也很好理解,因为回复速度快了,所以同样的回复时间内,它会向原点回归更大的幅度,而弹道上的直观体现自然是弹道更密了。
                            图为和M4A1系列弹道数据重叠率极高,但就因为这组数据的过度优秀,其弹道密度相比M4系列有着明显的提升的9A91:


                            IP属地:日本来自Android客户端17楼2019-06-29 15:47
                            回复
                              再说另一个例子,AK103单发精准回复是200毫秒,和英雄级M4一样,是少有的强化命中回复的AK系列武器,虽然速点比AK47舒服很多,但还是不敢点的和M4一样快,因为AK103后座回复和AK47是一样的,比M4A1大,所以接近这个速度速点,M4还没开始上扬,AK103就上扬了。这里说一下,大部分武器的单发精准回复的数据都比单发后座回复大,所以大部分的武器快速速点后,都是先出现跳弹后出现上扬。
                              最后再说下,之前大家普遍喜欢把这个数据和精准回复分类到一起,但是随着深入研究,我们发现这是错误的,因为这组数据的运算机制和精准回复有着本质的区别,这点我们会在之后详解精准回复的时候更加详细的讲解。
                              总结:这组数据表示连续单发射击能使后座完全回复的间隔(也就是不会出现上扬和横摆),也就是说,这组数据实际上反映的是后坐力是否完全恢复的临界值。


                              IP属地:日本来自Android客户端19楼2019-06-29 15:48
                              回复