请允许我描述一下我的情况:
我想开发一款游戏,即回合制和付费游戏。这意味着您为一轮游戏支付一枚硬币,例如弹球等。
问题是,当出现中断时,理想情况下游戏应该暂停,并在用户需要时恢复。实施这似乎是一个挑战。假设我的游戏已进入后台,我会将游戏状态保存在 ApplicationDidEnterBackground 中。但是,游戏可能会或可能不会在后台终止。因此,下一次启动可能是“重新开始”,或者是“从上次保存状态恢复”。
如果应用程序在后台停留的时间足够长,比如 1 周,几乎可以肯定其他应用程序争夺内存会导致游戏在某个时间点终止。当用户再次启动我的应用程序时,他们将开始新一轮游戏,这意味着之前未完成的游戏已经消失。
从客户的角度来看,这是不公平的。
我能想到的是,实现它以便每当我的应用程序被带到前台时,我都会去检查是否有保存的游戏。如果有,我将改为恢复它。这带来了一个安全问题:
保存的游戏,无论是最原始的 plist 格式还是其他格式,都会被持久化,并带来安全问题。(如果玩家编辑游戏状态并获得1000万分作为最高分……等等)
有没有推荐的方法来解决这些问题?
我看到有的App直接放弃了保存游戏,恢复后会开始新的一轮。那些不是为了玩游戏而付费的,否则我可以想象用户会非常生气。
我见过一些应用程序可以保存游戏状态一段时间,但是当它被终止时,下次启动时,它将开始新一轮。在玩家实际为该回合付费的情况下,这似乎是不可接受的。
当考虑到崩溃的可能性时,我无法想出一个好的解决方案来确保付费客户能够玩一整轮游戏。如果有相关经验的人可以分享他们的想法,以及他们如何做出决定,那真的会对我有所帮助。