提高游戏开发效率之配置表生成工具

简介: 提高游戏开发效率之配置表生成工具

先来看一个场景,假如小马正在进行一个游戏开发项目,自然会涉及到游戏的装备,关卡,怪物,buff数值等等的配置,那么如果按照常规开发的做法,产品或者策划 会提供一个Excel表格,文字描述说明各个数据的值,比如 头套装备,10%概率使敌人进入出血状态,出血状态的敌人每秒增加10点伤害。于是开发把Excel表格通读,并将文字表述转为代码配置,比如写成数组或者json来给程序调用,如果是强类型的语言,那么还需要定义数据结构等的代码才能调用数据值。试想一下如果一个游戏装备非常多,buff种类也很多(小马就搞过一个这样的),那这个时候只是编辑这些配置数据到 代码中就需要花费很多时间,如果期间策划对游戏数值的配置进行不断上线前的验证和关卡难度调整,那么意味着开发要跟随策划频繁修改代码发布。场景也可以参看这里。

策划使用Excel来编辑游戏配置,其好处自然不言而喻,得益于Excel自带丰富的计算函数,可以很好的计算游戏数值。本质上,配置是策划与程序之间的桥梁。

于是,制造一个能够提高效率的辅助工具《提高游戏开发效率的小工具之配置表生成工具》需求诞生了。
image.png

图片来自internet


企鹅内部的TDR,还有各种大小型游戏公司自研的系统,有python,C#等等。有的同学说,我定义好Excel模板,产品把数据填进去,我直接写一个WEB管理端导入到MYSQL里,如果更改,产品直接重新上传Excel来更新配置,服务端永远使用查询DB数据的方式获取配置,这样同样也是解放程序开发被产品束缚。呃,这个小马就不说了,单从性能来说可能就大打折扣的。

那我们应该怎么去做这样的一个工具呢?基本原理是约定一套excel格式,然后制定多种生成函数的格式,然后根据需要生成指定语言格式的文件模块。这样,策划编辑完配置表就可以直接生成相对应的调用代码和产出json数据了。参考1,参考2。

image.png

image.png

调研了市面上的工具:

KEngine

Luban 功能强大的对象生成器和共享缓存工具。一个强大的对象生成与缓存工具。当前主要用于生成及导出游戏配置代码和数据

【ET框架课程】07-Excel游戏数据的配置与获取

python 开发的xlsxtools游戏配置表工具,开源跨平台,支持多语言。Unity3D等游戏引擎使用Excel做游戏配置表的解决方案,将xlsx文件转换成txt文本文件,并生成解析代码的工具。已支持C#,Java,OC,即将支持C/C++等

TableML 基于Unity 的工具,生成的是.cs 代码。

接下来,进入Luban的世界吧。

官方是这么说的,

luban是你的最佳游戏配置解决方案。
luban高效地处理游戏开发中常见的excel、json、xml之类的数据,检查数据错误,生成c#等各种语言的代码,导出成bytes或json等多种格式。
luban统一了游戏配置开发工作流,极大提升了策划和程序的工作效率。

快速上手 [传送门]
文档2 文档3

视频1 视频2 视频3

demo

根据教程运行生成一份go的配置代码生成。

1、安装dotnet sdk 6.0(opens new window)

2、下载luban_examples项目 (opens new window)项目中包含测试配置。

3、如果想立马看到效果,运行MiniTemplate目录的gen.bat文件即可,将看到 生成的代码在gen目录,json数据文件在output_json目录内。Datas是配置表文件,也就是数据源(数据源的配置说明可以参考 视频2 视频3 ,beans 有点相当于 一个自定义数据结构 的class,类似结构体)。
image.png
image.png

4、自己调试个go demo如何做。拷贝 Projects目录下的Go_json 目录,命名为自定义文件夹testGo,定义数据源Datas和上面例子相同,修改脚本文件gen_code_json.bat,
image.png

配置运行client,如果是\Luban.Client.exe则需要注意先运行服务。配置数据源,生成代码目录,输出数据文件的目录,最终需要哪些结果(code_go_json 代码包,data_json json数据文件)。

运行后gen_code_json.bat 即可得到 代码包和json文件。

缺点:

目前没有PHP包支持,但还好PHP取json数据结构还是比较好取;

事先需要与策划先约定Excel格式。

优点:

提高开发效率

比存DB方式性能高

相关文章:

《游戏策划如何正确的设计表头和配表?》

《30 分钟搞定游戏数值配置的导入导出》 JAVA

《一个在unity3d中使用Excel做配置的解决方案》 插件

《Unity游戏中加载配置文件系列:1. 从Excel中读取配置文件》

《ET5.0 配置Excel》

相关文章
|
XML 编解码 编译器
Unity跨平台UI解决方案:可能是最全的FairyGUI系列教程-第八天
众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣!!!
2730 0
|
数据库管理
SVN 执行cleanup报错:Cleanup failed to process the following paths : 解决方法
引用:https://www.cnblogs.com/pinpin/p/11395438.html 在SVN更新时提示文件被锁住了,要求执行 clean up操作,执行clean up时又报clean up failed。造成的原因是在某次更新后,点击了cancel按钮,操作没有完成所以会锁住。解决方法如下:
3564 0
|
6月前
|
人工智能 JSON BI
Claude Code + DeepSeek V4 唯一的遗憾要被补齐了:多模态识图灰度上线
JeecgBoot AI专题研究 用 DeepSeek V4 几乎完美替代 Claude,唯一卡点就是不收图——这块短板马上要补上![](https://oscimg.oschina.net/oscnet/up9146c3ec0c19f2abe92a111fbac35c4e462.png) 一句
3193 2
Claude Code + DeepSeek V4 唯一的遗憾要被补齐了:多模态识图灰度上线
|
6月前
|
人工智能 监控 JavaScript
Claude Code 必装插件:claude-hud 让你的 AI 编程效率翻倍
![封面图](https://oscimg.oschina.net/oscnet/up45b3d45a4d73cfc21ab909d1632066be5b9.png) JeecgBoot AI专题研究 Claude Code 状态监控插件 claudehud 深度体验与实战指南 你真的了解 Cla
4708 1
Claude Code 必装插件:claude-hud 让你的 AI 编程效率翻倍
|
7月前
|
人工智能 Prometheus Cloud Native
Oh My OpenCode实战指南:打造你的AgentTeam
《Oh My OpenCode实战指南》介绍多模型智能体编排系统,将AI助手升级为协作开发团队。支持Claude/GPT/Gemini等多模型灵活调度,通过规划层(Prometheus)、执行层(Atlas)与工作者层(Hephaestus等)三层架构,实现意图识别、并行任务委派与知识沉淀。强调“类别优先于模型名”,打破厂商锁定,提升开发效率与可靠性。(239字)
5590 5
|
9月前
|
人工智能 自然语言处理 数据挖掘
Qwen3-VL-Embedding & Qwen3-VL-Reranker:统一多模态表征与排序
通义千问Qwen团队于2025年1月8日推出多模态模型新成员:Qwen3-VL-Embedding与Qwen3-VL-Reranker,基于Qwen3-VL构建,支持文本、图像、视频等多模态统一表示与跨模态检索,在图文匹配、视觉问答等任务中表现卓越,具备高精度、多语言、易集成等优势,助力全球开发者构建高效多模态应用。
4499 4
|
NoSQL MongoDB Python
【Python】已完美解决(MongoDB安装报错)Service ‘MongoDB Server (MongoDB)’ (MongoDB) failed tostart
【Python】已完美解决(MongoDB安装报错)Service ‘MongoDB Server (MongoDB)’ (MongoDB) failed tostart
2214 1

热门文章

最新文章