【发布时间】:2016-11-09 05:05:31
【问题描述】:
(首先,如果这属于另一个 stackexchange 站点,请说出来。我不确定这是否属于这里。)
我正在制作电脑游戏。这是一个roguelike,这意味着一旦你死了,你的保存文件就会被删除。您可以通过复制您的保存文件然后在您死后恢复它来轻松地作弊。当然,我想阻止人们这样做。我已经有了一些想法:
- 加密保存文件。这使得人们只能复制+粘贴文件。
- 不仅仅是保存文件。拥有某种类型的“主文件”,其中包含您玩过多少游戏、哪些游戏已经死亡等信息。一旦有人死亡,主文件就会检测到有人试图恢复旧的保存文件。
不过,在此之后,人们可以从之前和之后复制并粘贴整个游戏文件夹,它仍然可以正常工作。我接下来的几个想法有点难以实现:
- 使用时间戳来检测某人何时编辑了文件。问题是人们根本无法移动文件。我可以拥有某种类型的“导出/冻结”功能,但这很容易被滥用。此外,如果某些其他程序在不知情的情况下编辑了该文件,则可能会使游戏认为您在作弊,而实际上您并没有。我还看到在线程序可以让您编辑时间戳。
- 使用注册表来保存一些信息。我试图让我的游戏有点跨平台,我不知道在非 Windows 系统上是否有类似注册表的东西。但人们仍然可以编辑注册表。
现在,我认识到没有绝对的方法可以阻止作弊。我只是想办法尽可能减少作弊者的数量。
所以,我的问题:
- 想法 3 和 4 是否可行?
- 有没有其他好的方法可以阻止人们编辑/替换文件?
【问题讨论】:
-
当然,我想阻止人们这样做——当然不是。为什么?
-
与其完全删除文件,不如擦除/重置其内容。或者在其中放置一个死亡时间时间戳。然后使用校验和/哈希来阻止对文件的编辑。然后在你这样做之后,忘记它,并且根本不要费心阻止作弊者。想要作弊的人通常会找到绕过您提出的任何保护措施的方法,然后他们可能会与其他作弊者分享该信息。除非您是价值数百万美元的游戏开发者,或者试图保护用户的财务或个人数据,否则尝试阻止作弊者是不值得的。
-
@TessellatingHeckler Permadeath 是 roguelikes 的定义特征之一。它们是围绕“一旦你死了,你的文件就会永远丢失”这一概念构建和平衡的。
-
@Remy 我认为我提到的前两件事就是你所说的。如果我能找到一种方法来阻止人们以其他方式作弊,我会实施它,但如果我找不到其他任何东西,我就不会担心它。我只是看看我还能做些什么。
标签: anti-cheat