首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何实现游戏保存,使开发人员可以避免创建god类/对象?

如何实现游戏保存,使开发人员可以避免创建god类/对象?
EN

Stack Overflow用户
提问于 2013-03-26 03:53:40
回答 1查看 140关注 0票数 0

昨天当我玩电子游戏的时候,一个问题突然出现在我的脑海中,游戏保存机制是如何实现的?

大多数情况下,保存需要游戏的所有数据。在这种情况下,程序员不是必须创建一个引用每个游戏数据的神对象吗?

我把这个问题发布在SO上,而不是游戏开发上,因为我想要一个基于软件设计而不是游戏开发本身的答案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-26 03:59:57

您应该记住的一件事是,您只需要存储重要的数据。例如,这可能包括清单内容(可能是did和数量的列表),玩家位置,以及关键任务位(你是否已经从被禁止的冰箱中获得了魔法芹菜?)。这可以用类似于Memento模式的东西来实现,尽管在实践中它通常只是一个被序列化到磁盘上的结构(或等效结构)。

你不需要保存整个世界的状态,因为一个关卡加载器通常会处理项目/实体在世界中的放置。如果你仔细观察,你会注意到恢复一次保存并不需要恢复世界上所有东西的确切状态--只需要恢复重要的部分。这是一种在游戏中经常使用的心理学技巧。

保存文件的其他注意事项可能包括用于检测保存文件篡改的散列或校验和,或者存储运行时RNG将用于在游戏加载后创建相同系列事件/实体的种子值。

基本上,你实际上不需要保存世界状态的每一点-只需要保存玩家可能关心的部分:-)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15623527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档