跑了一下CMU博士Tom Murphy的人工智能程序来玩任天堂的超级马里奥,虽然是2013年就出来了,但是还是很激动呀。
这是他本人的博客:http://radar.spacebar.org/
资源都在这个网上有:http://www.cs.cmu.edu/~tom7/mario/
在文章的最下边是论文链接、源程序和编译好的可执行文件。
论文链接:http://www.cs.cmu.edu/~tom7/mario/mario.pdf
源程序:http://sourceforge.net/p/tom7misc/svn/HEAD/tree/trunk/tasbot/
可执行程序:http://www.cs.cmu.edu/~tom7/mario/playfun.7z
解压playfun.7z压缩包,会看到这些程序

playfun7z

playfun7z


打开readme文档,看作者的步骤提示:
1、运行平台是win7 64位系统
2、FCEUX是必须的,录制视频和回放人工智能玩的游戏都是靠这个来播放的。下载链接:http://www.fceux.com/web/download.html FCEUX 2.2.3 win32 Binary
下载超级马里奥的nes文件,用FCEUX完超级马里奥的游戏,并且录制视频
3、创建一个config.txt文件,文件内容包括下边三行文件:

game mario
movie me-playing-mario.fm2
moviename me-playing-mario.fm2

PS:readme文件是这么写的: Modify config.txt to contain e.g. 英文不好,理解为修改一个config.txt文件了,找了半天没找到,哎。其实是自己创建,后来在radar.spacebar.org/f/a/weblog/comment/1/1097 看到别人的评论里详细解释了这个步骤才得以解决。
4、记得在当前目录下有一个叫“mario.nes”的文件,还有录制好的视频命名为“me-playing-mario.fm2”,如下图:

nes

nes


5、点击ansicon.exe 在命令行里运行learnfun.exe 这个应该很快就运行完了
6.运行
playfun.exe –helper 8000
playfun.exe –helper 8001
….
playfun.exe –helper 8005
PS:根据机器配置选择合适的运行个数,否则机器会卡死。还有这个需要的时间特别长,据作者说几分钟的的视频需要运行好多天。我只启动了两个进程。
6、当所有的helper都输出ready,就可以跑主程序了 playfun.exe –master 8000 8001
7.最后会输出mario-playfun-backtrack-269-replacement.fm2文件,再用FCEUX就可以看到了。
mario

mario


这是用程序自己玩马里奥的视频,大概耗时24小时: