行早 发自 凹非寺
量子位 报道 | 公众号 QbitAI
童年经典,任天堂的红白机游戏《拳无虚发》,在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/
油管博主IanCharnas将任天堂红白机游戏《拳无虚发》改造成体感游戏,通过MoveNet模型进行姿态检测,玩家可以做出上勾拳、闪避、防御等动作来控制游戏人物。游戏经过拆机、代码移植和优化,现可在网页上体验。此外,他还添加了电击绑带来增强游戏的真实感,获得网友好评。
9

被折叠的 条评论
为什么被折叠?



