一种用于开发3d游戏的游戏引擎系统的制作方法

文档序号:9287732阅读:347来源:国知局
一种用于开发3d游戏的游戏引擎系统的制作方法
【技术领域】
[0001]本发明涉及一种游戏引擎系统,特别涉及一种用于开发3D游戏的游戏引擎系统。
【背景技术】
[0002]通常,一款游戏引擎的好坏,直接影响游戏的方方面面。目前,在世界范围内,有众多游戏引擎被各游戏开发厂商广泛使用O比如Unreal, CryEngine, Unity, Cocos2dX, KlayGE, WildMagic, OGRE, BigfforId, GameBryo 等等。
[0003]在这些游戏引擎中,Cocos2dX是一个支持多平台的2D手机游戏引擎,使用C++开发,基于 0PENGLES,基于 Cocos2d_iphone,支持 1S, Android, Winodws 等平台。Unity 是由Unity Technologies开发的一个允许玩家创建诸如三维视频游戏,建筑可视化,实时三维动画等类型互动内容的多平台综合型游戏开发工具,是一个高度整合的游戏引擎。
[0004]然而,上面列举的这些现有引擎多为通用化的引擎,很难为一个特定的游戏类型提供足够的支持服务,而无法解决游戏项目成功的一个要素,即早于同行做出满足市场要求的产品。因此,使用通用化引擎的一个主要问题在于缺少技术时效性。当开发者等待通用化引擎支持某种新技术的时候,其他竞争对手公司也就具备了开发同类产品的能力。这就使得开发效率大大降低,使得开发者错失市场。另外,现有引擎由于支持服务不到位使得没有直接的支持,因此需要开发者用户自己去实现相关的部件,从而导致制作周期大大加长。
[0005]因此,需要一种具有更为合理的架构和更优代码风格的游戏引擎,可以支持更强大的编辑器和开发工具,使得游戏制作人员能够实现更高效的开发。

【发明内容】

[0006]本发明的目的在于提供一种用于开发3D游戏的游戏引擎系统,所述引擎系统包括基础模块、引擎模块、渲染插件模块和引擎扩展模块和引擎资源编辑器,其中,所述基础模块通过封装与不同平台相关的各种常用函数,用于实现所述游戏引擎系统对不同开发平台的高层抽象,并用于将引擎上层模块及引擎使用人员与开发平台进行隔离,所述基础模块包括平台库、工具库、存储器子模块、数学库、串行化子模块和线程子模块;引擎模块用于提供交互式实时图像应用程序的核心组件,包含渲染模块,Al模块,物理模块,UI模块,音频模块,特效系统模块,资源管理模块,动画模块,脚本模块,日志模块,插件模块,以实现游戏场景和角色的渲染及模拟以及资源的管理和扩展;所述渲染插件模块用于实现基于插件的渲染模块抽象,从而使引擎可以在不同的开发平台挂载与之匹配的渲染插件;引擎扩展模块,用于以插件的方式提供对于不同游戏应用类型的支持;引擎编辑器包括场景编辑器,特效编辑器,模型编辑器,材质编辑器,角色编辑器,技能编辑器,所述各个编辑器之前协同合作,以提供可扩展编辑的游戏美术资源及编辑游戏所使用的逻辑相关资源。
[0007]优选地,所述平台选自windows phone平台、1S平台、Android平台、MAC平台中的任意一种。
[0008]优选地,所述基础模块中的所述存储器子模块、数学库、串行化子模块、线程子模块封装了各平台差异性的功能,作为底层模块供上层模块调用。
[0009]优选地,所述工具库封装如计时器、调试模块、字符串处理、路径处理的功能。
[0010]优选地,所述渲染插件模块支持OpenGLES, OpenGL, D3D, Metal多种渲染API。
[0011]根据本发明的另一方面,提供了一种用于通过客户端调用如上述的游戏引擎系统的方法,所述方法包括如下步骤:
[0012]a)对所述游戏引擎系统进行初始化;
[0013]b)若引擎初始化成功,继续执行客户端逻辑相关初始化;
[0014]c)进入游戏逻辑主循环。逻辑主循环顺序执行逻辑更新;
[0015]d)进行引擎更新;
[0016]e)进行引擎渲染;
[0017]f)判断是否接收到退出指令,若是则退出,否则返回步骤c)重新进行逻辑更新。
[0018]优选地,所述步骤a)中的引擎初始化包括创建引擎Root对象,定制内存管理器,以及根据平台特性定制渲染器。
[0019]优选地,所述逻辑更新包含客户端自己逻辑相关的更新,其中包含对引擎接口的调用。
[0020]优选地,所述退出包括客户端崩溃、客户端程序关闭等所有会导致游戏主循环中断的操作。
[0021]根据本发明的3D游戏引擎系统,可以使游戏制作人员更高效的开发。基于插件的设计模式可以使开发人员随心所欲的根据自己的需求进行特殊定制和扩展。因此,根据本发明的3D游戏引擎系统相比现有游戏引擎系统具有更高效的性能,更宽的扩展空间,更强的功能,并且对自定义扩展支持得更为友好,尤其适合有一定经验的游戏研发人员使用,大大缩短了游戏的开发周期,使得开发效率大为提高。
[0022]应当理解,前述大体的描述和后续详尽的描述均为示例性说明和解释,并不应当用作对本发明所要求保护内容的限制。
【附图说明】
[0023]参考随附的附图,本发明更多的目的、功能和优点将通过本发明实施方式的如下描述得以阐明,其中:
[0024]图1示意性示出根据本发明的3D游戏引擎系统的系统框图;
[0025]图2示意性示出根据本发明的3D游戏引擎在于游戏应用结合时的应用程序层结结构图;
[0026]图3示出了图1中的3D游戏引擎系统中的基础模块的子模块框图;
[0027]图4示出了图1中的3D游戏引擎系统中的引擎模块的子模块框图;
[0028]图5示出了图1中的3D游戏引擎系统中的渲染插件模块的子模块框图;
[0029]图6示出了图1中的3D游戏引擎系统中的引擎扩展模块的子模块框图;
[0030]图7示出了图1中的3D游戏引擎系统中的引擎编辑模块的子模块框图;
[0031]图8示出了图1中的3D游戏引擎系统的工作流程图。
【具体实施方式】
[0032]通过参考示范性实施例,本发明的目的和功能以及用于实现这些目的和功能的方法将得以阐明。然而,本发明并不受限于以下所公开的示范性实施例;可以通过不同形式来对其加以实现。说明书的实质仅仅是帮助相关领域技术人员综合理解本发明的具体细节。
[0033]在下文中,将参考附图描述本发明的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。
[0034]本发明提供了一种3D游戏引擎系统,具有完整功能模块的游戏开发引擎,具备图形、物理、人工智能(Al)、音频、界面、动画、特效、脚本等完整功能,可以使游戏制作人员更高效的开发。根据本发明的3D游戏引擎系统基于插件的设计,可以使开发人员随心所欲的根据自己的需求进行特殊定制和扩展。如图1所示,本发明的游戏引擎系统100包括基础模块101、引擎模块102、渲染插件模块103、引擎扩展模块104和引擎资源编辑器105。
[0035]基础模块101用于实现游戏引擎系统100对各个开发平台(例如windows phone平台、1S平台、Android平台、MAC平台等)的高层抽象,并用于将引擎上层模块及引擎使用人员与开发平台进行隔离,从而使得引擎使用人员在开发时无需知晓各平台细节,而在任何平台调用由基础库实现的代码时都可以获取到相同的结果。
[0036]基础模块101还封装了与不同平台相关的各种常用函数,可以在所支持平台上被游戏开发人中
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1