论文部分内容阅读
网络游戏在中国经过数十年的发展,现在已经成为一种新的娱乐热点。数据显示,2014年上半年,中国网络游戏市场规模环比增长10%,全行业市场规模达到518.1亿元人民币,全年预计市场规模将超过千亿。而2008年上半年的市场规模仅为84亿元,我们可以对比看出,中国的网络游戏市场的规模在6年间已经增长了将近6倍。而以此预计未来3年,中国游戏市场规模将在2017年将达到2000亿元人命币。同时纵观中国的一线互联网厂商:腾讯、网易、盛大中的游戏业务的收入基本占据了整体收入的50%。同时,2014年上半年资本并购投资持续活跃:腾讯投资CJGame:5亿美元收购CJGame 28%的股份,成为CJGame第三大股东。光线传媒2.3亿元收购仙海科技。奥飞动漫3.25亿元收购方寸科技、3.67亿元收购爱乐游。游族信息借壳梅花伞。拓维信息8.1亿收购火溶信息。爱使股份收购游久时代。2014上半年,我国自主研发能力进一步增强,民族原创网络游戏实现销售收入360.3亿元,同比增长50.5%,占市场销售总额的60.5%。伴随文化产业政策的日益完善和对游戏行业潜在价值的认同,我国移动游戏乃至整个游戏产业已成为资本市场追逐的热点,投融资活动更趋活跃,从业和创业的积极性也空前高涨。对于游戏开发来者来说,根据对网络延迟要求的高低,可以将网络游戏分为非实时网络游戏和实时网络游戏。非实时网络游戏主要包括网络棋牌类游戏、益智类游戏等,这类游戏对网络延迟的要求并不高,几秒的延迟也是可以忍受的,如QQ游戏平台中的斗地主、麻将、台球等游戏。实时网络游戏一般对网络延迟的要求比较高,较高的网络延迟通常使得游戏不可以顺利进行。其中最有代表的两类游戏就是:第一人称射击游戏(FPS),目前最有代表的游戏产品有《激战》、《Counter Strike》等等。即时战略游戏(Realtime Strategy Game,RTS),目前最有代表游戏产品有《魔兽争霸》、《英雄联盟》等等。由于在网络中延迟是不可避免的存在,而延迟则是实时网络游戏开发过程中的一个瓶颈,延迟的大小往往决定着游戏的体验、游戏的实现方式、游戏的可玩性。在游戏中,如果游戏运行过程中出现跳动、拉扯的现象,将会对这类游戏的可玩性产生致命的打击。通常为我们必须采用一系列算法来减少网络延迟对于游戏性的影响。本文将会具体对这一技术进行介绍与实现。本文首先从实时网络游戏服务器的设计特点出发,描述了网络游戏开发中的一些主要问题,然后介绍了常见网络游戏服务器架构,并结合了分布式服务器架构的特点实现了一套适用于游戏服务器的分布式架构,并对于protocolbuffers协议引擎,libevent网络引擎进行了介绍,并对使用这两种引擎的具体编程方法进行了实现。然后详细描述了实时网络游戏开发中的主要问题,其中主要的问题有:不同客户端间的时间同步问题,网络延迟的问题,游戏中物体的移动同步问题,服务器客户端一致性问题。本文对这几个问题进行了描述,介绍并实现了解决这些问题常用的算法:航位推测技术(Dead Rockoning),航位推测技术能够将网络延迟对实时网络游戏的冲击减少到最小,同时航位推测技术包括预测技术,平滑处理技术,本文详细描述了这两种技术,并对该算法在游戏中的使用给出了具体的实例。同时比较了移动同步中的保守同步机制和乐观同步机制,详细描述了Bucket、Time Warp同步机制,并给出了Bucket在实时网络游戏中的详细实现。最后对于网络延迟所带来了客户端服务器不一致性问题进行了描述,并对解决这一问题的延迟补偿技术(Lag Compensation)进行了编程实现。