这家成立7年的研发,如何靠一套项目管理系统做出20亿流水的产品线

文/ 呆嫖 2017-04-19 13:10:06

在Y2Game两周年庆典上,做出过《十万个冷笑话》《黎明之光》等游戏的妙趣横生CEO左拉分享了一家技术主导的公司,是如何做好研发的。在他的逻辑里,技术不仅可以解放所有程序员的双手,还可以让每一位策划有更多的时间去思考游戏的玩法,游戏的世界观、剧情设计,最后来做一款好游戏。

在这场分享中,他也首度公开了妙趣横生内部的项目流程系统,事实上,这也是葡萄君参加过的大小会议中,极其罕见的,能如此详实的分享公司内部的项目管理系统。也正是这套体系,让成立了7年的妙趣横生,已经实现了全流水线20亿收入的成绩。

以下为演讲内容整理:

妙趣我认为更多的是一个技术主导的公司,虽然我认为游戏产品是创意为王,但真的是苦于找到一个很好的策划或者很有靠谱的策划,所以只能把我的长板用到极致。我们有一个梦想,想把产品做到国外非常非常好水准的样子,但是一直也在这个路上。前期我们只能在技术上做文章。

WechatIMG3260.jpeg

这家公司是2010年成立的,最早我是在金山软件做金山词霸,后来出来做了这家公司。从技术起家,最开始我们几个人在一个单人房里,几个技术人员就想我们要做一个好游戏要有一个好引擎,然后一周七天在那干,干了一年,后来有一次雷军说左拉你卖引擎吗?

我说:不卖引擎。

想干吗?

我说:做产品。

做产品为什么不融资?后来我想也是,挺2的,应该先拿出一个东西拉投资。但是当时我们5个人一周在那憋7天。因为当时我们玩单机,觉得国外的游戏做得很惊艳,也是想往这个方向做,所以当时理解起来有点偏颇。

WechatIMG3261.jpeg

很多人问我什么叫好引擎,比如效率高不高,能不能实现,或者是安装包大不大,卡不卡等等。这个问题只是引擎的一部分工作,其实从专业角度来说,效果好不好不是引擎决定的,在开发人员来说,酷不酷不是最主要的,酷不酷是显卡、GPU决定的,引擎只决定能不能发挥这个应用的效果。

所以我觉得更重要的是引擎能不能让这个行业内的人从手工劳动过渡到工业化,能不能释放这个行业内的创造力,让策划和设计人员大量的时间投入在自己的创意工作当中,而不是成天疲于奔命的解决很多细微问题

WechatIMG3263.jpeg

我们认为真正的好引擎应该解决这些问题,并且为用户提供好的服务,为技术以及引擎的使用人员提供一个友好的界面,包括游戏玩家游戏开发者,包括运维人员、技术人员,让他们能够便捷的提供效率,最终是为用户服务,这是我的理解,我们公司内部也是沿着这个理解去做。

WechatIMG3262.jpeg

好程序员如何定义?其实我觉得首先一个好的技术人员,不是一个技术宅,很难沟通,我在金山遇到很多技术牛人,还有毒霸的反病毒专家,他们都是优先沟通的能力非常强,对用户的把握非常准确,他能非常深刻的把技术用到用户和商业产品当中,所以我们认为,我们公司内认为好的程序员就是能基础建设,认为自己是一个基础建设者,然后服务其他岗位,参与沟通,注重需求分析,致力于提高生产效率,定位自己为工程人员,而不是大牛,有了这点认知才能真正把技术产品做出来。

所以我们的好引擎定位是这样的,我觉得今天我们得到了一些发展,距离我们的目标还是有些远。我今天把我们公司内部的一些流程的截图带过来,给大家快速过一遍,看一看我们理解的认知。其实现在还有很多不完善的地方,未来有2.0的计划,但是我觉得这7年,我们在磕磕绊绊中,一个很小的资源走到今天,应该算是对我们当年一个承诺的兑现。

WechatIMG3273.jpeg

这是我们内部的工具流程,它叫halo,是我们所有的内部流程的起始,我们公司所有项目都会列在这。所有的公司员工都会早上起来登录这个系统,从工作日志到开发管理,到我的任务,到质量控制,到版本整合,会全自动出出来。包括我们的配置表、脚本工具,我们内部策划全部用这个系统做,包括游戏配置、分支管理、本地化、资源管理、人员配置、员工信息、资源信息、员工薪酬,都会纳入这里面。

每天早上一来你可以看到公告板,点开有注意事项,既有项目入口,也有授权状态和发布公告。我们会把用户以及sdn、rts全部整合到一起,实时推送。根据不同的权限你看到的列表是不同的,这样的话我们就可以提供整个项目的推动能力。

WechatIMG3274.jpeg

可以看到,这是我们项目管理图,我能从总体看每个人员分配了多少工作,从美术到程序到策划,今天到底安排任务了没有。勾的代表进度是OK,叉子的是代表Delay。

WechatIMG3275.jpeg

员工打开以后每天的东西都列在这,可以看到,双击他之后,所有的需求全部列在这,点开之后就是需求,内部会推动一套整体的流程。你提到的任何代码,任何美术资源都可以进到log里面去查询。

WechatIMG3276.jpeg

我们有一套自己的颜色机制,控制版本的质量。

WechatIMG3277.jpeg

这个是BUG趋势。

WechatIMG3308.jpeg

这个是我们的宕机信息,我们的闪退率会控制到当日DAU的0.3%以下。

WechatIMG3310.jpeg

这是我们自己的日志系统也可以上传,只要一宕机就可以在几分钟之内把问题看出来,然后修复掉。

WechatIMG3279.jpeg

这是所有的宕机统计,这是iOS系统版本分布和安卓系统版本分布,每天都会出报表,推送给所有的人来处理闪退和兼容性问题。可能有些手机上装了3D模拟软件,可能都会捕捉到。

WechatIMG3280.jpeg

这是自动版本整合系统,有代测试、代整合和紧急更新,所以我们内部是不需要依靠程序的,自动更新所有的客户端,打开手机可以测试下一个版本了,这样大大提高了效率。包括在测试之前,我们要打150个安装包覆盖所有,然后点这个按钮就都出来了。

WechatIMG3281.jpeg

这个是我们的配置表,我们公司最早在金山的时候,用Excel或者什么,我们全部用自己的配置表填写,支持Excel的导入和公式。所以我们和程序、策划一商量,建表就可以进行沟通。

WechatIMG3283.jpeg

包括配置表合并,浅红色差异等等,都可以支持版本合并。

WechatIMG3284.jpeg

这是内部的暴露在脚本空间的函数,都有一个帮助文件,可以随时查阅,并且可以和脚本调制器统一整合,并且进行一些提示文字帮助,方便新人学习。

WechatIMG3309.jpeg

这个是本地化,比如说你要做一个海外版怎么办?点一下导出,所有要翻译的东西都导出在一个文件夹里,分门别类,用Excel全部搞定,然后你把这个注释给翻译方,他翻译完以后拿回来导入就可以,海外版就出来了。其中有一些图素可能需要美术翻译一下,但是大量的文字都可以转化了。

WechatIMG3285.jpeg

刚才是我们的项目流程管理,那我们的策划用什么开发呢?大部分策划可能只写一部分文档丢给程序做,而我们的策划负责大部分的开发工作。策划可以在我们公司控制大量的逻辑,你们认为平时不可能的逻辑,都是通过他们拖拽这么复杂的导图,最后会自动生成代码,可以看到函数编辑器、BUFF编辑器、AI编辑器全部可以编辑出来。只要逻辑强的人,那你策划组就可以完成大量的制作了,而不需要和程序来回吵架了,你自己做就可以了,因为你对自己的案子最了解,很容易做得更精细,再配上填表工具,我们的策划可以完成40%。

WechatIMG3287.jpeg

这是我们UI的工具,可以看到各种切图。

WechatIMG3288.jpeg

这是我们的界面编辑器,我们可以把左边一个一个往这边拖,填完就可以了,然后就可以整合。

WechatIMG3289.jpeg

这个是我们的脚本工具,程序不需要装任何的手机iOS开发工具,包括微软安卓的开发工具,都不需要,只要装一个我们的编辑好的exe加上这个脚本调试器就可以完成40%的程序开发工作。很多产品大推的时候会很敏感,我记得当时王洪王总说首日充值不太明显,能不能改一下?我们就打了一个指令,很快就改过来了,用户只需要退掉界面然后打开就可以了。

WechatIMG3290.jpeg

这是我们的美术编辑器,《黎明之光》手游的。

WechatIMG3291.jpeg

这是骨骼动画,只要用3dmax导进来之后,我们可以支持融合,还可以支持trigger,精确到毫秒级别的trigger,其实《黎明之光》的打击感还是可以的。

WechatIMG3292.jpeg

做这个辐射度的时候,我们支持远程编译,我们在服务器端装很多编译机,同时进行多线程的编译,跟小的内部云一样。可以看到这个阴影很光滑,辐射度也非常多。

WechatIMG3293.jpeg

这是我们一个编辑器,可以看到,《黎明之光》有很多动画过场是通过这个做的。我们只要一个美术,不需要任何配合就可以做,就跟做动画一样的,可以看到镜头的摆放等等。

WechatIMG3294.jpeg

这个是saturn master,是对外网所有服务器的控制。大家知道游戏运营有很多需要外网控制的东西,包括服务器管理、客服、运营的东西,比如VIP用户我们可能需要单独备份。helo是对内的,master是对外的,可以看到我们有很多区服管理,包括并服,都可以由系统完成,或者是我们服务器不小心宕机了,系统可以自动把宕机资料保存,发短信给你,然后自动就起来了,所以运营人员不用参与。

WechatIMG3295.jpeg

这张图可以看得到所有的区,包括区的在线人数,运行时间,开机时间,包括内存使用,网络负载,都可以一目了然,这样可以让一个运维人员管500台服务器,甚至1500个服务器,更新的时候是需要1个人,大大提升用户的体验。

WechatIMG3296.jpeg

这是所有的区服,只要服务器想停服,只要一点,服务器就停了。此外可以看到,数据库、战场信息,全区人数,包括服务器版本,这样可以保证服务器是否被更新到了。

WechatIMG3297.jpeg

我们对所有的服务器都会有监控,很多情况下运维人员忘记硬盘满了,数据库写不进去,就会导致回档,这是有发生过的。我们可以自动通知,满了的话直接发邮件通知。

WechatIMG3298.jpeg

这是我们的并服,从上点到下,你想合多少组自动就合了。

WechatIMG3299.jpeg

这是游戏日志,我们5000人的导入服一天大概产生300万条的log,无论是交易还是策划用的数据,比如npc死了多少次,在多少级加入了帮会,界面被点了多少次,哪个界面点的多,策划也不用为此去吵架,到会议室把数据一拿就知道了。所以我们所有的数据,包括你所有想知道的一切数据全部在这,给策划强有力的支持,你不需要再为自己做的功能去发帖子问用户,这个数据都能挖掘出来你想要的东西。

WechatIMG3300.jpeg

我们的客服不需要登录游戏就可以看到所有的东西,也可以做很多东西,当然都是有权限控制的。

WechatIMG3301.jpeg

包括热修指令,春节的时候有一个Bug,都在家里怎么办?我们通过手机编一个脚本指令,就可以注入到游戏内把Bug修补了。

WechatIMG3302.jpeg

包括运营活动设置,全都在这里,当然这些我们还不满意,我觉得还更应该给运维人员一个开放的空间,这是我们的希望。

WechatIMG3303.jpeg

这是所有的样本采集,通过VIP和等级方式全部列在这,策划拿过来以后可以根据Excel去编辑公式,最终得到你想要的数据。

WechatIMG3304.jpeg

这是宕机策略,我们有策略配置,比如服务器宕机了或者硬盘满了,都可以实施自动反馈。

WechatIMG3305.jpeg

这是计划任务,定时的备份等等。

WechatIMG3306.jpg

我们游戏里可能有一些问答,我们自动设置完以后,立马可以反馈。

WechatIMG3264.jpeg

WechatIMG3265.jpeg

这就是我们的理念,我们要的是流程以及对策划和美术人员的创造能力的释放,这就是我们对技术的理解,而不是技术大牛。通过流程,从而降低工业劳动的成本,让产品的创意能集中表现,这样能可以跟别人去竞争。

WechatIMG3271.jpeg

关于目标,我希望以后各项目组内是没有程序员的,通过那些图表就可以完成所有的逻辑工作,然后降低开发难度、开发成本。

我们今天执着的点就是希望把这套流程坚持下去,这是我不折不扣想做的事,把一个工作流完整的东西放在那里,越来越大的提高工作效率,降低人们的工作劳动时间,让大家都把脑子和精力集中在做产品创意当中,这就是妙趣这么多年一直坚持的,我们从去年11月份开始做2.0的设计,我希望将来有一天能把它开放出来,或者跟更多的业内人士交流,一起把它做得更好。

完整演讲视频如下:(时长25分25秒)

Alex Matveev
2022-06-06 16:27:13
不合规
审核中
@苏某某: 她在音乐方面的喜好,以及对天文的兴趣,也源于这部动画的影响。一直很喜欢爵士乐的她突然开始想
乐方面的喜好,以及对天文的兴趣,也源于这部动画的影响。一直很喜欢爵士乐的她突然开始想,没有系统了解过此类音乐的她怎么会喜欢上 呢?后来听完《美少女战士》原声带后才发现,“原来我在那么小的时候
评论全部加载完了~