CN112711403A - 游戏开发同步的方法、装置、计算机设备和存储介质 - Google Patents
游戏开发同步的方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112711403A CN112711403A CN202110043583.6A CN202110043583A CN112711403A CN 112711403 A CN112711403 A CN 112711403A CN 202110043583 A CN202110043583 A CN 202110043583A CN 112711403 A CN112711403 A CN 112711403A
- Authority
- CN
- China
- Prior art keywords
- development
- content
- development environment
- synchronized
- role
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000011161 development Methods 0.000 title claims abstract description 422
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000001360 synchronised effect Effects 0.000 claims abstract description 142
- 238000009434 installation Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 15
- 238000004519 manufacturing process Methods 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 2
- 238000012360 testing method Methods 0.000 description 10
- 238000010276 construction Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000013515 script Methods 0.000 description 9
- 230000001960 triggered effect Effects 0.000 description 4
- 238000007689 inspection Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000005056 compaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种游戏开发同步的方法、装置、计算机设备和存储介质。方法包括:获取第一开发环境终端的同步请求,同步请求携带有项目信息;根据项目信息匹配获取待同步内容和内容信息;待同步内容和内容信息来自第二开发环境终端;将待同步内容和内容信息同步至第一开发环境终端,使得第一开发环境终端根据内容信息将指定目录下的本地文件替换为待同步内容;第一开发角色通过第一开发环境终端,第二开发角色通过第二开发环境终端对相同项目目录下与角色类型对应的目录进行游戏开发。该方法通过同步即可实现加载更新内容到本地继续独立运作,不受其它角色项目进度的影响。
Description
技术领域
本申请涉及软件开发技术领域,特别是涉及一种游戏资源开发同步的方法、装置、计算机设备和存储介质。
背景技术
游戏开发是指游戏软件开发。在游戏开发的过程中,按角色往往可以简单划分为:美术、策划和程序。不同的角色在游戏开发过程中各自承担开发任务,如美术提供画图,策划为图配置数据,程序负责代码开发。但不同角色的工作对象常常存在交叉,可能会存在资源冲突的问题。例如,美术修改某一幅图,而正是策划和程序所需要用到的。
为防止游戏开发过程中的资源冲突,各资源修改时通过版本控制工具进行加锁防止资源冲突。或是仅仅是通过角色划分工作目录,各角色还是工作在同一个项目工程中,互相直接引用。更进一步是给美术独立出一个预览工程,仅供游戏资源制作与预览,该工程与游戏项目工程毫无关系。
如果游戏项目不按照角色进行隔离,那么协作时,往往会出现许多问题。最明显的就是多个人改同个文件,相互覆盖导致重复工作。修改前加锁虽然可以解决,但是加锁本来就是一步容易遗忘的操作,另外单个文件还可能由于被长期霸占影响他人工作。比如一个资源文件,如果程序员需要在资源文件里面添加蓝图变量,而该文件被美术锁住,美术要继续优化和制作,这就导致在美术完全完成之前,程序员都无法修改这个资源文件。又或者程序员在一个资源文件里调整了资源结构,并且代码也依赖该结构,而美术在不知情的条件下修改了这个资源结构,导致程序运行报错。
即在开发过程中存在角色间的资源影响的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够避免资源影响的游戏开发同步的方法、装置、计算机设备和存储介质。
一种游戏开发同步的方法,所述方法包括:
获取第一开发环境终端的同步请求,所述同步请求携带有项目信息;
根据所述项目信息匹配获取待同步内容和内容信息;所述待同步内容和内容信息来自第二开发环境终端;
将所述待同步内容和内容信息同步至第一开发环境终端,使得所述第一开发环境终端根据所述内容信息将指定目录下的本地文件替换为所述待同步内容;其中,第一开发角色通过第一开发环境终端,第二开发角色通过所述第二开发环境终端对相同项目目录下与角色类型对应的目录进行游戏开发。
一种游戏开发同步的装置,所述装置包括:
同步请求模块,用于获取第一开发环境终端的同步请求,所述同步请求携带有项目信息;
内容获取模块,用于根据所述项目信息匹配获取待同步内容和内容信息;所述待同步内容和内容信息来自第二开发环境终端;
同步模块,用于将所述待同步内容和内容信息同步至第一开发环境终端,使得所述第一开发环境终端根据所述内容信息将指定目录下的本地文件替换为所述待同步内容;其中,第一开发角色通过第一开发环境终端,第二开发角色通过所述第二开发环境终端对相同项目目录下与角色类型对应的目录进行游戏开发。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取第一开发环境终端的同步请求,所述同步请求携带有项目信息;
根据所述项目信息匹配获取待同步内容和内容信息;所述待同步内容和内容信息来自第二开发环境终端;
将所述待同步内容和内容信息同步至第一开发环境终端,使得所述第一开发环境终端根据所述内容信息将指定目录下的本地文件替换为所述待同步内容;其中,第一开发角色通过第一开发环境终端,第二开发角色通过所述第二开发环境终端对相同项目目录下与角色类型对应的目录进行游戏开发。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取第一开发环境终端的同步请求,所述同步请求携带有项目信息;
根据所述项目信息匹配获取待同步内容和内容信息;所述待同步内容和内容信息来自第二开发环境终端;
将所述待同步内容和内容信息同步至第一开发环境终端,使得所述第一开发环境终端根据所述内容信息将指定目录下的本地文件替换为所述待同步内容;其中,第一开发角色通过第一开发环境终端,第二开发角色通过所述第二开发环境终端对相同项目目录下与角色类型对应的目录进行游戏开发。
上述游戏开发同步的方法、装置、计算机设备和存储介质,由于第一开发角色通过第一开发环境终端,第二开发角色通过所述第二开发环境终端对相同项目目录下与角色类型对应的目录进行游戏开发,也就是说,在相应开发环境,角色只能够对该角色对应目录进行操作,因此,通过将对方操作目录下更新的内容同步到本地,从而能够实现各开发环境终端分别独立操作,当需要其它开发环境终端的更新内容时,通过同步即可实现加载更新内容到本地继续独立运作,不受其它角色项目进度的影响。
附图说明
图1为一个实施例中游戏资源开发同步的方法的应用环境图;
图2为一个实施例中游戏资源开发同步的方法的流程示意图;
图3为一个实施例中,第一开发环境终端与第二开发环境终端通过同步链实现同步的示意图;
图4为一个实施例中获取第二开发环境终端的待同步内容的步骤的流程示意图;
图5为另一个实施例中获取第二开发环境终端的待同步内容的步骤的流程示意图;
图6为另一个实施例中第一开发环境终端与第二开发环境终端通过同步链实现同步的示意图;
图7为再一个实施例中第一开发环境终端与第二开发环境终端通过同步链实现同步的示意图;
图8为一个实施例中游戏资源开发同步的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的游戏开发同步的方法,可以应用于如图1所示的应用环境中。其中,第一开发角色终端102、第二开发角色终端106分别与控制服务器104连接。第一开发角色通过第一开发环境终端,第二开发角色通过第二开发环境终端对相同项目目录下与角色类型对应的目录进行游戏开发。控制服务器104获取第一开发环境终端的同步请求,同步请求携带有项目信息;根据项目信息匹配获取待同步内容和内容信息;待同步内容和内容信息来自第二开发环境终端;将待同步内容和内容信息同步至第一开发环境终端,使得第一开发环境终端根据内容信息将指定目录下的本地文件替换为待同步内容。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,控制服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种游戏开发同步的方法,以该方法应用于图1中的控制服务器为例进行说明,包括以下步骤:
步骤202,获取第一开发环境终端的同步请求,同步请求携带有项目信息。
第一开发环境终端运行第一开发环境,第一开发角色使用第一开发环境终端对游戏项目进行开发。在游戏开发项目中,包括的开发角色有:程序、美术和策划。程序即进行代码开发的程序员。美术负责制作与测试美术资源,策划负责配置数据表并进行测试。其中,由于美术和策划不需要编译代码,因此,美术和策划可以归为一类角色。也就是说,本申请的实施例中,包括第一开发角色,为程序角色,第二开发角色。其中,第二开发角色又可细分为美术和策划。
具体地,第一开发环境终端是相对于第二开发环境终端而言,二者相对为不同角色的开发环境终端。因此,本实施例中,第一开发环境终端可以为程序角色所使用的终端,也可以为美术或策划角色所使用的终端。也就是说,可以由美术或策划角色所使用的终端触发同步请求,也可以由程序角色所使用的终端触发同步请求。
角色在相应开发环境终端有同步需求时,如开发查看新的开发任务,策划重新进行测试等,触发同步操作。在一个应用场景,可以通过界面设置同步按钮,当有同步需求时,可通过触发同步按钮,向控制服务器发送同步请求。在另一个应用场景中,一些操作预置了同步功能。在执行相应操作前,都将触发同步请求。如,策划在执行一个新的测试时,触发同步请求,在同步完成数据后,再进行测试操作。
其中,同步请求携带有项目信息。项目信息是正在开发的项目的信息,可以是项目编号。
步骤204,根据项目信息匹配获取待同步内容和内容信息;待同步内容和内容信息来自第二开发环境终端。
其中,第二开发环境终端相对于第一开发环境终端而言,意在强调二者运行有不同角色的开发环境,相对不同。若第一开发环境终端为程序角色所使用的终端,则第二开发环境终端为美术或策划角色所使用的终端。若第一开发环境终端为美术或策划角色所使用的终端,则第二开发环境终端为程序角色所使用的终端。其中,第一开发环境终端运行第一开发环境,第二开发环境终端运行第二开发环境。
具体地,当第一开发角色在完成某一项更新后,可将更新的内容同步至第二开发角色所使用的第二开发环境终端。角色与开发环境对应,具体地,第一开发角色可以为美术或策划,也可以为程序。即第二开发环境终端(美术和策划在相应的开发环境中,或程序在相应的开发环境中)完成某一项更新后,可将更新内容作为待同步内容,将待同步内容、内容信息和项目信息发送至控制服务器。
当控制服务器获取到第一开发环境终端的同步请求时,根据项目信息匹配,查询该项目信息是否有待同步内容。若有,则获取同步内容和内容信息。其中,内容信息包括内容位置,根据内容信息,能够确定是哪一个内容需要被更新。
步骤206,将待同步内容和内容信息同步至第一开发环境终端,使得第一开发环境终端根据内容信息将指定目录下的本地文件替换为待同步内容;其中,第一开发角色通过第一开发环境终端,第二开发角色通过第二开发环境终端对相同项目目录下与角色类型对应的目录进行游戏开发。
具体地,控制服务器在查找到需要同步到第一开发环境终端的待同步内容和内容信息后,响应同步请求,将待同步内容和内容信息同步至第一开发环境终端。第一开发环境终端在接收到待开发内容和内容信息后,进行同步操作。其中,内容信息与操作目录有关,用于指向特定目标。具体地,第一开发环境终端根据内容信息将指定目录下的本地文件替换为待同步内容。
其中,第一开发角色通过第一开发环境终端,第二开发角色通过第二开发环境终端对相同项目目录下与角色类型对应的目录进行游戏开发。也就是说两个开发角色分别使用不同的开发环境进行开发。其中,一个项目具有一个项目目录,项目目录中每个角色的操作目录不同。例如,程序对应的操作目标为与程序相关的工作目录,策划对应的操作目录为与策划相关的工作目录,美术对应的操作目录为与美术相关的工作目录。而不同角色通过相应的开发环境终端只能够对相应角色类型对应的目录进行游戏开发。从而能够避免不同开发角色操作相同文件导致互相覆盖的问题。由于两个开发环境隔离,程序工程是最终出包的工程,相对来说更加规范正式,操作起来需要更加谨慎。而美术和策划在美术和策划工程下,可以除了操作自己负责的需要同步的接口目录外,还可以创建各种不需要同步的临时的或用于测试的文件目录,这些目录不在同步工具链操作的目录里,不会对对方工程造成影响,增加了灵活性与自由度,且不用担心对出包产生影响。
可以理解的是,待更新文件应当为第二开发角色操作目标下的文件,表明第二开发角色通过第二开发终端对该文件进行了修改。通过同步操作,能够在第一开发环境将第二开发角色操作目录下的文件进行同步。如,根据内容信息,确定待更新文件为A目录下的文件(第二开发角色的操作目录),第一开发环境终端将A目录下的文件替换为待同步文件,实现在第一开发环境终端同步第二开发角色的操作目录的更新。
上述的游戏开发同步的方法,第一开发角色通过第一开发环境终端,第二开发角色通过第二开发环境终端对相同项目目录下与角色类型对应的目录进行游戏开发,当获取到第一开发环境终端的同步请求时,根据项目信息匹配待同步的内容和内容信息,待同步内容和内容信息来自第二开发环境终端,将待同步内容和内容信息同步至第一开发环境终端,使得第一开发环境终端更新本地的内容,实现同步。由于第一开发角色通过第一开发环境终端,第二开发角色通过第二开发环境终端对相同项目目录下与角色类型对应的目录进行游戏开发,也就是说,在相应开发环境,角色只能够对该角色对应目录进行操作,因此,通过将对方操作目录下更新的内容同步到本地,从而能够实现各开发环境终端分别独立操作,当需要其它开发环境终端的更新内容时,通过同步即可实现加载更新内容到本地继续独立运作,不受其它角色项目进度的影响。
在另一个实施例中,第二开发角色为程序角色,相应的,第二开发环境终端为程序使用的终端。为便于说明,本实施例中将第二开发环境命名为程序工程。对应地,第一开发角色为美术或策划,第一开发环境终端为美术或策划使用的终端,其中,美术和策划使用相同的开发环境。为便于说明,本实施例中将第一开发环境命名为策划与美术工程。
游戏开发同步的方法,还包括:获取第二开发环境所使用的源码版引擎构建成安装版开发引擎;将安装版开发引擎同步至第一开发环境终端,第一开发环境终端通过运行安装版开发引擎运行第二开发环境。
具体地,实现资源同步的工具包括引擎构建工具,控制服务器通过运行引擎构建工具的脚本,对第二开发环境所使用的源码版引擎构建成二进制文件,得到安装版开发引擎。例如,第二开发环境所使用的为源码版UE4(UnrealEngine4)引擎。对源码版下.uproj工程文件生成.sln文件后通过开发工具visual studio打开,得到第二开发环境。程序员在此环境下编写代码和打包游戏。程序员通过引擎构建工具的脚本,构建出安装版本的UE4引擎,并剥离掉源码和intermediate内容(一个名为intermediate的临时文件),得到安装版开发引擎。将安装版开发引擎同步给第一开发环境终端,通过运行安装版开发引擎运行第一开发环境。可见第一开发环境完全是第二开发环境的编译结果,这就保证了二者的代码逻辑是完全一致的,不会出现一份资源在两个工程里表现不一致的问题。因此,第一开发环境和第二开发环境本质上是一个工程的两份拷贝。
具体地,游戏开发同步的方法还包括获取第二开发环境终端的待同步内容的步骤。如图3所示,控制服务器提供同步工具链,实现第一开发环境终端与第二开发环境终端的开发资源同步。其中,同步工具链包括前面所提到的引擎构建工具,用于构建获取第二开发环境所使用的源码版引擎构建成安装版开发引擎,将安装版开发引擎同步至第一开发环境终端,第一开发环境终端通过运行安装版开发引擎运行第一开发环境。即,引擎构建工具可实现二者环境的同步。
进一步地,同步工具链还提供有编辑器构建工具,利用编辑器构建工具将程序开发的代码和程序资源同步给美术和策划。具体地,游戏开发同步的方法还包括获取第二开发环境终端的待同步内容的步骤,如图4所示,包括以下步骤:
步骤402,获取第二开发环境终端的第一同步更新请求,第一同步更新请求携带有内容信息和更新内容;更新内容包括游戏代码和程序资源。
具体地,第二开发环境为程序工程,程序开发工作在程序工具目录下,进行代码开发。当第二开发环境终端代码测试正常时,通过网页登录自动化任务平台触发相应构建和同步任务。具体地,第二开发环境终端向控制服务器发送第一同步更新请求,请求将完成的代码和程序资源作为更新内容同步给第一开发环境终端(美术和策划)。
步骤404,将第二开发环境的编辑器和游戏代码构建为引擎编辑器。
具体地,同步工具链的编辑器构建工具,将第二开发环境(程序工程DevProj)的和游戏代码构建成二进制可执行文件,根据二进制可执行文件和程序资源得到待同步内容。
具体地,程序员通过编辑器脚本构建出供第一开发环境使用的UE4引擎编辑器,其中也是不带任何源码内容。具体地,编辑器脚本将第二开发环境的编辑器和游戏代码构建成二进制可执行文件,得到供第一开发环境(美术和策划)使用的引擎编辑器。引擎编辑器的插件和程序代码都是编译好的二进制文件。美术和策划在第一开发环境下只需要双击打开工程脚本,即可使用安装版本的开发引擎直接打开构建好的UE4编辑器。在第一开发环境下不需要进行任何源码编译的工作。
步骤406,根据引擎编辑器和程序资源得到待同步内容。
具体地,程序负责目录中的资源也需要同步到第一开发环境(美术和策划)中。根据引擎编辑器和程序资源得到待同步内容。
利用编辑器脚本,控制服务器获得第二开发环境终端的待同步内容和内容信息。其中,待同步内容是根据第二开发环境的编辑器和游戏代码构建的引擎编辑器。当第一开发环境终端(美术和策划)有同步需求时,向控制服务器发送同步请求,控制服务器获取同步请求后,根据项目信息匹配获取待同步内容和内容信息;将待同步内容和内容信息同步至第一开发环境终端,第一开发环境获取到待同步内容时,使用安装版开发引擎打开引擎编辑器,根据内容信息将指定目录下的本地文件替换为程序资源。
由于两个开发环境都出自同一份代码,所以逻辑能够保证完全一致,不会出现一份资源在两个工程里表现不一致的问题。如果第二开发环境(程序工程)有编译问题,则即使执行了构建任务,也会构建失败,使得第一开发环境(美术和策划工程)依然能在老版本逻辑下正常运行。同步目录被严格划分职责,同步逻辑直接拷贝覆盖,即使美术误改了属于程序员负责的目录资源也不会对第二开发环境(程序工程)产生任何影响,并且会在下次构建同步第二开发环境(程序工程)的UE4编辑器的时候被覆盖回第二开发环境(程序工程)的资源版本。
在另一个实施例中,第二开发角色为美术或策划角色,其所使用的为第二开发环境,本实施例中第二开发环境为美术或策划工程,第二开发环境终端为美术或策划使用终端。本实施例中,可实现将第二开发环境终端美术或策划的更新资源同步到第一开发环境终端的程序工程中。即,游戏开发同步的方法还包括获取第二开发环境终端的待同步内容的步骤,如图5所示,包括:
步骤502,获取第二开发环境终端的第二同步更新请求,第二同步更新请求携带有项目信息、第二开发角色操作目录下的资源和资源目录信息。
其中,项目信息用于为第二开发角色的同步请求确定匹配的待同步内容。
第二同步更新请求是第二开发环境终端请求将自身的资源同步给第一开发环境终端。具体地,在第二开发环境(美术和策划工程)美术和策划也仅操作其负责的目录,即第二开发角色操作目标。若第二开发角色为美术,则第二开发角色操作目录为美术操作目录。若第二开发角色为策划,则第二开发角色操作目录为策划操作目录。本实施例中,各角色的操作目录根据角色责任明确划分,只能够操作其负责的目录。
步骤504,根据第二开发角色操作目录下的资源,得到待同步内容。
如图6所示,同步工具链还包括资源同步流水线。资源同步流水线负责将美术和策划开发环境的目录资源往程序开发环境(程序工程)同步。
对于策划与美术来说,只需要使用版本控制工具(本项目使用svn)更新第二开发角色操作目录即可保证引擎与游戏逻辑与程序工程一致。美术在第二开发环境(美术和策划工程)下的美术相关目录中制作与测试美术资源。策划在第二开发环境(美术和策划工程)下策划相关目录中配置数据表并进行测试。测试完成后,提交svn,美术和策划通过同步工具链的资源同步流水线,将各自资源或配置从第二开发环境对应的版本库同步到(拷贝覆盖)第一开发环境(程序工程)的版本库中。
资源同步流水线根据第二开发角色操作目录下的资源,得到待同步内容。
步骤506,根据资源目录信息得到内容信息;其中,第一开发环境终端获取到待同步内容和内容信息后,根据资源目录信息将指定目录下的本地资源替换为第一开发角色操作目录下的资源。
资源同步流水线根据资源目录信息得到内容信息。其中,资源目录具体为包括路径信息的目录名称。根据路径信息,匹配资源目录名称,即可确定资源目录。
具体地,第一开发环境终端获取到待同步内容和内容信息后,根据项目资源目录信息将指定目录下的本地资源替换为第一开发角色操作目录下的资源。具体地,第一开发环境终端获取到待同步信息后,根据路径信息,匹配资源目录名称,确定资源目录,查找到指定目录下的本地资源。将指定目录下的本地资源替换为第二开发角色操作目录下的资源。实现将第二开发角色操作目录下的资源(程序和策划目录资源)更新到第一开发环境(程序工程)终端。由于美术和策划仅仅是进行内容制作,在编辑器中只需要操作内容(Content)中的目录。所以如果将Content替换成第一开发环境(程序工程)下的Content目录即可看到资源同步到第一开发环境(程序工程)后的表现。
在实际应用中,为了方便策划和美术自动化执行任务,资源同步流水线可以借助现有的自动化任务平台实现,如Hudson、Jenkins等。Red项目可为Red项目为程序和策划工程提供了动态切换Content的脚本,方便美术策划验证程序工程下的资源表现。
在另一个实施例中,在根据资源目录信息得到内容信息的步骤之后,还包括:获取资源类型;当资源来自于资源类型对应制作管线的最后一环时,执行将待同步内容和内容信息同步至第一开发环境终端的步骤。
具体地,同步第二开发环境(美术和策划工程)的资源到第一开发环境(程序工程)时需要平衡颗粒度问题。如果笼统的将第二开发环境(美术和策划工程)的资源完全同步到第一开发环境(程序工程)可能会将许多其他人尚未完成的资源也进行了同步。如果需要过细的指明同步资源,则会使得同步操作过于繁琐和复杂。
所以需要将资源同步流水线按照资源类型进行划分,由每种资源对应的流水线执行同步逻辑。具体地,根据资源类型对资源进行划分,可以得到资源种类包括:地图、角色、音频、特效和实体等。一种资源类型通常都是一条制作管线。同步操作交给制作管线中最后一环的工作人员操作即可。即,只有制作管线中最后一环的工作人员提交的资源才能被更新到其它开发环境。当美术组经过一系列过程制作完一张地图交付策划,策划需要为该地图配置数据和脚本逻辑,并进行简单测试。当一切完成,策划作为地图制作管线最后一环,填入需要同步的地图id,向控制服务器提交同步更新请求。
为此,如图7所示,资源同步流水线包括了各资源类型对应的拷贝流水线,如包括地图拷贝流水线,实体拷贝流水线,音频拷贝流水线,角色拷贝流水线、物资拷贝流水线和实体拷贝流水线。可以理解的是,根据资源类型,还可以包括更多的其它资源类型拷贝流水线。
各资源拷贝流水线执行相应的判断逻辑,判断资源是否来自于资源类型对应制作管线的最后一环。若是,则将待同步内容和内容信息同步至第一开发环境终端。如,地图资源拷贝流水线则执行脚本将对应id的地图及其所有递归依赖的资源文件拷贝到第一开发环境(程序工程)中去。
在另一个实施例中,流水线拷贝的同时可以执行对资源的预设操作,预设操作包括转换检查中的至少一种。其中,可执行转换工具,比如资源压缩、打图集等。还可以执行各种检查工具,有问题的资源将被阻止或者提醒对应资源提交人员,进一步保障资源可用性。
本实施例中,资源同步拷贝的过程还给资源转换、资源压缩、资源检擦提供了时机,增加了资源可用性。
在另一个实施例中,将待同步内容和内容信息同步至第一开发环境终端,包括:将待同步内容和内容信息提交到版本控制器,通过版本控制器将待同步内容和内容信息同步至第一开发环境终端。
具体地,资源在控制服务器上完成第二开发环境程序工和第一开发环境(策划美术工程)的同步,并提交到版本控制服务器。使用版本控制工具(如svn)更新第二开发角色操作目录下的资源,即可保证引擎与游戏逻辑与程序工程一致。
采用本申请的游戏开发同步的方法,解决了各开发角色之间协同工作的问题。根据角色划分为第一开发环境和第二开发环境,如第一开发环境可以为程序工程,第二开发环境可以为美术策划工程。两者互相独立,程序开发工作在程序工程目录下。策划和美术工作在美术策划工程目录下。两个工程可以独立运作互不干扰,两者的内容变化通过同步工具链进行同步,使得两个工程在独立性、稳定性和一致性上取得平衡。同步工具链一方面进行资源与代码的同步,同时还可以进行资源检查,保证各种美术资源符合项目要求。
应该理解的是,虽然图2、4-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、4-5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种游戏开发同步的装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:同步请求模块802、内容获取模块804和同步模块806,其中:
同步请求模块802,用于获取第一开发环境终端的同步请求,同步请求携带有项目信息;
内容获取模块804,用于根据项目信息匹配获取待同步内容和内容信息;待同步内容和内容信息来自第二开发环境终端;
同步模块806,用于将待同步内容和内容信息同步至第一开发环境终端,使得第一开发环境终端根据内容信息将指定目录下的本地文件替换为待同步内容;第一开发角色通过第一开发环境终端,第二开发角色通过第二开发环境终端对相同项目目录下与角色类型对应的目录进行游戏开发。
上述的游戏开发同步的装置,第一开发角色通过第一开发环境终端,第二开发角色通过第二开发环境终端对相同项目目录下与角色类型对应的目录进行游戏开发,当获取到第一开发环境终端的同步请求时,根据项目信息匹配待同步的内容和内容信息,待同步内容和内容信息来自第二开发环境终端,将待同步内容和内容信息同步至第一开发环境终端,使得第一开发环境终端更新本地的内容,实现同步。由于第一开发角色通过第一开发环境终端,第二开发角色通过第二开发环境终端对相同项目目录下与角色类型对应的目录进行游戏开发,也就是说,在相应开发环境,角色只能够对该角色对应目录进行操作,因此,通过将对方操作目录下更新的内容同步到本地,从而能够实现各开发环境终端分别独立操作,当需要其它开发环境终端的更新内容时,通过同步即可实现加载更新内容到本地继续独立运作,不受其它角色项目进度的影响。
在另一个实施例中,第二开发角色为程序角色,游戏开发同步的装置还包括:
开发引擎构建模块,用于获取第二开发环境所使用的源码版引擎构建成安装版开发引擎;
开发引擎同步模块,用于将安装版开发引擎同步至第一开发环境终端,第一开发环境终端通过运行安装版开发引擎运行第一开发环境。
在另一个实施例中,游戏开发同步的装置还包括:
同步请求获取模块,用于获取第二开发环境终端的第一同步更新请求,第一同步更新请求携带有内容信息和更新内容;更新内容包括游戏代码和程序资源;
编辑器构建模块,用于将第二开发环境的编辑器和游戏代码构建为引擎编辑器;
内容同步模块,用于根据引擎编辑器和程序资源得到待同步内容;其中,第一开发环境获取到待同步内容时,使用安装版开发引擎打开引擎编辑器,根据内容信息将指定目录下的本地文件替换为将程序资源。
在另一个实施例中,第二开发角色为美术或策划角色;
游戏开发同步的装置还包括:
同步更新模块,用于获取第二开发环境终端的第二同步更新请求,同步更新请求携带有项目信息、第二开发角色操作目录下的资源和资源目录信息;
内容模块,用于根据第二开发角色操作目录下的资源,得到待同步内容;
内容信息模块,用于根据资源目录信息得到内容信息;其中,第二开发环境终端获取到待同步内容和内容信息后,根据资源目录信息将指定目录下的本地资源替换为第二开发角色操作目录下的资源。
在另一个实施例中,游戏开发同步的装置还包括:
判断模块,用于获取资源类型;判断资源是否来自于资源类型对应制作管线的最后一环;
同步模块,用于在判断模块的判断结果为是时,将待同步内容和内容信息同步至第一开发环境终端。
在另一个实施例中,游戏开发同步的装置还包括:
资源操作模块,用于对资源进行预设操作,预设操作包括转换和/或检查。
在另一个实施例中,同步模块,用于将待同步内容和内容信息提交到版本控制器,通过版本控制器将待同步内容和内容信息同步至第一开发环境终端。
关于游戏开发同步的装置的具体限定可以参见上文中对于游戏开发同步的方法的限定,在此不再赘述。上述游戏开发同步的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储待同步内容数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种游戏开发资源同步的方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种游戏开发同步的方法,其特征在于,所述方法包括:
获取第一开发环境终端的同步请求,所述同步请求携带有项目信息;
根据所述项目信息匹配获取待同步内容和内容信息;所述待同步内容和内容信息来自第二开发环境终端;
将所述待同步内容和内容信息同步至第一开发环境终端,使得所述第一开发环境终端根据所述内容信息将指定目录下的本地文件替换为所述待同步内容;其中,第一开发角色通过第一开发环境终端,第二开发角色通过所述第二开发环境终端对相同项目目录下与角色类型对应的目录进行游戏开发。
2.根据权利要求1所述的方法,其特征在于,所述第二开发角色为程序角色;
所述方法还包括:
获取第二开发环境所使用的源码版引擎构建成安装版开发引擎;
将所述安装版开发引擎同步至所述第一开发环境终端,所述第一开发环境终端通过运行所述安装版开发引擎运行第一开发环境。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取第二开发环境终端的第一同步更新请求,所述第一同步更新请求携带有内容信息和更新内容;所述更新内容包括游戏代码和程序资源;
将第二开发环境的编辑器和游戏代码构建为引擎编辑器;
根据所述引擎编辑器和所述程序资源得到待同步内容;其中,第一开发环境获取到所述待同步内容时,使用所述安装版开发引擎打开所述引擎编辑器,根据所述内容信息将指定目录下的本地文件替换为将所述程序资源。
4.根据权利要求1所述的方法,其特征在于,所述第二开发角色为美术或策划角色;
所述方法还包括:获取第二开发环境终端的第二同步更新请求,所述第二同步更新请求携带有项目信息、第二开发角色操作目录下的资源和资源目录信息;
根据所述第二开发角色操作目录下的资源,得到待同步内容;
根据所述资源目录信息得到内容信息;其中,所述第二开发环境终端获取到所述待同步内容和内容信息后,根据所述资源目录信息将指定目录下的本地资源替换为所述第二开发角色操作目录下的资源。
5.根据权利要求4所述的方法,其特征在于,在所述根据所述资源目录信息得到内容信息的步骤之后,还包括:
获取资源类型;
当所述资源来自于所述资源类型对应制作管线的最后一环时,执行所述将所述待同步内容和内容信息同步至第一开发环境终端的步骤。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
对所述资源进行预设操作,所述预设操作包括转换和检查中的至少一种。
7.根据权利要求4所述的方法,其特征在于,将所述待同步内容和内容信息同步至第一开发环境终端,包括:将所述待同步内容和内容信息提交到版本控制器,通过所述版本控制器将所述待同步内容和内容信息同步至第一开发环境终端。
8.一种游戏开发同步的装置,其特征在于,所述装置包括:
同步请求模块,用于获取第一开发环境终端的同步请求,所述同步请求携带有项目信息;
内容获取模块,用于根据所述项目信息匹配获取待同步内容和内容信息;所述待同步内容和内容信息来自第二开发环境终端;
同步模块,用于将所述待同步内容和内容信息同步至第一开发环境终端,使得所述第一开发环境终端根据所述内容信息将指定目录下的本地文件替换为所述待同步内容;其中,第一开发角色通过第一开发环境终端,第二开发角色通过所述第二开发环境终端对相同项目目录下与角色类型对应的目录进行游戏开发。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110043583.6A CN112711403B (zh) | 2021-01-13 | 2021-01-13 | 游戏开发同步的方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110043583.6A CN112711403B (zh) | 2021-01-13 | 2021-01-13 | 游戏开发同步的方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112711403A true CN112711403A (zh) | 2021-04-27 |
CN112711403B CN112711403B (zh) | 2023-10-27 |
Family
ID=75548930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110043583.6A Active CN112711403B (zh) | 2021-01-13 | 2021-01-13 | 游戏开发同步的方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112711403B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113342402A (zh) * | 2021-08-05 | 2021-09-03 | 北京蔚领时代科技有限公司 | 一种多人协作游戏编辑方法、系统及装置 |
CN113568758A (zh) * | 2021-09-23 | 2021-10-29 | 深圳市信润富联数字科技有限公司 | Gpu资源池化方法、系统、设备及计算机可读存储介质 |
CN114201207A (zh) * | 2021-11-22 | 2022-03-18 | 北京达佳互联信息技术有限公司 | 一种资源同步方法、装置、电子设备及存储介质 |
CN117504304A (zh) * | 2023-12-13 | 2024-02-06 | 广州库洛数界科技有限公司 | 一种游戏开发同步的方法、系统及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120180024A1 (en) * | 2011-01-07 | 2012-07-12 | International Business Machines Corporation | Synchronizing development code and deployed executable versioning within distributed systems |
CN106294112A (zh) * | 2015-06-03 | 2017-01-04 | 北京矩道优达网络科技有限公司 | 基于互联网的实时多人计算机程序开发调试系统与方法 |
CN107479881A (zh) * | 2017-07-31 | 2017-12-15 | 武汉斗鱼网络科技有限公司 | 差异代码的同步方法、存储介质、电子设备及系统 |
-
2021
- 2021-01-13 CN CN202110043583.6A patent/CN112711403B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120180024A1 (en) * | 2011-01-07 | 2012-07-12 | International Business Machines Corporation | Synchronizing development code and deployed executable versioning within distributed systems |
CN106294112A (zh) * | 2015-06-03 | 2017-01-04 | 北京矩道优达网络科技有限公司 | 基于互联网的实时多人计算机程序开发调试系统与方法 |
CN107479881A (zh) * | 2017-07-31 | 2017-12-15 | 武汉斗鱼网络科技有限公司 | 差异代码的同步方法、存储介质、电子设备及系统 |
Non-Patent Citations (3)
Title |
---|
K. ZEILENGA; OPENLDAP FOUNDATION; J.H. CHOI; IBM CORPORATION;: "The Lightweight Directory Access Protocol (LDAP) Content Synchronization Operation", IETF RFC4533 * |
梁静;: "面向移动终端的网络化游戏设计与实现", 科技信息, no. 13 * |
王鸿鹏;戴博;杨孝宗: "一种新的Ad Hoc节点信息栈信道接入协议(NISCAP)", 计算机工程与设计, no. 24 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113342402A (zh) * | 2021-08-05 | 2021-09-03 | 北京蔚领时代科技有限公司 | 一种多人协作游戏编辑方法、系统及装置 |
CN113568758A (zh) * | 2021-09-23 | 2021-10-29 | 深圳市信润富联数字科技有限公司 | Gpu资源池化方法、系统、设备及计算机可读存储介质 |
CN114201207A (zh) * | 2021-11-22 | 2022-03-18 | 北京达佳互联信息技术有限公司 | 一种资源同步方法、装置、电子设备及存储介质 |
CN117504304A (zh) * | 2023-12-13 | 2024-02-06 | 广州库洛数界科技有限公司 | 一种游戏开发同步的方法、系统及存储介质 |
CN117504304B (zh) * | 2023-12-13 | 2024-05-28 | 广州库洛数界科技有限公司 | 一种游戏开发同步的方法、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112711403B (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112711403B (zh) | 游戏开发同步的方法、装置、计算机设备和存储介质 | |
US10824442B2 (en) | Method and apparatus for loading multiple differing versions of a native library into a native environment | |
US10095499B2 (en) | Optimization for multi-project package manager | |
US10572249B2 (en) | Software kit release management | |
US10740093B2 (en) | Advanced packaging techniques for improving work flows | |
US11429365B2 (en) | Systems and methods for automated retrofitting of customized code objects | |
US11704115B2 (en) | Software pipeline configuration | |
US10331425B2 (en) | Automated source code adaption to inject features between platform versions | |
US11113050B2 (en) | Application architecture generation | |
US10380009B2 (en) | Code usage map | |
US20230259358A1 (en) | Documentation enforcement during compilation | |
CN112631600A (zh) | 基于Flutter的软件构建方法和系统 | |
US20150160938A1 (en) | Automation in rule engine in an integration development environment | |
US20200097260A1 (en) | Software application developer tools platform | |
CN117931214A (zh) | 离线环境下的应用部署方法及装置、电子设备和存储介质 | |
US20220398093A1 (en) | Development environment organizer with enhanced state switching and sharing | |
CN115456628A (zh) | 基于区块链的智能合约查看方法、装置、存储介质及设备 | |
CN114253599A (zh) | 版本部署方法、版本部署装置、电子设备和存储介质 | |
Pastrana-Pardo et al. | Approach to the Best Practices in Software Development Based on DevOps and SCRUM Used in Very Small Entities | |
CN113032004B (zh) | 在开发环境中管理开发作业的方法、设备和程序产品 | |
CN114201207A (zh) | 一种资源同步方法、装置、电子设备及存储介质 | |
US20230359547A1 (en) | Targeted Testing for Modular Software Applications | |
US8601500B2 (en) | Platform-independent signal processing | |
Whitener et al. | The ERSDT Software Quality Assurance Plan Practices and Development Environment Setup for RASCAL 5 | |
CN114385160A (zh) | 一种分布式动态组件推送方法、装置、电子设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |