我开始游戏的编程。10年前我做游戏在qbasic我没做过任何游戏的编程以来,所以我很生疏。我已经被编程所有的时间虽然,我网开发/DBA/管理。我有几个问题,但我想限制它对每个员额。

游戏我的工作是将大,非常大的世界。它将是有点像 URW, 但一个更大的世界,而更像一个'RPG'.

我已经试图决定,什么是最好的方式布局的地图,以保存,并进行访问。我想了想法的使用源码存储的数据。然后我可以甚至使用源码db作为保存文件游戏,好和容易。

任何人有任何提示有关如何我应该去这个或想法的其他存储方法?

这里要求我的游戏:

  • 我需要完整的随机访问点在游戏世界中的(全国人大的,怪物,动物都将活动的所有时间)。
  • 我使用的Stackless Python3.1,选项是相当有限的除非我做了很多工作。
  • 需要能够处理一个非常大的世界。
  • 并发性的支持将是一个加,但我不认为我会需要它。
有帮助吗?

解决方案

不要乱用的关系数据库,除非你被迫要使用它们的外部因素。

看看蟒蛇的 pickle, 搁置.

搁置是快速和尺度。它消除了混乱之间的转换Python和非蟒蛇表示。


编辑。

更重要的建议。不会陷入技术选择。得到的地点、物品、文字、规章,等等。要 工作.在蟒蛇。为简单而正确地成为可能。

不要烧掉一个大脑的热量上的任何东西,但核心模式,准确性,一个基本特征集到证明的事情 工作.

一旦你有了一个模型,实际上 工作, 和你可以行使的一些复杂单元的测试,然后你可以让技术的选择。

一旦你有了一个模型,你可以有意义的比例达到数以百万计的地点和看到什么样的储存,是必需的。该模型可以不改变-这是本质的应用程序。只访问层和持久层可以改变调整的性能。

其他提示

这听起来像什么你要求的一类型的 空间索引.对于一个非常大的2d游戏我建议你使用 四分树.四元树运作良好,当你有一个大的区域和活动往往发生在局部地区的地区,这种情况对于大多数RPG-类型的游戏。它会让你的存储要求低并希望加速碰撞测。

作为节省的游戏,像播放机和怪物的统计数据可以进入数据库,如果你担心这些变化往往。实际水平的布局我建议使用的二进制文件格式的具体要你的游戏。还有不多的数据库型的查询通常需要执行上级的布局,你可以作出巨大的优化使用自己的格式。我不知道如何开始储存叉树样的格式数据库中的(虽然我敢肯定其可能的)。

我使用非relationnal数据库来存储大量的数据。如果你可以工作的64位的硬件, MongoDB 与其 蟒蛇的驱动程序 真的是非常好的。我不知道如果这是确定与Stackless,但它是一个可能性.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top