一种即点即玩游戏的开发装置及其方法制造方法及图纸

技术编号:18989527 阅读:17 留言:0更新日期:2018-09-22 01:01
本发明专利技术公开了一种即点即玩游戏的开发装置及其方法,所述开发装置包括游戏引擎模块,还包括装置基类模块、初始化模块和程序模块组件;所述程序模块组件包括渲染对象模块、数据对象模块和逻辑对象模块;在所述即点即玩游戏开始运行前,所述开发装置将所述渲染对象模块、数据对象模块、逻辑对象模块的代码首先进行整合编译运行操作。应用本发明专利技术的开发装置及开发方法,能够降低开发者无谓的精力消耗,并提高开发者的产出代码质量。

A development device and its method of point to point play.

The invention discloses a point-and-play development device and a method thereof. The development device comprises a game engine module, a device base class module, an initialization module and a program module component; the program module component comprises a rendering object module, a data object module and a logic object module; and the point-and-play development device comprises a device base class module, a initialization module and a program module component. Before the game starts to run, the development device integrates and compiles the code of the rendering object module, the data object module and the logical object module. The development device and the development method of the invention can reduce the unnecessary energy consumption of the developer and improve the output code quality of the developer.

【技术实现步骤摘要】
一种即点即玩游戏的开发装置及其方法
本专利技术涉及计算机应用软件开发技术,尤其涉及一种即点即玩游戏的开发装置及其方法。
技术介绍
现有的游戏引擎多采用命令式编程语言开发,如JavaScript、C#等进行表现层的开发。但这类命令式编程语言并不适合用来搭建表现层,与HTML/XML这类适合搭建表现层的标记语言相比,后者产出的代码更易于人类阅读和维护,而且代码量更小。相较于标记式语言,为了实现同样的表现,采用命令式编程语言需要耗费大量的精力去用来:思考变量名、如何存储、何时创建何时释放、如何缓存能满足需求同时提高性能、如何避免泄露、如何抽象局部渲染函数等。这些工作在开发者实现每个程序功能、每个组件是都要重复的思考,基于需求和开发者自身的状态变化,产出的代码就有很大的概率出现问题,且这些问题往往很隐蔽,测试很难覆盖到。而产生的问题会随着游戏发布后被放大,降低玩家体验。现存的游戏引擎里,有的只是提供了渲染接口,有的是提供组件级别的组织方案,但并还没有提供一个良好的、用于组织程序组件内部代码的解决方案。把如何组织功能/组件内部的代码交给开发者,就会放大命令式编程语言开发表现层的问题,导致产出的代码有可能混乱不堪,一段代码可能同时涉及到了对表现、数据、逻辑的操作,需要开发者花费较大的精力去理解每一行代码分别处理的事情,甚至经常出现无法维护只能重写的境地。目前市面上大部分的游戏上线后,会进行快速迭代,满足玩家的需求。这种难于维护的代码无法满足市场需求。尽管HTML/XML这种标记式语言适合编写表现层,但利用它们实现游戏渲染,还有需要有一套解决方案和程序模块来支持,使得它们可以运行在游戏引擎中。但目前还没有相关的实现技术。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种即点即玩游戏的开发装置及其方法,以降低开发者无谓的精力消耗,并提高开发者的产出代码质量。为达到上述目的,本专利技术的技术方案是这样实现的:一种即点即玩游戏的开发装置,包括游戏引擎模块,还包括装置基类模块、初始化模块和程序模块组件;所述程序模块组件包括渲染对象模块、数据对象模块和逻辑对象模块;在所述即点即玩游戏开始运行前,所述开发装置将所述渲染对象模块、数据对象模块、逻辑对象模块的代码首先进行整合编译运行操作;所述渲染对象模块,包括渲染解析模块、事件处理模块和渲染更新模块;其中,渲染解析模块,用于将XML标签解析为BAMBOO实例,生成求值函数,并注册对应的事件;事件处理模块,用于接收游戏运行设备给出的事件,找到渲染解析模块中已注册该事件的回调函数,依次执行这些回调函数;渲染更新模块,用于将最新的数据,更新到BAMBOO实例上,从而使游戏画面更新到最新的状态;所述的数据对象模块,用于定义一个数据对象给渲染对象模块使用;所述逻辑对象模块,用于将数据对象模块和渲染对象模块联系起来,通过调用两个模块,来实现最终的游戏效果。其中,所述游戏引擎模块为BAMBOO核心模块。一种即点即玩游戏的开发方法,该方法包括如下步骤:A、利用游戏引擎模块创建一个从装置基类模块继承的实例,并通过初始化模块执行初始化方法;B、对渲染对象模块的XML语法代码进行编译,编译结束后生成多个渲染对象、一个渲染框架、若干个求值函数、若干个事件绑定函数;C、进行首次渲染对象模块和数据对象模块的绑定,将数据对象模块的数据传入上一步生成的渲染框架,通过渲染框架依次执行所有的渲染实例上的所有求值函数,计算出每个渲染实例最新的渲染属性,然后利用游戏引擎的渲染接口,只设置有变化的渲染属性;D、执行所有事件绑定函数;如果渲染对象模块代码描述了需要监听点击事件,那么在该开发装置注册一个游戏引擎的点击事件,当点击发生时,执行渲染对象模块代码中绑定的逻辑对象模块的函数;E、当某个事件发生时,所述事件包括点击、绑定的逻辑对象模块的函数即开始执行、对数据进行更改;数据在改变后,通知渲染对象模块执行生成的渲染框架,根据最新的数据,更新渲染对象模块。其中,所述步骤B中,所述渲染对象在游戏引擎模块对应渲染接口创建的实例基础上进行扩展,使得每个渲染对象拥有多个求值函数;所述求值函数是从XML标签的属性得来,用来将原始数据转换为渲染数据,提供给游戏引擎模块中的渲染接口;生成的渲染框架内部使用的是依据表现层代码推导出来的、对应的游戏引擎模块中的渲染接口;事件绑定函数则是用来监听游戏引擎模块中对应的事件,当对应事件触发时,执行对应的回调函数。所述游戏引擎模块,为BAMBOO核心模块。本专利技术的即点即玩游戏的开发装置及其方法,具有如下有益效果:1)将该即点即玩游戏的开发装置内置应用于BAMBOO游戏引擎中,作为其核心特性之一存在,既能够实现表现、数据、逻辑通过装置进行区分解耦功能,又能够做到实现表现层不用命令式编程语言的效果,相较于使用命令式编程语言开发游戏的速度慢、维护难的缺陷,本专利技术的开发装置的优势显著。2)现有使用命令式编程语法开发的游戏,具有代码体积大的不足;而目前流行的即点即玩类游戏,却要求加载体积越小越好,因此采用本专利技术的开发装置及其方法,生成的游戏代码体积小,因而更适合用于开发即点即玩类游戏。3)本专利技术采用HTML/XML这类标记语言进行开发,相对于命令式编程语言如C#等的入门门槛低很多,对于企业而言人才更容易招聘,因此能够明显降低游戏开发成本。附图说明图1为本专利技术实施例即点即玩游戏的开发装置架构及其开发过程示意图。具体实施方式下面结合附图及本专利技术的实施例对本专利技术即点即玩游戏的开发装置及其方法作进一步详细的说明。图1为本专利技术实施例即点即玩游戏的开发装置架构及其开发过程示意图。如图1所示,该即点即玩游戏的开发装置,要求程序以程序模块组件的模式进行开发,每个程序组件由渲染对象模块、数据对象模块、逻辑对象模块三部分组成。其中:所述渲染对象模块,按照所述开发装置的要求,使用XML的语法进行编写。渲染对象模块,进一步包括渲染解析模块、事件处理模块和渲染更新模块。其中:渲染解析模块,用于将XML标签解析为BAMBOO实例,生成求值函数,并注册对应的事件。例如:有如下XML:<spritex="0"y="{{1+1}}"ontap="alert('clicked')">;通过该渲染解析模块,会将上述XML解析为一个BAMBOO的Sprite实例,该实例的x坐标为0,y坐标为2。其中XML中y的值是{{1+1}},该模块会把该值生成为一个求值函数function(){return1+1},在渲染之前,渲染更新模块会执行该求值函数,得到2并赋值给Sprite实例的y属性。与此同时,该模块还会把ontap的值解析为一个匿名函数function(){alert('clicked')},并将该函数作为回调函数,注册到tap点击事件。事件处理模块,用于接收游戏运行设备给出的事件,如点击、触摸等;同时找到渲染解析模块中已注册该事件的回调函数,依次执行这些回调函数。例如:有如下XML:<spritex="0"y="5"ontap="alert('clicked')">;经过所述渲染解析模块进行解析后,当游戏运行设备发生点击行为时,事件处理模块会通过特定的API监听到,然后事件处理模块会判本文档来自技高网
...
一种即点即玩游戏的开发装置及其方法

【技术保护点】
1.一种即点即玩游戏的开发装置,包括游戏引擎模块,其特征在于,还包括装置基类模块、初始化模块和程序模块组件;所述程序模块组件包括渲染对象模块、数据对象模块和逻辑对象模块;在所述即点即玩游戏开始运行前,所述开发装置将所述渲染对象模块、数据对象模块、逻辑对象模块的代码首先进行整合编译运行操作;所述渲染对象模块,包括渲染解析模块、事件处理模块和渲染更新模块;其中,渲染解析模块,用于将XML标签解析为BAMBOO实例,生成求值函数,并注册对应的事件;事件处理模块,用于接收游戏运行设备给出的事件,找到渲染解析模块中已注册该事件的回调函数,依次执行这些回调函数;渲染更新模块,用于将最新的数据,更新到BAMBOO实例上,从而使游戏画面更新到最新的状态;所述的数据对象模块,用于定义一个数据对象给渲染对象模块使用;所述逻辑对象模块,用于将数据对象模块和渲染对象模块联系起来,通过调用两个模块,来实现最终的游戏效果。

【技术特征摘要】
1.一种即点即玩游戏的开发装置,包括游戏引擎模块,其特征在于,还包括装置基类模块、初始化模块和程序模块组件;所述程序模块组件包括渲染对象模块、数据对象模块和逻辑对象模块;在所述即点即玩游戏开始运行前,所述开发装置将所述渲染对象模块、数据对象模块、逻辑对象模块的代码首先进行整合编译运行操作;所述渲染对象模块,包括渲染解析模块、事件处理模块和渲染更新模块;其中,渲染解析模块,用于将XML标签解析为BAMBOO实例,生成求值函数,并注册对应的事件;事件处理模块,用于接收游戏运行设备给出的事件,找到渲染解析模块中已注册该事件的回调函数,依次执行这些回调函数;渲染更新模块,用于将最新的数据,更新到BAMBOO实例上,从而使游戏画面更新到最新的状态;所述的数据对象模块,用于定义一个数据对象给渲染对象模块使用;所述逻辑对象模块,用于将数据对象模块和渲染对象模块联系起来,通过调用两个模块,来实现最终的游戏效果。2.根据权利要求1所述即点即玩游戏的开发装置,其特征在于,所述游戏引擎模块为BAMBOO核心模块。3.一种即点即玩游戏的开发方法,其特征在于,该方法包括如下步骤:A、利用游戏引擎模块创建一个从装置基类模块继承的实例,并通过初始化模块执行初始化方法;B、对渲染对象模块的XML语法代码进行编译,编译结束后生成多个渲染对象、一个渲染框架、若干个求值函...

【专利技术属性】
技术研发人员:陈小新李宗亮匡子贺刘豪召
申请(专利权)人:北京幻灵科技有限责任公司
类型:发明
国别省市:北京,11

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1