0

背景

使用在线高分列表的游戏的一个问题是它们经常被滥用。游戏将当前分数发送到服务器,狡猾的用户可以分析协议/方案并发送虚假分数。这就是为什么一些高分榜以 999999 分高居榜首的原因。

这个问题的一个常见解决方案是以某种方式对分数进行加密,并在此之上放置其他机制来识别错误分数。但即使你这样做了,发送分数的还是客户端,并且客户端存在于用户的计算机中,并且可以进行逆向工程。

我的想法

我正在设计/考虑一个游戏(我将完成,是的,对:)),您可以在其中配置您的播放器/机器人,说明如何执行任务(以及何时执行这些指令)。当按下“开始”按钮时,游戏会运行指令。最后获得一个结果,如果成功,则获得一个分数。

那么,怎么样:不是提交分数,而是使用相同的实现将实际指令发送到运行它们的服务器。然后服务器计算分数并将用户放在高分列表中。

问题

有没有办法滥用这个想法来获得假分数?

我知道这可能不是一个新想法。但如果它有效,它也不是不可能扩展到其他游戏,在那里可以记录所有用户操作。

4

2 回答 2

1

人们总会找到作弊的方法,但这似乎是一种合理的对策。您必须考虑您的预期流量水平,因为您的方案将需要更多资源,而不是仅记录客户端发送的高分。

但是,顺便说一句 - 这个游戏听起来很像我的工作(向机器发出指令以便它执行某些任务)。虽然没有高分板(尽管那会很棒)。

于 2011-09-21T07:20:45.877 回答
0

只要机器人程序的行为不依赖于计算机的速度就可以了,如果程序非常小,最多只有几千字节,就可以了;我能看到作弊的唯一方法是克隆工作空间并运行程序以找到机器人的最佳程序,然后将其放入并提交,或者如果有人发布了解决方案,人们使用了它,但两者都这些问题可以通过随机化来解决。

(关于速度依赖游戏问题的说明,如果计算机无法全速运行,游戏均匀减速是可以的,但如果物理时间步长取决于帧速率,则会出现跳跃等问题高度随帧率变化)

于 2011-09-21T07:26:17.377 回答