您选择的文件格式在很大程度上取决于您当前的工具集和您打算制作的游戏。照这样说...
在确定游戏文件格式时,工具集是最重要的因素之一。如果使用二进制格式,则必须始终确保您具有输入游戏数据的工具。这可能像十六进制编辑器一样简单,也可能像虚幻编辑器一样复杂。
我猜想XML,YAML或任何其他语言文件的主要优点是,您可以通过文本编辑器轻松地对其进行编辑。并且使用现有标准,可以确保您不会出错。但是,当您有数千个文件时,这非常繁琐,这使我想到了下一个问题。
游戏。您正在制作哪种游戏?为什么我说这会影响文件格式?因为,如果要制作类似2D bomberman的东西,则可以使用一个简单的文本文件,例如:
*********
*1 2* 1,2,3,4 - start point of players 1, 2, 3, 4
* + + + * * - walls
* * + - crates
* + + + *
*3 4*
*********
换句话说,请始终为您的特定数据选择最明显的格式。角色扮演游戏是制作最复杂的游戏类型。他们需要大量数据。但这并不意味着您必须为游戏中的所有数据保留特定格式,无论是二进制格式还是基于文本格式。
- 地图,粒子和其他图形素材倾向于使用自定义二进制格式。因为这是实现它的最简单方法。用文字描述地图不是人类的理智。通常通过地图/级别/粒子编辑器进行编辑。
- 玩家,物品,敌人,技能和任务是影响游戏平衡的统计数据。他们通常需要大量的输入和调整。我喜欢通过将其放在XML文件中来简化实现,但是还拥有一个供设计人员使用的对象编辑器。两全其美。
通常,您要用文本格式描述文本,并用二进制格式描述图形。下面应该给你一个例子:
<Skill>
<Name>Fireball</Name>
<Animation>fireball.dat</Animation> <!-- Graphics described in another file -->
<Attack>1.3</Attack>
<Cooldown>15</Cooldown>
</Skill>
综上所述,我的最大建议是,除非绝对必要,否则请不要编写数据脚本。最终用户不在乎格式有多棒,只要游戏可以玩,那就很重要了。
干杯,罗伊=)