游戏数据访问方法、装置、计算机设备和存储介质与流程

文档序号:35675301发布日期:2023-10-08 04:54阅读:30来源:国知局
游戏数据访问方法、装置、计算机设备和存储介质与流程

本申请涉及计算机技术和游戏领域,特别是涉及一种游戏数据访问方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

1、游戏开发过程中,需要利用到游戏引擎。目前主流游戏引擎的数据对象模型,都是通过一个基础对象,例如ue4的uobject,或者是unity的gameobject,通过继承的关系,表达出游戏世界中的所有数据。

2、基于继承的数据对象模型虽然可以大大简化游戏引擎编程,但是当面对一个复杂度特别高的游戏类型时,面向对象的模式就会出现相应的问题。首先,随着现有游戏功能的极度复杂化,基础类型的复杂度和继承链条的复杂度也在逐渐提高。这就要求任意一个开发者需要理清大量的父类的运作机制和细节,随着引擎和游戏的规模扩大,开发者的心智负担会愈发加重。其次,由于基础对象类型变得日益臃肿且体积扩大,cpu访问大量对象时的效率也会有明显下降,这是由于大部分的访问内存只是访问了基础对象中的一小部分数据,从而导致cpu的缓存未命中(cache-miss)率较高。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种能够降低游戏开发难度的游戏数据访问方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。

2、第一方面,本申请提供了一种游戏数据访问方法。所述方法包括:

3、获取当前游戏运行中实体的实体标识;

4、根据所述实体标识,确定所述实体的组件原型,所述实体的组件原型通过对所述实体配置多个维度的组件,并组合各维度的组件得到;

5、获取运行指令所指定的目标组件类型;

6、从所述组件原型对应的数据容器中,访问所述目标组件类型的数据,其中,所述数据容器中的各组件原型的数据,按组件类型分别存储。

7、第二方面,本申请还提供了一种游戏数据访问装置。所述装置包括:

8、运行模块,用于获取当前游戏运行中实体的实体标识;

9、组件原型模块,用于根据所述实体标识,确定所述实体的组件原型,所述实体的组件原型通过对所述实体配置多个维度的组件,并组合各维度的组件得到;

10、所述运行模块,还用于获取运行指令所指定的目标组件类型;

11、访问模块,用于从所述组件原型对应的数据容器中,访问所述目标组件类型的数据,其中,所述数据容器中的各组件原型的数据,按组件类型分别存储。

12、第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

13、获取当前游戏运行中实体的实体标识;

14、根据所述实体标识,确定所述实体的组件原型,所述实体的组件原型通过对所述实体配置多个维度的组件,并组合各维度的组件得到;

15、获取运行指令所指定的目标组件类型;

16、从所述组件原型对应的数据容器中,访问所述目标组件类型的数据,其中,所述数据容器中的各组件原型的数据,按组件类型分别存储。

17、第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

18、获取当前游戏运行中实体的实体标识;

19、根据所述实体标识,确定所述实体的组件原型,所述实体的组件原型通过对所述实体配置多个维度的组件,并组合各维度的组件得到;

20、获取运行指令所指定的目标组件类型;

21、从所述组件原型对应的数据容器中,访问所述目标组件类型的数据,其中,所述数据容器中的各组件原型的数据,按组件类型分别存储。

22、第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:

23、获取当前游戏运行中实体的实体标识;

24、根据所述实体标识,确定所述实体的组件原型,所述实体的组件原型通过对所述实体配置多个维度的组件,并组合各维度的组件得到;

25、获取运行指令所指定的目标组件类型;

26、从所述组件原型对应的数据容器中,访问所述目标组件类型的数据,其中,所述数据容器中的各组件原型的数据,按组件类型分别存储。

27、上述游戏数据访问方法、装置、计算机设备、存储介质和计算机程序产品,实体的组件原型是由多个维度的组件组合得到的,即游戏开发过程中,游戏引擎提供的构建实体的方式是组合多个不同维度的组件,便于对对象模型进行管理,不需要复杂的编程即可实现,降低了游戏开发难度。此外,一个组件原型对应一个数据容器,即一个数据容器中只有关于该实体的感兴趣数据,在对于一个组件原型的各组件类型的数据进行访问时,只需要访问一个数据容器,而数据容器中的各组件原型的数据,按组件类型分别存储,在访问数据容器中该组件的数据时,能够做到对组件原型的数据访问的连续性。



技术特征:

1.一种游戏数据访问方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述数据容器中的各组件原型的数据,按组件类型以链表单节点方式存储。

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据所述实体标识,确定所述实体所属的世界分区;

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1所述的方法,其特征在于,所述方法还包括:

7.一种游戏数据访问装置,其特征在于,所述装置包括:

8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。

10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。


技术总结
本申请涉及一种游戏数据访问方法、装置、计算机设备、存储介质和计算机程序产品。该方法包括:获取当前游戏运行中实体的实体标识;根据实体标识,确定实体的组件原型,组件原型由多个维度的组件组合得到;获取运行指令所指定的目标组件类型;从组件原型对应的数据容器中,访问目标组件类型的数据。由于实体的组件原型是由多个维度的组件组合得到的,即游戏开发过程中,游戏引擎提供的构建实体的方式是组合多个不同维度的组件,便于对对象模型进行管理,不需要复杂的编程即可实现,降低了游戏开发难度。此外,一个组件原型对应一个数据容器,在对于一个组件原型的各组件类型的数据进行访问时,能够做到对组件原型的数据访问的连续性。

技术研发人员:王文涛
受保护的技术使用者:腾讯数码(深圳)有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1