【问题标题】:How does one most efficiently store player data in a Python MMO game?如何在 Python MMO 游戏中最有效地存储玩家数据?
【发布时间】:2013-01-20 23:56:57
【问题描述】:

我正在开发一个类似于 Python 2.7 中的游戏 Realm of the Mad God 的 MMO 射击游戏。

游戏的玩家数据将包括游戏中每个玩家所穿的装备、玩家的姓名等,这样当他们退出角色时,他们的玩家数据将被永久保存和保存,当他们再次登录,他们的玩家数据将被加载到游戏中。为了安全起见,我估计唯一玩家数据条目的数量将是 1,000,000 个条目。

将所有玩家数据存储在一个巨大的 txt 文件中,或者可能是 26 个文件,或者可能是 26*26 个文件中是否更有效?安排这些条目的最佳方式是什么?

示例条目:

"player1023"|13|1023|482|9|1|4|5|9|3

【问题讨论】:

    标签: python storage game-development mmo


    【解决方案1】:

    如果你不想使用数据库(这里最自然),我建议在文件中使用固定宽度的记录(假设所有行由 80 个字符组成。这样你可以实现非常快速的二进制搜索查找行,您可以覆盖一行而不需要重写整个文件。

    【讨论】:

    • 好建议,假设您绝对可以将所有内容放入固定宽度。但是......只需使用数据库。将 sqlite 与 SQLAlchemy 或 SQLObject 一起使用是低开销的,但如果有必要,可以轻松切换到更硬核的东西。
    • 我一定会去看看,它看起来是最好的选择。
    • 然而……插入无论如何都是个问题。您还应该在不同的文件上实现索引,以便在巨大的数据文件上附加新行,并在单独的文件中保留一个(相对)短文件,其中包含有序的索引列表。完成此操作后,您将更加欣赏数据库的使用:-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 2020-05-01
    相关资源
    最近更新 更多