CN103425491A - 一种游戏引擎 - Google Patents

一种游戏引擎 Download PDF

Info

Publication number
CN103425491A
CN103425491A CN2013103247247A CN201310324724A CN103425491A CN 103425491 A CN103425491 A CN 103425491A CN 2013103247247 A CN2013103247247 A CN 2013103247247A CN 201310324724 A CN201310324724 A CN 201310324724A CN 103425491 A CN103425491 A CN 103425491A
Authority
CN
China
Prior art keywords
engine
engine modules
game
interface
unit
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
Application number
CN2013103247247A
Other languages
English (en)
Other versions
CN103425491B (zh
Inventor
刘振荣
朱顺炎
朱伟
李晓峰
曹兵强
罗伙华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Guangzhou Dongjing Computer Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Dongjing Computer Technology Co Ltd filed Critical Guangzhou Dongjing Computer Technology Co Ltd
Priority to CN201310324724.7A priority Critical patent/CN103425491B/zh
Priority to CN201610811025.9A priority patent/CN106445508B/zh
Publication of CN103425491A publication Critical patent/CN103425491A/zh
Application granted granted Critical
Publication of CN103425491B publication Critical patent/CN103425491B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/22Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种游戏引擎,包括:游戏框架模块、第二引擎模块、位于游戏框架模块和第二引擎模块之间的第一引擎模块;所述游戏框架模块,用于存储游戏程序脚本;所述第一引擎模块,用于加载、解析并执行所述游戏框架模块中的游戏程序脚本,在执行过程中调用所述第二引擎模块提供的定义对象和API接口;所述第二引擎模块,用于为所述第一引擎模块提供扩展的定义对象和扩展的API接口,为所述游戏框架模块中的游戏程序脚本提供HTML5运行环境;其中,所述第二引擎模块通过NPAPI接口和移动终端的浏览器进行交互。本发明方案能支持目前HTML5的基本特性,屏蔽平台差异性,方便游戏开发者在手机平台上开发游戏,提高游戏性能和体验。

Description

一种游戏引擎
技术领域
本发明涉及移动网络游戏技术领域,更为具体地,涉及一种游戏引擎。
背景技术
网页HTML5的标准已经制定,但各平台对HTML5的支持并不好,存在较为严重的兼容性问题和性能问题,导致HTML5应用一直处于无法大规模推广状态,采用HTML5开发游戏问题更为严重,因为游戏对HTML5的性能要求更高。另一方面,因为HTML5具备跨平台特性和开放性,如果能充分利用HTML5标准,则游戏开发商可以大大降低游戏研发成本和发行成本。对于用户而言,也希望游戏可以随处可玩,游戏的更新迭代速度更快。
上述问题的实现都和游戏引擎相关,现有技术中提供的游戏引擎,一般具有以下特点:1)都是自有封装一套API(Application Programming Interface,应用程序编程接口),就是各自定义属于自己的标准。2)面向的开发者是熟悉编译型语言的开发者,例如c/c++或java语言,开发成本比较高。3)并未有提供完整的资源更新方案,需要开发者自己开发。
因此,现有手机游戏的游戏引擎,存在平台不兼容、开放程度低、开发复杂等问题。
发明内容
鉴于上述,本发明提出了一种游戏引擎,能支持目前HTML5的基本特性,屏蔽平台差异性,方便游戏开发者在手机平台上开发游戏,提高游戏性能和体验。
    根据本发明的一个方面,提供了一种游戏引擎,包括: 游戏框架模块、第二引擎模块、位于游戏框架模块和第二引擎模块之间的第一引擎模块;所述游戏框架模块,用于存储游戏程序脚本;所述第一引擎模块,用于加载、解析并执行所述游戏框架模块中的游戏程序脚本,在执行过程中调用所述第二引擎模块提供的定义对象和API接口;所述第二引擎模块,用于为所述第一引擎模块提供扩展的定义对象和扩展的API接口,为所述游戏框架模块中的游戏程序脚本提供HTML5运行环境;其中,所述第二引擎模块通过NPAPI接口和移动终端的浏览器进行交互。
     所述第二引擎模块包含内核单元、包壳单元和插件单元;所述插件单元,用于在通过NPAPI接口获取移动终端的浏览器的指令后,调用所述内核单元;所述内核单元,用于在被所述插件单元调用后,为所述第一引擎模块执行所述游戏框架模块中的游戏程序脚本提供扩展的定义对象和扩展的API接口,为所述游戏框架模块中的游戏程序脚本提供HTML5运行环境;所述包壳单元,用于利用所述内核单元的设置,提供将所述第二引擎模块打包成客户端形式供内容提供商使用的功能。
所述第二引擎模块的内核单元包括对象单元和接口单元;所述对象单元,用于为所述第一引擎模块执行所述游戏框架模块中的游戏程序脚本提供扩展的定义对象,为所述游戏框架模块中的游戏程序脚本提供HTML5运行环境;
所述接口单元,用于为所述第一引擎模块执行所述游戏框架模块中的游戏程序脚本提供扩展的API接口。
     所述第二引擎模块的内核单元的对象单元包括:画布子单元,用于为所述第一引擎模块提供可调用的Canvas对象,实现HTML5的画布功能;WebSocket子单元,用于为所述第一引擎模块提供可调用的WebSocket对象,按HTML5标准实现与服务器的通信。
所述第二引擎模块的内核单元的对象单元还包括以下的一个或多个子单元:XHR子单元,用于为所述第一引擎模块提供可调用的XHR对象,实现本地和网络数据的读取;音频子单元,用于为所述第一引擎模块提供可调用的Audio对象,实现音频处理;本地存储子单元,用于为所述第一引擎模块提供可调用的LocalStorage对象,实现按照域名存储数据;Cookie子单元,用于为所述第一引擎模块提供可调用的 Cookie对象,实现按照域名存储Cookie信息;缓存子单元,用于为所述第一引擎模块提供可调用的ApplicationCache对象,实现存储缓存文件。
 所述缓存子单元中,以主机域名和端口号,或者以地址和端口号组成的域来决定唯一的主机目录,所述主机目录存放该域下涉及到的app cache文件及普通的缓存文件,且以manifest文件的URL为标志来决定一个app cache文件的存储空间。
 所述第二引擎模块的内核单元的接口单元包括以下的一个或多个接口:OpenGLES接口,用于提供接口实现图形渲染,被所述 画布子单元进行封装实现对渲染性能的加速;媒体播放接口,用于提供接口实现音频播放;套接字接口,用于提供接口实现网络请求;文本存储接口,用于提供接口实现数据存储。
 所述游戏引擎包括:所述画布子单元创建 Canvas对象,其中每个Canvas对象维护有画图列表,所述画图列表里面的对象对应屏幕上的元素;所述OpenGLES接口的缓冲区接收所述Canvas对象维护的画图列表中的元素的填充,再通过 GLSurfaceView视图显示渲染的图像。
     所述第二引擎模块的插件单元包括:获取子单元,用于通过NPAPI接口获取移动终端的浏览器当前运行的上下文;请求单元,用于利用所述上下文向移动终端操作系统发起调用所述第二引擎模块的内核单元的请求,使得所述移动终端操作系统接收请求后调用所述内核单元。
所述游戏框架模块具体为JS游戏框架,所述第二引擎模块具体为加速引擎,所述第一引擎模块具体为JS引擎,所述第二引擎模块中的内核单元具体为X-Canvas内核,所述包壳单元具体为X-Canvas包壳,所述插件单元具体为X-Canvas插件。
 
利用上述技术方案,在游戏引擎中,通过新增的第二引擎模块为第一引擎模块提供扩展的定义对象和扩展的API接口,并为游戏程序脚本提供HTML5运行环境,使得在第一引擎模块在游戏程序脚本的执行过程中可以调用第二引擎模块提供的定义对象和API接口,从而克服现有技术的游戏引擎各自封装一套API接口而不兼容的缺陷,实现屏蔽平台差异性,方便游戏开发者在手机平台上开发游戏,提高游戏性能和体验。
 
为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。
附图说明
根据下述参照附图进行的详细描述,本发明的上述和其他目的、特征和优点将变得更加显而易见。在附图中:
图1是本发明实施例的游戏引擎的结构示意图;
图2是本发明实施例的游戏引擎中的第二引擎模块的结构示意图;
图3是本发明实施例的游戏引擎中的第二引擎模块的内核单元的结构示意图。
在所有附图中相同的标号指示相似或相应的特征或功能。
具体实施方式
下面描述本公开的各个方面。应该明白的是,本文的教导可以以多种多样形式具体体现,并且在本文中公开的任何具体结构、功能或两者仅仅是代表性的。基于本文的教导,本领域技术人员应该明白的是,本文所公开的一个方面可以独立于任何其它方面实现,并且这些方面中的两个或多个方面可以按照各种方式组合。例如,可以使用本文所阐述的任何数目的方面,实现装置或实践方法。另外,可以使用其它结构、功能、或除了本文所阐述的一个或多个方面之外或不是本文所阐述的一个或多个方面的结构和功能,实现这种装置或实践这种方法。此外,本文所描述的任何方面可以包括权利要求的至少一个元素。
本发明提出了一种游戏引擎,能支持目前HTML5的基本特性,屏蔽平台差异性,方便游戏开发者在手机平台上开发游戏,提高游戏性能和体验。
下面将参照附图描述本发明的各个实施例。
图1是本发明实施例的游戏引擎的结构示意图。
    如图1所示,游戏引擎包括:游戏框架模块、第二引擎模块、位于游戏框架模块和第二引擎模块之间的第一引擎模块,第二引擎模块通过NPAPI(Netscape Plugin Application Programming Interface,网景插件应用程序编程接口)接口和移动终端的浏览器进行交互。
    其中,游戏框架模块,用于存储游戏程序脚本;
第一引擎模块,用于加载、解析并执行所述游戏框架模块中的游戏程序脚本,在执行过程中调用所述第二引擎模块提供的定义对象和API接口;
第二引擎模块,用于为所述第一引擎模块提供扩展的定义对象和扩展的API接口,为所述游戏框架模块中的游戏程序脚本提供HTML5运行环境。
进一步的,游戏框架模块具体为JS(Javascript)游戏框架,第二引擎模块具体为加速引擎,第一引擎模块具体为JS引擎。加速引擎是用于扩展JS引擎,而游戏框架是运行在JS引擎上面,因此可以说JS引擎是加速引擎和游戏框架两者之间的连接桥梁。
具体的,游戏框架是被JS引擎加载、解析和执行,因此可以认为游戏框架是运行在JS引擎上面。游戏引擎中是提供一些可选的JS游戏框架,即在游戏引擎可插拔地加入了一些游戏框架。
游戏框架模块存储的游戏程序脚本可以分两种,一种是游戏引擎提供的游戏库中的游戏程序脚本(目前提供createjs、quarkjs、box2d等游戏程序脚本),另外一种是游戏逻辑的游戏程序脚本。开发游戏时可以自行引入一些第三方的游戏库,例如CreateJS, QuarkJS, Cocos2D-HTML5等库,这可以给游戏开发提供足够的灵活性。
具体的,JS引擎可以进行各种不同操作,包括例如数据类型操作、Runtime(运行时刻)控制、类与对象的创建和维护、函数与脚本执行、字符串操作、错误处理、安全控制、Debug支持等功能。与游戏程序相关的操作则包括:加载、解析并执行游戏框架模块中的游戏程序脚本,并在执行过程中调用第二引擎模块提供的定义对象和API接口。
具体的,加速引擎可以提供使用OpenGL(Open Graphics Library)硬件加速实现的HTML5的运行环境,为JS引擎提供扩展的定义对象和扩展的API接口,例Canvas对象和OpenGLES(OpenGL for Embedded Systems)接口等,实现加速HTML5游戏的功能。
图2是本发明实施例的游戏引擎中的第二引擎模块的结构示意图。
第二引擎模块(加速引擎)是游戏引擎中最重要和关键的部分。如图2所示,第二引擎模块包含内核单元、包壳单元和插件单元。
具体的,内核单元指X-Canvas内核、包壳单元指X-Canvas包壳、插件单元指X-Canvas插件。本发明的游戏引擎也称为X-Canvas游戏引擎。
其中,插件单元,用于在通过NPAPI接口获取移动终端的浏览器的指令后,调用所述内核单元;
内核单元,用于在被所述插件单元调用后,为所述第一引擎模块执行所述游戏框架模块中的游戏程序脚本提供扩展的定义对象和扩展的API接口,为所述游戏框架模块中的游戏程序脚本提供HTML5运行环境;
包壳单元,用于利用所述内核单元的设置,提供将所述第二引擎模块打包成客户端形式供内容提供商使用的功能。
具体的,包壳单元提供与第二引擎模块相关的jar包和so库,使得内容提供商利用android系统本身的打包工具将所述第二引擎模块打包成客户端形式。
进一步的,所述第二引擎模块的插件单元包括:获取子单元和请求单元(图中未示出)。
 其中,获取子单元,用于通过NPAPI接口获取移动终端的浏览器当前运行的上下文(Context);
 请求单元,用于利用所述上下文向移动终端操作系统发起调用所述第二引擎模块的内核单元的请求,使得所述移动终端操作系统接收请求后调用所述内核单元。
本发明技术方案中,通过插件单元(X-Canvas插件),可以把第二引擎模块(加速引擎)做成一个插件的形式,在浏览器上以一个浏览器插件形式存在,可以直接安装在手机中,这样就可以使游戏引擎中的游戏直接在手机浏览器上运行。
图3是本发明实施例的游戏引擎中的第二引擎模块的内核单元的结构示意图。
如图3所示,第二引擎模块的内核单元包括对象单元和接口单元。
    其中,对象单元,用于为所述第一引擎模块执行所述游戏框架模块中的游戏程序脚本提供扩展的定义对象,为所述游戏框架模块中的游戏程序脚本提供HTML5运行环境;
接口单元,用于为所述第一引擎模块执行所述游戏框架模块中的游戏程序脚本提供扩展的API接口。
进一步的,对象单元包括:缓存(ApplicationCache)子单元、本地存储(LocalStorage)子单元、Cookie子单元、XHR (XMLHttpReuequest)子单元、画布(Canvas)子单元、音频(Audio)子单元、Window子单元 、WebSocket子单元。其中画布(Canvas)子单元为必选单元,其他为可选单元。
    其中,画布子单元,用于为所述第一引擎模块提供可调用的Canvas对象,实现HTML5的画布功能。例如Canvas对象中的fillRect,用于在屏幕上面填充矩形,Canvas对象中的strokeRect,用于在屏幕上面画矩形。画布子单元支持多个Canvas绘图。多个Canvas对象的层叠关系根据创建顺序来定,后创建的覆盖在先创建的Canvas对象之上。
    WebSocket子单元,用于为所述第一引擎模块提供可调用的WebSocket对象,按HTML5标准实现与服务器的通信。
    XHR子单元,用于为所述第一引擎模块提供可调用的XHR对象,实现本地和网络数据的读取。例如XHR对象中的onreadystatechange,用于指定当readyState属性改变时的事件处理函数,XHR对象中的readyState,用于返回当前请求的状态。
    音频子单元,用于为所述第一引擎模块提供可调用的Audio对象,实现音频处理。例如Audio对象中的Load,用于预加载音频,Audio对象中的src,用于设置音频文件路径。
    本地存储子单元,用于为所述第一引擎模块提供可调用的LocalStorage对象,实现按照域名存储数据。例如LocalStorage对象中的key,是key-value 对的 key 索引。
    Cookie子单元,用于为所述第一引擎模块提供可调用的 Cookie对象,实现按照域名存储Cookie信息。Cookie对象具备自动过期功能和在XHR请求的时候会自动带上本地cookie信息。
缓存子单元,用于为所述第一引擎模块提供可调用的ApplicationCache对象,实现存储缓存文件。
Window子单元,用于为所述第一引擎模块提供可调用的Window对象,兼容浏览器的一些接口和调用本地的某些对象或方法。
其中,在所述缓存子单元中,是以主机域名和端口号,或者以地址和端口号组成的域来决定唯一的主机目录,所述主机目录存放该域下涉及到的app cache文件及普通的缓存文件,且以manifest文件的URL为标志来决定一个app cache文件的存储空间,即app cache目录。其子目录cache文件目录存放manifest中描述需要进行本地缓存的文件,即manifest 文件中cache字段下所列举的文件。app cache 目录下还包含app cache index文件,其主要是管理app cache文件目录下的文件。
进一步的,接口单元包括以下的一个或多个接口:OpenGLES接口、媒体播放(Media Player)接口、套接字(Socekt)接口、文本存储(File System)接口。
OpenGLES接口,用于提供接口实现图形渲染,被所述 Canvas子单元进行封装实现对渲染性能的加速;
    媒体播放接口,用于提供接口实现音频播放;
    套接字接口,用于提供接口实现网络请求;
    文本存储接口,用于提供接口实现数据存储。
结合上述描述的结构,其中,画布子单元创建 Canvas对象,其中每个Canvas对象维护有画图列表,所述画图列表里面的对象对应屏幕上的元素,所述OpenGLES接口的缓冲区接收所述Canvas对象维护的画图列表中的元素的填充,再通过 GLSurfaceView视图显示渲染的图像。其中,GLSurfaceView是一个视图,用于OpenGLES的渲染。
从上述技术方案可以看出,本发明提供的游戏引擎(即X-Canvas游戏引擎)是遵循W3C的HTML5标准接口,在游戏引擎中,通过新增的第二引擎模块为第一引擎模块提供扩展的定义对象和扩展的API接口,并为游戏程序脚本提供HTML5运行环境,使得在第一引擎模块在游戏程序脚本的执行过程中可以调用第二引擎模块提供的定义对象和API接口,从而克服现有技术的游戏引擎各自封装一套API接口而不兼容的缺陷,实现屏蔽平台差异性,方便游戏开发者在手机平台上开发游戏,降低了开发手机游戏的门槛,为开发手机游戏提供了一套完整的手机游戏平台解决方案。而且,该游戏引擎不仅可以运行在PC浏览器上,也可以在手机浏览器上面运行、打包成客户端进行发布,并且可以跨Andorid、IOS平台使用。另外,该游戏引擎采用系统的GPU进行加速,大大地提高了游戏的体验。
本领域技术人员将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现所述的功能,但是这种实现决定不应被解释为导致脱离本发明的范围。
尽管前面公开的内容示出了本发明的示例性实施例,但是应当注意,在不背离权利要求限定的本发明的范围的前提下,可以进行多种改变和修改。根据这里描述的发明实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明的元素可以以个体形式描述或要求,但是也可以设想多个,除非明确限制为单数。
虽然如上参照图描述了根据本发明的各个实施例进行了描述,但是本领域技术人员应当理解,对上述本发明所提出的各个实施例,还可以在不脱离本发明内容的基础上做出各种改进。因此,本发明的保护范围应当由所附的权利要求书的内容确定。

Claims (10)

1.一种游戏引擎,包括:
游戏框架模块、第二引擎模块、位于游戏框架模块和第二引擎模块之间的第一引擎模块;
所述游戏框架模块,用于存储游戏程序脚本;
所述第一引擎模块,用于加载、解析并执行所述游戏框架模块中的游戏程序脚本,在执行过程中调用所述第二引擎模块提供的定义对象和API接口;
所述第二引擎模块,用于为所述第一引擎模块提供扩展的定义对象和扩展的API接口,为所述游戏框架模块中的游戏程序脚本提供HTML5运行环境;
其中,所述第二引擎模块通过NPAPI接口和移动终端的浏览器进行交互。
2.根据权利要求1所述的游戏引擎,所述第二引擎模块包含内核单元、包壳单元和插件单元;
所述插件单元,用于在通过NPAPI接口获取移动终端的浏览器的指令后,调用所述内核单元;
所述内核单元,用于在被所述插件单元调用后,为所述第一引擎模块执行所述游戏框架模块中的游戏程序脚本提供扩展的定义对象和扩展的API接口,为所述游戏框架模块中的游戏程序脚本提供HTML5运行环境;
所述包壳单元,用于利用所述内核单元的设置,提供将所述第二引擎模块打包成客户端形式供内容提供商使用的功能。
3.根据权利要求2所述的游戏引擎,所述第二引擎模块的内核单元包括对象单元和接口单元;
     所述对象单元,用于为所述第一引擎模块执行所述游戏框架模块中的游戏程序脚本提供扩展的定义对象,为所述游戏框架模块中的游戏程序脚本提供HTML5运行环境;
     所述接口单元,用于为所述第一引擎模块执行所述游戏框架模块中的游戏程序脚本提供扩展的API接口。
4.根据权利要求3所述的游戏引擎,所述第二引擎模块的内核单元的对象单元包括:
     画布子单元,用于为所述第一引擎模块提供可调用的Canvas对象,实现HTML5的画布功能;
     WebSocket子单元,用于为所述第一引擎模块提供可调用的WebSocket对象,按HTML5标准实现与服务器的通信。
5.根据权利要求4所述的游戏引擎,所述第二引擎模块的内核单元的对象单元还包括以下的一个或多个子单元:
    XHR子单元,用于为所述第一引擎模块提供可调用的XHR对象,实现本地和网络数据的读取;
   音频子单元,用于为所述第一引擎模块提供可调用的Audio对象,实现音频处理;
    本地存储子单元,用于为所述第一引擎模块提供可调用的LocalStorage对象,实现按照域名存储数据;
    Cookie子单元,用于为所述第一引擎模块提供可调用的 Cookie对象,实现按照域名存储Cookie信息;
缓存子单元,用于为所述第一引擎模块提供可调用的ApplicationCache对象,实现存储缓存文件。
6.根据权利要求5所述的游戏引擎,其中:
    所述缓存子单元中,以主机域名和端口号,或者以地址和端口号组成的域来决定唯一的主机目录,所述主机目录存放该域下涉及到的app cache文件及普通的缓存文件,且以manifest文件的URL为标志来决定一个app cache文件的存储空间。
7.根据权利要求4所述的游戏引擎,所述第二引擎模块的内核单元的接口单元包括以下的一个或多个接口:
OpenGLES接口,用于提供接口实现图形渲染,被所述画布子单元进行封装实现对渲染性能的加速;
    媒体播放接口,用于提供接口实现音频播放;
    套接字接口,用于提供接口实现网络请求;
    文本存储接口,用于提供接口实现数据存储。
8.根据权利要求7所述的游戏引擎,其中:
所述画布子单元创建 Canvas对象,其中每个Canvas对象维护有画图列表,所述画图列表里面的对象对应屏幕上的元素;
所述OpenGLES接口的缓冲区接收所述Canvas对象维护的画图列表中的元素的填充,再通过 GLSurfaceView视图显示渲染的图像。
9.根据权利要求2所述的游戏引擎,所述第二引擎模块的插件单元包括:
获取子单元,用于通过NPAPI接口获取移动终端的浏览器当前运行的上下文;
请求单元,用于利用所述上下文向移动终端操作系统发起调用所述第二引擎模块的内核单元的请求,使得所述移动终端操作系统接收请求后调用所述内核单元。
10.根据权利要求2至9任一项所述的游戏引擎,其中:
所述游戏框架模块具体为JS游戏框架,所述第二引擎模块具体为加速引擎,所述第一引擎模块具体为JS引擎,
所述第二引擎模块中的内核单元具体为X-Canvas内核,所述包壳单元具体为X-Canvas包壳,所述插件单元具体为X-Canvas插件。
CN201310324724.7A 2013-07-30 2013-07-30 一种游戏引擎 Active CN103425491B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310324724.7A CN103425491B (zh) 2013-07-30 2013-07-30 一种游戏引擎
CN201610811025.9A CN106445508B (zh) 2013-07-30 2013-07-30 一种游戏引擎

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310324724.7A CN103425491B (zh) 2013-07-30 2013-07-30 一种游戏引擎

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201610811025.9A Division CN106445508B (zh) 2013-07-30 2013-07-30 一种游戏引擎

Publications (2)

Publication Number Publication Date
CN103425491A true CN103425491A (zh) 2013-12-04
CN103425491B CN103425491B (zh) 2016-10-12

Family

ID=49650285

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201310324724.7A Active CN103425491B (zh) 2013-07-30 2013-07-30 一种游戏引擎
CN201610811025.9A Active CN106445508B (zh) 2013-07-30 2013-07-30 一种游戏引擎

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201610811025.9A Active CN106445508B (zh) 2013-07-30 2013-07-30 一种游戏引擎

Country Status (1)

Country Link
CN (2) CN103425491B (zh)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104360840A (zh) * 2014-10-20 2015-02-18 广州精攻网络科技有限公司 一种基于html5的游戏开发方法及装置
CN104679489A (zh) * 2013-12-02 2015-06-03 厦门极致互动网络技术有限公司 一种在网络游戏客户端中内置网络浏览器的系统及方法
CN104765604A (zh) * 2015-03-20 2015-07-08 福建天晴数码有限公司 Dx渲染引擎嵌入到另一dx渲染引擎的方法和装置
CN104866335A (zh) * 2014-12-30 2015-08-26 北京白鹭时代信息技术有限公司 一种移动终端基于Egret Runtime运行游戏的方法及装置
CN105354052A (zh) * 2015-09-30 2016-02-24 北京奇虎科技有限公司 flash游戏加载方法和装置
CN105955833A (zh) * 2016-06-06 2016-09-21 腾讯科技(深圳)有限公司 引擎调用方法和装置
CN106203144A (zh) * 2016-07-25 2016-12-07 飞天诚信科技股份有限公司 一种实现浏览器访问智能密钥设备的方法及系统
CN106293084A (zh) * 2016-08-06 2017-01-04 深圳市爱康伟业智能科技有限公司 一种移动客户端体感游戏生成方法
CN106325866A (zh) * 2016-08-22 2017-01-11 网易(杭州)网络有限公司 跨引擎调用方法及装置
CN106445530A (zh) * 2016-09-27 2017-02-22 北京奇虎科技有限公司 一种将客户端应用软件转换为网页软件的方法、装置
CN107291427A (zh) * 2016-03-30 2017-10-24 博雅网络游戏开发(深圳)有限公司 游戏引擎的优化方法、装置和系统
CN107423049A (zh) * 2017-04-18 2017-12-01 南京凯蒙教育科技有限公司 实现在线编程的方法、浏览器和终端设备
CN107508853A (zh) * 2017-07-11 2017-12-22 北京数字医视文化传媒有限公司 一种移动app开发的架构方法及系统
CN107566346A (zh) * 2017-08-10 2018-01-09 腾讯科技(深圳)有限公司 3d游戏数据的传输方法、装置以及存储介质、电子装置
CN109271156A (zh) * 2018-09-25 2019-01-25 Oppo广东移动通信有限公司 游戏平台的底层调用方法及相关产品
CN109271155A (zh) * 2018-09-11 2019-01-25 Oppo广东移动通信有限公司 游戏平台的能力调用方法及相关产品
CN109918057A (zh) * 2019-03-18 2019-06-21 北京智明星通科技股份有限公司 基于html5的游戏创建方法及装置
WO2020057234A1 (zh) * 2018-09-20 2020-03-26 Oppo广东移动通信有限公司 引擎隔离方法、相关设备以及计算机可读存储介质
CN111198682A (zh) * 2018-11-19 2020-05-26 上海宜奇信息科技有限公司 一种电视游戏类应用软件开发引擎和实现方法
CN111359219A (zh) * 2020-03-16 2020-07-03 网易(杭州)网络有限公司 虚幻引擎的文件处理方法、装置、设备及存储介质
CN111813969A (zh) * 2019-11-08 2020-10-23 厦门雅基软件有限公司 多媒体数据处理方法、装置、电子设备及计算机存储介质
CN112102688A (zh) * 2019-06-17 2020-12-18 北京张善风文化传播有限公司 0至12岁家庭心游会教育系统及其教育方法
CN112546633A (zh) * 2020-12-10 2021-03-26 网易(杭州)网络有限公司 虚拟场景的处理方法、装置、设备及存储介质
CN113448557A (zh) * 2021-06-30 2021-09-28 深圳市多米玩科技有限公司 一种基于html5的游戏开发方法
CN113656115A (zh) * 2021-07-27 2021-11-16 厦门雅基软件有限公司 接口调用系统、方法及电子设备

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111414150B (zh) * 2019-01-04 2022-10-11 厦门雅基软件有限公司 游戏引擎渲染方法、装置、电子设备及计算机存储介质
CN111124383A (zh) * 2019-12-20 2020-05-08 阿哈王国(武汉)教育科技有限公司 一种使用Python语言进行在线项目创作的方法
CN112102050A (zh) * 2020-02-10 2020-12-18 云池网络科技(上海)有限公司 物联网卡平台财务管理系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102254079A (zh) * 2010-05-17 2011-11-23 张静盛 开放式的游戏内置平台
CN102469065A (zh) * 2010-11-02 2012-05-23 腾讯科技(深圳)有限公司 一种与html5浏览器互通数据的方法及系统
US20120246554A1 (en) * 2011-03-23 2012-09-27 Ericom Software Ltd. Performing binary composition of images onto an html canvas element
CN102937968A (zh) * 2012-10-11 2013-02-20 上海交通大学 一种基于Canvas的双目3D网页实现方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102254079A (zh) * 2010-05-17 2011-11-23 张静盛 开放式的游戏内置平台
CN102469065A (zh) * 2010-11-02 2012-05-23 腾讯科技(深圳)有限公司 一种与html5浏览器互通数据的方法及系统
US20120246554A1 (en) * 2011-03-23 2012-09-27 Ericom Software Ltd. Performing binary composition of images onto an html canvas element
CN102937968A (zh) * 2012-10-11 2013-02-20 上海交通大学 一种基于Canvas的双目3D网页实现方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
威廉姆斯: "《HTML5游戏开发实践指南》", 31 May 2012, 机械工业出版社 *
白培发 等: "HTML5游戏开发技巧", 《电脑编程技术与维护》 *
陈粲然: "真正实现一次开发,跨平台运行——解构HTML5游戏引擎X-Canvas", 《PINGWEST网站》 *

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104679489A (zh) * 2013-12-02 2015-06-03 厦门极致互动网络技术有限公司 一种在网络游戏客户端中内置网络浏览器的系统及方法
CN104360840A (zh) * 2014-10-20 2015-02-18 广州精攻网络科技有限公司 一种基于html5的游戏开发方法及装置
CN104866335A (zh) * 2014-12-30 2015-08-26 北京白鹭时代信息技术有限公司 一种移动终端基于Egret Runtime运行游戏的方法及装置
CN104765604A (zh) * 2015-03-20 2015-07-08 福建天晴数码有限公司 Dx渲染引擎嵌入到另一dx渲染引擎的方法和装置
CN105354052A (zh) * 2015-09-30 2016-02-24 北京奇虎科技有限公司 flash游戏加载方法和装置
CN105354052B (zh) * 2015-09-30 2018-12-04 北京奇虎科技有限公司 flash游戏加载方法和装置
CN107291427B (zh) * 2016-03-30 2020-10-27 博雅网络游戏开发(深圳)有限公司 游戏引擎的优化方法、装置和系统
CN107291427A (zh) * 2016-03-30 2017-10-24 博雅网络游戏开发(深圳)有限公司 游戏引擎的优化方法、装置和系统
CN105955833A (zh) * 2016-06-06 2016-09-21 腾讯科技(深圳)有限公司 引擎调用方法和装置
CN106203144A (zh) * 2016-07-25 2016-12-07 飞天诚信科技股份有限公司 一种实现浏览器访问智能密钥设备的方法及系统
CN106293084A (zh) * 2016-08-06 2017-01-04 深圳市爱康伟业智能科技有限公司 一种移动客户端体感游戏生成方法
CN106325866A (zh) * 2016-08-22 2017-01-11 网易(杭州)网络有限公司 跨引擎调用方法及装置
CN106325866B (zh) * 2016-08-22 2019-09-20 网易(杭州)网络有限公司 跨引擎调用方法及装置
CN106445530A (zh) * 2016-09-27 2017-02-22 北京奇虎科技有限公司 一种将客户端应用软件转换为网页软件的方法、装置
CN106445530B (zh) * 2016-09-27 2020-04-07 北京奇虎科技有限公司 一种将客户端应用软件转换为网页软件的方法、装置
CN107423049A (zh) * 2017-04-18 2017-12-01 南京凯蒙教育科技有限公司 实现在线编程的方法、浏览器和终端设备
CN107508853A (zh) * 2017-07-11 2017-12-22 北京数字医视文化传媒有限公司 一种移动app开发的架构方法及系统
CN107566346B (zh) * 2017-08-10 2020-08-11 腾讯科技(深圳)有限公司 3d游戏数据的传输方法、装置以及存储介质、电子装置
CN107566346A (zh) * 2017-08-10 2018-01-09 腾讯科技(深圳)有限公司 3d游戏数据的传输方法、装置以及存储介质、电子装置
WO2020052392A1 (zh) * 2018-09-11 2020-03-19 Oppo广东移动通信有限公司 游戏平台的能力调用方法及相关产品
CN109271155A (zh) * 2018-09-11 2019-01-25 Oppo广东移动通信有限公司 游戏平台的能力调用方法及相关产品
WO2020057234A1 (zh) * 2018-09-20 2020-03-26 Oppo广东移动通信有限公司 引擎隔离方法、相关设备以及计算机可读存储介质
CN109271156A (zh) * 2018-09-25 2019-01-25 Oppo广东移动通信有限公司 游戏平台的底层调用方法及相关产品
CN111198682A (zh) * 2018-11-19 2020-05-26 上海宜奇信息科技有限公司 一种电视游戏类应用软件开发引擎和实现方法
CN109918057A (zh) * 2019-03-18 2019-06-21 北京智明星通科技股份有限公司 基于html5的游戏创建方法及装置
CN112102688A (zh) * 2019-06-17 2020-12-18 北京张善风文化传播有限公司 0至12岁家庭心游会教育系统及其教育方法
CN111813969A (zh) * 2019-11-08 2020-10-23 厦门雅基软件有限公司 多媒体数据处理方法、装置、电子设备及计算机存储介质
CN111359219A (zh) * 2020-03-16 2020-07-03 网易(杭州)网络有限公司 虚幻引擎的文件处理方法、装置、设备及存储介质
CN111359219B (zh) * 2020-03-16 2023-09-26 网易(杭州)网络有限公司 虚幻引擎的文件处理方法、装置、设备及存储介质
CN112546633A (zh) * 2020-12-10 2021-03-26 网易(杭州)网络有限公司 虚拟场景的处理方法、装置、设备及存储介质
CN113448557A (zh) * 2021-06-30 2021-09-28 深圳市多米玩科技有限公司 一种基于html5的游戏开发方法
CN113448557B (zh) * 2021-06-30 2022-06-17 深圳淘乐网络科技有限公司 一种基于html5的游戏开发方法
CN113656115A (zh) * 2021-07-27 2021-11-16 厦门雅基软件有限公司 接口调用系统、方法及电子设备
CN113656115B (zh) * 2021-07-27 2023-10-27 厦门雅基软件有限公司 接口调用系统、方法及电子设备

Also Published As

Publication number Publication date
CN106445508A (zh) 2017-02-22
CN106445508B (zh) 2020-07-14
CN103425491B (zh) 2016-10-12

Similar Documents

Publication Publication Date Title
CN103425491A (zh) 一种游戏引擎
CN108563517B (zh) 系统接口的调用方法及装置
WO2016155388A1 (zh) 应用安装、运行方法及装置
CN110442327B (zh) 一种应用程序构建方法、装置、服务器
KR20150079867A (ko) Html5-프로토콜 기반 웹페이지 표시 방법 및 장치
Hales HTML5 and JavaScript Web Apps: Bridging the gap between the web and the mobile web
JP2017146966A (ja) パッケージファイルに対する機能拡張方法およびシステム
US9286142B2 (en) Methods and systems for supporting a rendering API using a runtime environment
CN102982169A (zh) 用于隔离网页插件的浏览器和方法
CN111722885B (zh) 程序运行方法、装置以及电子设备
CN108647032B (zh) 应用加载方法及装置、计算机装置和计算机可读存储介质
CN110968395B (zh) 一种在模拟器中处理渲染指令的方法及移动终端
CN106850650B (zh) 用于游戏客户端访问数据的方法及客户端游戏系统
CN103034495A (zh) 对网页中插件进行隔离的浏览器及网页插件的隔离方法
CN104395881B (zh) 动态型阵列的表达和变换
CN105072461A (zh) 一种数据处理方法和装置
CN113312032B (zh) 前端项目资源更新方法、装置、电子设备及存储介质
CN110532495A (zh) 一种网页信息的展示方法及装置
CN111740948A (zh) 数据包发布方法、动态更新方法、装置、设备及介质
JP2019509547A (ja) Gpuリソース再構築方法、ユーザー・デバイス、システム及び記憶媒体
CN105204832A (zh) 一种实现脚本引擎的系统及方法
CN111562929A (zh) 补丁文件的生成方法、装置、设备及存储介质
KR102141749B1 (ko) App 프로그램 실행 방법 및 장치
CN109213534A (zh) 一种扩展直播软件功能的方法及装置
CN115080114B (zh) 应用程序的移植处理方法、装置和介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 510627 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping B radio square 14 storey tower

Applicant after: Guangzhou Dongjing Computer Technology Co., Ltd.

Address before: 510665 Guangzhou City, Tianhe District Province branch Yun Yun Road, No. 16, building No. 301, room 2

Applicant before: Guangzhou Dongjing Computer Technology Co., Ltd.

COR Change of bibliographic data
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160907

Address after: 510627 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping radio square B tower 13 floor 02 unit self

Applicant after: GUANGZHOU I9GAME INFORMATION TECHNOLOGY CO., LTD.

Address before: 510627 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping B radio square 14 storey tower

Applicant before: Guangzhou Dongjing Computer Technology Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200602

Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: Alibaba (China) Co.,Ltd.

Address before: 510627 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping radio square B tower 13 floor 02 unit self

Patentee before: GUANGZHOU UCWEB COMPUTER TECHNOLOGY Co.,Ltd.