GMGC开发者训练营 盖娅互娱研发技术总监刘琛:MMORPG手游研发技术要点
MMORPG手游服务器的特点。在线实时交互,数据变动频繁响应要求高,大部分的逻辑在服务器完成,防止作弊。因为你做的事情别人也要看到,这样才会有世界的感觉,服务器的逻辑非常复杂,对服务器逻辑的编写要求高。手游领域要注意网络的稳定性,网络切换也会引起断线,所以断线的体验要做到无缝和舒适,要有离线的网络机制,这样离线了整个队伍可以继续玩,这是比较好的。代码和配置支持热加载,因为MMO系统很多,上线的测试比较短可能会遗留一些漏洞,如果在现场爆发出来对游戏的口碑造成很大的伤害,所以我们要支持在线解决一些漏洞的问题。开服一段时间以后,要有跨服和合服的机制。 各大游戏厂商服务器框架基本类似,大部分都会有网端服务器,这是服务客户端进行通信的。游戏服务器负责网络协议模块和数据库模块,绿色的部分是游戏里面比较重要的工作,逻辑部分,包括场景,战斗、属性、物品等各种各样的东西。会有公共的服务器来负责账号和登录,以及充值唯一名服务器用来保证名字。其它的部分主要看各团队熟悉什么,有自己编写的,也有引进的。 网络层有PCP、UDP、WebSocket、Http。协议层的主要功能是定义文件,客户端的服务器生成协议代码,发送接受协议,序列化和反序列化。网络层和协议层比较好的开源。数据库,多线程,利用CPU多核能力。支持事务,发生未知错误时保持数据完整。单服的读写功能是我们最关注的,支持合服和跨服。 打包和测试是MMO游戏研发到上线的最后一个环节,这个环节的效率和时间消耗可以保证游戏是否能够正常上线,或者说上线之前是否要通宵熬夜。不管是代码还是资源配置都需要SVN管理的,这分为开发版本和线上版本的分支。平时会在开发版本提交,但提交时需要有任务单号和漏洞,我们在任务和漏洞测试通过以后会把它挑出来合并到线上分支,这是半自动化的过程非常方便。合并完分支后可以自动化制作游戏包,相信大家会使用Jenkins的工具,看使用Unity还是自己的框架来写这些工具。如果使用Unity为了减少打包过程中的时间,建议对资源差异处理精细,不要重新导入打包。测试非常辛苦,研究研究自动化测试工具,基于操作的测试工具,基于Unity的测试工具,基于Lua脚本的测试工具,Lua是非常方便的脚本语言,目标是让测试人员很方便地写出自动化测试,减少测试中的工作量。机型适配测试,刚开始做手游会买很多设备自己做适配,但现在一方面引擎的通用化,受益于很多云测试平台可以方便准确地测试出游戏在安卓平台上的适配率。 仙剑的项目我们一直在摸索和学习,希望与大家一起探讨完善,能够给玩家提供更好的体验,谢谢大家。 关于GMGC: GMGC成立于2012年9月,是全球第三方移动游戏行业组织,目前在全球拥有30多个国家或地区近300名会员企业,成员中包含开发商、发行商、服务商、投资商等。GMGC秉持“共建共享,合作共赢”的理念,为产业上下游企业搭建合作、交流、学习的平台,促进产业共同发展。 由GMGC主办的全球游戏大会(GMGC北京)、全球游戏开发者大会暨天府奖盛典(GMGC成都)、亚洲移动游戏大会(GMGC马尼拉)、中国(昆山)数字娱乐节(GMGC昆山)每年分别在北京、成都、上海、深圳、昆山乃至亚洲各大城市举办,上述活动已经发展成为业界最具规模和影响力的行业盛会,产业风向标。同时,GMGC还提供全方位的专属会员的服务项目,如创新沙龙、全球商务考察、CEO晚餐会、GMGC之夜等商务社交活动,帮助中外会员企业拓展业务及建立更多的伙伴关系并促进发展。 (编辑:二游网_173173游戏网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |