我正在用 javascript 创建一个塔防游戏,并希望获得高分和其他多人互动。可能有几个玩家同时开始游戏,并告诉他们其他人的速度有多快等等。
我不知道 Flash 游戏如何发送他们的分数或事件以确保每个客户发送的信息实际上是正确的,而不仅仅是发送令人难以置信的分数的人。我记得几年前,当 Flash 游戏开始获得高分时,看到不真实(被黑)的分数很常见,而且……这很奇怪。那么这里的秘密是什么?
我正在用 javascript 创建一个塔防游戏,并希望获得高分和其他多人互动。可能有几个玩家同时开始游戏,并告诉他们其他人的速度有多快等等。
我不知道 Flash 游戏如何发送他们的分数或事件以确保每个客户发送的信息实际上是正确的,而不仅仅是发送令人难以置信的分数的人。我记得几年前,当 Flash 游戏开始获得高分时,看到不真实(被黑)的分数很常见,而且……这很奇怪。那么这里的秘密是什么?
人们总是能够在游戏中作弊......你能做的最好的就是让作弊变得困难。旧 Flash 游戏的分数很容易被操纵,因为分数将通过 HTTP 请求提交。嗅探流量将显示提交 URL 以及需要传递哪些变量才能更新分数。我希望它已经改变了。
如果我是你,我会使用一些错误检查代码,这些代码将与最终分数一起传递,以验证分数是否合法。错误检查代码算法应该很难从分数中确定(如果有人在嗅它)。javascript也应该被任意混淆。这远非理想,但应该可以阻止大部分作弊者。
我看到的最佳实践是进行完整性检查。
记录经过的时间,杀死的敌人等...用数据检查分数,看看它们是否相加。
它主要是虽然这些天默默无闻。您通常会为每个游戏分配一个唯一的令牌,并形成某种分数和令牌的散列,并在提交时验证它(或在整个游戏过程中持续提交、验证和令牌切换)。
你会很难通过 javascript 来做。
使用以下工具的组合,这些工具通常用于防止虚假分数和进度报告。