【VC++开源代码栏目提醒】:网学会员,鉴于大家对VC++开源代码十分关注,论文会员在此为大家搜集整理了“基于开源引擎的网络游戏应用研究 - 硕士论文”一文,供大家参考学习!
广东工业大学 硕士学位论文基于
开源引擎的网络游戏应用研究 级别:硕士 专业:计算机软件与理论 指导教师:冯开平 20080501 摘要 摘要 网络游戏开发是--I’-1综合性很强的学科,而综合利用已有技术快速的开发出一款新的网络游戏,是一个备受关注的技术问题。
当前已经有越来越多的人和团队投入到了网络游戏的研发队伍中,而如何摆正网络游戏中各个模块之间的位置仍然是一个棘手的问题。
一个好的网络游戏涉及到图形、物理、网络、AI、声音等方面,而且一个好的网络游戏要有漂亮的画面,简易的操作,流畅的动作和足够强大的网络。
但是一个功能单一的
开源引擎又无法完成这所有的功能,因此必须要采取一种合理的架构方法把这些功能有机的融合在一起。
针对各个模块的实现方法,目前已经有了大量的研究并且出现了大量的
开源引擎,但是各种引擎又良莠不齐,有些文档不全,有些版本控制不当,有些还难以扩展使用,都出现了各种各样的问题,基于这种现状本文考察了当前市面上广泛使用的各种
开源引擎,对于各种引擎的长处和短处进行了详细的分析;同时还分析了游戏各个模块的关联,对各种
开源引擎进行了有机的综合,提供出一套通用的解决方案,建造了一个稳定的构架,对于利用
开源引擎开发游戏有很好的推动意义。
本文立足于一个“
开源”盛世的时期,完成的主要工作如下: . 1.综合考查了目前已有的各种
开源图形、物理、网络、声音引擎,并且对各种引擎的功能、性能进行了测试和分析。
2.论文还具体分析了搭建一个网络游戏的难点和重点部分,并且对其提出了相对应的解决方案。
3.在综合考查的基础上,针对不同类型的网络游戏合理选取了各种高效引擎,并且对各款引擎进行详细的分析,很好的提出了快速开发出一个3d网络游戏的方案。
本课题的关键技术和创新点: 1.利用各种现有的
开源引擎来成功搭建一个游戏的框架,可以快速进入游戏的开发,从而绕过了游戏开发之前大量的基础的过程。
2.本文利用面向对象架构的思想,使用u M L架构语言来进行游戏的设计,在一定程度上优化了网络游戏的开发过程。
广东工业大学工学硕士学位论文 本文的研究对于快速开发出一个稳定而且功能强大的网络游戏具有很好的指导意义,提出的面向对象综合利用
开源引擎的方法对于进行网络游戏的研究也有很好的推动作用。
关键词:图形引擎;物理引擎;网络;输入系统;游戏 Ⅱ ABSTRACT AB STRACT Today, onl ine game as a new subject,has become a hot topic ofconversation.The development of online games is a highly integratedsubject,and how to utilize the technology of existed to develop a newonline game rapidly,is a technical problems.At present,there are moreand more people put into a onl ine game’S research and development team,and how to correctly online games in the position between the modules isstill a thorny problem. A good online game include graphics,physics,networking,AI,soundmodule etc.an the online game must have a beautiful game screen, easyoperation, smoother motion and sufficiently strong network,completephysical systems.An engine can not complete all the functions, it isnecessary to take a reasonable approach to the integration of thesefunctions together.For each module of the current method,now have had great deal of study and a large number of open—source engine,a but someof the engine’S document incomplete, and some improper version control,there are a variety of problems.Based on of the current market wider useof open source engine,this paper carried out a detailed analysis on theengines for various strengths and weaknesses,also analyzed the game ofthe modules l inked to various open—source engine.Final provide a commonsolution,constructe a stable framework for the use of open source engine,have a promotion on the game developing. This article based on an”open source”Spirit of the period,compeleted the major work as follows: 1.This article has a comprehensive test of the various open—sourcegraphics,physics,networking, sound engine,and the various enginefunctions,the performance of testing and analysis. 2.Papers also has a detailed analysis of the structure of a onl ine Ⅲ 广东工业大学工学硕十学位论文game and focus on some of the difficulties, and made corresponding toits solution. 3. On the basis of different types of online games’Comprehensivetesting,Paper select a varietyof reasonably efficient engine,and givethe engine a detailed analysis, very useful to the rapid developmentof 3d onl i ne games’scheme. The paper of key technology and innovat ion as fol lows: 1.Use of the existing open—source engine to successfully build theframework of a game, can quickly enter-the game development. 2.By using object—oriented Programming of thinking,the use oflanguage UML framework for the design of the game,to a certain extent,opt imi ze the network game development process. Thi s paper for the rapid development of a stable and powerful onl inegaming has a good guide meaning,the comprehensive utilization of object——oriented approach to the engine for online games studyopen——sourcealso iS a very good role.Keywords:Graphics engine:Physics engine:Networking engine; Soundengine:Game IV 独创性声明 独创性声明 秉承学校严谨的学风与优良的科学道德,本人声明所呈交的论文是我个人在导师的指导下进行的研究工作及取得的研究成果。
尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,不包含本人或其他用途使用过的成果。
与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明,并表示了谢意。
本学位论文成果是本人在广东工业大学读书期间在导师的指导下取得的,论文成果归广东工业大学所有。
申请学位论文与资料若有不实之处,本人承担一切相关责任,特此声明。
指导教师签字 论文作者签字: 年 月彳、 阢,日彰, 第一章绪论 第一章绪论霾酒背景及意义 随着中国游戏市场的打开,越来越多的人加入到了本土网络游戏研发的队伍中来,对于游戏的核心技术——游戏引擎,也有很多人关注。
自主开发引擎在中国已经有很多人在研究,但是缺乏一个很好的
代码管理仓库,造成了一盘散沙的情况。
在国内,网络游戏作为一个新生事物,许多核心技术还处于不成熟的阶段。
在国外,主要是韩国的网络游戏起步相对较早,并且得到了韩国政府的大力支持,包括核心技术的共享,使得部分技术的发展走在了前面,但由于韩国的宽带网普及率很高,所以他们对网络带宽的占用、服务器效率的优化等方面都做得远远不够。
另外,韩国的网络游戏在应对作弊工具、通讯协议加密方面也有不少漏洞,最近出现了很多针对韩国网络游戏的作弊工具就说明了这个问题。
目前在中国网络游戏市场占主流地位的企业有四大类:自主开发型企业,以金山、联众、可乐吧、深圳天晴数码、目标、大宇等为代表:代理运营型企业,以盛大、亚联、华义、网星埃尼克斯和九城为代表;门户型企业,以网易、新浪、搜狐为代表;电信型企业,以重庆电信、上海电信、聚友网络为代表。
自2000年,我国开始投入自主网络游戏开发,但投入力度不大,而且技术水平参次不齐。
我国网络游戏产业面临的挑战是严峻的,在服务器负载平衡、信息安全、三维图像显示技术等方面,中国同国外至少有2.3年的差距。
早期的游戏开发中,并没有引擎这个说法,所有的一切(程序,美工,动画的工作都是从头做起,游戏开发结束后,游戏上市,开发的中间产品则被抛弃。
这样的游戏
代码中,与游戏逻辑相关的程序与核心
代码交织在一起,剪不断,理还乱。
要想重用,完全是不可能的。
下一代产品的开发完全是从头开始。
目前中国的网络游戏普遍采用国外的引擎,因此增加了开发的成本,同时功能上也受到限制。
游戏引擎是制作游戏的主要工具,游戏引擎通常包括3部分,内容编辑工具,运行时
代码,游戏逻辑。
其中内容编辑工具主要用来设计游戏关卡,编辑游戏内 广东工业大学硕士学位论文容,建模,贴图和管理音效等。
运行时
代码是指游戏在运行时与操作系统相交互的
代码,主要用来管理计算机资源(如:CPU的计算能力,内存和硬盘的储存能力),渲染场景,管理用户的输入和碰撞检测。
本文通过将面向对象理论和实际的三维游戏引擎开发相结合,提供一种提高游戏引擎开发质量的方法。
1.2国内游戏业的研究现状1.2.1单机游戏的制约条件 游戏产业的发展受到各个方面的制约,这些制约包括在技术、市场、社会舆论和国家政策上,主要有两个方面: 1.外部。
除去政府行为外,主要的影响是盗版。
盗版行业几乎占据了正常市场的90*4,2001年~2002年国内所发售的游戏中销量超过lO万的游戏软件屈指可数,大部分游戏软件的销量平均在2万到5万分。
极大制约着开发商的资金回笼和持续发展,以致国内游戏开发技术至今仍然停留在2D水平。
同样台湾厂商也不得不面临这样的问题。
2.内部。
由于不看好单机版游戏市场,国内游戏厂商包括台湾厂商大多以低成本(50万以下或更低)低质量的游戏软件来投放市场以期降低风险,导致了游戏品质上的恶性循环。
1.2.2国内网络游戏市场 与单机版市场的长期低靡形成鲜明对照的是,几乎所有的研究机构都对网络游戏市场进行了令人激动的预测。
2006年中国网络游戏收入达59.6亿元,比2005年增长了61.96%。
2006年,网络游戏用户规模达到4328万,其中付费用户达到2458万,占整体用户数的56.8%。
如何开发庞大用户规模的商业价值,成为游戏运营商的关注焦点。
同时中国的网络游戏玩家结构也发生了明显变化,从单一的18.22岁年轻玩家向18.30青少年和成人玩家逐渐发展。
2007年中国网络游戏市场规模为128亿元,同比增长66.7%。
2007年中国网络游戏用户达到4800万,同比增长17.1%。
用户增长一方面来自休闲游戏用户的增加,另外一方面来自于各游戏厂商对二三级等城市的开发。
预计在未来的 2 第一章绪论4.5年间,网络游戏还将继续保持20%以上的增幅,在2011年整个市场规模将达到401亿元。
网络游戏的快速发展主要得益于中国庞大的用户基数与游戏运营商对用户的深度挖掘【·】。
未来发展趋势预测:行业整合加剧,会迅速出现几个行业研究开发巨头;收费降低,进入免费,增值收费的模式将迅速普及;产品市场细分:国内研究开发实力的崛起;教育类、益智类游戏将迅速提高娱乐性、挑战性和画面的精美程度,迅速提高在游戏类市场中的比重。
1.2.3国内游戏引擎业现状 网络游戏的关键技术是游戏引擎。
游戏引擎包括了一套完整的游戏开发工具与运行基础,包含了开发一套游戏所需的最核心的技术。
高性能的游戏引擎是游戏企业技术积累的最好方式,它通过封装技术难点为游戏软件提供开发包和系列工具,使得“复制’’游戏成为可能。
这样可以极大缩短游戏产品开发周期,降低游戏开发的技术难度,为形成国产游戏市场,创造巨大经济、社会效益提供根本保证。
随着对国产网络游戏的需求量持续增大,引发了对游戏引擎的强烈需求,但国内并没有成功的游戏引擎,于是游戏开发公司大多采用了进口的网络游戏引擎,如Lithtec,Unreal和RenderWare等,这些引擎费用昂贵,极大的增加了游戏开发的成本。
但是也有一些知名的网游公司,如盛大,网易等,投资开发自主知识产权的游戏引擎,但是他们往往只是自己使用,并不向外授权。
1.3网络游戏立足点1.3.1引擎的特征 游戏引擎是个综合系统,提供运行游戏各个方面的内容包括图形,声音,输入,网络。
引擎相当于游戏的框架,框架打好后,关卡设计师、建模师、动画师只要往里填充内容就可以了。
因此,在3D游戏的开发过程中,引擎的制作往往会占用非常多的时间,LithTech引擎的开发共花了整整五年时间,耗资了千万美元,出 广东工业大学硕士学位论文于节约成本、缩短周期和降低风险这三方面的考虑,越来越多的开发者倾向于使用第三方的现成引擎制作自己的游戏,一个庞大的引擎授权市场已经形成〔21。
但是由于引擎的价格太过于昂贵而且一般的引擎都只是一个开发包,十分的不便于高层开发,于是我们便采用基于编辑工具的网络游戏开发。
1.3.2网络游戏的特征 所谓的玩家互动性,就是借助于网络,使游戏玩家之间的数据在网络上无误的传输,要求网络游戏实时地在Intemet上工作。
如果忽略掉了网络性则不同玩家之间开始处理数据包时的丢失,乱序等等问题会不断的出现,但最终是可以使玩家得到越来越好的交互的。
看看今天大量的网络游戏就可以明白,从Quake III,Unreal Tournament,Counter Strike一直到EverQuest和Ultima Online。
真正有长久生命力的游戏都至少有一些连线成分。
最纯粹的单人游戏容易玩一次,两次,甚至三次,即使非常好的游戏,一旦游戏结束,就被束之高阁了。
消息机制是网络游戏的核心,当一台机器上的数据需要被传输到另一台机器时,人们就要将数据打成一个信息包传送到目的地。
1.3.3游戏和游戏引擎之间的界线 一个游戏引擎和游戏本身之间的主要区别就像把一个汽车发动机和整个汽车的概念一样。
任何一个汽车都有一个产生动力的发动机,整个汽车的动力来自发动机,重要性可见一斑。
能够从汽车里面取出发动机,建造另外一个外壳,再使用发动机一次。
游戏也是如此,游戏引擎被定义为非游戏特有的技术。
游戏部分是被称为“外壳’’的所有内容和为了使游戏运行,控制如何运行所需要的程序
代码, 如网络游戏里面的战斗系统,聊天系统等等。
1.3.4引擎的历史 每一款游戏都有自己的引擎,但真正能获得他人认可并成为标准的引擎并不多。
引擎最大的驱动力来自于3D游戏,尤其是3D射击游戏因此,下面对引擎的历史回顾将主要围绕动作射击游戏的变迁展开,动作射击游戏同3D引擎之间 4 第一章绪论的关系相当于一对孪生兄弟,互相为对方提供着发展的动力Pl。
1.引擎的诞生(1992年~1993年)。
1992年,3D Realms公司/Apogee公司发布了一款只有2M多的小游戏——《德军司令部》(Wolfenstein 3D),用“革命”这一极富煽动色彩的词语也无法形容出它在整个电脑游戏发展史上占据的重要地位。
这部游戏开创了第一人称射击游戏的先河,更重要的是,它在X轴和Y轴的基础上增加了一根Z轴,对那些看惯了2D游戏的玩家造成了巨大的冲击。
引擎诞生初期的另一部重要游戏同样是出自id Software公司的一款非常成功的第一人称射击游戏——《毁灭战士》(Doom)。
Doom引擎在技术上大大超越了Wolfenstein 3D引擎,《德军司令部》中的所有物体大小都是固定的,所有路径之间的角度都是直角,也就是说你只能笔直地前进或后退,这些局限在《毁灭战士》中都得到了突破。
尽管游戏的关卡还是维持在2D平面上进行制作,没有“楼上楼”的概念,但墙壁的厚度可以为任意,并且路径之间的角度也可以为任意,这使得楼梯、升降平台、塔楼和户外等各种场景成为可能。
2.引擎的转变(1994年~1997年)。
在引擎的进化过程中,肯·西尔弗曼于1994年为3D Realms公司开发的Build引擎是一个重要的里程碑,Build引擎的“肉身”就是那款家喻户晓的《毁灭公爵》。
《毁灭公爵》已经具备了今天第一人称射击游戏的所有标准内容,此外还把《异教徒》里的飞行换成了喷气背包,甚至加入了角色缩小等令人耳目一新的内容。
但是Build引擎并没有为3D引擎的发展带来任何质的变化。
Quake引擎是当时第一款完全支持多边形模型、动画和粒子特效的真正意义上的3D引擎。
此外Quake引擎还是连线游戏的始作俑者,尽管几年前的《毁灭战士》也能通过调制解调器连线对战,但最终把网络游戏带入大众的视野之中的是《雷神之锤》,是它促成了电子竞技产业的发展。
正当Quake II独霸整个引擎市场的时候,Epic Megagames公司的《虚幻》问世了。
除了精致的建筑物外,游戏中的许多特效即便在今天看来依然很出色,荡漾的水波,美丽的天空,庞大的关卡,逼真的火焰、烟雾和力场等效果。
从单纯的画面效果来看,《虚幻》是当之无愧的佼佼者,其震撼力完全可以与人们第一次见到《德军司令部》时的感受相媲美。
3.引擎的革命(1998年-2000年)。
游戏的图像发展到《虚幻》这里已经达到了那个时代最高的高度,下面的发展方向很明显不可能再朝着视觉方面进行 广东工业大学硕士学位论文下去。
引擎技术对于游戏的作用并不仅局限于画面,它还影响到游戏的整体风格,例如,所有采用Doom引擎制作的游戏,无论是《异教徒》还是《毁灭巫师》,都有着相似的内容,甚至连情节设定都如出一辙。
玩家开始对端着枪跑来跑去的单调模式感到厌倦,开发者们不得不从其它方面寻求突破,由此掀起了第一人称射击游戏的新的高潮。
两部划时代的作品同时出现在1998年--DValve公司的《半条命》和LookingGlass工作室的《神偷:暗黑计划》,尽管此前的《系统震撼》等游戏也为引擎技术带来过许多新的特性,但没有哪款游戏能像《半条命》和《神偷》那样对后来的作品以及引擎技术的进化造成如此深远的影响。
曾获得无数大奖的《半条命》采用的是Quake和Quake II引擎的混合体,Valve公司在这两部引擎的基础上加入了两个很重要的特性:一是脚本序列技术,这一技术可以令游戏以合乎情理的节奏通过触动事件的方式让玩家真实地体验到情节的发展,这对于诞生以来就很少注重情节的第一人称射击游戏来说无疑是一次伟大的革命;第二个特性是对人工智能引擎的改进,敌人的行动与以往相比明显有了更多的狡诈,不再是单纯地扑向枪口。
在人工智能方面真正取得突破的游戏是Looking Glass工作室的《神偷:暗黑计划》,《神偷》采用的是Looking Glass工作室自行开发的Dark引擎,Dark引擎在图像方面比不上《雷神之锤2》或《虚幻》,但在人工智能方面它的水准却远远高于后两者。
从2000年开始3D引擎朝着两个不同的方向分化,一是如《半条命》、《神偷》和《杀出重围》那样通过融入更多的叙事成分和角色扮演成分以及加强游戏的人工智能来提高游戏的可玩性,二是朝着纯粹的网络模式发展,在这一方面,id Software公司再次走到了整个行业的最前沿,他们意识到与人斗才是其乐无穷,于是在Quake II出色的图像引擎的基础上加入更多的网络成分,破天荒推出了一款完全没有单人过关模式的纯粹的网络游戏——《雷神之锤3竞技场》,它与Epic公司稍后推出的《虚幻竞技场》一同成为引擎发展史上的一个转折点。
在1998年到2000年期间迅速崛起的另一款引擎是Monolith公司的LithTech引擎,这款引擎最初是用在射击游戏《升刚》(Shogo)上的。
4.引擎的现在(2001年-2008)。
2001年有许多优秀的3D射击游戏陆续发布,其中一部分采用的是Quake III和Unreal Tournament等现成引擎,如《星际 6 第一章绪论迷航深度空间九:坠落》、<重返德军总部》和《荣誉勋章:盟军进攻》,而更多的则采用的是自己开发的引擎,比较有代表性的包括网络射击游戏<部落2》 (Tribes 2)、第一人称射击游戏《马科斯·佩恩》、<红色派系》(Red Faction)和 《英雄萨姆》等。
<红色派系》采用的是Geo.Mod引擎,这是第一款可任意改变几何体形状的3D引擎,另一个特点是高超的人工智能,《英雄萨姆》采用的是Serious引擎,这款引擎最大的特点在于异常强大的渲染能力,还有《海底惊魂》所用的Krass引擎,这款引擎被作为GeForce 3的官方指定引擎,专门用于宣传、演示GeForce3的效果,视觉方面的表现无可挑剔。
Epic游戏公司也在紧锣密鼓地开发新一代Unreal引擎和《虚幻竞技场2》的引擎。
尽管目前关于这几款引擎的具体资料并不多,但从已展示的几段采用新引擎实时渲染的动画片段来看,它们的确完全超越了市面上的其它引擎,预示着一个新的引擎时代的到来f4J。
1.4课题的主要成果和内容1.4.1开发环境 操作系统为Windows XP, 开发语言:C++ 开发平台:Vc2005 spl dxsdk版本:2006April ogre版本:1.4a Novedx版本:2.2a Python版本:2.5b 数据库服务器为SQL Server20001.4.2主要内容和成果 主要内容如下: (1)实现了各种引擎模块有效的连接,详细分析了各个引擎的特点,通过 .