格斗游戏中职业选手 VS Bot的比赛

  • A
    Aric_Bear
    之前有人发过贴讨论过这个问题,但是都没有实际比赛的视频。

    刚刚看到
    https://www.youtube.com/watch?v=o1bfQWy8o08
    这个视频,smash melee的职业玩家对bot。(先不要吐槽melee算不算格斗游戏吧,这不是重点。)
    然后果然结果上是人类玩家的惨败。

    这个bot的项目地址:https://github.com/altf4/SmashBot

    原理上 直接读取模拟器内存获得比赛信息,通过决策之后向模拟器输入手柄按键信号操作游戏角色。
    简单的看了看代码,没有使用深度学习技术,就是直接在代码里面写了规则然后根据情况执行对应代码。Bot游玩的风格是骗招反击然后尽可能的无限连。

    由于Bot输入上毫无破绽,一旦进入无限连状态人类玩家能够做的事情就很少了。

    当然之前那一贴也有人说过bot需要和人类一样 1)获取屏幕输出信息然后使用 2)实际的摇杆 与玩家进行比赛。1涉及到计算机视觉相关的问题现在运行效率上肯定比直接获取内存要低得多,2的话只要做一个机械臂输入指令应该也还是比人类要稳定准确的。

    视频比较有趣的一个地方是15分钟左右电脑处理萨姐挂边的策略的变化,感觉上这个bot还是有点学习能力的,虽然还不知道怎么实现的。
  • 公车舰队
    原来街霸5 天梯那个隆 不是说就是bot么
  • A
    Aric_Bear
    那个bot还不算特别厉害啊,至少后来面对职业玩家的时候各种被当靶子。
    这个bot就相对厉害得多了,也能够当作人类玩家在格斗游戏里面打不赢高水平Bot的一个佐证了。
  • 公车舰队
    读内存打不过是肯定的阿 和RTS一个级别的
    说法还是那个说法 让机器人用摇杆打
  • e
    eggplant
    读内存相当于读心术了,你会读对手出招你也输不了呀
  • 莉莉橙
    你让机器人用摄像头捕捉屏幕信息,用机械臂操作实体摇杆,或者给人脑后插管操作啊

    —— 来自 HUAWEI FRD-AL10, Android 7.0上的S1Next-鹅版v1.3.1.0-play
  • 螺旋打桩
    恐怕还是得输。
    假定双方接受的信息是一样的,机器手的反应速度和准确性也超过人类。
  • o
    osborn
    格斗游戏电脑能赢的本质是因为游戏里存在速度超快的动作,比如立即发生判定的防御、出招不到5帧的投技、发生超快还有无敌的升龙等等,这样电脑只要不主动进攻即可,因为攻方的破绽比防守大的多,人家跳过来可以直接升龙。假如所有动作都需要预判,比如防御必须提前5帧以上输入,或是升龙发生改到15帧以上,或是一切发生快的动作不允许带入高火力连段,电脑就不再有反应优势了,乖乖跟人拼择去吧。虽然那样的话游戏可能变成纯猜拳了,并不好玩。
  • 夏织
    朋友,你见过机械臂扭魔方在内存里扭的吗?
  • o
    orcher1945
    别的不说,电脑确认肯定是无敌的,只要小轻拳摸上就是无脑连。
  • 大厨麦当牛
    格斗游戏这种简单的穷举策略,还是一个屏幕就完全信息的,人怎么可能是电脑的对手。就算换成图像识别输入,机械手输出,人也打不过啊。
  • w
    wzh5555
    只有游戏系统本身大大降低输入、反应这些要素(输入简化、发生帧不宜过短、减少无敌的使用等等)的比重之后才有意义吧
    如果给bot有全屏攻击判定、有无敌判定、发生帧极短的这类招式,目前bot对其性能的发挥就是高程度的;而使用相反性能角色的bot则往往实力很差。
  • 螺旋打桩
    还是一个ai想不想阴你的问题。再怎么折腾电脑总有轻拳,只要你在轻拳判定范围内,发出招帧数大于轻拳的招式,ai就打掉……你总不可能一直出0帧技,何况就算0帧技你也有摇指令的时间。

    ai对距离的判定也同样可以精确到像素,相互摸奖的阶段人类也不可能摸得赢它,然后它摸到就连……
    当然我这种说法也不严谨,可能还没考虑到更多的情况。
  • w
    wzh5555
    是啊,所以发生帧少的招数越多,这个体系天然就对玩家不利,AI甚至不需要学习很复杂的策略就可以大优势。我觉得不算公平。

    如果都是发生帧较长的招式、减少无敌判定,这样较量立回还算比较公平(其实理论上AI对于判定框的判断能力和判断速度肯定也是碾压人的)
    这个层面上目前很多AI都显得并不聪明,经常容易被骗(很多高性能的强力boss都有几个AI的漏洞可以被无限抓)
  • P
    Purzle
    我认为,格斗游戏的基础是反应速度和操作精度,在游戏中的体现就是确认和连续技。一般来说,现代格斗游戏的最小时间单位是帧,最小距离单位是像素。人类的反应速度极限也就是0.1秒,换算成帧也就是6帧。其实正常人类都不能达到这个极限。而对于ai来说,它的反应速度极限就是游戏本身的极限。同样,ai在距离控制上也轻易就能到达极限。在这两方面,人类和ai的的鸿沟是无法跨越的。所以,只要不设定障碍,人类在格斗游戏上就不可能战胜ai。这其实都是早有定论的事情。就像楼主新闻里提到的一样,ai的策略就是防守反击和无限连,这以人类的反应速度和操作精度非常难完成,而对于ai来说这根本不是问题。所以,只要ai足够好,人类就没有丝毫获胜的希望。
    正因为如此,人们看这样的比赛,会赞叹ai真的厉害,却不会说,“这真是是一场精彩的赛!”格斗比赛应该是浪漫的,这种浪漫由各种可能与不可能构成,充满各种不确定性。所以,格斗游戏玩家才会对“背水的逆转剧”津津乐道。而ai的绝对则让这种浪漫消弭殆尽,使得这样的比赛失去了很多观赏性。
    人类有人类的玩法,ai有ai的玩法。我们只要享受格斗游戏带给我们的乐趣,这就足够了。
    以上,是一位格斗游戏“看”家的片面之言。