我又要开始游戏编程了。10年前,我在qbasic中制作游戏,从那以后我就没有做过任何游戏编程,所以我很生疏。我一直在编程,不过,我现在是web开发人员/DBA/admin。我有几个问题,但我打算把每个帖子限制在一个。
我正在做的游戏将是一个巨大的,非常大的世界。它将有点像乌尔瓦,但是一个更大的世界,更像一个'RPG‘。
我一直想决定的是,什么是布局地图、保存地图和访问地图的最佳方式。我想出了用sqlite存储数据的想法。我甚至可以使用sqlite作为游戏的保存文件,非常简单。
有人知道我该怎么做,或者其他存储方法的想法吗?
以下是我的游戏要求:
发布于 2009-10-30 15:53:29
除非外部因素迫使您使用关系数据库,否则不要使用关系数据库。
看看Python的pickle
,架架。
货架是快速和鳞片良好。它消除了Python和非Python表示之间的混乱转换。
编辑。
更重要的建议。不要陷入技术选择的泥潭。让地点、项目、字符、规则等发挥作用。在Python里。尽可能的简单和正确。
不要在任何东西上消耗单一的大脑热量,只需要核心模型、正确性和一个基本的功能集来证明它是有效的。
一旦您有了一个实际工作的模型,并且您可以使用一些复杂的单元测试进行练习,那么您就可以做出技术选择。
一旦你有了一个模型,你就可以有意义地把它扩展到数百万个地方,看看需要什么样的存储。模型是无法改变的--这是应用程序的本质。只有访问层和持久层才能更改以调整性能。
发布于 2009-10-30 16:22:35
听起来你想要的是一种空间指数。对于一个非常大的2d游戏,我建议使用四叉树。四叉树很好地工作,当你有一个大面积和活动往往发生在该地区的局部区域,这是大多数的RPG类型的游戏。它将保持您的存储需求低,并有望加快碰撞检测以及。
至于保存游戏,玩家和怪物的统计数据可以进入数据库,如果你担心这些变化频繁。对于实际的级别布局,我建议使用特定于您的游戏的二进制文件格式。通常需要在级别布局上执行的数据库类型查询不多,您可以使用自己的格式进行很好的优化。我不知道如何开始在数据库中存储类似四叉树的格式(尽管我确信这是可能的)。
发布于 2009-11-02 12:02:29
我使用非关系数据库存储大量数据。如果您可以在64位硬件上工作,MongoDB和它的Python驱动程序非常好。我不知道这是否适用于Stackless,但这是可能的。
https://stackoverflow.com/questions/1650627
复制相似问题