生存战争吧 关注:235,596贴子:4,253,701

[科研贴] mod作者重要参考·生物体重与攻击韧性计算方程

取消只看楼主收藏回复

[科研贴] mod作者重要参考·生物体重与攻击韧性计算方程



IP属地:内蒙古来自Android客户端1楼2020-02-24 13:10回复
    计算过程:
    一、序章
    可能很多人长久以来都有一个问题,Kaalus是怎样设置动物生命值的呢?自生存战争帮助界面更新了一个选项“生物表”后,很多玩家都对动物的确切生命值有了一个了解,明白了铁刀砍几刀可以杀死一头狼,遇到不同的动物更适合选用哪种武器。可这并没有解决mod作者的难题。如果我想在mod里新增一种动物,它的生命值该怎样设置才能和原版一致?Kaalus设置动物的生命值有什么规律?


    IP属地:内蒙古来自Android客户端3楼2020-02-24 13:16
    收起回复
      要解决这个问题,首先要从最基础的部分展开思考:生物的生命值与哪个数据有直接的关系?一些mod制作组可能了解,生存战争的生物数据超过60种,能标入生物表中的生物数据只有不到10种,这就说明,这些数据极为重要。
      如果在生物表内随意选择一个生物,除了最基础的生命值和攻击力等对玩家很必要的数据以外,右下角还标注了另一个看起来无足轻重的属性:体重。但是,它并不是毫无用处。
      从现实中我们可以有一个大概的概念,体重越重的动物越加强大。比起长度等数据(参考8米的网纹蟒没有2.5米的东北虎厉害),体重几乎可以说是一个绝对的参考数据,更可以成为游戏中生命值的绝对参照。


      IP属地:内蒙古来自Android客户端5楼2020-02-24 13:25
      回复
        然而,单按体重等比例放缩也不准确,2.2版本中,一只40kg的狼,生命值是20,如果按体重等比例放大,到了狮子的体重(200kg),它的生命值竟然达到了100(120生命犀牛表示这太可怕了)!既然生命值与体重正相关,但是又不是等比例放缩,那么该怎么办呢?对,描点画图列方程




        IP属地:内蒙古来自Android客户端6楼2020-02-24 13:29
        回复
          众所周知,动物的生命值和体重的取值都是(0,+∞),因为它们不可能成为负数。如果我们把体重设置成x,把生命值设置成y,在平面直角坐标系的第一象限描点,可以看出这些点有一个整体趋势。说明把体重和生命值当做函数计算是正确的。
          那么,我们从食肉动物最先开始。
          我们可以看出,在狼的(40,20)和老虎的(250,50)之间的点可以近似看作一条直线,在老虎的点处发生了转折,斜率降低,与熊(400,65)连成了另一条直线,不过这条直线内只有两个点,准确性存疑。
          (图是楼主画的2.1版本的图,2.2数据发生了特别大的变动,文为2.2的计算过程)



          IP属地:内蒙古来自Android客户端7楼2020-02-24 13:39
          回复
            这时,最清晰部分的定义域(40,250)部
            的图像已经做出来了:7y=x+100。我们来测试一下,100kg的美洲豹生命值是28.571428……,近似于30,符合。


            IP属地:内蒙古来自Android客户端10楼2020-02-24 16:22
            回复
              也许有的同学会说,把老虎的点(250,50)和美洲豹(100,30)或雄狮(200,40)联立也可以求出差不多的方程。但是如果你在图里画出这个图线,美洲豹和雄狮分别在线的上方和下方,这也就说明,老虎——狼线具有普遍性。


              IP属地:内蒙古来自Android客户端14楼2020-02-24 18:32
              回复
                那么现在该怎么算老虎以上的线呢?老虎以上的食肉动物只有两种——熊和北极熊,而且它们的体重不同,但生命值相同,该怎么办?
                这时,我们可以走向另一种想法:算其他种类的动物。
                也就是粗壮型植食性动物。


                IP属地:内蒙古来自Android客户端15楼2020-02-24 18:35
                回复
                  众所周知,相同体重下,sc里的植食性动物生命值恒小于肉食性动物的。但是相同体重的植食性动物,它们的生命值又有所不同。
                  根据图线和游戏内的形象,我们可以把它划分为三类:粗壮型植食性动物,纤细型植食性动物和极纤细型植食性动物(只有这些动物跑得特别快,能上20㎞/h)。
                  那么,食肉动物和粗壮型植食性动物有固定联系吗?从图像来看,它们在冥冥之中似乎有某种联系。
                  这时候,我们也要计算粗壮型植食性动物的斜率。那么,开始吧!——
                  才不!
                  如果它们之间有某种关系,更应该是一种比例关系。我们只需算出它们的比值即可。(楼主以前没想到这一点,每一类动物都算出了一系列方程,不仅费时费力还不准确)
                  一只250kg的老虎,它的生命值是50,而同样250kg的角马,它的生命值只有35,比例为10:7。
                  这个比例正确吗?我们测试一下。
                  400kg的棕熊,生命值为65,而同样400kg的牛,生命值为55,比例为13:11。和10:7很接近了,但是还是有差距,哪个更准确呢?
                  那么,我们找一只120kg的野猪,它的生命值是25。sc不存在120kg的陆生肉食性动物,那么我们就拿方程算一下。
                  结果是31.4285714 ,和25的比值更接近于5:4。
                  咦,怎么了?
                  为什么三个结果都不一样?
                  别着急,我有一个主意。





                  IP属地:内蒙古来自Android客户端17楼2020-02-24 19:02
                  回复
                    如果各位接触过统计,那么应该知道,数值越大,和它有关的各项算法就越精确。那么,sc里数值最大的陆生动物是什么呢?对,犀牛。
                    犀牛的生命值为120,前面的三个比值可以被它整除的只有5:4。但是这并不是说5:4就是正确的,我们还需要检验。
                    因为世界上不存在1500kg的肉食性哺乳动物,所以我们只好架空一只出来。这只肉食性哺乳动物按照比例,生命值为150,把它和老虎的数据进行统一计算,得到25y=2x+750。
                    这个方程对吗?我们拿棕熊和北极熊检验。检验结果显示,生命值分别是62和70,而棕熊和北极熊的生命值都是65。可以看出这个结果准确性还算可靠。Kaalus拿这个方程计算之后应该是取了平均数。
                    但是,科学研究需要始终保持怀疑的心态。这个方程真的正确吗?如果我把棕熊或北极熊和老虎联立算出来的方程不也差不多么?

                    不过,这至少是证明了,食肉动物与粗壮型食草动物的生命值比例5:4是准确的。
                    至于这个方程的问题,我们接着说。





                    IP属地:内蒙古来自Android客户端20楼2020-02-24 19:15
                    回复
                      历史上伟大的科学工作者们的实践经验告诉我们,真正的公式都是简洁明了的。Kaalus制作动物数据时,绝对不可能拿麻烦的公式来为难自己。
                      老虎——1500kg架空掠食者公式 25y=2x+750

                      老虎——棕熊公式 10y=x+250
                      ……emmmmmm
                      看起来后面那个公式更简洁——但其实不然。
                      如果你代入一些数据(包括粗壮型植食性动物的数据,那就需要×0.8了),你会发现,前者要准确得多。更有意思的是,这些数字计算出来以后几乎都是整数。



                      IP属地:内蒙古来自Android客户端21楼2020-02-24 19:22
                      回复
                        顺带提一句,拿老虎——北极熊算出来的方程更加垃圾。


                        IP属地:内蒙古来自Android客户端22楼2020-02-24 19:23
                        回复
                          这下子,两个基础方程就出来了。
                          7y=x+100 (40,250]
                          25y=2x+750(250,+∞)
                          (备注:此时楼主已经计算出水生动物和陆生食肉动物生命值的比例关系,所以经过几十次测试,包括虎鲸和白鲸,最终证明老虎——架空食肉动物的方程是合理的,先前的说明只是为了举例子)


                          IP属地:内蒙古来自Android客户端23楼2020-02-24 19:29
                          收起回复
                            同理,楼主计算出食肉动物和陆生纤细型植食性动物的比例为10:7(也就是先前我们疑惑的老虎和角马的那个比例),和陆生善奔跑植食性动物的比例是2:1(例如马、骆驼、长颈鹿。)


                            IP属地:内蒙古来自Android客户端24楼2020-02-24 19:31
                            回复
                              同样地,狼人也算出了比例
                              尽管只有一个数据,比例并不准确


                              IP属地:内蒙古来自Android客户端25楼2020-02-24 19:35
                              回复