文明与征服吧 关注:91,186贴子:558,285
  • 11回复贴,共1

文明与征服中的伤害/治疗等各类计算机制(持续更新)

取消只看楼主收藏回复

玩游戏总想着总结点什么,今天给大家分享一些关于游戏中伤害、治疗、伤兵的计算机制及计算方式,另外指出一些游戏实际效果(实际数值)和显示不符的问题。


IP属地:浙江来自iPhone客户端1楼2022-03-06 21:48回复
    1、部队血量的计算方式
    不同等级的部队(T1~T5),都有着不同的血量和攻击。
    其中摆在明面上的是:部队的评分,比如【攻击评分】、【生命评分】
    比如,t3骑兵的生命评分为17

    点击查看可以看到部队的加成,比如,我这套骑兵的生命加成为:
    联盟加成0.03%
    城建加成2.7%
    统帅加成 骑兵生命14.85%
    T3骑兵生命9%


    而在战斗界面中,我们可以也看到一些关于部队属性的加成:

    这里和在查看兵种页面的是有出入的,因为在这里,统帅加成(古卷+兵装)为13.6525%和9%;但在游戏查看兵种页面则显示为14.85%。因此,势必是有一个数字不准(加成变少)。下面,就让我们验证一下吧。


    IP属地:浙江3楼2022-03-06 22:03
    回复
      1、首先我们查看战斗流程,在战斗准备回合,可以看到确定兵种形态后提升了生命评分。其中T3提升了170%,T4提升了220%,这其实就是我们之前在外面看到的不带百分比的“评分”了。


      2、在战斗中,可以看到造成伤害、减少护盾/兵力。
      其中由护盾衰减的幅度可以看出:护盾就等于兵力。
      而在战斗中,我们可以发现:伤害和兵力的损失始终是一个相似的比例。而T3兵种和T4兵种的比例并不相同,但同兵种的比例相同。因此可以得出结论,游戏损失兵力的计算原则为:
      损失兵力=受到伤害/兵种生命


      IP属地:浙江5楼2022-03-06 22:10
      回复
        那下面我们的工作就是统计并推断计算规律。
        由于工作量很繁琐,在这里我不展示全部过程,只展示我统计出来的数字吧:


        首先,我统计出了我自己战斗中t3骑兵和t2骑兵受伤、损兵的数字。首先可以看出,这个伤害/损兵的比例是比较稳定的。而浮动在哪?必然是取整过程。
        取整一般有三种方式:
        1、round:四舍五入
        2、floor:向下取整
        3、ceiling:向上取整
        ————————————————————
        不过这里就产生了一个新的问题:游戏里有两个“加成”,并且属性不一样。这说明肯定有一个是错的,那是哪个错了呢?
        图1:战斗中的属性截图,显示生命加成为13.8475%

        图2:游戏经营界面显示的部队加成:统帅生命加成为14.85%


        因此,我将两种都统计了下来,下面就是猜测与计算的过程了。
        (注:我截图时比统计时多了一本古卷,所以图和表格不符。不影响结果)



        IP属地:浙江9楼2022-03-06 22:23
        回复
          首先,根据伤害/损兵比,可以看出此为部队“血量”。而这个比例,据推断就应该是部队的真实血量,即各种加成之和。


          首先我们尝试把加成相加:

          可以看到,距离上面统计的伤害/损兵相差很大,说明各类加成并不是简单的加法。
          因此我推断:是否可能兵种的生命加成为基础加成呢?也就是:
          加成=生命评分*(1+其他加成)?
          于是按这样的公式,我重新计算了一下:

          可以看到,现在战斗界面的数据(统帅加成比外面显示偏低的那一组),就很接近上面统计的数值了。


          IP属地:浙江10楼2022-03-06 22:30
          回复
            那下一步就是深入验证了:
            我们假设现在的公式是正确的:实际生命=兵种生命加成*(1+古卷加成+兵装加成+城建加成+联盟加成)
            那接下来的事情就是如何取整,保证这些小数点都是完全对应的。
            经过对比可以发现,向下取整时,所有推测的损兵数据都完美贴合实际数据。
            游戏计算生命的规则为:向下取整



            IP属地:浙江12楼2022-03-06 22:36
            回复
              总结:
              1、游戏中,兵力损失的规则为:
              兵力损失=伤害/兵最终生命值(向下取整)
              其中,兵最终生命值=兵种评分*(1+古卷加成+建筑加成+联盟加成+兵装加成)
              其中,古卷加成中有部分加成没有实装:因为战斗界面中的古卷加成数值偏低,而实际作用的也是这个偏低的数值。说明部分古卷加成并没有正常生效。


              IP属地:浙江13楼2022-03-06 22:38
              收起回复
                第二节:伤兵机制
                太晚了,这里直接说结论吧:
                根据统计推测和计算,伤兵的规则为:
                战斗中可抢救的兵=战损*70%
                战斗中直接死亡、不可救活的兵=战损*30%
                战斗结算后可回家复活的兵=战损*50%
                其中,军旗和各类加成(比如堡垒),可以额外增加/减少真实死亡的兵。
                举个例子:
                A攻击B,B损失1000个兵。
                则:
                ①B奶了自己一口,治疗量为100w,则可以救援复活的兵=1000*70%=700,有700个兵可以继续战斗;此时战斗结束,则回家还可以复活300*50%=150个兵,等于全程只损失了150
                ②B没奶自己,但是战斗结束了,则此时只能回家复活1000*50%=500个兵
                游戏中有很多关于伤兵的描述,这里我用一张图来向各位解释各种数值的作用:

                各位可以看到,图中“伤兵”和“损失兵力”的数字并不对等。这是为什么呢?
                因为,这里的“伤兵”,指的是回家后能复活的兵!并不是自己损失的兵!
                自己损失的兵(复活不了的兵)实际上=战损-伤兵
                很多人都费解过:有时候自己这边显示伤兵多、对面伤兵少,反而自己是虽败犹荣?这是因为军旗、堡垒等作用下,会增加自己的伤兵、但是减少自己的死兵。
                军团长开旗的作用,实际上就是减少自己方兵的战死率。
                因此,开旗并不是开打就开最优,而是自己这边派出高级兵种(兵多)的时候开旗最优。因为,高级兵种可以更快的消耗兵力,同时也可以在单位时间内保留住最多的伤兵,而不是死兵。
                所以,在大家疯狂上t2撞的时候,不要开旗;而应该等到双方消耗一波,开始用t3撞锤子、互相真正开始一锤定音时再开旗,在同样的时间内保留住更多的兵。


                IP属地:浙江15楼2022-03-06 22:55
                收起回复
                  另外说一下这游戏的bug:
                  1、古卷伤兵补给:描述有问题,并不是伤兵转化兵力这么简单,而是伤兵转化兵力后,剩余的伤兵直接变成死兵。
                  比如,战斗中损失了1000个兵,则伤兵为500;如果没开古卷,那么返回营地时,正常应该是回复500个;但如果开了古卷,则变成了伤兵500中60%也就是300个兵变成战斗力,而剩余的700个兵都死了!!!!
                  换句话说,开伤兵补给古卷,意味着自己给自己增加了20%的死兵。用大量的兵源换取很低的持续战斗收益。
                  也就是,守城/文明遗迹的时候千万不要开伤兵补给!


                  IP属地:浙江16楼2022-03-06 22:59
                  收起回复
                    治疗机制:
                    治疗量,实际上治疗的是兵的血量。

                    某次战斗中统计如下:其中,总治疗兵/损失兵力=70%
                    经过其他验证可知:战斗中并没有军旗的效果,而是只有在战斗结束后才生效。因此,尽量在战斗中回血,可以避免战损。这也就是为什么常听别人说“贞观反击队一队打20队”,因为人家在战斗中就把兵奶起来了,避免了战斗结算时的高战损。
                    而治疗兵力的公式则为:
                    治疗救援=治疗量/兵血量
                    兵血越厚,治疗的兵越少。同时,我们可以参照之前最先前提到的结论:护盾=兵力,这就是为什么林非常强力了,因为一个林=3k+兵的兵力,如果你是T3部队,则3k护盾的林等于6300的兵力了。
                    同时,这个兵力是受防御、减伤影响的,因此,如果是一个亚历山大开局嘲讽3人,同时给自己挂了林,几乎可以吸收第一轮全部的伤害。


                    IP属地:浙江18楼2022-03-06 23:17
                    回复
                      睡觉了,明天预告:
                      英雄的技能伤害与防御,兵力等关系。


                      IP属地:浙江19楼2022-03-06 23:18
                      回复
                        可能今天的更新要推迟一下。
                        因为,一切能够推断计算原则的前提是:官方给的数值是准确的。
                        但是从目前的测试来看,官方的数值不准确,很多明面上技能的系数都是错误的,比如乌尔班射石炮和翼骑兵进军一段伤害加成均为500%,但实际上在相同力量时会相差很多的伤害。有理由证明,官方在游戏中有许多未公布的改动。
                        包括3.7更新后许多技能的进阶数值发生错乱,都让我怀疑是不是不小心把他们真实数据给更出来了……


                        IP属地:浙江31楼2022-03-07 13:46
                        收起回复