• 注册
  • 一般交流 一般交流 关注:5777 内容:8740

    bot对手雷的反应逻辑探讨

  • 查看作者
  • 打赏作者
  • 当前位置: ODDBA社区 > 离线版交流区 > 一般交流 > 正文
  • 2
  • 一般交流
  • 功行圆满

    老兵暂时性的回归一下诺文斯克地区(实在不知道玩什么了),这两天在研究ai的逻辑的同时翻了一下论坛,好像并没有关于ai的深度修改方面的讨论,所以我来抛砖引玉一下看看有无人对ai的修改感兴趣的。

    在bots\type中的各个ai都有其装备、行为逻辑的json文件,json文件中有不同的难度对应战局开始时的难度选择,其中有一段是关于手榴弹的,一下是随意摘抄的bear默认难度的手榴弹的一些逻辑

    "Grenade": {
            "ADD_GRENADE_AS_DANGER": 65,
            "ADD_GRENADE_AS_DANGER_SQR": 4225,
            "AMBUSH_IF_SMOKE_IN_ZONE_100": 40,
            "AMBUSH_IF_SMOKE_RETURN_TO_ATTACK_SEC": 30,
            "ANG_TYPE": 4,
            "BEWARE_TYPE": 2,
            "BE_ATTENTION_COEF": 4,
            "CAN_THROW_STRAIGHT_CONTACT": false,
            "CHANCE_RUN_FLASHED_100": 100,
            "CHANCE_TO_NOTIFY_ENEMY_GR_100": 99,
            "CHEAT_START_GRENADE_PLACE": false,
            "CLOSE_TO_SMOKE_TIME_DELTA": 5,
            "CLOSE_TO_SMOKE_TO_SHOOT": 10,
            "CLOSE_TO_SMOKE_TO_SHOOT_SQRT": 100,
            "DAMAGE_GRENADE_SUPPRESS_DELTA": 8,
            "DELTA_GRENADE_START_TIME": 0.01,
            "DELTA_NEXT_ATTEMPT": 10,
            "DELTA_NEXT_ATTEMPT_FROM_COVER": 5,
            "FLASH_GRENADE_TIME_COEF": 0.25,
            "GRENADE_PRECISION_PORTALS": 0.1,
            "GrenadePerMeter": 0.15,
            "GrenadePrecision": 0.1,
            "MAX_FLASHED_DIST_TO_SHOOT": 10,
            "MAX_FLASHED_DIST_TO_SHOOT_SQRT": 100,
            "MAX_THROW_POWER": 18.7,
            "MIN_DIST_NOT_TO_THROW": 8,
            "MIN_DIST_NOT_TO_THROW_SQR": 64,
            "MIN_THROW_DIST_PERCENT_0_1": 0.7,
            "MIN_THROW_GRENADE_DIST": 12,
            "MIN_THROW_GRENADE_DIST_SQRT": 144,
            "NEAR_DELTA_THROW_TIME_SEC": 2,
            "NO_RUN_FROM_AI_GRENADES": true,
            "REQUEST_DIST_MUST_THROW": 3,
            "REQUEST_DIST_MUST_THROW_SQRT": 9,
            "RUN_AWAY": 22,
            "RUN_AWAY_SQR": 484,
            "SHOOT_TO_SMOKE_CHANCE_100": 50,
            "SIZE_SPOTTED_COEF": 2,
            "SMOKE_CHECK_DELTA": 1,
            "SMOKE_SUPPRESS_DELTA": 20,
            "STOP_WHEN_THROW_GRENADE": true,
            "STRAIGHT_CONTACT_DELTA_SEC": -1,
            "STUN_SUPPRESS_DELTA": 9,
            "TIME_SHOOT_TO_FLASH": 4,
            "WAIT_TIME_TURN_AWAY": 0.2
          }

    接下来逐一说下各个字段的意思,

    ADD_GRENADE_AS_DANGER:手雷的威胁识别半径

    AMBUSH_IF_SMOKE_IN_ZONE_100:烟雾区域的伏击概率,反正我是没见过bot在烟雾里伏击,也可能是烟雾弹投的少

    AMBUSH_IF_SMOKE_RETURN_TO_ATTACK_SEC:应该是bot在烟雾区域的射击时间

    ANG_TYPE:投掷角度类型,4是高抛物线投掷法

    BEWARE_TYPE:警戒模式,2是bot会把手雷位置共享给队友

    BE_ATTENTION_COEF:警戒系数,在bot的警戒值里,这里的4是普通警戒值的4倍

    CHANCE_RUN_FLASHED_100:被致盲的逃跑概率,这里概率是100%

    CHEAT_START_GRENADE_PLACE:bot会显示手雷的预测轨迹,就跟我们看到的有些游戏中的抛物线一样

    CLOSE_TO_SMOKE_TIME_DELTA:进入烟雾后的反应时间

    DAMAGE_GRENADE_SUPPRESS_DELTA:压制效果,bot在被手雷炸伤后会隐蔽的时间

    DELTA_NEXT_ATTEMPT:投掷冷却,bot不会在这个数值内连续投掷手雷

    DELTA_NEXT_ATTEMPT_FROM_COVER:掩体中投掷冷却,当bot在掩体中时,投掷冷却时间更短

    FLASH_GRENADE_TIME_COEF:致盲时间系数,0.25表示实际致盲时间为原时长的25%,难怪闪光对bot没什么作用

    GRENADE_PRECISION_PORTALS:手雷轨迹预测的误差系数

    GrenadePerMeter:投掷精度对距离衰减

    GrenadePrecision:投掷基础精度

    MAX_FLASHED_DIST_TO_SHOOT:致盲时在这个距离内bot会反击

    MAX_THROW_POWER:最大投掷力度

    MIN_DIST_NOT_TO_THROW:绝不投掷的最小距离

    目前只看了这么多且一次测试都没有(因为我在上班摸鱼),等下班了可以进行测试一波,不过不知道sain模组对这个会不会有影响,不行还得先把模组卸了

    经过一轮日间工厂对比测试得知:

    1、FLASH_GRENADE_TIME_COEF字段对bot确实有效果,但仅限于scav和boss,PMC无法被致盲

    2、应该是由于MAX_FLASHED_DIST_TO_SHOOT字段的影响,当bot在10米内被致盲时依然会保持射击精度,当bot离开10米的范围就会丢失目标,此时再将bot致盲会直接丢失精度

    3、bot在被致盲后如果没有目标依然会有概率射击

    4、被致盲的bot会立即逃跑

    炉火纯青
    打赏了5金币
    回复
    初窥堂奥
    打赏了5金币
    回复

    请登录之后再进行评论

    登录
    离线版交流区
  • 今日 1
  • 内容 10267
  • 关注 5777
  • 聊天
    关注 26

    【招募】GRIFFIN TKF项目开工 期待你的加入 || 你是否想加入格里芬书写自己与人形的故事

  • 签到
  • 任务
  • 发布
  • 模式切换
  • 偏好设置
  • 帖子间隔 侧栏位置: