我正在尝试开发一个用于玩超级马里奥的机器学习系统。
该应用程序应该根据当前的游戏状态决定按下哪个键(游戏控制键)。因此,
- 如何模拟按键操作?(例如按下箭头键、Ctrl键等,就像用户在玩游戏一样)
- 如何读取游戏状态?(例如敌人碰撞、获得道具等)
这是可能的吗?还是我需要自己实现一个游戏来做这件事?
回答:
鉴于你无法访问超级马里奥兄弟的源代码,我认为你最好的选择是找到一个类似类型的开源平台游戏。这样做可以让你用你的AI代码替换代码中用户输入的部分,并且你可以暴露任何你想要的游戏状态信息。
还有其他专门为这种挑战设计的AI竞赛项目——我在大学时也做过类似的事情,参与了TORCS。TORCS是一个赛车模拟器,你可以为其编写AI插件,它会提供关于你的赛车及其在赛道上的位置的某些状态信息,然后你处理这些信息来提供输入到赛车控制中。