数据生成方法、装置、存储介质及电子装置与流程

文档序号:21360999发布日期:2020-07-04 04:34阅读:205来源:国知局
数据生成方法、装置、存储介质及电子装置与流程

本发明涉及计算机领域,具体而言,涉及一种数据生成方法、装置、存储介质及电子装置。



背景技术:

目前,游戏功能数据生成往往是由功能需求驱动,自顶向下对具体的功能需求进行业务逻辑的功能数据生成以及基础库的功能数据生成。

在实践中发现,如果需要对新的功能需求生成游戏功能数据,来实现游戏项目的开发,则需要重新根据功能需求生成游戏功能数据的各个模块。对于与其它游戏项目的游戏核心逻辑相同的部分,往往难以移植过来进行复用,而是需要进行二次生成游戏功能数据,从而导致功能数据生成效率低。可见,当前的游戏功能数据生成方式存在着功能数据生成效率低的问题。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种数据生成方法、装置、存储介质及电子装置,以至少提高游戏功能数据的生成效率。

根据本发明实施例的一个方面,提供了一种数据生成方法,包括:获取数据生成请求,其中,上述数据生成请求用于请求生成目标游戏中目标游戏功能的功能数据;获取与上述目标游戏功能对应的游戏组件,其中,上述游戏组件用于实现上述目标游戏功能;确定与上述游戏组件对应的游戏软件生成架构,其中,上述游戏软件生成架构中包括具有依赖关系的多个分层架构,上述多个分层架构中包括与上述游戏组件关联的游戏组件层,上述游戏组件层中包括多个允许独立调用的游戏组件;利用上述游戏软件生成架构生成上述目标游戏功能的功能数据。

根据本发明实施例的另一方面,还提供了一种数据生成装置,包括:第一获取单元,用于获取数据生成请求,其中,上述数据生成请求用于请求生成目标游戏中目标游戏功能的功能数据;第二获取单元,用于获取与上述目标游戏功能对应的游戏组件,其中,上述游戏组件用于实现上述目标游戏功能;第一确定单元,用于确定与上述游戏组件对应的游戏软件生成架构,其中,上述游戏软件生成架构中包括具有依赖关系的多个分层架构,上述多个分层架构中包括与上述游戏组件关联的游戏组件层,上述游戏组件层中包括多个允许独立调用的游戏组件;生成单元,用于利用上述游戏软件生成架构生成上述目标游戏功能的功能数据。

根据本发明实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述数据生成方法。

根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的数据生成方法。

在本发明实施例中,可以获取数据生成请求,其中,数据生成请求用于请求生成目标游戏中目标游戏功能的功能数据;获取与目标游戏功能对应的游戏组件,其中,游戏组件用于实现目标游戏功能;确定与游戏组件对应的游戏软件生成架构,其中,游戏软件生成架构中包括具有依赖关系的多个分层架构,多个分层架构中包括与游戏组件关联的游戏组件层,游戏组件层中包括多个允许独立调用的游戏组件;利用游戏软件生成架构生成目标游戏功能的功能数据。这一过程可以根据目标游戏功能确定与之对应的游戏组件,并利用该游戏组件对应的游戏软件生成架构生成目标游戏功能的功能数据,从而无需在生成新的目标游戏功能的功能数据的情况下二次开发游戏组件,进而提高了生成目标游戏功能的功能数据的生成效率。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种可选的数据生成方法的网络环境的示意图;

图2是根据本发明实施例的一种可选的数据生成方法的流程图;;

图3是根据本发明实施例的一种可选的游戏软件生成架构的示意图;

图4是根据本发明实施例的一种可选的游戏组件的组件设计信息的结构示意图;

图5是根据本发明实施例的一种可选的游戏组件的接口的流程示意图;

图6是根据本发明实施例的一种可选的游戏组件的反射参数的结构示意图;

图7是根据本发明实施例的一种可选的游戏软件生成架构的逻辑示意图;

图8是根据本发明实施例的一种可选的生成目标游戏功能的功能数据的流程示意图;

图9是根据本发明实施例的一种可选的数据生成装置的结构示意图;

图10是根据本发明实施例的一种可选的电子装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本发明实施例的一个方面,提供了一种数据生成方法,可选地,作为一种可选的实施方式,上述数据生成方法可以但不限于应用于如图1所示的网络环境中的数据生成系统中,该数据生成系统包括用户设备102、网络110及服务器112。其中,用户设备102中包括人机交互屏幕104,处理器106及存储器108。人机交互屏幕104用于显示人机交互信息,例如可以显示各个游戏组件所用于实现的游戏功能;处理器106,用于获取数据生成请求,其中,数据生成请求用于请求生成目标游戏中目标游戏功能的功能数据,目标游戏可以为开发人员需要开发的游戏,目标游戏功能可以为开发人员需要开发的游戏功能,功能数据可以为开发该游戏功能对应的程序代码数据。存储器108用于存储该数据生成请求,可选的,存储器108还可以存储有各个游戏组件,另一种可选的,各个游戏组件也可以存储在服务器112中,本发明实施例中不做限定。进一步的,处理器106可以直接获取存储器108存储的与目标游戏功能的功能信息对应的游戏组件,又或者,处理器106也可以向服务器发送请求,来获取服务器存储的与目标游戏功能的功能信息对应的游戏组件。需要说明的是,获取到的游戏组件的数量可以为一个,也可以为多个,并且使用获取到的多个游戏组件可以实现目标游戏功能。进一步的,处理器106还可以确定与游戏组件对应的游戏软件生成架构,游戏软件生成架构中包括具有依赖关系的多个分层架构,这多个分层架构中包括与游戏组件关联的游戏组件层,并且游戏组件层中包括多个允许独立调用的游戏组件,并利用该游戏软件生成架构生成目标游戏功能的功能数据,具体的,可以执行如下步骤所示的数据生成方法:

s101,用户设备102获取数据生成请求,其中,数据生成请求用于请求生成目标游戏中目标游戏功能的功能数据;

s102,用户设备102向网络110发送获取指令,该获取指令用于指示获取目标游戏功能的功能信息对应的游戏组件;

s103,网络110向服务器112发送获取指令;

s104,服务器112响应获取指令,确定目标游戏功能的功能信息对应的游戏组件;

s105,服务器112将上述游戏组件返回给网络110;

s106,网络110将上述游戏组件返回给用户设备102;

s107,用户设备102获取与目标游戏功能的功能信息对应的游戏组件,其中,游戏组件用于实现目标游戏功能;

s108,用户设备102确定与游戏组件对应的游戏软件生成架构,其中,游戏软件生成架构中包括具有依赖关系的多个分层架构,多个分层架构中包括与游戏组件关联的游戏组件层,游戏组件层中包括多个允许独立调用的游戏组件;

s109,用户设备102利用游戏软件生成架构生成目标游戏功能的功能数据。

本发明实施例中,数据生成请求可以为进行目标游戏功能开发的人员触发的请求,例如在用户设备102为电脑的情况下,数据生成请求可以为进行目标游戏功能开发的人员通过与用户设备102建立连接的输入设备输入获得的,可选的,数据生成请求也可以为用户设备102自动生成的请求,例如在用户设备102接收到其它设备发送的目标游戏的目标游戏功能的情况下,可以自动生成用于请求生成目标游戏中目标游戏功能的功能数据的数据生成请求。其中,请求生成的目标游戏功能的功能数据的形式可以为程序代码,其作用为实现目标游戏功能,也即是运行该程序代码即可实现目标游戏功能。进一步的,可以获取目标游戏功能的功能信息对应的游戏组件,目标游戏功能的功能信息可以包含若干游戏子功能,例如目标游戏功能可以为邮件功能,该目标游戏功能中可以包含系统邮件子功能、好友邮件子功能等。此时获取到的游戏组件可以为多个,每一游戏组件对应该目标游戏功能中包含的某一游戏子功能,这些游戏组件用于实现目标游戏功能。

在确定出游戏组件之后,可以确定该游戏组件对应的游戏软件生成架构,其中,游戏软件生成架构中包括具有依赖关系的多个分层架构,例如,游戏软件生成架构可以包括自底向上的基础库层、游戏组件层、公共逻辑库和业务逻辑层,其中游戏组件层为与上述游戏组件关联的代码层,游戏组件层中包括多个允许独立调用的游戏组件,从而可以实现游戏组件的复用。基础库层为封装游戏软件底层数据的代码层,可以重复使用。公共逻辑层为抽象出来的常用的一些通用逻辑,业务逻辑层为根据游戏业务的功能需求生成的代码层,确定出的游戏软件生成架构中基础库层、公共逻辑层和业务逻辑层可以直接复用预先开发好的代码层,再根据确定出的目标游戏功能的功能信息的游戏组件生成游戏组件层,搭建层与层之间的依赖关系和逻辑关系,获得游戏组件对应的游戏软件生成架构。

利用该游戏软件生成架构可以生成目标游戏功能的功能数据,以此实现目标游戏功能。具体的,可以对游戏软件生成架构中的业务逻辑层和公共逻辑层进行编辑,获得目标游戏功能的功能数据。需要说明的是,获取游戏组件对应的游戏软件生成架构需要获取用于构成游戏软件生成架构的基础库层、游戏组件层和公共逻辑层,方可在利用游戏软件生成架构生成目标游戏功能的功能数据时使用该游戏组件实现目标游戏功能,从而无需在每次实现目标游戏功能时对相应的游戏组件进行二次开发,进而更便捷地实现目标游戏功能的开发。

可选地,在本实施例中,上述用户设备可以但不限于为手机、平板电脑、笔记本电脑、pc机等支持运行应用客户端的计算机设备。上述服务器和用户设备可以但不限于通过网络实现数据交互,上述网络可以包括但不限于无线网络或有线网络。其中,该无线网络包括:蓝牙、wifi及其他实现无线通信的网络。上述有线网络可以包括但不限于:广域网、城域网、局域网。上述仅是一种示例,本实施例中对此不作任何限定。

可选地,作为一种可选的实施方式,如图2所示,上述数据生成方法包括:

s201,获取数据生成请求,其中,数据生成请求用于请求生成目标游戏中目标游戏功能的功能数据;

s202,获取与目标游戏功能的功能信息对应的游戏组件,其中,游戏组件用于实现目标游戏功能;

s203,确定与游戏组件对应的游戏软件生成架构,其中,游戏软件生成架构中包括具有依赖关系的多个分层架构,多个分层架构中包括与游戏组件关联的游戏组件层,游戏组件层中包括多个允许独立调用的游戏组件;

s204,利用游戏软件生成架构生成目标游戏功能的功能数据。

需要说明的是,上述图2所示方法步骤可以但不限于应用于图1所示数据生成系统中,通过用户设备102和服务器112之间的数据交互完成,也可以但不限于应用于图2所示用户设备102中,由用户设备102独立完成。上述仅是示例,本实施例中对此不作任何限定。

本发明实施例中,依赖关系为依赖者需要借助被依赖者才能实现某些特定功能的逻辑关系,例如在本发明实施例所描述的游戏软件生成架构中,游戏组件层向下依赖基础库层,也即是,游戏组件层的代码需要以调用等形式向下依赖基础库层的代码,才能够实现游戏组件对应的游戏功能。

作为一种可选的实施方式,确定与游戏组件对应的游戏软件生成架构可以包括以下步骤:

s1,复用封装游戏软件底层数据的基础库层;

s2,利用游戏组件和基础库层搭建游戏开发软件架构中的游戏组件层,其中,游戏组件层向下依赖基础库层;

s3,根据游戏组件层复用游戏开发软件架构的公共逻辑层,公共逻辑层向下依赖游戏组件层;

s4,根据公共逻辑层复用游戏开发软件架构的业务逻辑层,业务逻辑层向下依赖公共逻辑层并且跨层依赖游戏组件层,以及业务逻辑层中的模块之间相互依赖。

本发明实施例中,游戏软件生成架构由自底向上的基础库层、游戏组件层、公共逻辑层和业务逻辑层构成,该游戏软件生成架构的生成过程中可以直接复用基础库层,其中,基础库层用于封装游戏软件底层数据,例如基础库层中可以封装有数据结构、算法、时间、日志、文件、数学公式等底层的代码数据,其中数据结构可以包括但不限于hashmap,算法可以包括但不限于字符串处理算法和时间处理算法等,在复用基础库层的情况下,可以直接从数据库中读取基础库层的代码内容,在确定好基础库层之后,可以利用游戏组件和基础库层搭建游戏组件层,其中,游戏组件是构成游戏组件层的主要内容,基础库层是游戏组件层向下依赖的基础。

进一步的,可以根据游戏组件层复用游戏开发软件架构的公共逻辑层,具体的,可以从数据库中读取公共逻辑层中的代码内容,再将游戏组件层作为公共逻辑层的依赖基础,以此获得公共逻辑层。再进一步的,可以根据公共逻辑层复用游戏软件生成架构的业务逻辑层,具体的,可以从数据库中读取业务逻辑层中的代码内容,再将公共逻辑层作为业务逻辑层的依赖基础,获得业务逻辑层,并且业务逻辑层跨层依赖游戏组件层,以及业务逻辑层中的模块之间可以相互依赖,而基础库层、游戏组件层和公共逻辑层中的模块之间不可以互相依赖。游戏组件层中包含多个允许独立调用的游戏组件,方便对游戏组件的复用,提高游戏开发效率。此外,在确定游戏组件对应的游戏软件生成架构时,可以直接复用已开发好的基础库层,无需重复再次开发基础库层,还可以根据游戏组件层复用公共逻辑层和业务逻辑层,降低了重复开发的工作量,进一步提高游戏开发效率。

作为一种可选的实施方式,利用游戏组件和基础库层搭建游戏开发软件架构中的游戏组件层可以包括以下步骤:

s1,确定游戏组件对应的源代码;

s2,将源代码进行静态库形式编译,获得游戏开发软件架构中的游戏组件层。

本发明实施例中,游戏组件可以使用源代码形式提供,游戏组件对应的源代码中不包含其它静态库,以此在游戏组件层使用静态库形式编译的情况下,减少程序重复包含静态库的情况发生的概率。使用静态库形式编译获得的游戏组件层可以方便复用。可选的,还可以将基础库层对应的源代码进行静态库形式编译,也可以将公共逻辑层对应的源代码进行静态库形式编译,可以基于不同的开发需求设置不同的编译形式,本发明实施例中对此不做限定。具体的,将源代码进行静态库形式编译的方式可以为:将源代码打包成为静态库形式的库文件,获得游戏开发软件架构中的游戏组件层。在公共逻辑层或者业务逻辑层需要调用游戏组件层的情况下,可以直接调用静态库形式的库文件,调用更加方便。请参阅图7,图7是本发明实施例中公开的一种游戏软件生成架构的逻辑示意图,如图7所示,游戏软件生成结构中的不同层级之间在逻辑关系上具有一定包含关系,其中,游戏组件层包含基础库层,公共逻辑层包含游戏组件层,业务逻辑层包含公共逻辑层,可选的,图中的基础库层、游戏组件层和公共逻辑层可以采用静态库形式编译,并且采用静态库形式编译之后的形式为基础库层libcomm.a、游戏组件层libcomm_logic.a、公共逻辑层libcomm_logic_extern.a。这种不同层级之间的逻辑关系可以严格限定层与层之间的依赖关系,尽可能独立同层模块之间的依赖关系,从而使得依赖关系受到限定,可以按照该依赖关系进行架构复用,进而提高游戏软件生成架构的可复用性。作为一种可选的实施方式,利用游戏软件生成架构生成目标游戏功能的功能数据可以包括:

s1,确定游戏软件生成架构中的游戏组件层包含的游戏组件对应的目标协议;

s2,对游戏组件层包含的游戏组件进行初始化,并对游戏组件的静态注册表进行编辑,用以配置游戏组件层;

s3,利用基础库层、配置后的游戏组件层、公共逻辑层和业务逻辑层生成目标游戏功能的功能数据。

本发明实施例中,可以在获取游戏软件生成架构之后,将该游戏软件生成架构引入编译环境,并且还可以针对选取的目标游戏功能对应的游戏组件获取相匹配的目标协议,其中,目标协议可以包括客户端服务器通信协议、数据库存储协议等,在需要利用游戏组件进行开发时,需要首先确定目标协议,以此根据客户端服务器通信协议实现游戏组件在客户端和服务器之间进行通信,以及根据数据库存储协议确定游戏组件中的数据在数据库中的存储方式等。在确定出目标协议之后,可以调用游戏组件,并对游戏组件进行初始化。以及对游戏组件的静态注册表进行编辑,在游戏组件的静态注册表中选取目标配置选项,也即是,能够完成游戏组件的功能配置,从而实现对游戏组件层的配置。利用基础库层、配置后的游戏组件层、公共逻辑层和业务逻辑层即可生成目标游戏功能的功能数据,从而能够获取到可靠的功能数据,进而利用这些功能数据能够实现目标游戏功能的开发,提高了开发可靠性。

作为一种可选的实施方式,在获取与目标游戏功能的功能信息对应的游戏组件之前,还可以执行以下步骤:

确定各个游戏组件的组件设计信息,组件设计信息至少包括游戏组件的数据结构、游戏组件的接口、游戏组件的组件协议、游戏组件的静态注册表和游戏组件的反射参数,其中,数据结构采用泛型设计原则进行设计;

获取与目标游戏功能对应的游戏组件可以包括:

s1,在各个游戏组件的组件设计信息中确定出与目标游戏功能相匹配的目标组件设计信息;

s2,将目标组件设计信息对应的游戏组件确定为目标游戏功能对应的游戏组件。

本发明实施例中,游戏组件对应有相应的组件设计信息,组件设计信息中可以包括游戏组件的数据结构、游戏组件的接口、游戏组件的组件协议、游戏组件的静态注册表和游戏组件的反射参数,

其中,游戏组件的数据结构采用泛型设计原则进行设计,泛型设计原则是指在数据结构中的字段定义上不标识该字段具体指示含义,而是使用抽象字段,利用参数来标识具体含义。例如物品组件的数据结构的字段定义可以使用抽象的“物品”来定义,在物品组件的数据结构的参数中表明该物品具体的物品类型,这一过程相较于直接在数据结构的字段定义中使用具体的物品类型,在一个物品组件中包含了更多的物品类型,可扩展性更强。

其中,游戏组件的接口用于描述该游戏组件的功能,例如物品游戏组件的接口可以包含放入功能接口、消耗功能接口和检测功能接口。

其中,游戏组件的组件协议为数据结构的定义,公共逻辑层和业务逻辑层需要使用组件协议来调用游戏组件。

其中,游戏组件的静态注册表用于对游戏组件的功能进行扩展,通过对游戏组件的静态注册表进行编辑,可以实现对某些功能的自定义配置。

其中,游戏组件的反射参数用于利用组件功能直接定位到对应的游戏组件的接口,从而实现组件功能。

作为一种可选的实施方式,在利用游戏软件生成架构生成目标游戏功能的功能数据之后,还可以执行以下步骤:

s1,获取利用游戏软件生成架构进行游戏开发的软件开发信息;

s2,定期根据软件开发信息更新各个游戏组件。

本发明实施例中,在利用游戏软件生成架构进行游戏开发的过程中,可以获取软件开发信息,以此为依据定期更新各个游戏组件。举例来说,如果软件开发信息中指示在某次游戏开发的过程中,以目标游戏组件为基础进行了功能扩展,在定期更新游戏组件的过程中,可以将该功能扩展对应的功能增加至该目标游戏组件,在下一次使用游戏软件生成架构进行游戏开发的过程中,可以直接编辑该目标游戏组件的静态注册表来配置该功能,无需重新再次开发。

作为一种可选的实施方式,在获取与目标游戏功能的功能信息对应的游戏组件之后,还可以执行以下步骤:

s1,将游戏组件划分为第一游戏组件和第二游戏组件,第一游戏组件的负载值高于第一阈值,第二游戏组件的负载值低于第二阈值;

s2,将第一游戏组件和第二游戏组件进行分布式服务部署。

本发明实施例中,还可以按照游戏组件的负载值分离出负担较重的游戏组件和负担较轻的游戏组件,其中,设置第一阈值大于第二阈值,将负载值高于第一阈值的游戏组件确定为负担较重的第一游戏组件,将负载值低于第二阈值的游戏组件确定为负担较轻的第二游戏组件,例如第一游戏组件可以为提供了较重服务的聊天服务组件、邮件服务组件等,负担较轻的组件可以为:物品组件、商城组件等。其中,负担较重的游戏组件指的是运行该游戏组件时的数据负载值较高、运算量较大的游戏组件;负担较轻的游戏组件指的是运行该游戏组件时的数据负载值较低、运算量较低的游戏组件。

另外,还可以将第一游戏组件和第二游戏组件进行分布式存储和分布式服务部署,分布式存储指的是将第一游戏组件和第二游戏组件进行分离存储,可以将其分布存储于不同的服务器,分布式服务部署指的是将第一游戏组件和第二游戏组件部署于不同的服务器进行数据运算,减少游戏组件之间的依赖程度。进一步的,如果某一游戏组件出现故障,不会影响到分布式服务部署的其它游戏组件,增强容灾能力,提高安全性能。具体的,将第一游戏组件和第二游戏组件进行分布式存储和分布式服务部署的方式具体可以为:将第一游戏组件单独做服务部署,将第二游戏组件做混合服务集合部署。例如可以将第一游戏组件中的每一个游戏组件分离成单个微服务进行存储,以此实现单独做服务部署,可以将第二游戏组件中的所有游戏组件混合部署于同一服务器做混合服务集合部署。

请参阅图3,图3是本发明实施例中公开的一种游戏软件生成架构的示意图,如图3所示,该游戏软件生成架构包括由底向上的基础库层、游戏组件层、公共逻辑层和业务逻辑层,其中,游戏组件层向下依赖基础库层,公共逻辑层向下依赖游戏组件层,业务逻辑层向下依赖公共逻辑层,业务逻辑层跨层依赖游戏组件层。其中,基础库层用于封装游戏软件底层数据,例如可以封装数据结构、时间、日志、文件、网络、其它基础库等与具体游戏功能无关的底层数据。其中,游戏组件层用于封装游戏功能的核心数据结构和逻辑,如图3所示,游戏组件层中可以包含物品组件、任务组件、活动组件、抽奖组件、邮件组件和商城组件等。其中,公共逻辑层用于封装游戏功能中常用的通用逻辑,如图3所示,公共逻辑层可以包括report模式、modify模式、协议收发、公共数据和公式等。其中,业务逻辑层用于实现定制化逻辑,与游戏功能强耦合,如图3所示,业务逻辑层可以包括物品定制化、任务定制化、活动定制化、抽奖定制化、邮件定制化和商城定制化等。这一游戏软件生成架构区别于仅由业务逻辑层和基础库层构成的当前游戏软件生成架构,架构之间的层次关系更加清晰,一些通用的模块与层级可以实现复用,从而可以复用该游戏软件生成架构进行游戏软件开发,开发效率更高。

请参阅图4,图4是本发明实施例中公开的一种游戏组件的组件设计信息的结构示意图,如图4所示,游戏组件的组件设计信息可以包含数据结构、接口、组件协议、静态注册表以及反射。游戏组件的设计可以采用自底向上的设计方法,先编写基础程序段,再根据游戏功能需求进行增补,并提供组件协议、静态注册表、反射来实现自定义扩展。其中,游戏组件的数据结构采用泛型设计原则设计,例如在物品游戏组件在数据结构的字段定义中不标识物品具体是什么,而是通过数据结构的参数指出物品类型,从而提高组件抽象性,可复用程度更高。游戏组件的接口用于体现游戏组件的功能,例如物品组件中可以包含放入功能接口、消耗功能接口和检测功能接口,其中放入功能接口用于将游戏物品放入目标存储空间,消耗功能接口用于消耗游戏物品,检测功能接口用于检测游戏物品。组件协议用于定义数据结构,在公共逻辑层或者业务逻辑层需要使用游戏组件的情况下,需要通过组件协议完成调用。静态注册表用于业务扩展,其中可以包含若干函数指针,可选的,还可以包括符合lib类型的静态库实现代码或者mgr类型的代码。游戏组件的反射参数用于在游戏组件中获取目标游戏功能对应的接口,从而通过调用这些接口实现相应的目标游戏功能,如果需要对目标游戏功能进行扩展,可以通过调用这些接口实现进一步的开发。

请参阅图5,图5是本发明实施例中公开的一种游戏组件的接口的流程示意图,如图5所示,以物品组件的接口为例,物品组件的放入接口的流程可以参照以下步骤:

s501,调用物品组件,物品组件中至少包括放入功能接口、消耗功能接口和检测功能接口;

s502,调用物品组件的放入功能接口;

s505,判断是否递归,如果是,执行步骤s506,如果否,执行步骤s510;

s506,判断id和类型是否符合预设条件,如果是,执行步骤s507,如果否,执行步骤s510;

s507,进行扩展判断;

s508,将游戏物品放入目标存储空间;

s509,判断该游戏物品是否为递归物品,如果是,执行步骤s502,如果否,执行步骤s510;

s510,完成放入物品操作。

本发明实施例中,在调用物品组件的放入功能接口的情况下,可以使用递归来实现物品的放入,在处于递归的过程中,可以判断执行物品放入操作的id是否符合预设条件,以及当前执行物品放入的操作类型是否符合预设条件,在执行物品放入操作的id和执行物品放入的操作类型符合预设条件的情况下,可以进行扩展判断,扩展判断可以增加一些自定义的判断条件,并使用该判断条件进行进一步的判断,在进行扩展判断之后,可以放入物品,也即是将游戏物品放入目标存储空间,在该游戏物品为递归物品的情况下,再次判断是否处于递归过程,并重复上述流程。通过调用物品组件的放入功能接口,能够完成放入物品操作。

进一步的,物品组件的消耗功能接口的流程可以参照以下步骤:

s501,调用物品组件,物品组件中至少包括放入功能接口、消耗功能接口和检测功能接口;

s502,调用物品组件的消耗功能接口;

s511,判断是否递归,如果是,执行步骤s512,如果否,执行步骤s516;

s512,判断id和类型是否符合预设条件,如果是,执行步骤s513,如果否,执行步骤s516;

s513,进行扩展判断;

s514,消耗游戏物品;

s515,判断该游戏物品是否为递归物品,如果是,执行步骤s503,如果否,执行步骤s516;

s516,完成消耗物品操作。

本发明实施例中,在调用物品组件的消耗功能接口的情况下,可以使用递归来实现物品的消耗,在处于递归的过程中,可以判断执行物品放入操作的id是否符合预设条件,以及当前执行物品放入的操作类型是否符合预设条件,在执行物品放入操作的id和执行物品放入的操作类型符合预设条件的情况下,可以进行扩展判断,扩展判断可以增加一些自定义的判断条件,并使用该判断条件进行进一步的判断,在进行扩展判断之后,可以消耗游戏物品,在该游戏物品为递归物品的情况下,再次判断是否处于递归过程,并重复上述流程。通过调用物品组件的消耗功能接口,能够完成消耗物品操作。

进一步的,物品组件的检测功能接口的流程可以参照以下步骤:

s501,调用物品组件,物品组件中至少包括放入功能接口、消耗功能接口和检测功能接口;

s504,调用物品组件的检测功能接口;

s517,判断是否递归,如果是,执行步骤s518,如果否,执行步骤s520;

s518,判断id和类型是否符合预设条件,如果是,执行步骤s519,如果否,执行步骤s520;

s519,进行扩展判断;

s520,完成检测物品操作。

本发明实施例中,在调用物品组件的检测功能接口的情况下,可以使用递归来实现物品的检测,在处于递归的过程中,可以判断执行物品放入操作的id是否符合预设条件,以及当前执行物品放入的操作类型是否符合预设条件,在执行物品放入操作的id和执行物品放入的操作类型符合预设条件的情况下,可以进行扩展判断,扩展判断可以增加一些自定义的判断条件,并使用该判断条件进行进一步的判断,在进行扩展判断之后,可以完成检测物品操作。

请参阅图6,图6是本发明实施例中公开的一种游戏组件的反射参数的结构示意图,反射参数可以用于实现游戏组件功能接口调用与扩展,如图6所示,物品组件的反射参数可以包含类型宏与数据库的映射关系,类型宏为与游戏功能对应的宏,进一步的,目标游戏功能对应的类型宏可以存储在该类型宏对应的数据库,在使用反射参数实现游戏组件功能扩展时,需要确定出游戏组件的功能,利用反射参数可以查询到与游戏组件的功能对应的类型宏相匹配的数据库,并获取该数据库中与该游戏组件功能相匹配的接口信息,直接调用该接口信息中包含的接口,即可实现游戏组件功能的扩展。

如图6所示,物品组件的反射参数包含道具功能、装备功能、选手功能和抽奖功能与相应的数据库之间的映射关系,在需要扩展道具功能的时候,可以直接利用反射参数查询到道具功能对应的类型宏相匹配的数据库,该数据库中存储有接口1、接口2和接口3,直接调用这些接口,即可实现道具功能,降低了开发成本。其中,装备功能相匹配的数据库中存储有接口4、接口5和接口6,选手功能相匹配的数据库中存储有接口7、接口8和接口9,抽奖功能相匹配的数据库中存储有接口10、接口11和接口

请参阅图8,图8是本发明实施例中公开的一种生成目标游戏功能的功能数据的流程示意图,如图8所示,可以执行以下步骤:

s801,获取游戏软件生成架构;

s802,确定游戏软件生成架构中的游戏组件层包含的游戏组件对应的目标协议;

s803,对游戏组件层包含的游戏组件进行初始化,并对游戏组建的静态注册表进行编辑,用以配置游戏组件层;

s804,利用游戏软件生成架构生成目标游戏功能的功能数据。

本发明实施例中,在获取游戏软件生成架构之后,还可以确定游戏软件生成架构中的游戏组件层包含的游戏组件对应的目标协议,目标协议可以包括客户端服务器通信协议、数据库存储协议等。并对游戏组件的静态注册表进行编辑,也即是,能够完成游戏组件的功能配置,从而实现对游戏组件层的配置。利用基础库层、配置后的游戏组件层、公共逻辑层和业务逻辑层即可生成目标游戏功能的功能数据。

在本发明实施例中,可以获取数据生成请求,其中,数据生成请求用于请求生成目标游戏中目标游戏功能的功能数据;获取与目标游戏功能的功能信息对应的游戏组件,其中,游戏组件用于实现目标游戏功能;确定与游戏组件对应的游戏软件生成架构,其中,游戏软件生成架构中包括具有依赖关系的多个分层架构,多个分层架构中包括与游戏组件关联的游戏组件层,游戏组件层中包括多个允许独立调用的游戏组件;利用游戏软件生成架构生成目标游戏功能的功能数据。这一过程可以根据目标游戏功能确定与之对应的游戏组件,并利用该游戏组件对应的游戏软件生成架构生成目标游戏功能的功能数据,从而无需在生成新的目标游戏功能的功能数据的情况下二次开发游戏组件,进而提高了生成目标游戏功能的功能数据的生成效率。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

根据本发明实施例的另一个方面,还提供了一种用于实施上述数据生成方法的数据生成装置。如图9所示,该装置包括:

第一获取单元901,用于获取数据生成请求,其中,数据生成请求用于请求生成目标游戏中目标游戏功能的功能数据;

第二获取单元902,用于获取与目标游戏功能对应的游戏组件,其中,游戏组件用于实现目标游戏功能;

第一确定单元903,用于确定与游戏组件对应的游戏软件生成架构,其中,游戏软件生成架构中包括具有依赖关系的多个分层架构,多个分层架构中包括与游戏组件关联的游戏组件层,游戏组件层中包括多个允许独立调用的游戏组件;

生成单元904,用于利用游戏软件生成架构生成目标游戏功能的功能数据。

作为一种可选的实施方式,第一确定单元可以包括:

第一复用子单元,用于复用封装游戏软件底层数据的基础库层;

搭建子单元,用于利用游戏组件和基础库层搭建游戏开发软件架构中的游戏组件层,其中,游戏组件层向下依赖基础库层;

第二复用子单元,用于根据游戏组件层复用游戏开发软件架构的公共逻辑层,公共逻辑层向下依赖游戏组件层;

第三复用子单元,用于根据公共逻辑层复用游戏开发软件架构的业务逻辑层,业务逻辑层向下依赖公共逻辑层并且跨层依赖游戏组件层,以及业务逻辑层中的模块之间相互依赖。

作为一种可选的实施方式,搭建子单元可以包括:

确定模块,用于确定游戏组件对应的源代码;

获取模块,用于将源代码进行静态库形式编译,获得游戏开发软件架构中的游戏组件层。

作为一种可选的实施方式,生成单元可以包括:

确定子单元,用于确定游戏软件生成架构中的游戏组件层包含的游戏组件对应的目标协议;

配置子单元,用于对游戏组件层包含的游戏组件进行初始化,并对游戏组件的静态注册表进行编辑,用以配置游戏组件层;

生成子单元,用于利用基础库层、配置后的游戏组件层、公共逻辑层和业务逻辑层生成目标游戏功能的功能数据。

作为一种可选的实施方式,上述装置还可以包括:

第二确定单元,用于在获取与目标游戏功能对应的游戏组件之前,确定各个游戏组件的组件设计信息,组件设计信息包括游戏组件的数据结构、游戏组件的接口、游戏组件的组件协议、游戏组件的静态注册表和游戏组件的反射参数,其中,数据结构采用泛型设计原则进行设计;

第二获取单元用于获取与目标游戏功能对应的游戏组件的方式具体为:

第二获取单元,用于在各个游戏组件的组件设计信息中确定出与目标游戏功能相匹配的目标组件设计信息;将目标组件设计信息对应的游戏组件确定为待开发游戏的功能信息对应的游戏组件。

作为一种可选的实施方式,上述装置还可以包括:

第三获取单元,用于获取利用游戏软件生成架构进行游戏开发的软件开发信息;

更新单元,用于定期根据软件开发信息更新各个游戏组件。

作为一种可选的实施方式,上述装置还可以包括:

划分单元,用于在获取与目标游戏功能的功能信息对应的游戏组件之后,将游戏组件划分为第一游戏组件和第二游戏组件,第一游戏组件的负载值高于第一阈值,第二游戏组件的负载值低于第二阈值;

存储单元,用于将第一游戏组件和第二游戏组件进行分布式服务部署。

在本发明实施例中,可以获取数据生成请求,其中,数据生成请求用于请求生成目标游戏中目标游戏功能的功能数据;获取与目标游戏功能的功能信息对应的游戏组件,其中,游戏组件用于实现目标游戏功能;确定与游戏组件对应的游戏软件生成架构,其中,游戏软件生成架构中包括具有依赖关系的多个分层架构,多个分层架构中包括与游戏组件关联的游戏组件层,游戏组件层中包括多个允许独立调用的游戏组件;利用游戏软件生成架构生成目标游戏功能的功能数据。这一过程可以根据目标游戏功能确定与之对应的游戏组件,并利用该游戏组件对应的游戏软件生成架构生成目标游戏功能的功能数据,从而无需在生成新的目标游戏功能的功能数据的情况下二次开发游戏组件,进而提高了生成目标游戏功能的功能数据的生成效率。

根据本发明实施例的又一个方面,还提供了一种用于实施上数据生成方法的电子装置,如图10所示,该电子装置包括存储器1002和处理器1004,该存储器1002中存储有计算机程序,该处理器1004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,获取数据生成请求,其中,数据生成请求用于请求生成目标游戏中目标游戏功能的功能数据;

s2,获取与目标游戏功能对应的游戏组件,其中,游戏组件用于实现目标游戏功能;

s3,确定与游戏组件对应的游戏软件生成架构,其中,游戏软件生成架构中包括具有依赖关系的多个分层架构,多个分层架构中包括与游戏组件关联的游戏组件层,游戏组件层中包括多个允许独立调用的游戏组件;

s4,利用游戏软件生成架构生成目标游戏功能的功能数据。

可选地,本领域普通技术人员可以理解,图10所示的结构仅为示意,电子装置也可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图10其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图10中所示更多或者更少的组件(如网络接口等),或者具有与图10所示不同的配置。

其中,存储器1002可用于存储软件程序以及模块,如本发明实施例中的虚拟对象控制方法和装置对应的程序指令/模块,处理器1004通过运行存储在存储器1002内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据生成方法。存储器1002可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1002可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1002具体可以但不限于用于存储操作指令等信息。作为一种示例,如图10所示,上述存储器1002中可以但不限于包括上述数据生成装置中的第一获取单元901、第二获取单元902、第一确定单元903及生成单元904。此外,还可以包括但不限于上述虚拟对象控制装置中的其他模块单元,本示例中不再赘述。

可选地,上述的传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1006包括一个网络适配器(networkinterfacecontroller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1006为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

此外,上述电子装置还包括:显示器1008,用于显示各个游戏组件对应的功能;和连接总线1010,用于连接上述电子装置中的各个模块部件。

根据本发明的实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,获取数据生成请求,其中,数据生成请求用于请求生成目标游戏中目标游戏功能的功能数据;

s2,获取与目标游戏功能对应的游戏组件,其中,游戏组件用于实现目标游戏功能;

s3,确定与游戏组件对应的游戏软件生成架构,其中,游戏软件生成架构中包括具有依赖关系的多个分层架构,多个分层架构中包括与游戏组件关联的游戏组件层,游戏组件层中包括多个允许独立调用的游戏组件;

s4,利用游戏软件生成架构生成目标游戏功能的功能数据。

可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1