这只鼠标学会了自己玩FPS游戏:准度不输职业选手

大千世界 106 0

  能自动瞄准并“精准命中”,还不会被封号的FPS外挂,你见过吗?

  现在,真的有一位CMU研究生小哥,将自己的鼠标变成了FPS游戏里的“神狙手”!

  给它安上四个轮子后,鼠标便能根据CV算法反馈,自动瞄准并实现一枪狙击。

  

这只鼠标学会了自己玩FPS游戏:准度不输职业选手-第1张图片-大千世界


  在这之前,虽然也有一些物理外挂,但还不至于自动化到让鼠标自己移动并完成射击。

  如果选择第三方软件修改等外挂,又极容易被直接封号。

  思索一番,这位小哥便开发了一个能自己瞄准目标的FPS物理外挂,目前在训练场Aim Lab中的成绩已经超过了一些FPS专业玩家——

  人类FPS专家平均在80000~90000分左右,而它拿到了110000+分。

  有网友看完后表示“绝不简单”:对于写过代码的人来说,这可没听上去那么轻松。

  

这只鼠标学会了自己玩FPS游戏:准度不输职业选手-第2张图片-大千世界


  所以,他究竟是怎么做到的呢?

  将鼠标变成“神狙手”

  为了让鼠标自己“学会”瞄准,这名小哥首先给鼠标设计了一个底盘。

  在他的设想中,这个底盘要能带着鼠标灵活移动,原理大概像这样:

  

这只鼠标学会了自己玩FPS游戏:准度不输职业选手-第3张图片-大千世界


  思路有了后,最终底盘用到了四个全向轮和对应的控制电机。

  

这只鼠标学会了自己玩FPS游戏:准度不输职业选手-第4张图片-大千世界


  简单来说,各个方向的全向轮(omni wheels),能够让机器人朝向任意方向灵活运动,包括直接走直线等,而这些轮子分别由不同的电机控制。

  

这只鼠标学会了自己玩FPS游戏:准度不输职业选手-第5张图片-大千世界


  基本的移动操作实现后,就是利用计算机视觉算法,来让它学会“自己寻找猎物”了。

  小哥基于OpenCV写了一个Python目标检测算法,训练它能够根据目标的位置迅速瞄准对应的目标:

  

这只鼠标学会了自己玩FPS游戏:准度不输职业选手-第6张图片-大千世界


  从视觉数据反馈到操作上,小哥采用了PID控制算法,让机器人学会自己去找距离最近的“射击点”,来在规定时间内瞄中更多的物体:

  

这只鼠标学会了自己玩FPS游戏:准度不输职业选手-第7张图片-大千世界


  当瞄准物体后,这个机器人就会自行触发鼠标“点击”的动作,从而完成自动射击。

  在测试中超过部分专业玩家

  为了加强这个机器人的能力,小哥在一个叫做Aim Lab的第一人称射击游戏模拟器中对它进行训练。

  目前,有不少专业FPS玩家都会在Aim Lab中训练,里面也包含了各种不同类型的射击任务,例如人形移动靶、飞靶等。

  

这只鼠标学会了自己玩FPS游戏:准度不输职业选手-第8张图片-大千世界


  小哥训练的这个“鼠标机器人”,主要针对的还是颜色球射击,其中视觉算法自动找到带颜色的球体,然后机器人跟上去瞄准射击。

  调测了两个月算法后,小哥终于训练出了比较满意的机器人,目前在Aim Lab中最高拿到了118494的分数,超过了不少专业FPS玩家。

  

这只鼠标学会了自己玩FPS游戏:准度不输职业选手-第9张图片-大千世界


  △一名职业选手公开分数

  不过目前它还没有打破Aim Lab的最高纪录(146902分)。

  也有一个原因是在挑战最高分数的过程中,它的底盘因转速过快烧毁了一个电机,无法再度挑战最高分(手动狗头)。

  开发这个物理外挂的小哥名叫Kamal Carter,本科毕业于CMU,目前在CMU读硕士研究生,同时也在Howie Choset教授创立的HEBI Robotics公司工作。

  

这只鼠标学会了自己玩FPS游戏:准度不输职业选手-第10张图片-大千世界


  据小哥自己介绍,他高中的时候就开始玩机器人了,目前研究兴趣也是机械设计和CAD等。

  对此有网友调侃,这个机器人值得一个更好的鼠标:

  

这只鼠标学会了自己玩FPS游戏:准度不输职业选手-第11张图片-大千世界


  但也有网友认为,小哥具有这般能力,更应该做点有用的东西,而不是搞这些物理外挂。

  

这只鼠标学会了自己玩FPS游戏:准度不输职业选手-第12张图片-大千世界


  那么,你觉得呢?

  OpenCV视觉算法教程:

  https://docs.opencv.org/4.x/df/d9d/tutorial_py_colorspaces.html


标签: 鼠标 第一人称射击 游戏

抱歉,评论功能暂时关闭!