为 WebGL/Unity 游戏构建机器人
Build bot for a WebGL/Unity game
有一款纸牌游戏可以在浏览器(通过 WebGL 应用程序)或 Steam 中玩。我想通过开发一个可以自动玩这个游戏的机器人来提高我的机器学习技能。我认为开发人员不会为此提供 API。
我可以通过某种方式做到这一点吗?如何从游戏应用程序中获取数据(例如,从 "screenshot" 中捕获数据)?
可以从屏幕截图中读取数据,但您需要识别每一张卡片。例如,您可以采用每张卡片上几个像素的颜色值并将组合映射到卡片上。根据卡片的数量以及每张卡片的不同程度,您将需要或多或少的像素。使用此数据库,您将必须检查屏幕上可以打牌的每个位置(假设牌总是放在同一位置)并检查像素以找到打出的牌。对于机器人所需的其他相关信息(例如玩家和敌人的生命值),您还需要一个类似的过程。
Python 中有关于此过程的教程:https://code.tutsplus.com/tutorials/how-to-build-a-python-bot-that-can-play-web-games--active-11117
另一种选择是在计算机内存中查找值。恐怕我无法为您提供任何帮助。
不过要小心,developing/using 机器人肯定违反游戏的条款和条件,如果被开发者检测到,可能会导致封禁。
有一款纸牌游戏可以在浏览器(通过 WebGL 应用程序)或 Steam 中玩。我想通过开发一个可以自动玩这个游戏的机器人来提高我的机器学习技能。我认为开发人员不会为此提供 API。
我可以通过某种方式做到这一点吗?如何从游戏应用程序中获取数据(例如,从 "screenshot" 中捕获数据)?
可以从屏幕截图中读取数据,但您需要识别每一张卡片。例如,您可以采用每张卡片上几个像素的颜色值并将组合映射到卡片上。根据卡片的数量以及每张卡片的不同程度,您将需要或多或少的像素。使用此数据库,您将必须检查屏幕上可以打牌的每个位置(假设牌总是放在同一位置)并检查像素以找到打出的牌。对于机器人所需的其他相关信息(例如玩家和敌人的生命值),您还需要一个类似的过程。
Python 中有关于此过程的教程:https://code.tutsplus.com/tutorials/how-to-build-a-python-bot-that-can-play-web-games--active-11117
另一种选择是在计算机内存中查找值。恐怕我无法为您提供任何帮助。
不过要小心,developing/using 机器人肯定违反游戏的条款和条件,如果被开发者检测到,可能会导致封禁。