clashofclans吧 关注:211,052贴子:3,957,945

浅谈各近战路军AI(攻、速、血、距换算的经验公式)

只看楼主收藏回复

前言:本来打算说完WB就封笔了。后来实在抗不住热心读者,不断的私信提问题。
不回答觉得对不起大家的厚爱。回答又实在太多。其中问得最多的问题就是“其他兵种的AI”。这个问题不是我不想说,而是因为实在1天2天的说不明白。
这里我尽量把我的认识跟大家分享一下。因为公式牵扯到系数的推算,并不精确,所以此帖以“探讨”为主,谈不上“讲解”。所以题目叫“谈”不叫“解”(话说科学本就永远无法断定“绝对的正确”,而是现阶段相对解释更多现象,更好的指导人和提高人的能力,则可被视为“正确”。例如牛顿的3个定律在指导了人类几百年后,都被相对论推翻了…不说这个了…)

在我说WB的AI开篇第一帖时,其实就强调过了。空军的AI最简单(太简单,以至于没什么可讨论的)。先说炸弹的AI不是因为他复杂,而是因为它比其他兵种都简单。因为WB在全图的墙全倒掉之前,他的目标只有墙。目标的选择因素(包括例外情况在内),只有“距离”这一个参数,所以一切都是“平面位置”决定的。
而其他兵种的目标选择,除了会受“刷新法则”影响以外,还会受到如下5个因素的影响:
0、喜爱目标:
这是最简单的也是决定性的目标分类。众所周知,大G打塔,小G打钱。
1、到达目标所需要走的路程;(距)
2、到达目标所需要拆毁的最少数量城墙的总血量;(血)
3、部队自身移动速度;(速)
4、单位人口数量的同类部队DPS之和;(攻)
有这么复杂吗?我们来逐步深入分析。
1、距
目标选择距离影响,在没有墙的情况下,只受距离影响,在喜爱目标被拆光之前,永远会以自身所在位置的,选择下一个最近的喜爱目标。(与WB不同的是,已经倒塌的最近“喜爱目标”不会吸引部队)。这点我就不举例说明了。
之前有人发帖说:“当部队绕路达到较远一个喜爱目标,比拆毁城墙直线要到达较近的喜爱目标,要多走约15-20格以上时。部队会选择拆墙直行”这个表述把“拆墙”与否,直接与“距离”建立了等式联系。认为“墙”等于“15格距离”。则将一切折算为“距离”进行比较。在一般情况下是符合规律。但是公式过于简化。下面我们来看一些事例,说明“墙=15格”的关系并不永远正确。
2、血
不知道各位是否发生过如下的现象:


粉墙被2个Lv5WB炸过之后,由于微小的位置差异,中间那一块已经倒塌(图示黑色),左右各1块墙(图示灰色),只剩下很少一点血(2000-46*40=160)。这时候大量的部署小G或者barb时,总有那么几个人,不甘心绕路(虽然只多走了1步),非要把左侧那个灰色的墙补上5刀拆掉。
由此,我们可以认定“墙=20格”的关系不再正确。
同时,如果那块墙是满血的话,则不可能出现拆墙的现象。
由此,我们可以认为,是否拆墙的决定至少与“墙的剩余血量”或者“剩余血百分比”两者之一有关。
另一个现象是,如果你为了1面外墙设置了防御wb的凸点,不论宽的窄的,长的短的。当大量的陆军进站部队进攻时,他们无一例外的选择了去打只有1层的墙,而不是拆2层的墙。
由此,我们可以认为,拆哪一面墙,得决定受“墙剩余总血量”影响,而不是“剩余血百分比”。
进而比较合理的假设是“隔0面墙还是隔1面墙”与“隔1面墙还是隔2面墙”满足同一运算规律。则可以得到如下比较合理的假设:“是否拆墙的决策,与达到目标所需要拆掉的墙的总血量有关。血越少越爱拆。”
3、速
在注意过以上现象后,我们又发现,小G在目标选择时,往往不惜绕过半个地图(20格)去打远处的矿。而相比之下barb则似乎更偏爱城墙。受喜爱目标的限制,小G选择目标的范围更小,使得这一直观感觉,不一定完全准确(小G的全图绕圈也可能是因为墙后,没有矿导致的)。但是细心观察后,我们可以发现即使在墙后目标等距离,绕行远处目标等距离,同样都是资源类建筑物的前提下,小G也比barb更愿意绕远。


IP属地:德国1楼2013-02-19 00:00回复
    而他们2位的攻击力差异并没有那么大。
    则可以得到比较合理的假设:“是否拆墙的决策,与自身移动速度有关,速度越快越爱绕”
    4、攻
    同样将barb和大G进行比较,现象更加明显,在面对最外层城墙时,(里面较近的地方有防御塔,外面较远的地方也有防御塔)Barb和明显更偏向于拆城墙,而大G偏向于绕远(喜欢把在建中炮塔扔到 外面的朋友应该经常看到这种现象)。反过来看他们两个人的移动速度。大G比Barb还要慢。所以必然存在移动速度之外的某种关联。
    而既然决策拆墙与否,与城墙的血量有关又与单位自身的特质有关,则比较合理的推断是与“某单位数量的同类兵种的攻击力有关”
    同样pekka与Barb相比似乎也更加偏好绕远。这样一来我认为前文所说的“单位”不是“个体”而应该是“某一特定数量的人口数”如此我们注意到,Barb的Dps*25>Pekka的Dps。同理Barb的Dps*5大于大G的Dps太多,以至于虽然大G更慢确更爱绕远。

    确定了受到如上数据影响之后。就必须要将此4个变量之间产生联系,变成统一的一个变量,才能比较大小。
    目前我猜测的贯穿一切,的统一变量是“时间”。
    则并且经过有限的试验和观察,相对吻合并解释更多的现象。的经验公式可以用文字总结为:“在目标选择时,每个单位会相对独立的,进行计算。选择哪个目标,拆墙与否,拆除哪面墙。时,进行时间的计算。假设有a个人口单位的同类部队同时进行攻击(攻击力之和),拆毁较多血量墙而到达较近目标(可以接近为零)所需时间,与拆毁较少血量的墙(可以是零)而到达较远目标所需时间,对比时间,择时间较少者进行选择。”
    权重计算为对比目标a和目标b(由于是同一单位所以,攻、速为定值):
    血a/X攻+距a/速> 血b/X攻+距b/速
    则会选择目标a。(无隔墙则“血”等于零,贴墙放则“距”为接近零的最小值。)
    游戏为了保持一定的随机性。我甚至强烈的人为这个“X”是在某一个范围之内的随机变量,甚至不均匀分布。反编译,类似于破译密码,需要庞大的数据,和海量的工作。
    那么X的加权平均值是多少?离散率有多大?标准方差有多大?
    有你兴趣且我有时间的话,咱们下一贴一起研究。
    怎么应用? 你有兴趣且我有时间的话,下下帖再说。
    看到这里已经厌烦了的朋友,请不要再私信,让我以“简单的方式”描述部队的AI了。因为更简单的描述都是(更加)粗糙的,甚至可以说是(更加)错误的。
    你们大可以用“墙=20格”来进行粗算判断,如此你就已经处于游戏中的前10%了。


    IP属地:德国2楼2013-02-19 00:00
    收起回复
      欧也。火前留名,先顶大神一个,再细看


      IP属地:内蒙古来自iPhone客户端3楼2013-02-19 00:02
      收起回复
        题目写错了,不会改。。。错别字更正:正确的是“陆军”,不是“路军”。


        IP属地:德国4楼2013-02-19 00:03
        回复
          前排听课


          IP属地:辽宁来自iPhone客户端5楼2013-02-19 00:03
          回复
            **!出租前排!瓜子可乐雪碧小板凳。城管来了叫一声诶!


            来自iPhone客户端6楼2013-02-19 00:06
            收起回复
              血a/X攻+距a/速> 血b/X攻+距b/速
              看到这时 我跪了 数学高中没及格过得表示很忧伤


              IP属地:日本7楼2013-02-19 00:08
              收起回复
                顶了再看


                来自手机贴吧8楼2013-02-19 00:12
                回复
                  前排六名


                  来自手机贴吧9楼2013-02-19 00:14
                  回复
                    前排听课!


                    IP属地:重庆10楼2013-02-19 00:17
                    回复
                      抢好位置 开始听课!


                      来自iPhone客户端11楼2013-02-19 00:20
                      回复
                        子太多 理解不过来 一下 马下 慢慢消化


                        12楼2013-02-19 00:22
                        回复
                          先顶再看!


                          来自手机贴吧13楼2013-02-19 00:25
                          回复
                            支持楼主


                            IP属地:浙江来自iPhone客户端14楼2013-02-19 00:30
                            回复
                              血a/X攻+距a/速> 血b/X攻+距b/速
                              看到这时 我跪了+1

                              公式都给推出来了,实在不能低估玩家们的智商


                              IP属地:上海15楼2013-02-19 00:36
                              回复