文明与征服吧 关注:91,217贴子:556,965

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

只看楼主收藏回复

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


IP属地:浙江来自iPhone客户端1楼2022-03-06 21:48回复
    总结呢?


    IP属地:云南来自Android客户端2楼2022-03-06 21:58
    回复
      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
      回复
        终于等到这样的帖子了


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


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


          IP属地:浙江5楼2022-03-06 22:10
          回复
            mark


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


              首先,我统计出了我自己战斗中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
                回复
                  抢楼,虽然一堆数值看不懂,到作者有信了


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



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


                      IP属地:浙江13楼2022-03-06 22:38
                      收起回复
                        膜拜大神,您才是真正的玩家,那些什么勾八配将的,都是些什么牛鬼蛇神。感谢您


                        IP属地:广东来自iPhone客户端14楼2022-03-06 22:42
                        回复
                          第二节:伤兵机制
                          太晚了,这里直接说结论吧:
                          根据统计推测和计算,伤兵的规则为:
                          战斗中可抢救的兵=战损*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
                            收起回复
                              而且抛开加成,就剩一个裸的兵级,攻击和兵力评分根本没啥卵用,而且你有的别的加成,别人也有,而且还可能比你高,就造成当下一种情况,土豪可以越兵级干你,因为别人的伤害溢出的够够的完全无视兵级评分。它这个兵级评分也不影响防御,只影响兵级和生命,瘦牛变成肥牛,挨宰快慢而已。


                              IP属地:贵州来自iPhone客户端17楼2022-03-06 23:09
                              收起回复