最近我一直在尝试机器学习,我想看看能否为我正在制作的游戏创建一个AI。这个AI应该能够帮你解开谜题。
目前游戏的运行机制如下。你有一个网格,里面有一些瓷砖,其中一些可以移动,有些则不能。你点击想要移动的瓷砖,然后将其拖动到某个方向。瓷砖会开始移动,有时还会移动玩家角色本身。最终目标是到达终点瓷砖。关卡示例,解开关卡
自己玩游戏时:
当你选择一个瓷砖(通过点击完成),然后按住鼠标按钮,拖动到你希望瓷砖移动的方向。一旦瓷砖移动完毕,玩家对象将在同一方向移动一步。如果玩家位于你移动的瓷砖上,它会随瓷砖一起移动。然后再朝同一方向移动一步。
我想知道是否有可能(如果可以,如何)让机器学习在屏幕上定义一个位置,(可选地)点击然后定义一个移动方向?
请注意,我对机器学习还比较陌生!
为了进一步澄清:
- 目前网格是静态的,为了让AI更简单。但之后的目标是随机生成关卡,看它能否解决。
- 理论上,AI所需做的就是选择一个要移动的瓷砖(一个介于0和网格宽度之间的数字,以及高度的相同数字)。并定义一个移动方向。可以是(0, 1)、(0, -1)、(1, 0)或(-1, 0)。
- 从网格上掉落会导致重置。
- 到达网格的末端会导致胜利。
- 向无效方向移动会导致重置。
回答:
根据你的要点,我建议你直接实现A*路径查找算法,并进行一些修改来模拟机器学习。A*路径查找算法确定从点a
到点b
的网格上最佳路径,通过巧妙的编程,你可以以合理的开销实现你想要的结果。
比如,拥有一个“不要触碰”的网格点列表(死亡陷阱等),当AI遇到这些点时列表会填充,这样在下一次迭代中它就知道不应该走那条路径。这是一个对你想法的非常基本的抽象,但非常可行。
显然我们不能为你编写代码,幸运的是,有很多关于A*路径查找的资源可以帮助你开始!