我目前正在使用JavaScript/JQuery开发游戏.这是一个简单的破砖机类型的游戏保持得分,水平等.我正计划实施一个用户可以提交最终得分的排行榜.我看到的唯一问题是用户在大多数浏览器上使用开发人员工具操纵乐谱.我知道保留服务器端将解决大多数这些问题,但是如果用户数量很大,它会在请求时严重打击我的服务器.Cookies - 轻松改变客户端.老实说,我不赞成推广公平游戏的合乎逻辑的想法,因为总有人试图欺骗/成为排行榜的榜首.有了这个说法,什么是一种有效和有效的方法来跟踪用户的分数而不让他们改变它?
小智 8
使页面提交完整的游戏重播,而不仅仅是最终得分.给定随机种子和用户输入的逐帧记录,您的服务器应该能够模拟和重建游戏并验证分数.
显然重播也可以伪造,但这相当于工作(实际上玩游戏并实际得到一个好成绩,虽然有人工智能援助的不公平优势,减速和其他客户黑客),工具辅助分数应该是值得进入排行榜.
通过创建只能在服务器端计算的等式来模糊他们的分数.
编辑:RobG是正确的,因为它需要在客户端计算.
我在Chrome上推出了愤怒的小鸟游戏:
http://wesbos.com/all-levels-html5-angry-birds/
但是,他们已经对代码进行了大量的混淆,以至于无法弄清楚哪个函数计算出哈希值.