滑鼠學會了自己玩 FPS 遊戲,在訓練場中準度不輸職業選手

蕭簫 發自 凹非寺,量子位 | 公眾號 QbitAI

能自動瞄準並「精準命中」,還不會被封號的FPS外掛,你見過嗎?

現在,真的有一位CMU研究生小哥,將自己的滑鼠變成了FPS遊戲裡的「神狙手」!

給它安上四個輪子後,滑鼠便能根據CV演算法反饋,自動瞄準並實現一槍狙擊。

在這之前,雖然也有一些物理外掛,但還不至於自動化到讓滑鼠自己移動並完成射擊。

如果選擇第三方軟體修改等外掛,又極容易被直接封號。

思索一番,這位小哥便開發了一個能自己瞄準目標的FPS物理外掛,目前在訓練場Aim Lab中的成績已經超過了一些FPS專業玩家——

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

有網友看完後表示「絕不簡單」:對於寫過程式碼的人來說,這可沒聽上去那麼輕鬆。

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

將滑鼠變成「神狙手」

為了讓滑鼠自己「學會」瞄準,這名小哥首先給滑鼠設計了一個底盤。

在他的設想中,這個底盤要能帶著滑鼠靈活移動,原理大概像這樣:

思路有了後,最終底盤用到了四個全向輪和對應的控制電機。

簡單來說,各個方向的全向輪(omni wheels),能夠讓機器人朝向任意方向靈活運動,包括直接走直線等,而這些輪子分別由不同的電機控制。

基本的移動操作實現後,就是利用計算機視覺演算法,來讓它學會「自己尋找獵物」了。

小哥基於OpenCV寫了一個Python目標檢測演算法,訓練它能夠根據目標的位置迅速瞄準對應的目標:

從視覺資料反饋到操作上,小哥採用了PID控制演算法,讓機器人學會自己去找距離最近的「射擊點」,來在規定時間內瞄中更多的物體:

當瞄準物體後,這個機器人就會自行觸發滑鼠「點選」的動作,從而完成自動射擊。

在測試中超過部分專業玩家

為了加強這個機器人的能力,小哥在一個叫做Aim Lab的第一人稱射擊遊戲模擬器中對它進行訓練。

目前,有不少專業FPS玩家都會在Aim Lab中訓練,裡面也包含了各種不同類型的射擊任務,例如人形移動靶、飛靶等。

小哥訓練的這個「滑鼠機器人」,主要針對的還是顏色球射擊,其中視覺演算法自動找到帶顏色的球體,然後機器人跟上去瞄準射擊。

調測了兩個月演算法後,小哥終於訓練出了比較滿意的機器人,目前在Aim Lab中最高拿到了118494的分數,超過了不少專業FPS玩家。

一名職業選手公開分數

不過目前它還沒有打破Aim Lab的最高紀錄(146902分)。

也有一個原因是在挑戰最高分數的過程中,它的底盤因轉速過快燒燬了一個電機,無法再度挑戰最高分(手動狗頭)。

開發這個物理外掛的小哥名叫Kamal Carter,本科畢業於CMU,目前在CMU讀碩士研究生,同時也在Howie Choset教授創立的HEBI Robotics公司工作。

據小哥自己介紹,他高中的時候就開始玩機器人了,目前研究興趣也是機械設計和CAD等。

對此有網友調侃,這個機器人值得一個更好的滑鼠:

但也有網友認為,小哥具有這般能力,更應該做點有用的東西,而不是搞這些物理外掛。

那麼,你覺得呢?

OpenCV視覺演算法教程:
https://docs.opencv.org/4.x/df/d9d/tutorial_py_colorspaces.html

參考連結:
[1]https://www.youtube.com/watch?v=ne9bmMX82iY
[2]https://www.pcgamer.com/a-roboticist-built-a-hardware-aimbot-that-could-outperform-the-pros-until-it-aimed-so-hard-it-died/
[3]https://hackaday.com/2022/04/30/aimbot-does-it-in-hardware/
[4]https://krcarter.github.io/

相關文章