话说回来,做游戏官网的更新日志,特别是像《鸣人:忍者之王》这种每周三四次版本更新的大项目,看着简单,真要落实到每天晚上,那简直是身心双重折磨。以前,我们发布更新日志的流程简直蠢到家了,全靠人力复制粘贴,风险巨大。
那次惨痛的教训让我决定自己动手
我干这行也有些年头了,一直觉得自己还算稳当。但前年夏天,我就是因为这个更新日志,差点把我后半辈子的清闲日子给毁了。那会儿我媳妇儿身体不我在家远程办公,等着服务器那边把最终的更新内容丢过来。按照惯例,内容是晚上11点半左右给的,我当时困得眼皮子打架,复制粘贴的时候没细看,愣是把一个重要的新功能描述少打了一个标点符号,导致意思完全反了。
第二天早上运营大骂,说玩家都在论坛里吵翻了天,因为那个描述错误,充值转化率掉了好大一截。虽然被证明是我的失误,但运营团队还是把这个锅扣到了技术这边。我当时气得够呛,被罚了半个月绩效不说,心里那个窝火。我寻思,咱们每天发布的东西,服务器端肯定有一个原始文件,干嘛非得让人力去手动调整、复制粘贴一遍?这不是多此一举吗?
动手寻找更新内容的“老巢”
被罚完钱,我心里就憋着一股劲。我决定要把这个流程给它彻底弄死,实现自动化。我1潜入了公司的内网,像个贼一样,就想找到那个藏着更新内容的老巢。我翻箱倒柜,仔细研究了我们游戏打包流程的脾气。
我发现了一个规律:每次新的版本包生成后,都会在特定目录里扔一个叫做
- 我第一步做的事情,就是写一个小工具(就是一段Python脚本,但那时候我管它叫“自动格式化助手”)。它的主要任务就是抓取那个脏乱差的
- 我开始琢磨怎么把这些混乱的内容给分类梳理。我设定了一系列的关键词,比如看到“新增了”就归类到“新增内容”,看到“修复了”就归类到“BUG修复”。脚本利用这些关键词,把整个文件强行按照我们官网需要的“新增内容”、“优化调整”、“BUG修复”这三大块切开。
- 切开之后,直接丢到网页上肯定不行,太丑了。我又花了几个周末的时间,套了一套样式模版。这套模版里面,我把所有字体、颜色、段落间距都提前规划好了。我的脚本只需要把抓取到的文本,自动填充到模版预留的位置,然后自动生成一个我们官网能直接用的HTML片段。这样就解决了前端套样式费时间的问题。
- 一步,发布。以前需要运营手动上传,手动点击发布。这回我直接让脚本对接了我们官网的发布接口。我配置了一个定时任务,一旦服务器那边说“更新完成,文件已就绪”,我的脚本立马启动,执行数据抓取、格式化、生成HTML、然后调用接口发布。整个过程,五分钟内就能在官网首页看到最新的更新日志。
我终于能把时间还给自己了
这套东西跑起来之后,我感觉自己的工作质量和生活质量瞬间上了一个台阶。运营一开始还担心,说自动发出去出错怎么办?我拉着他们,给他们演示了十几次,各种文本错位、版本号错误的异常情况都模拟了一遍,确认没问题,他们才放了手。
以前我们是多人负责,内容给过来,格式五花八门。有时候研发直接发个截图,运营就要对着截图敲字。敲完了,还要找前端去套样式。前端一看,这个更新日志的代码没闭合,又得费半天劲修补。每次发日志,都能牵扯到三四个人,光扯皮和互相检查就得一个小时。谁错谁挨骂。那个状态,跟现在这个自动化发布,简直是两个世界。
现在周三周四晚上,我再也不用死守电脑等更新了。上次孩子发烧,正好赶上大版本上线,要放以前,我肯定得边陪孩子边盯着手机。这回我直接关了通知,安心在医院陪着。脚本自己干得漂漂亮亮,我第二天早上才随意扫了一眼后台日志,完美。
所以说,很多时候,不是技术难,是老流程给束缚住了。像我这种老油条,就是吃过亏,才知道自动化是第一生产力。这套系统虽然小,但实实在在的把我的时间和精力还给我了,再也不用担心因为少敲一个句号而被扣绩效了。