CN113535180A - 一种跨平台的游戏发布方法、系统和计算机可读存储介质 - Google Patents
一种跨平台的游戏发布方法、系统和计算机可读存储介质 Download PDFInfo
- Publication number
- CN113535180A CN113535180A CN202110660677.8A CN202110660677A CN113535180A CN 113535180 A CN113535180 A CN 113535180A CN 202110660677 A CN202110660677 A CN 202110660677A CN 113535180 A CN113535180 A CN 113535180A
- Authority
- CN
- China
- Prior art keywords
- game
- platform
- codes
- execution file
- code
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000004891 communication Methods 0.000 claims abstract description 35
- 238000004806 packaging method and process Methods 0.000 claims abstract description 7
- 238000004590 computer program Methods 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000011161 development Methods 0.000 abstract description 7
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 11
- 230000006378 damage Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 208000027418 Wounds and injury Diseases 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 208000014674 injury Diseases 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static 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/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种跨平台的游戏发布方法和系统,其中,该跨平台的游戏发布方法包括:获取用于运行游戏所需的游戏逻辑代码、通信代码以及欲发布的游戏平台信息,在平台差异性代码中添加开关程序,根据游戏平台信息配置开关程序的状态,调用编译平台跟据开关程序的状态编译通信代码输出第一执行文件;调用unity3D工具编译游戏逻辑代码后导出第二执行文件,在第一执行文件和第二执行文件之间创建接口链接以实现相互调用,将创建接口链接之后的第一执行文件和第二执行文件打包成为游戏文件,发送游戏文件至对应的游戏平台。通过本申请,解决了相关技术中不能一套游戏代码实现跨平台发布运行的问题,减少了游戏开发人员的工作成本,提升了游戏开发效率。
Description
技术领域
本申请涉及游戏开发领域,特别是涉及一种跨平台的游戏发布方法、系统和计算机可读存储介质。
背景技术
目前,市场上有多种运行游戏的平台,例如,IOS、Windows、PS4和XBOX等。由于广大用户长期积累的使用习惯,游戏玩家往往分散在不同的平台上。
为了使游戏应用适配于多个平台,游戏开发商需要将自己的游戏产品开发为多个不同的版本,从而获取更多的用户数量。但是,由于市面上存在多个平台,如果对于每一个平台都设计一套游戏代码,游戏开发人员需要付出较大的工作量,另外,也导致整个开发周期较长。
目前针对相关技术中,使用一套游戏代码不能跨平台发布运行的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种跨平台的游戏发布方法、系统、计算机设备和计算机可读存储介质,以至少解决相关技术中游戏代码不能跨平台发布运行的问题的问题。
第一方面,本申请实施例提供了一种跨平台的游戏发布方法,所述方法包括:
获取用于运行游戏所需的游戏逻辑代码、通信代码以及欲发布的游戏平台信息,其中,所述游戏逻辑代码包括逻辑层代码和表现层代码,所述通信代码包括跨平台代码以及与不同游戏平台对应的多个平台差异性代码;
在所述平台差异性代码中添加开关程序,根据所述游戏平台信息配置所述开关程序的状态,调用编译平台跟据所述开关程序的状态编译所述通信代码输出第一执行文件;
调用unity3D工具编译所述游戏逻辑代码后导出第二执行文件,其中,所述第二执行文件可以被多个所述游戏平台执行;
在所述第一执行文件和所述第二执行文件之间创建接口链接以实现相互调用,将创建所述接口链接之后的所述第一执行文件和所述第二执行文件打包成为游戏文件,发送所述游戏文件至对应的所述游戏平台。
在其中一些实施例中,根据所述游戏平台信息配置所述开关程序的状态,调用编译平台跟据所述开关程序的状态编译所述通信代码输出第一执行文件包括:
将所述游戏平台信息对应的所述平台差异性代码的开关程序配置为开启状态,将其他的所述平台差异性代码的开关程序配置为关闭状态;
调用编译平台编译所述通信代码中的所述跨平台代码;
所述编译平台获取所述开关程序的开关状态,在所述开关程序被配置为开启状态的情况下,所述编译平台编译对应的所述平台差异性代码;
所述编译平台集合所述跨平台代码和已被编译的所述平台差异性代码生成所述第一执行文件。
在其中一些实施例中,在所述第一执行文件和所述第二执行文件之间创建接口链接以实现相互调用之后,所述方法还包括:
获取用于运行游戏所需的UI图片和游戏模型,将所述UI图片和所述游戏模型转换为所述游戏平台对应的格式;
将所述转换完成的所述UI图片和所述游戏模型添加在所述游戏文件中,发送所述游戏文件至对应的所述游戏平台。
在其中一些实施例中,发送所述游戏文件至对应的所述游戏平台之后,所述方法还包括:
玩家客户端通过底层网络模块连接游戏服务器,在所述游戏服务器上执行所述逻辑层代码以实现游戏中数据的运算和传输;
玩家客户端在本地执行所述表现层代码,并指示显示器将所述逻辑层运算的结果显示在游戏界面上。
在其中一些实施例中,所述平台差异性代码由开发人员根据所述游戏平台对应的源文件和特性编写;所述接口具有跨平台特性以实现在多个所述游戏平台上的执行。
在其中一些实施例中,所述游戏逻辑代码是C#代码,所以通信代码是C++代码。
第二方面,本申请实施例提供了一种跨平台的游戏发布系统,所述系统包括:获取模块、配置模块、编译模块和发布模块;
所述获取模块用于运行游戏所需的游戏逻辑代码、通信代码以及欲发布的游戏平台信息,其中,所述游戏逻辑代码包括逻辑层代码和表现层代码,所述通信代码包括跨平台代码以及与不同游戏平台对应的多个平台差异性代码;
所述配置模块用于在所述平台差异性代码中添加开关程序,根据所述游戏平台信息配置所述开关程序的状态;
所述编译模块用于跟据所述开关程序的状态编译所述通信代码输出第一执行文件;以及编译所述游戏逻辑代码后导出第二执行文件,其中,所述第二执行文件可以被多个所述游戏平台执行;
所述发布模块用于在所述第一执行文件和所述第二执行文件之间创建接口链接以实现相互调用,将创建所述接口链接之后的所述第一执行文件和所述第二执行文件打包成为游戏文件,发送所述游戏文件至对应的所述游戏平台。
在其中一些实施例中,所述获取模块还用于:
获取用于运行游戏所需的UI图片和游戏模型,将所述UI图片和所述游戏模型转换为所述游戏平台对应的格式;
将所述转换完成的所述UI图片和所述游戏模型添加在所述游戏文件中,发送所述游戏文件至对应的所述游戏平台。
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的一种跨平台的游戏发布方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的一种跨平台的游戏发布方法。
相比于相关技术,本申请实施例提供的一种跨平台的游戏发布方法,通过将游戏逻辑代码和跨平台代码作分离,其中,跨平台代码中的平台差异性代码是根据不同游戏平台的源文件和特性编写的。在发布游戏时,只需将欲发布游戏平台对应的那部分平台差异性代码的程序开关设置为开启状态。再通过预设的编译平台以及unity的编译插件将跨平台代码和游戏逻辑编译,并导出第一执行文件和第二执行文件。通过接口链接在第一执行文件和第二执行文件之间创建调用关系。最后,集合已经创建接口链接的第一执行文件和第二执行文件生成游戏文件包,将该游戏文件包发送至对应的游戏平台。解决了相关技术中不能使用一套游戏代码实现跨平台发布游戏的问题,通过一套游戏代码即实现多平台的游戏发布,减少了游戏开发人员的工作成本,提升了游戏开发效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种跨平台的游戏发布方法的应用环境示意图;
图2是根据本申请实施例的跨平台的游戏发布方法的流程图
图3是根据本申请实施例的一种跨平台的游戏发布系统的结构框图;
图4是根据本申请实施例的电子设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本申请实施例提供的一种跨平台的游戏发布方法,可以应用在图1所示的应用环境中,图1是根据本申请实施例的一种跨平台的游戏发布方法的应用环境示意图。如图1所示,终端10与服务器11通过网络进行通信,终端10上安装有设计以及编译游戏程序代码的应用客户端,游戏开发人员可以通过终端10上的如触摸屏、实体按键以及键盘和鼠标等外部设备对用用客户端发送设计指令来编写同于运行游戏所需的游戏代码。终端10还根据游戏开发人员的操作指令以对该游戏代码进行处理后可以生成适用于不同游戏平台的游戏文件包。最后,终端10将游戏文件包发送至对应游戏平台的服务器11。需要说明的是,终端10可以是智能手机、平板电脑、台式电脑、笔记本电脑和智能可穿戴设备;服务器11可以是独立的服务器或者是多个服务器组成的服务器集群。
本申请提供了一种跨平台的游戏发布方法,图2是根据本申请实施例的跨平台的游戏发布方法的流程图,如图2所示,该流程包括如下步骤:
S201,获取用于运行游戏所需的游戏逻辑代码、通信代码以及欲发布的游戏平台信息,其中,游戏逻辑代码包括逻辑层代码和表现层代码,通信代码包括跨平台代码以及与不同游戏平台对应的多个平台差异性代码。可选的,该游戏逻辑代码采用C#语言编写,该通信代码采用C++语言编写。在本实施例中,该游戏逻辑代码和跨平台代码都是由游戏开发人员设计,其中,游戏逻辑代码用于实现游戏数据的运算以及表现,其只需开发人员编写一次;而通信代码则用于该游戏逻辑代码的跨平台使用,并进一步的基于其中的平台差异性代码处理跨平台的差异性;需要说明的是,在一套通信代码中,包含多项用于匹配不同游戏平台的平台差异性代码,该平台差异性代码由开发人员根据不同平台的源文件和特性编写,用于实现多个平台的发布;
S202,在平台差异性代码中添加开关程序,根据游戏平台信息配置开关程序的状态,调用编译平台跟据开关程序的状态编译通信代码输出第一执行文件;其中,通过开关程序可以按照需求控制一部分代码的编译或者不编译;例如,要将程序中的一段代码编译到PS平台,就把程序中PS平台对应编译开关打开,经过编译之后,PS平台对应的那部分代码就会编译生效,非PS平台的那部分代码则不会编译生效;对应的,在本实施例中,则是将需发布游戏平台对应的平台差异性代码的开关程序配置为开启状态,在编译阶段,编译平台则只会将欲发布平台对应的那部分平台差异性代码编译生效,再结合运行游戏必须的跨平台代码之后,生成基于通信代码平台的第一执行文件;
S203,调用unity3D工具编译游戏逻辑代码后导出第二执行文件,其中,第二执行文件可以被多个游戏平台执行;需要说明的是,unity3D工具提供一整套完善的软件解决方案,可用于创作、运营任何实时互动的2D和3D内容,并支持包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备等多种平台;在本实施例中,通过unity3D工具中的编译插件编译该游戏逻辑代码之后导出第二执行文件,该第二执行文件可以在不同游戏平台上使用。但是,需要将该第二执行文件以及上述第一执行文件同时执行,才可以在平台上运行整个游戏;
S204,在第一执行文件和第二执行文件之间创建接口链接以实现相互调用,将创建接口链接之后的第一执行文件和第二执行文件打包成为游戏文件,发送游戏文件至对应的游戏平台。其中,为了实现多个平台的发布,该接口具有跨平台特性,可以在不同游戏平台上执行;另外,在创建接口连接之后,该第二执行文件代码在顶层作为主体调用通信代码,该第一执行文件则提供底层逻辑和接口服务,两者同时执行和互相调用共同支撑游戏文件包在对应游戏平台上的运行。
通过上述步骤S201至S204,相比较于相关技术中需要游戏开发人员针对不同的游戏平台设计多套游戏代码来发布的方法。本申请实施例通过将游戏逻辑代码和针对不同平台的差异性代码分离,其中,平台差异性代码由开发人员根据不同游戏平台的源文件和特性编写。进一步的,通过宏定义控制不同平台差异性代码的编译开启或关闭;针对不同平台编译出不同的游戏文件包之后,将该游戏文件包发送至对应的游戏平台。通过本申请实施例,解决了相关技术中不能一套游戏代码实现跨平台发布运行的问题,减少了游戏开发人员的工作成本,提升了游戏开发效率。
在其中一些实施例中,根据游戏平台信息配置开关程序的状态,调用编译平台跟据开关程序的状态编译通信代码输出第一执行文件包括:
将游戏平台信息对应的平台差异性代码的开关程序配置为开启状态,将其他的平台差异性代码的开关程序配置为关闭状态;调用编译平台编译通信代码中的跨平台代码;编译平台获取开关程序的开关状态,在开关程序被配置为开启状态的情况下,编译平台编译对应的平台差异性代码。需要说明的是,该开关程序的通过宏定义的实现方式,例如,针对PS平台的宏定义可以是DEFINE_PS。当该宏定义被设置的时候,该宏定义所包含的那部分代码(相当于本实施例中的欲编译的平台差异性代码)就会被编译搭配执行文件中;对应的,如果没有设置该宏定义,则对应的代码不会被编译生效。最后,编译平台集合跨平台代码和已被编译的平台差异性代码生成第一执行文件。
在其中一些实施例中,游戏的运行还需要UI图片和游戏模型。在本申请实施例中,终端10获取用于运行游戏所需的UI图片和游戏模型,将UI图片和游戏模型转换为游戏平台对应的格式,例如,如果需要将游戏文件包发布至安卓平台,则将该UI图片转换为ETC格式;进一步的,将转换完成的UI图片和游戏模型添加在游戏文件中,发送游戏文件至对应的游戏平台。
在其中一些实施例中,玩家客户端通过底层网络模块连接游戏服务器,在游戏服务器上执行逻辑层代码,来实现游戏中数据的运算和数据传输;玩家客户端在本地执行表现层代码,表现层处理商户运算结果并通过显示器将逻辑层运算的结果显示在游戏界面上,其中,逻辑层代码是游戏中处理数据的部分,包括但不限于是比如伤害计算,金币增加,速度增加等。对应的,表现层代码反映逻辑层代码产生的游戏表现,包括但不限于是产生伤害对应的血条变化,对应的伤害飘字等。本实施例通过逻辑代码和表现层代码分离,在服务端执行逻辑层代码,在本地端执行表现层代码,解决了多平台玩家联机同步的问题,保证了在不同平台上玩家看到的游戏表现形式一致,不会因为平台差异导致游戏不同步的问题,扩展了游戏的宽度,减少平台对游戏的限制,从而可以更好地满足多玩家联机游戏的需求。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例还提供了一种跨平台的游戏发布系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本申请实施例的一种跨平台的游戏发布系统的结构框图,如图3所示,该系统包括:获取模块31、配置模块32、编译模块33和发布模块34;
获取模块31用于运行游戏所需的游戏逻辑代码、通信代码以及欲发布的游戏平台信息,其中,游戏逻辑代码包括逻辑层代码和表现层代码,通信代码包括跨平台代码以及与不同游戏平台对应的多个平台差异性代码;
配置模块32用于在平台差异性代码中添加开关程序,根据游戏平台信息配置开关程序的状态;
编译模块33用于跟据开关程序的状态编译通信代码输出第一执行文件;以及编译游戏逻辑代码后导出第二执行文件,其中,第二执行文件可以被多个游戏平台执行;
发布模块34用于在第一执行文件和第二执行文件之间创建接口链接以实现相互调用,将创建接口链接之后的第一执行文件和第二执行文件打包成为游戏文件,发送游戏文件至对应的游戏平台。
在其中一些实施例中,获取模块31还用于获取用于运行游戏所需的UI图片和游戏模型,将UI图片和游戏模型转换为游戏平台对应的格式;将转换完成的UI图片和游戏模型添加在游戏文件中,发送游戏文件至对应的游戏平台。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取用于运行游戏所需的游戏逻辑代码、通信代码以及欲发布的游戏平台信息。
S2,通过开关控制编译通信代码和逻辑代码并导出第一执行文件和第二执行文件。
S3,在第一执行文件和第二执行文件之间创建接口连接已实现调用,将创建连接之后的第一执行文件和第二执行文件打包生成游戏文件包并发布至对应的游戏平台。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
另外,结合上述实施例中的跨平台的游戏发布方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种跨平台的游戏发布方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种跨平台的游戏发布方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,图4是根据本申请实施例的电子设备的内部结构示意图,如图4所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图4所示。该电子设备包括通过内部总线连接的处理器、网络接口、内存储器和非易失性存储器,其中,该非易失性存储器存储有操作系统、计算机程序和数据库。处理器用于提供计算和控制能力,网络接口用于与外部的终端通过网络连接通信,内存储器用于为操作系统和计算机程序的运行提供环境,计算机程序被处理器执行时以实现一种跨平台的游戏发布方法,数据库用于存储数据。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
本领域的技术人员应该明白,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种跨平台的游戏发布方法,其特征在于,所述方法包括:
获取用于运行游戏所需的游戏逻辑代码、通信代码以及欲发布的游戏平台信息,其中,所述游戏逻辑代码包括逻辑层代码和表现层代码,所述通信代码包括跨平台代码以及与不同游戏平台对应的多个平台差异性代码;
在所述平台差异性代码中添加开关程序,根据所述游戏平台信息配置所述开关程序的状态,调用编译平台跟据所述开关程序的状态编译所述通信代码输出第一执行文件;
调用unity3D工具编译所述游戏逻辑代码后导出第二执行文件,其中,所述第二执行文件可以被多个所述游戏平台执行;
所述在所述第一执行文件和所述第二执行文件之间创建接口链接以实现相互调用,将创建所述接口链接之后的所述第一执行文件和所述第二执行文件打包成为游戏文件,发送所述游戏文件至对应的所述游戏平台。
2.根据权利要求1所述的方法,其特征在于,所述根据所述游戏平台信息配置所述开关程序的状态,调用编译平台跟据所述开关程序的状态编译所述通信代码输出第一执行文件包括:
将所述游戏平台信息对应的所述平台差异性代码的开关程序配置为开启状态,将其他的所述平台差异性代码的开关程序配置为关闭状态;
调用编译平台编译所述通信代码中的所述跨平台代码;
所述编译平台获取所述开关程序的开关状态,在所述开关程序被配置为开启状态的情况下,所述编译平台编译对应的所述平台差异性代码;
所述编译平台集合所述跨平台代码和已被编译的所述平台差异性代码生成所述第一执行文件。
3.根据权利要求1所述的方法,其特征在于,在所述第一执行文件和所述第二执行文件之间创建接口链接以实现相互调用之后,所述方法还包括:
获取用于运行游戏所需的UI图片和游戏模型,将所述UI图片和所述游戏模型转换为所述游戏平台对应的格式;
将所述转换完成的所述UI图片和所述游戏模型添加在所述游戏文件中,发送所述游戏文件至对应的所述游戏平台。
4.根据权利要求1所述方法,其特征在于,发送所述游戏文件至对应的所述游戏平台之后,所述方法还包括:
玩家客户端通过底层网络模块连接游戏服务器,在所述游戏服务器上执行所述逻辑层代码以实现游戏中数据的运算和传输;
玩家客户端在本地执行所述表现层代码,并指示显示器将所述逻辑层运算的结果显示在游戏界面上。
5.根据权利要求1所述的方法,其特征在于,所述平台差异性代码由开发人员根据所述游戏平台对应的源文件和特性编写;所述接口具有跨平台特性以实现在多个所述游戏平台上的执行。
6.根据权利要求1所述的方法,其特征在于,所述游戏逻辑代码是C#代码,所以通信代码是C++代码。
7.本申请实施例提供了一种跨平台的游戏发布系统,其特征在于,所述系统包括:获取模块、配置模块、编译模块和发布模块;
所述获取模块用于运行游戏所需的游戏逻辑代码、通信代码以及欲发布的游戏平台信息,其中,所述游戏逻辑代码包括逻辑层代码和表现层代码,所述通信代码包括跨平台代码以及与不同游戏平台对应的多个平台差异性代码;
所述配置模块用于在所述平台差异性代码中添加开关程序,根据所述游戏平台信息配置所述开关程序的状态;
所述编译模块用于跟据所述开关程序的状态编译所述通信代码输出第一执行文件;以及编译所述游戏逻辑代码后导出第二执行文件,其中,所述第二执行文件可以被多个所述游戏平台执行;
所述发布模块用于在所述第一执行文件和所述第二执行文件之间创建接口链接以实现相互调用,将创建所述接口链接之后的所述第一执行文件和所述第二执行文件打包成为游戏文件,发送所述游戏文件至对应的所述游戏平台。
8.根据权利要求7所述的系统,其特征在于,所述获取模块还用于:
获取用于运行游戏所需的UI图片和游戏模型,将所述UI图片和所述游戏模型转换为所述游戏平台对应的格式;
将所述转换完成的所述UI图片和所述游戏模型添加在所述游戏文件中,发送所述游戏文件至对应的所述游戏平台。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的一种跨平台的游戏发布方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至6中任一项所述的一种跨平台的游戏发布方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110660677.8A CN113535180A (zh) | 2021-06-15 | 2021-06-15 | 一种跨平台的游戏发布方法、系统和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110660677.8A CN113535180A (zh) | 2021-06-15 | 2021-06-15 | 一种跨平台的游戏发布方法、系统和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113535180A true CN113535180A (zh) | 2021-10-22 |
Family
ID=78124955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110660677.8A Pending CN113535180A (zh) | 2021-06-15 | 2021-06-15 | 一种跨平台的游戏发布方法、系统和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113535180A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140157246A1 (en) * | 2012-12-04 | 2014-06-05 | Zynga Inc. | Building cross-platform asynchronous games |
CN104090765A (zh) * | 2014-07-16 | 2014-10-08 | 福建天晴数码有限公司 | 一种手机游戏转网页游戏的方法及装置 |
CN109542443A (zh) * | 2017-07-27 | 2019-03-29 | 阿里巴巴集团控股有限公司 | 应用程序的编译方法及装置、计算机终端、数据处理方法 |
CN111142935A (zh) * | 2019-12-31 | 2020-05-12 | 奇安信科技集团股份有限公司 | 跨平台运行应用程序的方法、装置、计算机系统和介质 |
-
2021
- 2021-06-15 CN CN202110660677.8A patent/CN113535180A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140157246A1 (en) * | 2012-12-04 | 2014-06-05 | Zynga Inc. | Building cross-platform asynchronous games |
CN104090765A (zh) * | 2014-07-16 | 2014-10-08 | 福建天晴数码有限公司 | 一种手机游戏转网页游戏的方法及装置 |
CN109542443A (zh) * | 2017-07-27 | 2019-03-29 | 阿里巴巴集团控股有限公司 | 应用程序的编译方法及装置、计算机终端、数据处理方法 |
CN111142935A (zh) * | 2019-12-31 | 2020-05-12 | 奇安信科技集团股份有限公司 | 跨平台运行应用程序的方法、装置、计算机系统和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108563517B (zh) | 系统接口的调用方法及装置 | |
CN102741828B (zh) | 对计算机平台的异构处理器的双向通信支持 | |
Mikkonen et al. | Apps vs. open web: The battle of the decade | |
CN110691136A (zh) | 数据交互方法、装置、电子设备及存储介质 | |
CN106250124B (zh) | 功能模块跨平台运行的实现方法和装置 | |
US20120137211A1 (en) | Method and Apparatus for Specifying Mapping Parameters for User Interface Element Presentation in an Application | |
CN106547580B (zh) | 挂钩函数的方法、装置、移动终端及存储介质 | |
CN103443763B (zh) | 包含对重写虚拟函数的调用的支持的isa桥接 | |
CN110750255A (zh) | 一种小程序渲染方法和装置 | |
CN107436786A (zh) | 应用启动优化方法、装置及计算机可读存储介质 | |
CN108376066B (zh) | 代码处理装置及代码处理方法 | |
CN109509242B (zh) | 虚拟对象面部表情生成方法及装置、存储介质、电子设备 | |
CN104025046A (zh) | 利用调回的isa桥接 | |
CN103577226B (zh) | 一种IOS和Android平台上的组件式游戏构建方法 | |
CN102388363B (zh) | 电子器件及执行虚拟机中指令的方法 | |
CN113419712A (zh) | 跨平台的应用生成方法、跨平台应用调用方法、开发装置 | |
CN113535180A (zh) | 一种跨平台的游戏发布方法、系统和计算机可读存储介质 | |
CN106933439B (zh) | 一种基于社交平台的图片处理方法及系统 | |
CN115048112A (zh) | 微服务部署方法、装置、电子设备和存储介质 | |
CN110018831B (zh) | 程序处理方法、装置及计算机可读存储介质 | |
CN114028801A (zh) | 基于云端的用户输入方法、装置、设备及存储介质 | |
CN113407259B (zh) | 加载场景的方法、装置、设备以及存储介质 | |
Lee et al. | SAMD: Fine-grained application sharing for mobile collaboration | |
CN111104183B (zh) | 应用程序运行方法、装置、电子设备及存储介质 | |
Andrus et al. | Binary compatible graphics support in Android for running iOS apps |
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 |