撰写了文章 发布于 2017-03-27 11:48:09
Devlog 6
[题图:塞尔达]
这个星期,基本上所有的工作都在程序底层中完成,最主要的完成的是策划表格进入游戏的工作链。所以今天就聊这个吧。
在国内公司里主要的工作流程通常应该是这样的吧:
策划制作excel表 -> 使用svn或git同步到项目中 -> 程序或手动或自动地将excel表转为json或csv或xml等等,然后在runtime读取文本。
我在University的项目中基本上也是建立在这个基础上的,但是考虑到这个过程中并没有多人合作,从策划到程序都是我,因此对这个流程进行了一些改变。
1.策划表格不再用Excel了,某种角度是因为既然在做独立游戏,那么继续使用破解Office不是很舒服,又买不起正版。于是我的选项是:LibreOffer or WPS or Google Spreadsheet。然后下一个选择点在于“可编程性”,我想我这个建设经营游戏,应该会不可避免的有大量的经济数据关联,而本地工具要实现可编程那必定是VBA了,与之相比,Google的Google Apps Script有着巨大的优势,不仅实现方式更为现代,而且将来还可以扩展连接许多谷歌服务和第三方工具。再加上反正我自己做,翻墙不是问题,最终决定策划端使用Google Spreadsheet 在线表格。
2.如何导出到项目里?既然不再是本地表格了,那么就不是使用版本库来进行导入了, 而谷歌文档有个很简单的方法:发布,设置好发布后,会产生一个地址后,每当表格变动时,从地址下载的到导出文件都会是最新的,于是我在Unity里写一个Editor工具使用简单的WWW就可以一键下到本地,解决。
3.项目内的存储格式?其实这里我目前是有些凑活的,出于使用方便,直接找来了一个第三方的ods解析工具,然后转换成ScriptableObject对象。并且把这个步骤接续到刚才的一键下载之后。其实出于未来(也许会有)对mod的支持,我本来有考虑json或者cvs,但是感觉现在想这个还是太早了,还是怎么方便怎么来。而且哪怕将来在ods和ScriptableObject中间插入json步骤,也不难。
于是,这样的方便的工作流就建立起来了:
Google SpreadSheet编辑表格 -> 跳转Unity,点击编辑器内的更新按钮 -> 一进游戏已经是全新数据了。
毁童年 1年前
发布
奶牛不产奶 1年前
太昊 [作者] 1年前
发布
夏鸣虫 1年前
发布