游戏开发中常用工具-导表工具

游戏开发中,少不了一些玩法配置是配置到 excel 中的,往往这些数据结构是由程序制定,由策划填写的,方便数值策划对数据做修改。

excel 的格式一般都是一个 sheet 导出一个文件,sheet 的格式内容包含了表头和数据,表头用于规定导出的数据结构,导出的数据采用 map 结构。

可以这样定义一个 sheet,第一列为数据的第一层 key,第二列开始为第二层数据,每行定为一组数据。这样定义就类似于数据库中的结构了,以第一个字段为唯一索引的表,可以快速定位到一行数据。

单元格为原子数据,支持的数据不用太多,只需要四种就可以,整数,字符串,整数数组,字符串数组。可以扩展支持公式,但是不建议扩展浮点数和 submap,当你觉得需要 submap 时,说明你需要另外建立一张表了。

导表工具的核心功能就是把规定好格式的 excel 文件转成游戏代码方便读取的文件,根据游戏所选用的代码不同,需要的数据文件格式也就有不同的选择。如果是脚本语言,可以直接转成语言所支持的数据结构,比如 python 的 dict,lua 的 table。如果是编译型的语言,建议直接用 json。

这里我实现了一个导表工具 export.py

当然,单纯这样的导表工具是不完善的,为了开发方便,还需要支持版本管理工具 Svn 或者 Git。

还可以嵌入到游戏的 GM 指令模块,通过指令来导表。

最后不能少的一个功能就是数据的检查工具。比如检查数据的依赖关系是否正确,检查数据的范围是否正确,等等。这些都是跟具体数据强相关的,我的建议是在游戏的数据处理模块加一层过滤器,在读取数据的时候,先执行一段数据检查逻辑。而这段检查逻辑可以用通用的过滤器实现。如果实现了该数据过滤器,那么写数据检查的逻辑仅仅只需要配置参数即可。

点击进入评论 ...