steam吧 关注:4,539,148贴子:70,693,268

【自制的L4D2模组】更完善的生还者Bot AI

只看楼主收藏回复

刚刚在求生吧发了一贴,但是懒得重新码字了,直接复制过来吧
这个模组用于改善bot的某些行为,和加强bot自保能力。
大概是三周前开始写的,陆陆续续更新到现在,创意工坊已经有了34次更新记录。
起因就是因为三周前的有一次,我打刺骨寒溪被一只smoker缠住了。但是呢我可能是被缠住后踏空了,比bot高那么一点点,两只小bot走到了我的身边,他们没有去瞄smoker,也没有推一下我,而是静静的,静静的在我的身边打小僵尸,我被活活的从80+的绿血,直接缠到死。
对就是这样子,当时还是和舍友随便玩玩,打的普通模式,就直接逝去,两个bot顺走我的物品直接plan b溜走往前去找我舍友了。
于是就去创意工坊和sourcemod论坛找一些能够提升游戏体验的东西,因为有的时候朋友有事或者其他情况凑不齐人,只能跟电脑打,所以必须得找点能够让电脑变聪明的东西。 然而,创意工坊上的几款AI提升模组,都满足不了我的需求,插件侧的几个丢投掷,之类的也略显不足,所以我就打算自己写一个,试图让bot变得不再那么的水。
经过了三周的不断磨合,单机的游戏体验也越来越好了,bot的水平也慢慢的赶上了人类玩家的水平。
关于战斗方面的修改,我主要是写了寻敌和集火方面的方法。其中点名smoker,寻敌里我就直接针对smoker,有smoker就直接去打,然后人被缠了就赶紧去救。两方面加在一起就是边往人跑边打smoker。
集火方面,bot现在也知道火力不能停了,面对witch也不会那么的怂,不该躲就不要躲,赶紧救人。
以及有特感就赶紧打掉,一直清僵尸早晚会被控。
到现在为止bot的战斗意识有了很大提升,也会丢火丢雷丢胆汁(丢火方面的一个向量追踪还有问题,但是会修复的)。
到目前为止,带三只bot推高级图也会比较稳了,专家模式也很有前途,最起码保血还行,但是打tank可能还不太行,在一些地形复杂的地方还是不会跑路。但是存活率还是有很大提升的,坚持几关不死也是有可能的。
然后就是给物资的功能也比较方便,玩家缺啥就给啥,也不会留着物资在地上没法捡了。


IP属地:广东1楼2020-02-01 05:34回复
    创意工坊标题:[Advanced Bot AI]给bot加智
    链接:https://steamcommunity.com/sharedfiles/filedetails/?id=1968764163


    IP属地:广东2楼2020-02-01 05:35
    收起回复



      IP属地:广东3楼2020-02-01 05:35
      回复
        以及对于丢投掷物的削弱,也是因为1对多的情况。cs里的bot在需要丢雷丢火的时候,对方一般也只有1-3人,不会太多。只需要对着其中一个人丢就可以了(话说CSGO里的bot好像不会丢投掷了?)。
        而L4D2里需要面对的是大部分的僵尸,bot不能因为一两个僵尸就丢出去,L4D2的制作组就没有写数量判定,可见到的僵尸的数量,范围内僵尸数量等,我也不知道是不是偷懒,反正他们直接把这个功能给封掉了,bot不会捡投掷。但是他们还是会自己丢的,只不过十分罕见,十分罕见的切换到投掷,然后只要见到僵尸就丢(扶额。


        IP属地:广东4楼2020-02-01 05:35
        回复
          再说一说关于救人的奇怪设定,重点是smoker,迷惑是witch和tank。
          也是原生AI就有的迷惑问题,smoker缠住人之后bot走太慢,嗯可能就是走的有点慢,让他们走快点就好了,然后推也推快点。
          但是在附近有tank和witch的时候就会出现AI迷惑行为大赏:贴克脸救人,躲witch等人。
          当tank捶倒人的时候,bot就会选择性无视掉tank,直接去救人,然后一个一个送死。
          当witch跑向玩家或者挖人的时候,bot跑的十分迅速,甚至只要witch不在视线范围内,bot丢失目标的时候,他们就会原地不动,等到玩家死了的时候,他们欢快的plan b,甚至还可能顺走玩家的物资。
          嗯??制作组有用心改AI吗。该救的不救,不该救的就使劲去救。
          首先CommandABot功能不完善,没法命令走位。于是我就使用了Push方法,试图把bot推离tank,推向Witch。
          可惜bot脚底板千斤重,按照游戏数据换算,20m/s的速度也推不开bot,bot还是会奋不顾身贴身于tank,怂得不行的躲witch,甚至命令开枪都不开了???最起码打死你们就能去救人了啊,别不开枪啊?
          之后是提高了bot在遇见tank和witch时的更新频率,让他们能够被推动,推动了十分顽固的原生AI,我也不知道原理是什么,反正能用就行了。
          以及玩家被smoker缠住时赶紧检测被缠住的玩家是谁,bot能看得到的话就赶紧把bot推过去救人。
          其实控制台里可以给bot施压,增加他们的反应速度,创意工坊里大部分AI相关的模组都是只改了控制台指令,远远达不到人类的反应力和行动力,所以我才会推一下Bot,让他们赶紧过去救人。
          要是命令bot移动的方法好用,我会让推他们之后才过去救人?脚底板是真的重,得请他们救人。


          IP属地:广东5楼2020-02-01 05:35
          收起回复
            接着再说一下脚本开发的问题,vscript本意上是用来给地图启用脚本,让地图的道具和场景互动变得更丰富的,而不是用来开发Bot潜力的,所以说CommandABot这个功能,实际上除了命令攻击之外就根本没什么卵用。
            命令移动?命令撤退?
            命令移动会使bot丢失目标,同时丢失锁定目标的能力,也就是说:bot在到达目标点之前,都不会进行任何攻击活动,成了一个跑步机器。
            而命令撤退真的就是缓缓地,缓缓地退步。和遇见witch的那个步伐是一样的,甚至还会开始颤抖。
            命令移动不能用来走路,命令撤退不能用来躲痰和石头,那我能怎么办,只能继续推他们了啊!
            制作组有毒吧,放出来个函数还这么不好用,到底有没有想要写好AI啊,最起码把基础的战斗方式写好吧?
            不同的难度也都只是改变了感染者的伤害,AI也都没有变,而友方bot依旧是只能打打普通的混球,人数不够时只能拖累后腿,真的是很难伺候,难度一提上去直接变成了自走倒地机。
            我发布最初版本的时候甚至给bot发福利,给他们无限的肾上腺素效果,然而没几个版本就取消了。
            本来也是有无限弹药的,但是也是考虑到只是在原版基础上变得更符合人类玩家标准,昨天更新的时候也取消了。
            不过好在基础战斗方式的改变是大幅提升了bot的自保能力,变得更有力了一些。即使是高级模式也能达到和玩家差不多的水平了。
            其他的功能也只能当作加分点,丢投掷,躲痰,躲tank,躲石头,用除颤器。也只是对整场战役稍稍起到帮助作用。这些功能用脚本开发真的是很难,除了原生引擎对AI没有太大加持外,脚本开发也限制了很多功能,没有插件那么方便,没法命令切换武器,没法命令开枪。真的很苦逼。
            到目前为止经过不断修改和测试,也算是让他们更有实力一点了,不再那么弟弟了。现在的版本日用也完全没问题了,通过这次写脚本我也对起源引擎和L4D2了解了更多,也学习了一门轻语言,学习了很多思路,也算是颇有收获吧,毕竟是自己喜欢的游戏,把精力投入上来也没什么。
            到目前为止,Bot在运气好的情况下,四个bot自己,是可以打完一张没有需要在无限尸潮的情况下跑图的的 高级模式 官方战役 地图的(虽然可能会需要重启关卡)沼泽激战就差不多,不过只见他们通过一次。
            大部分情况下就当作路人玩家就可以了,还是很可靠的。如果有需要的话也可以去尝试一下,原生的AI我实在是受不了了,反正我自己是拿来日用了。


            IP属地:广东6楼2020-02-01 05:36
            回复
              666大佬牛皮,感谢去下个,有机会试试,这电脑有时候真的太zz了,尤其试第三方图的时候


              IP属地:上海来自iPhone客户端7楼2020-02-01 05:36
              回复
                steam吧如果有对起源引擎的bot AI或者是l4d2 bot AI比较了解的也可以分享一下为啥原生bot ai的行为这么zz,总之我对官方的这个AI是不太满意的。
                我能找到的源码只有source engine的,2013版,不是求生的版本。
                Bot ai相关的部分因为不是l4d2的,我也就没细看。总之底层部分的东西很难单单去用脚本调整,甚至这个脚本还只是用来丰富地图功能性的,根本也就不是用来强化bot的,我看他们很多人写这些东西还是插件用的多,但是插件没法发布到创意工坊,也得单独安东西,不像创意工坊一个订阅就完事了,对新人比较友好(其实我觉得挺奇怪的,求生之路现在还能有少量萌新加入)。
                想了想csgo里都可以根据难度更变AI水准,L4D2也是一直在更新啊,为啥制作组一直没改善AI的水平呢,觉得这样子就锻练不到玩家了?但是也不至于一直都这么蠢吧,高难度真的就是拖后腿了,顶多当个移动胆汁去吸引仇恨。联机找不齐人就只能受苦了


                IP属地:广东8楼2020-02-01 05:44
                收起回复
                  话说大佬有没有优化捡包判定,垃圾电脑老是不捡包或者安全屋半血打包空包出门


                  IP属地:上海来自iPhone客户端9楼2020-02-01 05:47
                  收起回复
                    大佬


                    IP属地:河南来自Android客户端10楼2020-02-01 07:55
                    回复
                      可以,毕竟带电脑就是跟**玩,不带就毛线容错率没有,这个是真的有用


                      雪中悍刀行
                      关注雪中悍刀行吧,并且捧场5000T豆(含历史行为),去领取
                      活动截止:2025-12-31
                      去徽章馆》
                      IP属地:辽宁来自iPhone客户端11楼2020-02-01 08:25
                      回复
                        dalao你这mod我之前也看过
                        smoke由于技能性质特殊即使是原版也是经常卡bot看戏的惯犯,更别说各种奇奇怪怪的第三方图了


                        IP属地:广东来自Android客户端12楼2020-02-01 09:39
                        回复
                          大佬来个度盘链接,谢谢。单机党就指着电脑人了


                          IP属地:河北来自Android客户端13楼2020-02-22 01:04
                          回复
                            大佬这么**


                            IP属地:广东来自Android客户端14楼2020-02-22 01:21
                            回复
                              度盘链接还有吗


                              IP属地:河北15楼2020-02-29 10:06
                              回复