1、网络游戏开发所需要的技术,1.服务器端技术2.客户端的稳定性3.反外挂技术,服务器端技术,三个层面 :首先,分布式计算系统 其次,网络底层通讯模型的选择,比如选择模型、事件通告模型、端口独占模型 第三,服务器数据同步技术看一个网游服务器做的好不好,从同步、流程、稳定这三种外在表现就可以初步了解。,客户端的稳定性,网络游戏与单机版游戏 最简单的网游客户端只需要将图形画出来,响应所有的网络和客户信号,做转发就可以了,没有更多的逻辑控制 。而单机版游戏需要在情节、逻辑和AI方面做很多工作。 不过,网络游戏客户端对稳定性的要求比单机版高出许多,还要考虑很多问题,比如系统资源消耗。,举例,大话西游中,图
2、形引擎采用了局部刷新优化和滚动优化,玩家移动产生的滚屏不影响效率。CPU 占用率只与屏幕上活动的角色数量、角色活动的速度有关。内存资源的调度采用预估读取和延迟释放的策略,有一个线程专门负责处理,所以在切换场景和平移时都不会产生延迟和硬盘读取的颠簸,由内存管理模块负责将整个应用程序的内存消耗维持在一个合理的范围内。同时,通过将逻辑运算和图形分开,以及最小化优化可以让游戏玩家不仅可以同时开几个客户端,而且还可以浏览网页、聊天。而单机游戏和一些网游没有考虑这点,往往都是强占100%的CPU和内存资源,由操作系统来协调。,反外挂技术,游戏外挂的分类主要有两种方式: 1、按实现方式(1)脱机式:完全脱离
3、游戏客户端程序,可以与游戏服务器自由通讯的外挂程序,开发难度最大, 普通的100多K,对游戏的危害最大,严重破坏游戏市场、影响玩家正常游戏、缩短游戏运营周期,(2)内挂式:以游戏客户端程序为载体,依靠客户端程序来完成与游戏服务器的通讯2、按用户类型:普通玩家此类挂主要通过点卡、月卡等方式向普通玩家销售 打钱工作室此类外挂由某工作室定制或只向工作室销售,由一个工作室买断,或少数工作室共用。,反外挂技术,1、脱机挂以及内挂开发首先必须解决游戏反调试保护,目前主流思想是驱动层进行调试器进程检测、标志位检测,HOOK重要函数等方法以及给游戏执行文件加猛壳利用壳的功能实现反调。 2、对游戏的启动参数进行
4、加密(针对脱机挂及智能工作室内挂)。3、检测防多开(针对脱机挂及智能工作室内挂)4、代码完整性校验5、游戏登陆相关封包处理6、敌意进程、模块扫描7、客户端失去响应8、图片答题机制做外挂与反外挂技术上是对等的,完全靠技术手段是反不住外挂的,最好的反外挂系统是游戏本身,手机网络游戏已具备两大发展条件:一是高效的3G网络传输平台,在3G时代手机网络的传输速率和承载能力有了很大程度的提高,手机上网打开网页的时间基本控制在3秒左右,在手机上利用3G网络的高速数据传输能够实时播放丰富的多媒体内容,破解了数据传输速度对手机网络游戏发展的限制;二是完善的手机终端软硬件支持环境,手机硬件制造业的发展与手机操作系
5、统的不断成熟,为手机终端平台上实现多种插件衔接提供了基础,手机的娱乐功能越来越容易实现,对高质量、品种丰富的手机网络游戏的需求也越加突出。,网游同步方法收集,1:基于验证的同步 游戏代表: 传奇方法:客户端对用户的操作不做处理,而是把它们发送给服务器端,有服务器作验证处理(广播给包括本地客户端的所有相关的客户端)。2:帧同步适合游戏:RTS(即时战略)类游戏。(要求高实时性)方法:这种同步方案比上面的同步方案要求更加严格。客户端只是输入和显示工 具,不做任何的逻辑处理。人物的行走AI及所有逻辑都有统一的服务器计算,并且逐帧的将实时的运算结果广播给所有相关的客户端。3:基于预测的同步(dead_
6、reckoning)游戏代表: 魔兽世界方法: 将玩家的输入抽象成某种持续的物理行为,然后提交给服务器,服务器要做的只是将这种行为广播,然后其相关客户端会根据这种持续性的行为作短时间的预测.服务器端接收的下一次的指令时,光滑拉扯,以更改上次预测的误差.,中国手机游戏的发展,手机游戏泛指所有在手机终端上运行的游戏,中国手机游戏的发展按出现时间先后大致经历了三个阶段:第一阶段(1997-2000年)即内置单机游戏阶段. 第二阶段(2001-2004年)出现了SMS文字游戏及可下载单机游戏、WAP手机网络游戏、第三阶段 (2005-2006)为JAVA/BREW技术等为代表的CS( CLIENT SERVER)架构手机网络游戏。,手机网络游戏按技术实现方式不同又可分为:BS(Browser-Server)架构手机网游和CS(Client-Server)架构手机网游。BS架构手机网游目前主要由手机WAP(Wireless application Protocol无线应用协议)浏览器实现,即基于手机上的WAP浏览器浏览WAP服务器网站的多人手机游戏,如天下网推出的开心农场CS架构的手机网游即通过在用手机户终端安装游戏客户端软件来实现与手机网游SP的服务器端交互。目前游戏客户端主要针对symbian、linux、palm、windows mobile 操作系统及Java、brew平台开发。,