一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种跨平台的游戏发布方法、系统和计算机可读存储介质与流程

2021-10-24 06:13:00 来源:中国专利 TAG:游戏开发 可读 计算机 方法 发布


1.本技术涉及游戏开发领域,特别是涉及一种跨平台的游戏发布方法、系统和计算机可读存储介质。


背景技术:

2.目前,市场上有多种运行游戏的平台,例如,ios、windows、ps4和xbox等。由于广大用户长期积累的使用习惯,游戏玩家往往分散在不同的平台上。
3.为了使游戏应用适配于多个平台,游戏开发商需要将自己的游戏产品开发为多个不同的版本,从而获取更多的用户数量。但是,由于市面上存在多个平台,如果对于每一个平台都设计一套游戏代码,游戏开发人员需要付出较大的工作量,另外,也导致整个开发周期较长。
4.目前针对相关技术中,使用一套游戏代码不能跨平台发布运行的问题,尚未提出有效的解决方案。


技术实现要素:

5.本技术实施例提供了一种跨平台的游戏发布方法、系统、计算机设备和计算机可读存储介质,以至少解决相关技术中游戏代码不能跨平台发布运行的问题的问题。
6.第一方面,本技术实施例提供了一种跨平台的游戏发布方法,所述方法包括:
7.获取用于运行游戏所需的游戏逻辑代码、通信代码以及欲发布的游戏平台信息,其中,所述游戏逻辑代码包括逻辑层代码和表现层代码,所述通信代码包括跨平台代码以及与不同游戏平台对应的多个平台差异性代码;
8.在所述平台差异性代码中添加开关程序,根据所述游戏平台信息配置所述开关程序的状态,调用编译平台跟据所述开关程序的状态编译所述通信代码输出第一执行文件;
9.调用unity3d工具编译所述游戏逻辑代码后导出第二执行文件,其中,所述第二执行文件可以被多个所述游戏平台执行;
10.在所述第一执行文件和所述第二执行文件之间创建接口链接以实现相互调用,将创建所述接口链接之后的所述第一执行文件和所述第二执行文件打包成为游戏文件,发送所述游戏文件至对应的所述游戏平台。
11.在其中一些实施例中,根据所述游戏平台信息配置所述开关程序的状态,调用编译平台跟据所述开关程序的状态编译所述通信代码输出第一执行文件包括:
12.将所述游戏平台信息对应的所述平台差异性代码的开关程序配置为开启状态,将其他的所述平台差异性代码的开关程序配置为关闭状态;
13.调用编译平台编译所述通信代码中的所述跨平台代码;
14.所述编译平台获取所述开关程序的开关状态,在所述开关程序被配置为开启状态的情况下,所述编译平台编译对应的所述平台差异性代码;
15.所述编译平台集合所述跨平台代码和已被编译的所述平台差异性代码生成所述
第一执行文件。
16.在其中一些实施例中,在所述第一执行文件和所述第二执行文件之间创建接口链接以实现相互调用之后,所述方法还包括:
17.获取用于运行游戏所需的ui图片和游戏模型,将所述ui图片和所述游戏模型转换为所述游戏平台对应的格式;
18.将所述转换完成的所述ui图片和所述游戏模型添加在所述游戏文件中,发送所述游戏文件至对应的所述游戏平台。
19.在其中一些实施例中,发送所述游戏文件至对应的所述游戏平台之后,所述方法还包括:
20.玩家客户端通过底层网络模块连接游戏服务器,在所述游戏服务器上执行所述逻辑层代码以实现游戏中数据的运算和传输;
21.玩家客户端在本地执行所述表现层代码,并指示显示器将所述逻辑层运算的结果显示在游戏界面上。
22.在其中一些实施例中,所述平台差异性代码由开发人员根据所述游戏平台对应的源文件和特性编写;所述接口具有跨平台特性以实现在多个所述游戏平台上的执行。
23.在其中一些实施例中,所述游戏逻辑代码是c#代码,所以通信代码是c 代码。
24.第二方面,本技术实施例提供了一种跨平台的游戏发布系统,所述系统包括:获取模块、配置模块、编译模块和发布模块;
25.所述获取模块用于运行游戏所需的游戏逻辑代码、通信代码以及欲发布的游戏平台信息,其中,所述游戏逻辑代码包括逻辑层代码和表现层代码,所述通信代码包括跨平台代码以及与不同游戏平台对应的多个平台差异性代码;
26.所述配置模块用于在所述平台差异性代码中添加开关程序,根据所述游戏平台信息配置所述开关程序的状态;
27.所述编译模块用于跟据所述开关程序的状态编译所述通信代码输出第一执行文件;以及编译所述游戏逻辑代码后导出第二执行文件,其中,所述第二执行文件可以被多个所述游戏平台执行;
28.所述发布模块用于在所述第一执行文件和所述第二执行文件之间创建接口链接以实现相互调用,将创建所述接口链接之后的所述第一执行文件和所述第二执行文件打包成为游戏文件,发送所述游戏文件至对应的所述游戏平台。
29.在其中一些实施例中,所述获取模块还用于:
30.获取用于运行游戏所需的ui图片和游戏模型,将所述ui图片和所述游戏模型转换为所述游戏平台对应的格式;
31.将所述转换完成的所述ui图片和所述游戏模型添加在所述游戏文件中,发送所述游戏文件至对应的所述游戏平台。
32.第三方面,本技术实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的一种跨平台的游戏发布方法。
33.第四方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的一种跨平台的游戏发布方法。
34.相比于相关技术,本技术实施例提供的一种跨平台的游戏发布方法,通过将游戏逻辑代码和跨平台代码作分离,其中,跨平台代码中的平台差异性代码是根据不同游戏平台的源文件和特性编写的。在发布游戏时,只需将欲发布游戏平台对应的那部分平台差异性代码的程序开关设置为开启状态。再通过预设的编译平台以及unity的编译插件将跨平台代码和游戏逻辑编译,并导出第一执行文件和第二执行文件。通过接口链接在第一执行文件和第二执行文件之间创建调用关系。最后,集合已经创建接口链接的第一执行文件和第二执行文件生成游戏文件包,将该游戏文件包发送至对应的游戏平台。解决了相关技术中不能使用一套游戏代码实现跨平台发布游戏的问题,通过一套游戏代码即实现多平台的游戏发布,减少了游戏开发人员的工作成本,提升了游戏开发效率。
附图说明
35.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
36.图1是根据本技术实施例的一种跨平台的游戏发布方法的应用环境示意图;
37.图2是根据本技术实施例的跨平台的游戏发布方法的流程图
38.图3是根据本技术实施例的一种跨平台的游戏发布系统的结构框图;
39.图4是根据本技术实施例的电子设备的内部结构示意图。
具体实施方式
40.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。基于本技术提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
41.显而易见地,下面描述中的附图仅仅是本技术的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本技术应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本技术公开的内容相关的本领域的普通技术人员而言,在本技术揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本技术公开的内容不充分。
42.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本技术所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
43.除非另作定义,本技术所涉及的技术术语或者科学术语应当为本技术所属技术领域内具有一般技能的人士所理解的通常意义。本技术所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本技术所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有
列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本技术所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本技术所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本技术所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
44.本技术实施例提供的一种跨平台的游戏发布方法,可以应用在图1所示的应用环境中,图1是根据本技术实施例的一种跨平台的游戏发布方法的应用环境示意图。如图1所示,终端10与服务器11通过网络进行通信,终端10上安装有设计以及编译游戏程序代码的应用客户端,游戏开发人员可以通过终端10上的如触摸屏、实体按键以及键盘和鼠标等外部设备对用用客户端发送设计指令来编写同于运行游戏所需的游戏代码。终端10还根据游戏开发人员的操作指令以对该游戏代码进行处理后可以生成适用于不同游戏平台的游戏文件包。最后,终端10将游戏文件包发送至对应游戏平台的服务器11。需要说明的是,终端10可以是智能手机、平板电脑、台式电脑、笔记本电脑和智能可穿戴设备;服务器11可以是独立的服务器或者是多个服务器组成的服务器集群。
45.本技术提供了一种跨平台的游戏发布方法,图2是根据本技术实施例的跨平台的游戏发布方法的流程图,如图2所示,该流程包括如下步骤:
46.s201,获取用于运行游戏所需的游戏逻辑代码、通信代码以及欲发布的游戏平台信息,其中,游戏逻辑代码包括逻辑层代码和表现层代码,通信代码包括跨平台代码以及与不同游戏平台对应的多个平台差异性代码。可选的,该游戏逻辑代码采用c#语言编写,该通信代码采用c 语言编写。在本实施例中,该游戏逻辑代码和跨平台代码都是由游戏开发人员设计,其中,游戏逻辑代码用于实现游戏数据的运算以及表现,其只需开发人员编写一次;而通信代码则用于该游戏逻辑代码的跨平台使用,并进一步的基于其中的平台差异性代码处理跨平台的差异性;需要说明的是,在一套通信代码中,包含多项用于匹配不同游戏平台的平台差异性代码,该平台差异性代码由开发人员根据不同平台的源文件和特性编写,用于实现多个平台的发布;
47.s202,在平台差异性代码中添加开关程序,根据游戏平台信息配置开关程序的状态,调用编译平台跟据开关程序的状态编译通信代码输出第一执行文件;其中,通过开关程序可以按照需求控制一部分代码的编译或者不编译;例如,要将程序中的一段代码编译到ps平台,就把程序中ps平台对应编译开关打开,经过编译之后,ps平台对应的那部分代码就会编译生效,非ps平台的那部分代码则不会编译生效;对应的,在本实施例中,则是将需发布游戏平台对应的平台差异性代码的开关程序配置为开启状态,在编译阶段,编译平台则只会将欲发布平台对应的那部分平台差异性代码编译生效,再结合运行游戏必须的跨平台代码之后,生成基于通信代码平台的第一执行文件;
48.s203,调用unity3d工具编译游戏逻辑代码后导出第二执行文件,其中,第二执行文件可以被多个游戏平台执行;需要说明的是,unity3d工具提供一整套完善的软件解决方案,可用于创作、运营任何实时互动的2d和3d内容,并支持包括手机、平板电脑、pc、游戏主机、增强现实和虚拟现实设备等多种平台;在本实施例中,通过unity3d工具中的编译插件
编译该游戏逻辑代码之后导出第二执行文件,该第二执行文件可以在不同游戏平台上使用。但是,需要将该第二执行文件以及上述第一执行文件同时执行,才可以在平台上运行整个游戏;
49.s204,在第一执行文件和第二执行文件之间创建接口链接以实现相互调用,将创建接口链接之后的第一执行文件和第二执行文件打包成为游戏文件,发送游戏文件至对应的游戏平台。其中,为了实现多个平台的发布,该接口具有跨平台特性,可以在不同游戏平台上执行;另外,在创建接口连接之后,该第二执行文件代码在顶层作为主体调用通信代码,该第一执行文件则提供底层逻辑和接口服务,两者同时执行和互相调用共同支撑游戏文件包在对应游戏平台上的运行。
50.通过上述步骤s201至s204,相比较于相关技术中需要游戏开发人员针对不同的游戏平台设计多套游戏代码来发布的方法。本技术实施例通过将游戏逻辑代码和针对不同平台的差异性代码分离,其中,平台差异性代码由开发人员根据不同游戏平台的源文件和特性编写。进一步的,通过宏定义控制不同平台差异性代码的编译开启或关闭;针对不同平台编译出不同的游戏文件包之后,将该游戏文件包发送至对应的游戏平台。通过本技术实施例,解决了相关技术中不能一套游戏代码实现跨平台发布运行的问题,减少了游戏开发人员的工作成本,提升了游戏开发效率。
51.在其中一些实施例中,根据游戏平台信息配置开关程序的状态,调用编译平台跟据开关程序的状态编译通信代码输出第一执行文件包括:
52.将游戏平台信息对应的平台差异性代码的开关程序配置为开启状态,将其他的平台差异性代码的开关程序配置为关闭状态;调用编译平台编译通信代码中的跨平台代码;编译平台获取开关程序的开关状态,在开关程序被配置为开启状态的情况下,编译平台编译对应的平台差异性代码。需要说明的是,该开关程序的通过宏定义的实现方式,例如,针对ps平台的宏定义可以是define_ps。当该宏定义被设置的时候,该宏定义所包含的那部分代码(相当于本实施例中的欲编译的平台差异性代码)就会被编译搭配执行文件中;对应的,如果没有设置该宏定义,则对应的代码不会被编译生效。最后,编译平台集合跨平台代码和已被编译的平台差异性代码生成第一执行文件。
53.在其中一些实施例中,游戏的运行还需要ui图片和游戏模型。在本技术实施例中,终端10获取用于运行游戏所需的ui图片和游戏模型,将ui图片和游戏模型转换为游戏平台对应的格式,例如,如果需要将游戏文件包发布至安卓平台,则将该ui图片转换为etc格式;进一步的,将转换完成的ui图片和游戏模型添加在游戏文件中,发送游戏文件至对应的游戏平台。
54.在其中一些实施例中,玩家客户端通过底层网络模块连接游戏服务器,在游戏服务器上执行逻辑层代码,来实现游戏中数据的运算和数据传输;玩家客户端在本地执行表现层代码,表现层处理商户运算结果并通过显示器将逻辑层运算的结果显示在游戏界面上,其中,逻辑层代码是游戏中处理数据的部分,包括但不限于是比如伤害计算,金币增加,速度增加等。对应的,表现层代码反映逻辑层代码产生的游戏表现,包括但不限于是产生伤害对应的血条变化,对应的伤害飘字等。本实施例通过逻辑代码和表现层代码分离,在服务端执行逻辑层代码,在本地端执行表现层代码,解决了多平台玩家联机同步的问题,保证了在不同平台上玩家看到的游戏表现形式一致,不会因为平台差异导致游戏不同步的问题,
扩展了游戏的宽度,减少平台对游戏的限制,从而可以更好地满足多玩家联机游戏的需求。
55.需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
56.本实施例还提供了一种跨平台的游戏发布系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
57.图3是根据本技术实施例的一种跨平台的游戏发布系统的结构框图,如图3所示,该系统包括:获取模块31、配置模块32、编译模块33和发布模块34;
58.获取模块31用于运行游戏所需的游戏逻辑代码、通信代码以及欲发布的游戏平台信息,其中,游戏逻辑代码包括逻辑层代码和表现层代码,通信代码包括跨平台代码以及与不同游戏平台对应的多个平台差异性代码;
59.配置模块32用于在平台差异性代码中添加开关程序,根据游戏平台信息配置开关程序的状态;
60.编译模块33用于跟据开关程序的状态编译通信代码输出第一执行文件;以及编译游戏逻辑代码后导出第二执行文件,其中,第二执行文件可以被多个游戏平台执行;
61.发布模块34用于在第一执行文件和第二执行文件之间创建接口链接以实现相互调用,将创建接口链接之后的第一执行文件和第二执行文件打包成为游戏文件,发送游戏文件至对应的游戏平台。
62.在其中一些实施例中,获取模块31还用于获取用于运行游戏所需的ui图片和游戏模型,将ui图片和游戏模型转换为游戏平台对应的格式;将转换完成的ui图片和游戏模型添加在游戏文件中,发送游戏文件至对应的游戏平台。
63.需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
64.本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
65.可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
66.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
67.s1,获取用于运行游戏所需的游戏逻辑代码、通信代码以及欲发布的游戏平台信息。
68.s2,通过开关控制编译通信代码和逻辑代码并导出第一执行文件和第二执行文件。
69.s3,在第一执行文件和第二执行文件之间创建接口连接已实现调用,将创建连接之后的第一执行文件和第二执行文件打包生成游戏文件包并发布至对应的游戏平台。
70.需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所
描述的示例,本实施例在此不再赘述。
71.另外,结合上述实施例中的跨平台的游戏发布方法,本技术实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种跨平台的游戏发布方法。
72.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种跨平台的游戏发布方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
73.在一个实施例中,图4是根据本技术实施例的电子设备的内部结构示意图,如图4所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图4所示。该电子设备包括通过内部总线连接的处理器、网络接口、内存储器和非易失性存储器,其中,该非易失性存储器存储有操作系统、计算机程序和数据库。处理器用于提供计算和控制能力,网络接口用于与外部的终端通过网络连接通信,内存储器用于为操作系统和计算机程序的运行提供环境,计算机程序被处理器执行时以实现一种跨平台的游戏发布方法,数据库用于存储数据。
74.本领域技术人员可以理解,图4中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
75.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
76.本领域的技术人员应该明白,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
77.以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。
因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜