2011-02-15 147 views
1

我打算建立一个我的新游戏加载的'数据文件',这个文件包含了大量的文本(我们正在谈论300-400,甚至可能是它的两倍,段落)以及一些微不足道的数据。基本上,将这些数据存储在文件中的最佳方式是什么。 有几个要求:存储大量文本数据的最佳方法?

  1. 向前/向后兼容(能够优雅地接受旧数据和识别新的数据(
  2. 可加密(所以像SQLite的将是坏)
  3. 轻巧快速?加载
  4. 可能与某种形式的反腐败回收部门。

基本上是那里有什么适合我的需要?还是它会是一个“滚哟你自己“的情况(两者都没有问题)。如果它是我自己的产品,你会推荐什么。

我几乎把XML扔出了窗口(太“庞大”而且很复杂),正在考虑类似虚拟文件系统的东西,还有一个用于快速读取数据的“位置表”。我很好奇其他程序员不得不说的。

+0

就像添加,我也想存储一些LUA脚本。如果这改变了什么 – R4000 2011-02-15 01:20:15

+0

你看过JSON吗? http://www.json.org/example.html 它具有XML所能提供的大部分内容,但没有太多的语法噪声。 http://www.json.org/fatfree.html – 2011-02-15 01:22:02

+0

简要列举您的要求,然后根据可用的情况对其进行衡量。除了您可能需要或可能不需要的“反腐败”功能之外,XML文件看起来好像是个想法。可加密的,可压缩的,可能会在游戏环境之外进行工作。 600-800段不是一个大文件。 – 2011-02-15 01:22:42

回答

3

对不起,你扔了XML。一旦你掌握了它的内容,你就可以很容易地进行工作,而当你这样做的时候,这是一种能够让你从一份工作到另一份工作的技能。

老实说,XML是我该怎么做的。我为我的游戏使用Java,而不是c#,但无论如何,所有任务文本和NPC交互都存储在XML中。

0

你对'大'XML开销有点不对。它没有你想象的那么大,而XML提供了很大的灵活性。看看一些XML解析器 - 它们非常简单。 .NET XML Best Practices

2

XML和JSON对于存储数据来说都是非常好的格式,尽管XML对于某些应用程序可能更灵活,而对其他应用程序则可能过多。

如果您不是在手动编辑它,并且在磁盘上进行压缩,那么XML只是“庞大的”。它gzip非常好。

相关问题