1. 程式人生 > 資訊 >任天堂經典拳擊遊戲可以體感操作了:開啟網頁就能玩,擊敗泰森不是夢

任天堂經典拳擊遊戲可以體感操作了:開啟網頁就能玩,擊敗泰森不是夢

童年經典,任天堂的紅白機遊戲《拳無虛發》,在 AI 姿態檢測的加持下又有了新玩法。

近期一位油管博主 Ian Charnas,就把它改造成了一款體感遊戲:

可以通過做出上勾拳,閃避,防禦等動作控制遊戲中的角色。

並且線上可玩,你做啥動作,遊戲人物就做啥動作(可能因為動作不標準導致看起來並不一致……)。

基礎動作一共有三個。

格擋:雙手護頭,可以抵消一次對方的攻擊:

閃避:兩臂置於身前轉身。注意閃避的視窗時間很短,要把握好時機才能閃過。

出擊:向上出拳,對方沒有防禦姿態的時候就可以出擊了:

有了這三個動作,就可以一步步挑戰各路拳手,最後打敗最終 BOSS 泰森了。

童年遊戲改造計劃

不過要完成這樣的改造,著實需要花費一番功夫。

因為《拳無虛發》發行於 1987 年,年代太過久遠,硬體軟體都必須重新調整。

再加上姿態檢測部分,共有三部分內容需要改進。

先來說姿態檢測部分。

Ian Charnas 使用的是谷歌研究院推出的姿態檢測模型 MoveNet。

它的特點是可以又快又準地定位人體中的 17 個關鍵點,所以可以用來做實時的姿態檢測分析。

為了實現姿態檢測的目的,MoveNet 會平行計算以下幾個部分:

首先根據熱圖定位出人體的幾何中心。

然後由中心向外預測初始的關鍵點集。

再對關鍵點熱圖中每個畫素點加權,確保不受背景人物的干擾。

最後給出關鍵點座標的最終集合,並用區域性 2D 偏移量進行修正。

感受一下 MoveNet 的效果:

有了姿態檢測,就可以開始改進遊戲本身了。

為了能讓遊戲在網頁上執行,得先把它“拿出來”。

但是遊戲發行的時候連 USB 介面都沒有。

不過沒關係,Charnas 直接拆機,把 CPU 拆出來,在 CPU 和主機板之間加一塊新電路。

然後就可以把二進位制程式碼都下載出來了。

最後,需要用 Emscripten 把軟體部分編成 JavaScrip,還必須拆解掉之前的程式碼恢復初始的原始碼,以便在網頁瀏覽器上執行。

在優化了軟體之後,就可以來體驗有氧運動了~

再加一點刺激體驗:電擊綁帶。

在沒有躲掉對方的攻擊時會產生微弱的電擊,這也太真實了。

Ian Charnas 在 Reddit 上釋出這個專案之後,收穫了許多網友的好評。

這就是未來啊

比很多健身連鎖店好多了

Charnas 還表示可能接下來會做街頭霸王:

這麼好玩的遊戲還不快來試試~

直接線上就可以試玩,點選最右邊的按鈕進入介面。

線上連結:https://reallifepunchout.com/

參考連結:

[1]https://reallifepunchout.com/

[2]https://www.reddit.com/r/MachineLearning/comments/qpenkt/project_google_movenet_realtime_pose_estimation/

[3]https://mp.weixin.qq.com/s/Ri1BnS5nbGbxDDemMIFuJA#at

[4]https://reallifepunchout.com/