当前位置: 华文问答 > 游戏

为什么许多游戏在存档时会提示「不要关闭电源」?

2021-07-05游戏

你猜「不要把灯泡放进口中」这句警告是怎么来的?

OK,说正经的。

1、减少意外,免责

玩家所擅长的领域千差万别,不是每一个人都知道「写入磁盘时掉电可能会对数据乃至磁盘本身产生重大危害」——偏偏玩游戏的过程中存档又是一个非常频繁的操作。设备坏了事小,心血没了事大啊。

爽不爽?

加上提示以后,如果真的因为关机丢失了存档,也可以很大程度上规避责任,避免和玩家扯皮。

2、丢失存档的技术细节

其实现代游戏,如果处理方式合适的话,丢失存档的概率可以做到非常低。存档的逻辑可以用伪代码这样表示:

功能:存档() 步骤1. 将当前需要保存的数据全部整理出来,转换为一串纯数据data 步骤2. 打开存档文件 步骤3. 写入存档数据data 步骤4. 关闭文件

这一连串功能中,如果执行步骤4时关闭电源,大概率会丢失存档。

步骤2~3时关闭电源,有可能丢失存档,概率大小取决于存档大小,以及主机写文件的速度。

所以如果这块代码写的合适,存档容量不特别大,丢失存档的概率并不高。因关闭电源而丢失存档可以看成是巧合。

但是,不排除某些游戏这部分代码可能不太讲究,有三种可能:

  1. 某些游戏存档很大,写入时间比较长。
  2. 某些游戏在写新档案之前,为了减少占用先把旧存档删除。我估计比较古老的游戏机会有这个问题。
  3. 把上面的步骤1写到了步骤2、3之间,无谓增加了写入时间,增大了出错的概率。

按理来说,现代游戏机的架构与电脑类似,硬盘容量、内存容量是比较宽裕的,丢失存档的问题已经很不明显了。

最后,还有一个次要原因:存取存档的过程中玩家往往什么事儿也不能做,那就让闲着没事儿的玩家看看这句苦口婆心的忠告呗——就跟现在的游戏往往会在loading界面放一些游戏tip或剧情背景让玩家不那么无聊一样。