battlebrothers吧 关注:22,411贴子:291,611

灌铅闹剧总结帖

只看楼主收藏回复

灌铅帖子已经完事了。
这是为了吃瓜的、非超能力者的吧友,让大家能明白是怎么回事,发个帖子总结一下。
我不是超能力者,只不过学的一些东西还没还回去,还能看懂粗浅的部分。如果写的不对欢迎超能力者斧正。


IP属地:广东1楼2022-04-14 11:51回复
    首先关于roll点。
    roll点用于判断每次出手时是否命中,在代码中是 isHit 这部分。
    借用吧友@matuko 的图,原帖p/7669050154 ,已经说得挺明白了

    太长不看版:
    local isHit = r
    ⭐那么r是怎么来的呢?
    local r = this.Math.rand(1, 100);
    ⭐roll一个1到100的随机数
    然后日志里关于roll点的部分是这么写的:
    this.Const.UI.getColorizedEntityName(_targetEntity) + " (Chance: " + this.Math.min(95, this.Math.max(5, toHit)) + ", Jet de Dés: " + rolled + ")");
    这就是你在游戏里看到的(Chance: 95, Rolled :96)
    这段由
    " (Chance: " //括弧Chance冒号空格
    +
    toHit //toHit根据双方状态计算出的命中率,最低为5最高为95
    +
    ", Jet de Dés: "//这句是因为上传代码的人是法语版本,", Jet de Dés: "是法语的",roll点结果: ",写成英文就是",Rolled: "逗号Rolled冒号空格
    +
    rolled //⭐r的roll点结果
    +
    ")" //反括弧
    组成
    所以从r到日志,一脉相承。
    关于日志,吧友@明明大咸鱼 做了测试,原帖p/7795922791,直接将toHit和r写进日志,结果完全一致。所以这部分没啥多说的。
    【这证明roll点用的是 this.Math.rand(1, 100),玩家和敌人是一致的】


    IP属地:广东2楼2022-04-14 11:53
    收起回复
      然后关于命中率计算:
      借用吧友@ghost00201184 的图(对于萌新:你有疑问的是roll点是否灌铅,那跟这个图没关系可以不看)

      红字是我意译的。
      原帖p/7795444242,二楼已完结。
      toHit部分是游戏中的命中率计算,这部分当然是很复杂的,因为游戏中的命中率涉及到双方的属性、士气、受伤、buff、高低差、远程距离、是否有阻挡。还有默认开局那个教程和新手模式的灌铅。这么多东西都在这里头,不复杂才有鬼。
      ghost00201184先前的一个观点是这部分很复杂内容很多,所以容易塞私货。情理上可行,但在逻辑上有一个问题,决定了这部分不可能动手脚——
      ⭐战斗中所有人的属性是固定值,所以敌我的命中率可以通过当时的状态计算得知。
      上面已经说明了日志的roll点就是实际产生的,而如果我在toHit部分塞私货,那么日志就会变成:
      神选 使用 分裂人 击中 大哥 (Chance: 50, Rolled :49)
      大哥 使用 分裂人 未击中 神选(Chance: 95, Rolled :96)
      大哥 使用 分裂人 未击中 神选(Chance: 20, Rolled :21)
      神选 使用 分裂人 击中 大哥 (Chance: 95, Rolled :94)
      这样确实也达到了近似灌铅的效果,但...这根本是把挂开在脸上,双方状态不改变哪有命中率忽高忽低的,岂不是一眼假。
      实际游戏并没有这种情况。大家抱怨的从来都是我怎么又连续roll了一堆96+,而不是我家大哥打强盗突然从95命中变成5命中了要怎么办。
      【你roll多少跟toHit没有关系,toHit是命中率,是括弧里前面的Chance部分】
      假设真有一个蹩脚的程序员允许AI根据roll点结果调整敌人命中,那这不是灌铅这是金山游侠,这是用拖拉机规则跟你锄大地。你俩的骰子是同一个,牌是同一副牌,但玩的根本不是一个东西。


      IP属地:广东3楼2022-04-14 11:54
      收起回复
        那么最后关于你这帖是不是马后炮。
        当然是马后炮,总结帖不是马后炮是什么。


        IP属地:广东4楼2022-04-14 11:56
        回复
          总结呢,太长很多人不看的


          IP属地:广西来自Android客户端5楼2022-04-14 11:59
          收起回复
            只要你的结论是没有灌铅,大家就不爱看
            其实这是一个心理学问题而不是程序问题


            IP属地:江苏来自Android客户端6楼2022-04-14 12:06
            收起回复
              相比自己打得不好,大家还是更愿意相信是程序的问题


              IP属地:广东7楼2022-04-14 12:09
              收起回复
                是的,概率就是反直觉的。


                IP属地:上海来自iPhone客户端8楼2022-04-14 12:23
                回复
                  太长不看版
                  两个小丑:
                  一个@ghost00201184
                  一个@参不透
                  图1是小丑合照
                  图2是小丑g的笑料
                  另外提一嘴,关于这些代码什么意思我早已有解释,甚至小丑g一开始使用的代码截图就是我发的,我没必要苦口婆心每次都解释一遍(很多小白好事者喜欢就我没解释就贬低小丑g而大做文章,但稍微有点常识就知道这些小白(包括小丑g)的言论有多滑天下之大稽)
                  自己不懂某些方面的东西很正常,但请不要发表“自己脑补”的逆天言论。多学学贴吧里很多低调的大佬。当然我没有很多大佬般的耐心,但对于绝大部分人我还是有解释过事情缘由的。



                  IP属地:四川来自Android客户端9楼2022-04-14 12:48
                  回复
                    在不公平的对局环境下,总得找点心理上自己信得过的发泄点


                    来自Android客户端10楼2022-04-14 12:53
                    回复
                      玩家总是忽略多自己有利的点数,而深刻记住对自己不利的


                      IP属地:四川来自Android客户端11楼2022-04-14 13:38
                      收起回复


                        IP属地:湖北来自Android客户端12楼2022-04-14 13:51
                        回复
                          好帖子,顶上去


                          IP属地:上海来自iPhone客户端13楼2022-04-14 16:51
                          回复
                            有利情况:打中了一下,yes但是也在情理之中
                            不利情况:百分之95miss,大哥原地暴毙
                            除了roll点,还有roll中和roll不中背后代价,假如每个后果后果都有一个分数,roll中分数是1,roll不中大哥原地暴毙分数是100,95✖️1=95,5✖️100=500,有的人心目中roll不中注意力500远比roll中95大的多
                            当然这和帖子讨论单纯roll点公不公平不相关,我说的是为什么总有人怀疑骰子灌铅,总是怀疑骰子灌铅也是这个游戏本身特色,有的人觉得是缺陷,有的人觉得是魅力


                            IP属地:河北来自Android客户端14楼2022-04-14 21:50
                            收起回复
                              这就是概率最大的坏处,无论算法设计的多好,玩家都会觉得输了是灌铅,赢了是我运筹帷幄


                              IP属地:山东来自Android客户端15楼2022-04-14 22:10
                              回复