我想编写一个脚本,通过一些试错方法来学习玩 QWOP 游戏,该游戏以 Flash 格式在互联网上提供(更多关于 QWOP 的信息)。我发现其中存在一些挑战:
-
该程序以 Flash 格式提供,我不知道任何脚本(我计划使用 JavaScript)如何虚拟地使用它的 UI,这意味着向游戏 UI 发送适当的击键。
-
我知道 JavaScript 不是最容易掌握的语言,尤其是在像人工智能这样复杂的编码目标方面存在挑战。
我的问题是,使用什么工具或语言可以最好地在实践中完成这个相当有趣的实验?
*对于那些不知道的人,QWOP 是一款游戏,角色应该通过手动指令,使用 Q、W、O 和 P 键控制腿部运动来完成 100 米的赛跑。
**这款游戏被认为很难用正常的人类智慧来掌握,因此似乎非常适合进行一些人工智能测试。与发明一个与人类智能对抗的 AI 国际象棋玩家一样有趣。
回答:
看看,即使假设你的机器人以缓慢的 2Hz 频率工作,它也必须在一个持续 t 秒的游戏中做出 42t 个选择。如果你只想学习游戏的前 5 秒,你需要花费 2 个月 来尝试所有可能性。
在实现方面,最好的方法可能是反向工程游戏,并制作你自己的 Flash 应用程序,使用相同的算法来循环组合。这样,你不必等待游戏实时进行,并且可以跳过输入模拟和输出检测的所有麻烦。