玩法通常是一个游戏成功的决定性因素,但也存在一些好玩的游戏因某些技术上的原因而最终走向失败。那么,游戏开发的难度到底在哪里?影响游戏能否成功的技术因素有哪些?在游戏开发时该如何考虑……如QQ幻想、QQ飞车、DNF、CF等是大家熟知的超高人气腾讯游戏。


  7月19日晚,腾讯互动娱乐研发部总经理聂志明,在腾讯大讲堂为大家解读了腾讯游戏成功背后的技术原因,一起重新审视游戏中技术因素的强大作用。

 

   活动期间有三位专家陈冬、艾风曾星负责线上答疑环节,针对大家对游戏的疑问做出的解答,问答内容精彩纷呈。汇总见:http://djt.qq.com/article/view/300

 

点此下载活动PPT


PPT下载:玩法之外:腾讯游戏成功背后的技术推动力


点此观看活动视频


       聂志明,腾讯互动娱乐研发部总经理。从事软件研发工作近13年。2003年加入腾讯,曾先后负责《凯旋》反外挂和《QQ幻想》后台开发工作,负责建立腾讯内部自研和代理游戏的技术评审标准等,历任后台主程、后台技术总监。2007年转入互动娱乐研发部,负责游戏公共技术平台和游戏安全系统建设,及游戏品质团队的管理工作。


从0到1-首款自研MMOG研发经验

  2003年,腾讯进入游戏领域,这一年代理了《凯旋》游戏,同时启动了休闲游戏平台QQgame和大型多人在线游戏(Massively Multiplayer Online Game,MMOG)《QQ幻想》的研发。在此之前,我们没有设计MMOG游戏的任何经验,将近3年的开发过程中经历了很多曲折,但所有的困难最终都克服了。2005年10月25日,QQ幻想正式公测,随后最高在线用户数(PCU)超过60万,成为当时国内自研MMOG中PCU最高的游戏。


  QQ幻想公测后,PCU快速冲高的过程中,我们碰到不少问题:


  1 过载问题:对于用户的快速涌入没有经验,产生“过载”问题 ;


  2 数据存取压力大:单服承载到2万人时,数据存取压力比较大;


  3 用户反映卡:用户大量聚集在一个场景中,导致广播包非常多,用户感觉卡 ;


  4 物品复制:持续开发过程中,出现逻辑Bug,用户刷物品。


  回顾QQ幻想经历的问题,我们发现作为首款自研MMOG,QQ幻想留下更多的是至今仍然有效的成功经验:


  1 服务器采用“cluster”、“world”、“zone”三层架构,系统可灵活平行扩展


  2 采用单线程,便于开发和运营;


  3 采用异步消息机制,提高服务器处理性能;


  4 采用共享内存保存游戏运行时数据,减少Crash的影响;


  5 服务器采用Lazy方式 ,服务器尽量不主动触发定时任务处理,让服务器性能更可控;


  6 存储尽量简化,采用一些BLOB字段,一个角色数据做一条记录存储,方便游戏逻辑扩展。



QQ幻想的系统架构图


从1到n-沉淀与复用,腾讯游戏服务框架

       随着QQ幻想的成功,公司开始准备开发更多的MMOG,为提升游戏研发效率,重用和共享游戏技术积累,从2007年开始,历时3年我们研发了腾讯游戏服务框架(Tencent Service Framework for Game,TSF4G)。



  TSF4G从数据自动化处理、进程通信、服务器框架等基础库开始,逐步研发出接入、游戏逻辑、存储及运营等后台系统相关服务。


从n到?-致力于提供全方位的优秀游戏体验

  当我们有了相对完整的后台服务框架之后,我们开始思考,对于腾讯游戏生态系统来说,技术上我们还需做什么?我们重新审视了游戏生态圈中开发商、运营商、游戏用户三个角色,这次我们将重点放到了游戏用户的需求上。那么游戏用户需要什么呢?对于游戏用户来说,需要体验到一个好游戏。什么才是用户认可的好游戏?从游戏设计维度看,需要提供用户喜欢的核心玩法;那玩法之外呢,即从技术维度看什么才是好游戏,我们认为好游戏必须能提供全方位的优秀游戏体验



  全方位的优秀游戏体验:通过游戏前的基础体验、游戏中的基础体验、游戏安全防护等多维度为用户提供优秀的游戏体验。


用户游戏前的基础体验优化

  用户游戏前的体验包含游戏下载更新、游戏启动加载等基础体验,游戏前的体验很大程序上决定用户进入门槛,值得游戏设计者对这些基础体验进行不断优化。


  以下载体验为例,随着游戏制作越来越精细,游戏客户端的大小也越来越大,2006年 QQ幻想 大小为600M,到2012最新版本为2.4G; DNF 第三季完整包大小为2.3G;御龙在天完整版大小为2.9G;魔兽世界最新版本大小为15-20G。让用户下载完整个客户端再进入游戏的等待时间长达几个小时,这种方式是否合理?


  对于对用户来说,不是所有内容一开始就会体验到,基于此我们设计了智能即时发布系统(Intelligent & Instant Publishing System,IIPS),IIPS采用精简初始包(程序,初始资源)加扩展资源包的微端化技术,让用户边下边玩,以此改善用户下载体验。


用户游戏中的基础体验优化

  用户游戏中的基础体验主要提现在用户操作上,通俗的说即用户操作是否流畅;用户操作体验优化我们主要从响应时间、同步策略、体验平衡等维度去优化



  我们以CF为例来说用户操作体验优化。CF是目前最受欢迎、在线最高的FPS游戏,其成功首先是玩法的成功;但我们在技术上对用户操作体验的关注和优化,也做出非常大贡献。CF在韩国运营时其采用的Client-Hosting的同步模式,这种模式需要客户端有很高的上行流量才能提供流畅的操作体验,当然韩国的互联网网络带宽、质量也完全满足Client做Hosting的设计需求。


  但当CF引进到国内运营时,这种设计模式就受到了很大挑战,根据当时国内用户网络调研报告,512K的adsl占主流,上行带宽根据各地运营商的限制略有不同,但是80Kbps是一个比较平均的速度,而这个上行带宽根本不能满足CF Client-Hosting模式。为了在国内的网络环境下达到最好的基础体验,我们对CF游戏的同步模式做了调整,从Client-Hosting模式改成Server-Hosting模式 ,虽然消耗了更多的服务器带宽,但是提供了适应性更好的游戏体验,同时在反外挂上也更容易处理。


持续提供优秀的游戏安全防护体验

  游戏的基础体验满足乐用户的生理需求,根据马斯洛的需求层次理论,安全需求是仅次于生理需求的第二大需求,如果不能满足那么将会对游戏的正常运营造成严重的后果。游戏安全问题绝不是阴谋论者的妄想,从历年调研机构的统计结果来看,游戏安全问题、外挂等已经成为导致用户对游戏不满的最主要因素,并且也是造成用户流失的首要原因。



  游戏安全问题大致可以分为6类:刷物品、外挂、帐号安全、私服、打金工作室、信息安全,刷物品、外挂和帐号安全三个领域最具代表性,下面依次来着重介绍。


  刷物品防护物品唯一ID是广泛使用的机制,也是最基本的一种措施,唯一ID为物品复制的预防和检测提供的重要依据。经常使用的方式,还有在后台监控每种物品存量和产出量,这种方式对大规模的道具复制才有感知能力,比较难在复制方法还没有流传开的早期及时感知到威胁。此外,限制同ID物品转移是我们在运营过程中发现的一种有效防止复制问题的事后处理手段,就是基于物品唯一ID,当一个游戏角色拥有两件ID相同的物品时,就禁止该物品的一切转移。虽然没能阻止复制,但有效的限制了复制所带来的影响。



  外挂:外挂问题作为最重要的游戏安全问题,必须得到快速的解决。在我们运营的游戏中DNF这款来自韩国的代理游戏不断被外挂问题所侵扰。由于众所周知的原因,韩国游戏在设计上缺乏安全性上的考虑,DNF的大量关键游戏逻辑被放在客户端进行判定,伤害等关键数据也在客户端进行计算,因此在DNF中会不断出现各种新的外挂功能,为了能够保护游戏的正常运营,我们必须保证第一时间对外挂问题进行处理,为此游戏安全团队做出了巨大的努力,为DNF的成功运营保驾护航。



  帐号虚拟财产安全:对抗盗号我们采用了“软硬”结合的手段: 密保卡,手机令牌,硬件令牌,密保手机等构成了保住虚拟财产安全的硬手段。通过结合具体的业务场景,通用验证这些密保,可以缓解由于帐号密码被盗带来的损失,为游戏用户增加一层保护屏障。保护态是一种基于后台策略的虚拟财产保护机制,当识别出用户可能存在被盗风险时,系统会自动启动游戏角色的保护状态,将禁止所有预定义的敏感操作,这里就包含了一些虚拟财产转移、销毁、变卖等恶意操作。即使用户的帐号被盗,那么在盗号者尝试转移虚拟财产时,也会被直接拦截。


总结

       回顾腾讯游戏研发的心路历程,技术的演进经历了从关注运营商的需求到关注开发商的需求,再到关注用户的需求的过程。


  用户认可的好游戏,从游戏设计维度看,需要提供用户喜欢的核心玩法;从技术维度看,即玩法之外,好的游戏必须能提供全方位的优秀游戏体验。


  7月19日21:00,两个小时的“玩法之外-腾讯游戏成功背后的技术推动力”分享圆满结束!



  欢迎大家继续期待8月23日举办的腾讯大讲堂对外讲座·第十四期技术讲座。更多精彩,尽在腾讯大讲堂DJT.QQ.COM

 

本活动的提问回答汇总见:http://djt.qq.com/article/view/300