首页> 中国专利> 一种资源热加载快速迭代游戏制作的系统和方法

一种资源热加载快速迭代游戏制作的系统和方法

摘要

本发明的技术方案包括一种资源热加载快速迭代游戏制作的系统和方,用于实现:对游戏开发人员提供的源文件进行识别和转换,并将识别和转换文件数据加载至内存块中;将加载至内存块中的文件数据使用文件列表进行表示并进行实时监控,当文件列表发生变化时获取改变信息并进行发送;对所监听的数据文件及数据文件的唯一标识生产映射表,接收变化信息,通过映射表获取变化的数据文件,并重新加载至内存块,并下发重载指令;接收执行监听模块下发的重载指令,获取新的数据文件并将数据文件所包含的文件资源重新绑定至游戏系统中。本发明的有益效果为:大大缩短游戏开发周期;增强游戏的体验和表现;方便各种职位的人员分工合作,优化流程。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-10-14

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F 8/658 专利号:ZL201610806850X 变更事项:专利权人 变更前:珠海金山网络游戏科技有限公司 变更后:珠海金山数字网络科技有限公司 变更事项:地址 变更前:519000 广东省珠海市吉大景山路莲山巷8号金山软件大厦 变更后:519000 广东省珠海市高新区唐家湾镇前岛环路325号102室、202室、302室、402室,327号102室、202室,329号302室 变更事项:专利权人 变更前:成都西山居互动娱乐科技有限公司 变更后:成都西山居互动娱乐科技有限公司

    专利权人的姓名或者名称、地址的变更

  • 2019-10-11

    授权

    授权

  • 2017-03-01

    实质审查的生效 IPC(主分类):G06F9/445 申请日:20160906

    实质审查的生效

  • 2017-02-01

    公开

    公开

说明书

技术领域

本发明涉及一种资源热加载快速迭代游戏制作的系统和方法,属于计算机游戏开发与测试领域。

背景技术

为了制作一款精雕细琢的游戏产品,需要不断地反复迭代,不断地实践试玩,可以让产品更加完美。虽然内容制作人员的技术水平很大程度上左右着最终游戏的质量,但是他们的努力经常会受制于非常麻烦的工作流。只是为了看一下人工智能脚本的一行代码的改变会产生怎样的效果,游戏策划就不得不先退出游戏,重新创建一个几百兆的资源文件,然后再重新运行这个游戏。如果能够让美工和策划人员快速、轻松地对游戏进行反复的调整,就可以为带来更好的内容,更多的实验数据,并最终为带来一个更完美的游戏产品。

发明内容

针对现有技术的不足,本发明的技术方案提供了一种资源热加载快速迭代游戏制作的系统和方法,用于实现高效的资源热加载快速迭代游戏制作。

本发明的技术方案包括一种资源热加载快速迭代游戏制作的系统,其特征在于,该系统包括:资源转换模块,用于对游戏开发人员提供的源文件进行识别和转换,并将识别和转换的文件数据加载至内存块中;文件监听模块,用于将加载至内存块中的文件数据使用文件列表进行表示,并对文件列表进行实时监控,当文件列表发生变化时获取改变信息并进行发送;执行监听模块,用于对所监听的数据文件及数据文件的唯一标识生产映射表,进一步,接收所述文件监听模块发送的文件列表变化的变化信息,通过映射表获取变化的数据文件,并重新加载至内存块,并向游戏执行器下发重载指令;重绑模块,用于接收执行监听模块下发的重载指令,获取新的数据文件并将数据文件所包含的文件资源重新绑定至游戏系统中。

根据所述的资源热加载快速迭代游戏制作的系统,所述的资源转换模块包括:识别子模块,用于通过文件格式对比对指定格式的数据文件进行识别,所识别的数据文件类型可以进行自定义设置;检查子模块,用于进一步进符合格式的数据文件进行分析,用于检测出存在错误或/和不同步的文件数据,并使用明显标识进行展示;转换子模块,用于对数据文件转换为指定类型的数据文件,并将其加载至内存块中,在转换过程中不对文件数据进行数据分析、内存分配,其中数据文件主要包括游戏资源及对应依赖关系;依赖子模块,用于根据游戏资源的依赖关系在转换过程中对依赖关系进行检查,同时地,对应的创建需要重新创建的依赖关系。

根据所述的资源热加载快速迭代游戏制作的系统,所述的文件监听模块包括:资源目录子模块,用于对监控的数据文件及对应的游戏资源创建文件监控列表;监视子模块,用于为每个文件监控列表使用监听器创建对应的一个事件相应器,所述事件相应器用于对文件集进行规律性的轮询,当轮询到对应的文件数据发生变化则产生事件相应并反馈信息给监控器,所述监控器用于通过网络消息向所述执行监听模块发送执行请求指令。

根据所述的资源热加载快速迭代游戏制作的系统,所述的监听模块包括:端口监听子模块,用于对指定的网络端口进行持续监控,当接收所述文件监听模块发送的执行请求指令下发对对应文件数据的重载指令;重载子模块,用于根据重载指定从映射表获取映射关系,进一步获取对应数据文件的唯一标识及其游戏资源,进而将原加载至内存块的游戏资源替换为变更后的游戏资源。

根据所述的资源热加载快速迭代游戏制作的系统,所述的重绑模块包括:重新绑定子模块,用于根据所述监听模块下发的重载指令,调取所述重载子模块重新加载的游戏资源对待替换的游戏资源进行替换;调整子模块,用于在原游戏资源被替换后,新的游戏资源的依赖关系进行重新建立或/和处理,还包括对需要建立的依赖关系进行重新建立。

本发明的技术方案还包括一种资源热加载快速迭代游戏制作方法,其特征在于,该方法包括:对游戏开发人员提供的源文件进行识别和转换,并将识别和转换的文件数据加载至内存块中;将加载至内存块中的文件数据使用文件列表进行表示,并对文件列表进行实时监控,当文件列表发生变化时获取改变信息并进行发送;对所监听的数据文件及数据文件的唯一标识生产映射表,进一步,接收所述文件监听模块发送的文件列表变化的变化信息,通过映射表获取变化的数据文件,并重新加载至内存块,并向游戏执行器下发重载指令;接收执行监听模块下发的重载指令,获取新的数据文件并将数据文件所包含的文件资源重新绑定至游戏系统中。

进一步,该方法还包括:通过文件格式对比对指定格式的数据文件进行识别,所识别的数据文件类型可以进行自定义设置;进一步进符合格式的数据文件进行分析,用于检测出存在错误或/和不同步的文件数据,并使用明显标识进行展示;对数据文件转换为指定类型的数据文件,并将其加载至内存块中,在转换过程中不对文件数据进行数据分析、内存分配,其中数据文件主要包括游戏资源及对应依赖关系;根据游戏资源的依赖关系在转换过程中对依赖关系进行检查,同时地,对应的创建需要重新创建的依赖关系。

进一步,该方法还包括:对监控的数据文件及对应的游戏资源创建文件监控列表;为每个文件监控列表使用监听器创建对应的一个事件相应器,所述事件相应器用于对文件集进行规律性的轮询,当轮询到对应的文件数据发生变化则产生事件相应并反馈信息给监控器,所述监控器用于通过网络消息向所述执行监听模块发送执行请求指令。

进一步,该方法还包括:对指定的网络端口进行持续监控,当接收所述文件监听模块发送的执行请求指令下发对对应文件数据的重载指令;根据重载指定从映射表获取映射关系,进一步获取对应数据文件的唯一标识及其游戏资源,进而将原加载至内存块的游戏资源替换为变更后的游戏资源。

进一步,该方法还包括:根据所述监听模块下发的重载指令,调取所述重载子模块重新加载的游戏资源对待替换的游戏资源进行替换;在原游戏资源被替换后,新的游戏资源的依赖关系进行重新建立或/和处理,还包括对需要建立的依赖关系进行重新建立。

本发明的有益效果为:大大缩短游戏开发周期;增强游戏的体验和表现;方便各种职位的人员分工合作,优化流程。

附图说明

图1所示为根据本发明实施方式的总体结构图;

图2所示为根据本发明实施方式数据文件变化流程图;

图3所示为根据本发明实施方式的热加载工作流集成示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。本发明的资源热加载快速迭代游戏制作的系统和方适用于游戏开发和测试。

图1所示为根据本发明实施方式的总体结构图。其中资源转换模块,用于对数据文件进行转换和加载;文件监听模块,监控文件列表并对变更文件进行及时响应;执行监听模块,用于对所监听的数据文件及数据文件的唯一标识生产映射表,并根据变更信息重新加载对应的数据文件至内存;重绑模块,对文件进行重载并重新调整依赖关系。

图2所示为根据本发明实施方式数据文件变化流程图。用于表示经过修改的数据文件经过转换、内存块加载、游戏加载器的重绑以及对重绑后的关系重建,完成数据文件到游戏资源的转变,且途中无需对数据文件进行解析及内存分配。

图3所示为根据本发明实施方式的热加载工作流集成示意图。在这个图中,可以看到资源热加载是如何集成到工作流中,以及系统的各个不同的部分是如何彼此交互的。相关的步骤,如下(1)-(7)所示。

(1)游戏美工在Photoshop中修改了一个纹理,即对文件进行了修改;

(2)然后,他单击定制的“导出”按钮,保存纹理的源文件,并触发资源转换程序,将TGA文件转换为更优化的二进制格式,资源转换程序还可以执行其他更为复杂的操作,诸如:改变色深(即位深度)和压缩格式,或者使用恰当的过滤器来生成纹理映射;

(3)这时候,文件监视器(它一直在后台运行着,并监视着相关的文件)就能检测到它所监视的文件中有一个被改动了(也就是那个由资源转换程序新创建的纹理文件),然后,通过网络通道,文件监视器可以联络到游戏执行器,并通知它,这个纹理文件需要重新加载;

(4)游戏执行器通过网络接收到这个消息。然后,它就从这个消息中检索到这个资源的文件名,随后就启动真正的重新加载的过程;

(5)这个新改动的纹理就被加载到内容中。这个操作中并不需要进行转换。因为在前面的步骤中,在导出这个纹理文件的同时,己经将其转换为二进制格式了;

(6)原先那个旧的纹理文件已经过时了,被系统移除,并由这个新的纹理文件来代替它的位置;

(7)在接下来的一帧中,系统在进行渲染时,就开始使用这个新的纹理文件了。从那个游戏美工单击“导出”按钮,到这个新的纹理在游戏中显示出来,所用的时间是非常短的,也就是不到1秒钟的时间(转换操作的用时+网络通信的用时+加载时间)。对于大型的游戏资源,或者转换操作需要的系统开销过大,这个时间相对会长一些,但也很少会超过几秒钟。

根据以上的实施方式,本发明的实施方案还提出了以下3种方式,如下(a)~(c)所示,包括:

(a)资源转换程序:将TGA文件转换成二进制纹理。这样,通过一个简单的头文件格式,OpenGL就可以直接加载这个纹理。

(b)文件监视器:监听某个特定目录中的文件是否发生变化。

(c)显示程序(执行器):一个简单的GLUT应用程序,显示3个加上了纹理的茶杯。它还监听某个端口,看是否有从文件监视器传来的通知。

为了测试资源热加载功能,可以首先来运行这个显示程序。然后再启动文件监视器,并指示它去监视哪个目录,并告之执行器的网络地址。修改一个“textureX.tga”文件,或者直接拷贝过去,覆盖它。然后点击运行“Make”,以触发资源转换程序。这也会触发文件监视器,发出一个通知,然后显示程序中马上就会进行重载。

以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号