gpt4 book ai didi

python - 为超大游戏世界设计存储

转载 作者:IT王子 更新时间:2023-10-29 06:23:26 25 4
gpt4 key购买 nike

我又要开始游戏编程了。 10 年前我用 qbasic 制作游戏,从那以后我就再也没有做过任何游戏编程,所以我很生疏。虽然我一直在编程,但我现在是 Web 开发人员/DBA/管理员。我有几个问题,但我打算将每个帖子限制为一个。

我正在开发的游戏将是一个非常大的世界。它会有点像 URW ,而是一个更大的世界,更像是一个“角色扮演游戏”。

我一直试图决定的是,布局、保存和访问 map 的最佳方式是什么。我想到了使用 sqlite 来存储数据的想法。然后我什至可以使用 sqlite 数据库作为游戏的保存文件,非常简单。

有人对我应该如何处理此问题或其他存储方法有任何想法吗?

以下是我的游戏的要求:

  • 我需要完全随机访问游戏世界中的位置(NPC、怪物、动物都将一直处于事件状态)。
  • 我使用的是 Stackless Python 3.1,选项非常有限,除非我做很多工作。
  • 需要能够处理一个非常大的世界。
  • 并发支持会更好,但我认为我不需要它。

最佳答案

除非外部因素迫使您使用关系数据库,否则不要乱用它们。

看Python的pickleshelve .

Shelve 速度快且可扩展性好。它消除了 Python 和非 Python 表示之间的困惑转换。


编辑。

更重要的建议。不要陷入技术选择的泥潭。让位置、项目、角色、规则等工作。在 Python 中。尽可能简单和正确。

除了核心模型、正确性和基本功能集以证明事情有效之外,不要在任何事情上消耗任何大脑卡路里。

一旦您有了一个实际有效的模型,并且您可以进行一些复杂的单元测试,然后您就可以做出技术选择。

有了模型后,您可以有意义地将其扩展到数百万个位置,并查看需要什么样的存储。模型无法更改——它是应用程序的本质。只有访问层和持久层可以更改以调整性能。

关于python - 为超大游戏世界设计存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1650627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com