打鸡进来指点一下
rimworld吧
全部回复
仅看楼主
level 1
@不准打鸡 @不准做鸡 [滑稽]
看了你不少技术帖收益颇多,不知道有没有研究过路径成本的算法?
最近研究了一下加农炮阵,苦于不知道路径成本的算法,最后还是失败了,想看看你有什么意见。
大致如下,图画得不好,太长了,而且炮台应该更密集,将就看吧。
五角星代表加农炮(难得有个好点的炮台总想好好利用),圆圈代表最大射程。最大射程到围墙中间有一定距离,算是安全区吧,最初设定是3格宽。
红色箭头是理想的AI寻路情况——绕开炮台的火力范围进入我不设防的基地。
蓝色箭头是我理想的行进路径——我希望的是AI先判定可以绕过炮台,进入之后因为各种因素直接往炮台中间冲(各种因素包括二次寻路判定、受到小人的攻击、发现有小人正使用末日火箭瞄准——通常准备发射时敌人会主动冲过来,等等)。
这个实验并不成功,海盗着陆后直接去拆墙了——当时刷出2路空降工程兵,在落地前保存了一下,AI判定是落地后才有的,这时候保存可以更方便的进行实验。
之后做了一系列修改,包括增大安全区、在围墙内或外放机枪塔等等,当把下图区域之外的地方都放在机枪塔的范围内并把安全区扩大到5格宽时(当然基地内部并未被机枪塔覆盖),有一路海盗直接冲了进来,他们并没有往炮阵里冲,而是顺着安全区的路径冲进了基地,另外一路仍然傻乎乎跑去拆外墙,尽管被拆的墙壁在机枪塔的范围内(按着机枪围城思路,机枪连了电线)。
反复读档测试发现,即使用狙击枪去打跑进来的海盗,也无法把他们吸引进炮阵,但他们跑到左上的时候——他们是往左边绕的,却会因为收到攻击而往炮阵冲过来,但这时候位置并不好。末日火箭也一样,别说瞄准吸引仇恨了,发射出去炸死几个其他人也完全无视,起来他们像是设定了移动到左上并在那之前不受干扰。
对了,之前(3格安全区时)还试了先拆掉电线,等海盗开始往里面跑时再造电线,反正电线造得快,但实际上即使没连电线,海盗也会回避这块区域,而加农炮又不像机枪塔那样可以卸载,不然就好办了。
再就是5格安全区时虽然有一路海盗会冲进来,但如果在里面铺上石砖他们又不会进来了,可见还是和路径成本有关——有石砖的地面移动更慢,路径成本更高。
还有就是,即使是同样的情况下——上面说的5格安全区无石砖,虽然两路海盗时有一路往里面走,但读更早的档重新按同样的布局建造,然后再刷出新的包含工程兵的海盗,却不往里面跑了。
感觉如果能知道能路径成本的具体算法应该还是有办法让敌人跑进炮阵的。
对了,我还想到个笨办法,就是基地周围多造几个类似的阵地,这样AI没得选,只能走其中一路,反正走哪路就接通哪路的电就行了,但这样占地面积太大了,我还是希望能够集中一个区域。
2019年01月08日 11点01分 1
level 14
加农炮的射程是一个直径65的圆形。
再加上两边的安全区和墙壁,估计就75格宽了吧?
我30人基地算上外三层墙的总大小也就73*73~
这一个炮阵就比我整个基地还大了~
2019年01月08日 12点01分 2
我基地内部是99*99,算上墙壁是103*103,炮阵是后来加上去的,额外加了一块有大半个基地大的区域,确实很占地方。
2019年01月08日 12点01分
@举杯邀月影 而且又耗资源又没什么大用,真的一点都不想造这个。炮阵真的应该加强了。
2019年01月08日 13点01分
@不准打鸡 加农炮还是蛮厉害的,真可惜了,我现在考虑就用来打普通敌人算了,工程兵还是直接迫击炮轰算了……
2019年01月08日 13点01分
level 14
路径成本涉及很多方面。
具体的我也不清楚。但是制造路径成本效果最佳的肯定是小型机枪塔,这个可以确定。
2019年01月08日 12点01分 3
打鸡,我有堆叠mod阵地用什么减速啊
2019年01月08日 14点01分
@1937460c 浅水、沼泽、冰面。
2019年01月08日 14点01分
@1937460c 如果实在不想减速,又是用的14人阵的话,让10头熊站在沙袋前面防突脸。。
2019年01月08日 14点01分
@不准打鸡 用73%速度的耕作土壤行不行
2019年01月09日 03点01分
level 14
你可以试试把炮阵的中轴空出1~3格,这样工兵就能稳定从中间穿过炮阵。
除了狙击栓动和标枪,其它敌人是会冲到加农炮射程内攻击的。
但是这样的炮阵对于机械族的抵抗力似乎不高,毕竟机械族的电荷标枪射程更远。
2019年01月08日 12点01分 4
中间留空他们也不会走,都绕着射程外走呢……
2019年01月08日 13点01分
level 1
还是在下面回复吧……
看起来还是路径成本的问题,我又试了下,重新建立了阵地,在地图左下刷了一波敌人,落地前存了档,测试了机枪围城的影响,当机枪间隔缩小到每6格一架机枪时,敌人终于往阵地里冲了……
而当我清除掉敌人,重新刷了4波5000点的工程兵之后,发现炮阵附近的往里面冲,远的就近砸墙,看来是路太远也增加了成本,因此宁可就近攻击。估计密度很大的时候还是可以让他们都绕路,不过成本有点高。
同时还发现个问题,上面说的左下刷了一波敌人,这是自然刷新而非开发者刷的,人数比较多。这批敌人因为离炮阵近会绕过炮塔,但绕路的过程中走走卡卡,看起来这种情形之下寻路算法很耗资源,有点像我们玩RTS时——从一个点控兵去另外一个点一般只要点一下就行了,但如果要绕过危险地带就需要一定的微操了。AI大概也是这样,有障碍的地方程序本身就限制了进入,无障碍的地方却需要无数次反复运算,就导致了卡顿。
2019年01月08日 13点01分 5
level 14
我有个帖子特地分析了炮塔的威力。
小基枪整体dps低到不可思议。
加农炮输出高,相当于传奇突击步枪手,但是那是靠高攻击力撑起来的,精度还是低到可怜。
狙击炮最好用,可是一枪就是一颗铀资源。就算是做动力甲,其中消耗的铀资源也就20颗。
2019年01月08日 13点01分 6
狙击我也不舍得用,加农炮感觉能承受得起,虽然精度不高不过毕竟敌人数量多容易打到。
2019年01月08日 14点01分
@举杯邀月影 实际上是打到地上~你想多了
2019年01月08日 15点01分
建了个狙击阵,感觉最大的问题是射速不够,一轮齐射打死第一个后第二个还能冲进来打一枪,不能无损,而多造炮塔只会导致伤害溢出[阴险]
2019年01月09日 04点01分
level 1
这个很容易实现,蓝色通道两边全用自动门,工兵袭击来时,直接叫两个小人或动物把门打开就行了。现在工兵在一入地图时就已经检测了路径上所有的危险,所以在工兵没来时就要设计成那条路最安全,袭击来了再把门打开就行了
2019年01月09日 05点01分 7
level 1
大约就是这样,但是这样会产生一个问题,第一个工兵死后,如果还有工兵他们就会退出炮阵。所以要等人至少进一半再开火,但这样的话你的火力足够吗?
2019年01月09日 06点01分 8
铁不要钱系列[喷]
2019年01月09日 10点01分
@不准打鸡 哈哈大后期,这样玩还是可行的[滑稽]
2019年01月09日 11点01分
造门我试过,四面围着门(本想敌人来了就去开门)AI也不往里面跑,路径成本并没有因为门而降低,其实打鸡的机枪围城就是个例子,即使打不到仍然有路径成本。而我的设计是为了留出能够绕过的路并想办法在中途把他们引进来。
2019年01月09日 11点01分
另外刚才又想到个方案——在安全区造一列门平时开着,当敌人开始绕的时候关门——人为切断AI的路线迫使他们改道,不过懒得测试了,因为昨天的测试发现AI绕道非常吃资源,游戏会很卡。
2019年01月09日 11点01分
level 1
改进了一下把门取消了。试了一波可以,拿去吧,不谢[滑稽]。哈哈哈,顺带帮打鸡的新阵打下广告
2019年01月09日 12点01分 10
level 1
再补一张。5000点损失一个小机枪。感觉好亏……
2019年01月09日 12点01分 11
level 1
再补一张,后排的墙最好两层,层的话容易打坏,加大敌人的射界。加农炮看你的需要调整射程。
2019年01月09日 13点01分 12
level 1
正常情况下工兵队是这样的——绕着炮塔的射程走,反复计算路径导致卡顿。
往射程里走的也有,偶尔有1、2个落单的,可能因为路径计算的BUG跑进来送死,同时还有部分有射程优势的单位会远远地攻击炮塔。
至于整队人往炮塔范围里走的,那是普通袭击,不是工兵。
再就是推测财富因素也会影响路径成本,百万财富的基地机枪围城密度很高才能够迫使工兵如下图一样往设计好的路径走。
另外看下图中AI和射程范围保持的距离,差不多就是我上面说的射程
+3
格。
2019年01月09日 13点01分 13
你这炮台数量……表示我后期基地+一堆mod也凑不了那么多零件和钢铁
2019年01月09日 14点01分
@盟军班长 虽然这是用开发者测试的,但也不算太夸张,大概20个左右,也就是7000钢铁800玻璃钢120零件,一张地图上的钢铁是以万计的,玻璃钢一般也有几千,零件可以自己造可以买,后期不至于造不出20个加农炮……另外以前A17时常年野外挖矿,光玻璃钢我就有6万多,现在也可以去海盗基地挖矿。
2019年01月09日 14点01分
1