关于windows端游戏存档的讨论

本人正在用cocoscreator开发windows端游戏,使用creator开发+Electron打包的方案,未来会发布steam,现在对本地存储有一些想法。

  1. 如果使用creator的localStorage,游戏升级、重装或移动路径等操作会使存档消失,所以弃用。
  2. 使用第三方库,比如dexie,比localStorage专业点但本质还是浏览器存储,所以没试,估计可能也不太行。
  3. 使用electron写文件到硬盘,但windows写文件可能会有坑,比如文件占用等问题可能导致文件损坏。
  4. 使用electron加载第三方库,这种库比较多还没有找到合适的,也不知道会有哪些坑。

不知道有没有相关经验的前辈,能传授点经验或思路,万分感谢。

官方都在用electron,写文件不会有问题

用 cocos 做 windows 游戏的社区上似乎也越来越多了,请问下官方这里有适配 DirectX 的规划吗? @minggo

让玩家手动存档保存到数据库?

商业建议放弃。业余做来玩玩可以

Sqlite 试试

api CreateFile 自定义 文本/二进制 读/写

第3点为什么会有坑,做好异常处理就好了吧? windows写文件太常见了,也没见过谁写损坏了的,大不了你写个temp的,写完了再覆盖到正常路径。

用sqlite啊

steam有专用的游戏存档API,可以考虑接入这个。 如果不接steam的存档,那就写在PC我的文档里。 一般游戏的配置截图等信息都会保存在我的文档里

这个暂时没有计划。如果真的如你所说需求强烈的话,我们会考虑。

一般一个存档可能比较小,而且数据往往是顺序结构或者树结构,不是关系型数据,用sqlite建表反而复杂了。
sqlite 一般用在一些运行时频繁插入删除数据的工具上比较好,例如svn就是用的sqlite。热更也可以用。