在2d ORPG中保存地图数据

时间:2010-10-29 14:53:37

标签: c# python c++

我正在试图找出如何最好地保存我正在开发的2d ORPG引擎的地图数据,该文件将包含平铺数据(它是否被阻止,它将使用什么实际图形以及各种其他属性)

我目前正在使用二进制格式,但我认为这可能有点太有限且难以调试,有什么替代方案,我在考虑可能是JSON或XML,但我不知道是否还有其他更好的选项。

它必须使用C ++和C#,最好也使用Python。

3 个答案:

答案 0 :(得分:1)

基本上每种语言都支持XML。但是,对于大型地图而言,这可能会变得冗长,具体取决于您如何使用XML对地图数据进行编码。

JSON可能不是一个好的选择,仅仅因为我不认为它支持多行字符串,这会有所帮助(尽管不是很必要)

YAML是另一种选择,虽然它不是众所周知的。

你可以坚持使用二进制 - 大多数地图都是手工编辑的痛苦,无论你选择什么格式(虽然我听说用十六进制编辑器编辑星际地图......)只要使用最简单的东西对你而言。

此外,请查看Tiled地图编辑器(http://www.mapeditor.org/),它允许您编辑地图(我认为使用自定义磁贴属性)并将其保存为基于XML的格式,包括可选的GZip用于压缩。

答案 1 :(得分:1)

就个人而言,我会坚持使用二进制格式。无论你选择哪种方法,无论如何都要手动编辑是一件痛苦的事情,所以你也可以坚持使用二进制文件,这样可以为你提供尺寸和速度优势。

无论如何,您还需要一个地图编辑器,这样您就不必手动编辑它。

答案 2 :(得分:0)

Lua也可以用作tables的配置文件。自从我使用Python以来已经有一段时间但它不支持AJAX样式的数据结构吗?如果你已经在使用它,你可以简单地使用Python文件。