我们的下一个项目应该是一个基于 MS Windows 的游戏(用 C# 编写,带有一个 winform GUI 和一个集成的 DirectX 显示控件),供想要将奖品赠送给最佳玩家的客户。这个项目打算运行几年,包括锦标赛、阶梯、锦标赛、玩家对玩家行动等等。
这里的一个主要问题是作弊,因为如果玩家能够 - 例如 - 让定制的机器人为他玩游戏(更多地是在策略决策方面,而不是在玩很多小时方面),他将会受益匪浅.
所以我的问题是:我们有哪些技术可能性来检测机器人活动?我们当然可以跟踪播放的小时数,分析检测异常的策略等等,但就这个问题而言,我更感兴趣的是了解详细信息,例如
- 如何检测另一个应用程序是否定期截屏?
- 如何检测另一个应用程序是否扫描我们的进程内存?
- 有什么好方法可以确定用户输入(鼠标移动、键盘输入)是否是人工生成的而不是自动化的?
- 是否可以检测另一个应用程序是否请求有关我们应用程序中控件的信息(控件的位置等)?
- 还有哪些其他方法可以让作弊者收集有关当前游戏状态的信息,将这些信息提供给机器人并将确定的操作发送回客户端?
非常感谢您的反馈!