基于元数据反射链的游戏云设计方法

文档序号:10511922阅读:194来源:国知局
基于元数据反射链的游戏云设计方法
【专利摘要】一种基于元数据反射链的游戏云设计方法,包括如下步骤:第一步:建立一个通用的基于元数据反射链的游戏云设计的平台,平台架构分为游戏云资源模块、游戏云设计模块、游戏云管理模块;第二步:基于平台架构,采用基于元数据反射链的游戏云设计,游戏设计方通过游戏云设计可视化界面,从游戏模板池中选择相应的游戏模板,进行可视化游戏在线设计,选择游戏模板之前,通过试玩该游戏实例GI,决定游戏模板是否满足游戏设计所需;第三步:游戏云管理模块负责对游戏在线云设计模块开发的游戏提供测试、统计服务。本发明能提升游戏制作的效率,减少游戏制作团队对程序员的依赖,降低游戏制作的门槛及成本。
【专利说明】
基于元数据反射链的游戏云设计方法
技术领域
[0001] 本发明涉及到一种游戏技术开发领域,特别涉及一种通用的基于元数据反射链的 策略角色扮演游戏(strategy Role-Playing Game,SRPG)的游戏云设计方法。
【背景技术】
[0002] SRPG游戏是RPG游戏发展出来的一个分支,是策略角色扮演游戏的简称,是一种带 有战术性的(通常为战棋类)角色扮演游戏。玩家通过控制一个或多个角色并使其活动在一 个写实或虚构世界中,每个角色拥有各种虚拟能力参数与技能,其中能力参数指力量,体 力、灵敏度、智力、魔法、运气等,技能指能发动的招式或动作,并在一个结构化规则下,通过 一些带有战术性的行动使玩家所扮演角色的虚拟能力参数及技能得到发展,最终完成游戏 胜利的目标。
[0003] 个人独立开发游戏的工具最早可追溯到RPG Maker,主要用来制作RPG游戏,游戏 里自带大量素材,使用者不需要编程只利用内置的事件编辑器和战斗编辑器就能够写出游 戏的基本逻辑,但是其缺点是用户必须下载游戏开发者工具,并且只能开发RPG类型的游 戏。如果开发者想要制作出其他类型的游戏,需要重写游戏机制,并且必须熟练使用编辑 器。国外的个人独立开发游戏的工具主要以GameSalad为主,使用GameSalad无需编程,但用 户仍需在本地安装软件,并且需要掌握软件工程的基础流程才能实现目标中所需要的游戏 机制。
[0004] 目前,互联网上已经出现了一些在线制作游戏平台(如游戏魅等),这些游戏在线 制作平台亮点在于不写代码或者写少量代码,通过可视化拖拽点击、加入动作条,快速完成 一款跨平台中轻度游戏;一次开发后可同时发布为H5、安卓、iOS和Windows原生版本;支持 丰富的游戏模板,采用60%模板+40%创意做游戏,也可从零开始开发原创游戏。综上所述, 这类游戏在线制作平台对于游戏设计方而言,除了学习成本较高,涉及游戏开发的游戏资 源分散于各个游戏网站,没有统一的集成、管理、查找游戏资源入口等问题。并且,游戏设计 方需要自己搭建游戏开发环境,包括多人协作、部署、测试等,为游戏开发带来诸多不便。
[0005] 学术界就在线游戏云设计相关的领域也进行了大量研究,中山大学王建明等人于 2006年提出了一种RPG游戏场景路径的自动生成方法及装置,可以动态的生成不同游戏场 景的路径,路径的灵活性高,加强了场景路径的变化性,提高了游戏的娱乐性。韩国Ok-Hue Cho等人于2011提出了一种交互式的事件设计工具帮助游戏开发者通过不写代码,以可视 化的操作方式将游戏事件与效果绑定到相应的游戏人物上。西安电子科技大学Linbo Luo 等人于2014年提出了一种针对严肃游戏的数据驱动自动生成场景的方法,通过一个具有人 工智能的虚拟游戏玩家来模拟真实玩家的操作来搜集游戏数据并根据人工神经网络来训 练数据,最后利用数据驱动框架根据人工神经网络训练后的数据自动生成游戏的场景。以 上研究主要针对游戏设计过程中的某一部分的自动化设计,缺少对游戏的整个生命周期进 行在线自动化设计的研究,并且在自动化设计游戏过程中需要下载相应软件,在线设计能 力偏弱。

【发明内容】

[0006] 为了克服现有游戏设计方式的制作效率较低、依赖于程序员、门槛和成本较高的 不足,本发明提供一种基于元数据反射链的游戏云设计方法,能提升游戏制作的效率,减少 游戏制作团队对程序员的依赖,降低游戏制作的门槛及成本。
[0007] 为了解决上述技术问题本发明所采用的技术方案是:
[0008] 一种基于元数据反射链的游戏云设计方法,所述游戏云设计方法包括如下步骤:
[0009] 第一步:建立一个通用的基于元数据反射链的游戏云设计的平台,平台架构分为 游戏云资源模块、游戏云设计模块、游戏云管理模块;
[0010] 1.1、游戏云资源模块:负责对游戏需求方发布的相关游戏资源进行需求设计,并 为游戏云设计提供所需的游戏资源;
[0011] 游戏云资源模块包括游戏需求池、游戏任务池、游戏资源池;
[0012] 1.2、游戏云设计模块:负责游戏的云设计;
[0013] 游戏云设计模块包括游戏模板池、游戏设计配置文件、游戏资源层、游戏元素层、 游戏组件层、游戏场景层、游戏逻辑层和游戏应用层;
[0014] 游戏模板池:存放游戏模板,游戏设计方选择所需的游戏模板进行游戏云设计,一 个游戏模板代表着若干个游戏实例,游戏实例是指通过某游戏模板设计出来的具体的某一 款游戏;
[0015] 游戏设计配置文件:游戏设计方通过可视化拖拽点击操作生成针对某个游戏实例 的配置文件,配置文件中详细的记录了该游戏实例所需的游戏资源和游戏模板;
[0016] 游戏资源层:通过资源配置文件来管理、维护游戏实例相关的游戏资源;
[0017] 游戏元素层:负责管理、维护每个游戏实例中所需的游戏元素,包括战斗场地、剧 情、人物、道具、技能和动画等;
[0018] 游戏组件层:负责管理、维护各个游戏元素在各个游戏组件层的状态、属性、事件 等,包括地图层、人物层、效果层、对话层、控制层;
[0019] 游戏场景层:负责管理和维护各个游戏场景的生命周期,包括场景的创建、跳转和 消亡等;
[0020] 游戏逻辑层:负责根据元数据反射链将游戏资源层、游戏元素层、游戏组件层和游 戏场景层连接起来,组装成一个游戏实例;
[0021 ] 游戏应用层:负责将游戏逻辑层产生的游戏实例生成Web平台、I0S平台、Andriod 平台的游戏;
[0022] 1.3、游戏云管理模块:负责管理本平台的游戏资源、游戏模板和游戏实例,提供游 戏实例运行的硬件资源和软件资源以及开发测试环境;
[0023]游戏云管理模块包括:基础架构层和云平台运营层;
[0024]基础架构层:提供游戏实例运行所需的基础设施资源;
[0025]云平台运营层:负责管理和维护本平台的游戏设计资源、游戏模板以及开发完成 的游戏实例等;
[0026]第二步:基于所述的平台架构,提出基于元数据反射链的游戏云设计,过程如下: [0027] 步骤2.1:游戏设计方通过游戏云设计可视化界面,从游戏模板池中选择相应的游 戏模板,进行可视化游戏在线设计,选择游戏模板之前,通过试玩该游戏实例GI,从而决定 游戏模板是否满足游戏设计所需;
[0028] 选择游戏模板GT,每个游戏模板GT对应多个游戏实例GL·,玩家通过试玩各个GI决 定是否选择该GT;每个GT都定义了本模板所提供的游戏元素 GE,即GT-GE,GE = {M,S,R,I, S,NPC,EXT};GE主要包括地图M、技能S、人物R、道具I、剧情S、NPC,扩展元素 EXT,EXT = {EXT!,EXT2,…,ΕΧ?η};不同的GT所提供的EXT会有所差别,游戏设计方一旦选择相应的GT, 最后用户可创建的GE便可确定;
[0029] 步骤2.2:根据GT,选择所需的GE,创建该游戏元素实体GEI,每一个GEI,包含属性 集(Attribute,An)和方法集(Method,Mn),即GE-GEI,GEI = {Ai,A2,···,△"} U {Μι,Μ2,···,Μη}; 如选择M、R、S、P等GE,设置每个GE的属性,如主角的HP属性值、移动距离、移动速度和主角图 片,为GEI选择游戏静态资源,游戏静态资源可从游戏资源池中获取,也可游戏设计方自行 上传,将创建的各个游戏元素实体与选择的游戏静态资源关联起来,从而完成GEI的创建; [0030] 2.2.1、选择GE,不同的GE所拥有的属性及方法有所不同;
[0031] 2.2.2、创建GEI,通过游戏在线设计可视化界面为选择的游戏元素设置好对应的 属性值,涉及图片与音效的属性值,从游戏资源池中选择相应的游戏图片、游戏音效以及游 戏设计方自行上传的游戏素材到游戏资源池,最后生成实体元数据;
[0032] 步骤2.3:在游戏设计中,对于每一个GEI,通过连接相互关联的GEI元数据,形成多 条游戏元素实体元数GGML,GGML中GEI与GEI之间的关联关系是一对多、一对一或多对多; [0033] 一对多关系主要表现为:一张地图上可以出现多个主角、多个NPC,即一个元素实 体与另一种元素的多个实体相关联、设置可以与多种元素实体相关联。
[0034] -对一关系主要表现为:主角只能携带一个技能、或每个地图主角的起始出生点 只存在一个等,即一个元素实体只能与另一个元素实体相关联。
[0035] 多对多关系主要表现为:多个主角可以携带多个不同的道具,即一种元素的多个 实体与另一种元素的多个实体交叉多重相关联。
[0036] 最后生成游戏元素实体元数据配置文件;
[0037] 2·3·l、定义l:GEIiA表示游戏元素 GEIi的属性A;
[0038] 定义2:GEIiM表示游戏元素 GEIi的方法M;
[0039]定义表示游戏元素 GEL·为一个具体的函数实体F;
[0040]定义4: GE I iA^GE I /,表示GE I i 的属性A指向 GE I /;
[0041 ]定义 5: GE I /-GE I kF,表示GE I j 的方法Μ指向 GE I kF;
[0042] 2 · 3 · 2、创建GGML,定义GGML = GE I iA-GE I /-GE I kF,表示由 GE I iA,GE I /,GE IkF形成 的一条元数据反射链,由GEIi的属性A指向GEIjM,GEIj M的方法M指向GEIkF;
[0043] 2.3.3、执行GGML,当执行到GEIi的属性A所对应的元素实体的方法时,通过查找相 应的GGML来执行方法M;
[0044] 步骤2.4:为各个场景S与游戏元素实体GEL·之间设置场景一一游戏元素实体元数 据链SGML,每个场景S都包含相应的GEIi,包含GEIi的个数、种类,都在SGML中体现,最后生成 场景配置文件;
[0045] 2.4.1、定义6 :GEIi_表示i这个游戏元素的GEIi的数量为num;
[0046] 定义7: SmGML表示场景111所对应的场景--游戏元素实体元数据链;
[0047] 定义8:SmGML是场景m由GEIi_组成的集合,SGML={GEIinum};
[0048] 2.4.2、游戏模板GT通过读取SmGML来创建本场景所需的GEI的种类和数目,最终实 现游戏场景的自动生成,游戏模板GT通过读取GGML来实现游戏场景内游戏元素实体对应方 法的调用;
[0049] 2.4.3、每个GEL·拥有有限数目的离散稳定、相互独立又相互联系的状态,SRPG游 戏以事件驱动的方式工作,使得每个游戏元素实体在这些状态内转移;在某一时刻,当收到 输入事件,GT中的有限状态机FSM对该事件做出响应,并伴随状态的转移;有限状态机特别 适用于游戏设计中复杂场景的切换以及场景内游戏元素实体状态之间的切换;
[0050]在游戏云设计中,每个GEL·通过元数据反射链的方式传递各个GEL·之间的状态转 换;
[0051 ] 步骤2.5:根据游戏元数据配置文件和游戏模板,生成WEB版本、I0S版本、Android 版本的软件包;
[0052]第三步:游戏云管理模块负责对游戏在线云设计模块开发的游戏提供测试、统计 服务。
[0053] 进一步,所述步骤1.1中,游戏需求池:存放游戏需求方发布的与游戏制作相关的 需求,需求分为二类,一类是与游戏素材相关的制作设计需求,例如游戏设计方在游戏设计 过程中缺少相应的游戏素材,在游戏需求池中发布制作设计需求,游戏美工在游戏任务池 中发现需求并完成缺少的游戏素材,将其放入游戏资源池;还有一类是与游戏设计相关的 需求,例如某游戏玩家需定制SRPG游戏,但游戏模板池中并没有相应的游戏模板,在游戏需 求池中发布该类需求,游戏开发者在游戏任务池中发现需求并完成玩家所需的游戏模板, 将其放入游戏资源池;
[0054] 游戏任务池:游戏需求方发布游戏需求后,每个游戏需求进入游戏任务池,由游戏 开发者、美工、音效师在游戏任务池中选择自己擅长领域的游戏任务并完成该任务;
[0055] 游戏资源池:游戏任务池中的任务被完成后进入游戏资源池,转变为游戏资源,游 戏资源主要分为二类,一类是与游戏素材相关的游戏资源,这类游戏资源以图片,音效,视 频等形式在游戏资源池中体现;另外一类是与游戏设计相关的游戏资源,以游戏模板的形 式在游戏资源池中体现;这二类游戏资源为游戏设计方在游戏云设计模块进行游戏在线设 计做好游戏资源准备。
[0056] 本发明的技术构思为:通常任何一款游戏均由各个静态的游戏资源组成,静态游 戏资源包括:图片、音频、游戏模板等游戏素材。这些游戏资源构成游戏的各个元素,游戏元 素包括地图、剧情、人物、道具、技能、效果函数等。每个游戏元素隶属于各自对应的游戏组 件层,游戏组件层包括地图层、人物层、效果层、对话层、控制层,通过基于元数据反射链的 方式将各个游戏组件层中的游戏元素按照游戏模板提供的逻辑组织到一起,从而形成多个 游戏的场景,最后组合各个游戏场景即形成一款游戏。在游戏云设计平台中,游戏设计方通 过可视化拖拽点击的方式创建各个游戏元素,关联各类游戏云资源与游戏元素,设置游戏 元素之间的实体关系,形成多条元数据反射链,最后组合游戏模板与元数据反射链,实现游 戏全生命周期的设计。
[0057]本发明提出了一种基于元数据反射链的游戏云设计方法。通过云计算平台将大量 高度虚拟化的游戏资源管理起来,组成一个游戏资源池,采用集中式的思想提供服务。基于 元数据反射链的游戏云设计方法以游戏需求方、游戏设计方、游戏玩家为中心,以知识为支 撑,构建一个虚拟化、分布式、按需分配的游戏制造资源共享平台,通过游戏云设计平台实 现游戏全生命周期的协同制造、管理与创新。
[0058] 通过将各类游戏资源虚拟化、服务化构成游戏资源服务云池,并进行统一集中的 优化管理和经营。游戏设计方选择相应的游戏模板,通过创建游戏元素实体,根据各个游戏 元素实体之间的实体关系,通过反射链的形式关联各个游戏元素实体,从而形成多条元数 据反射链。游戏模板通过读取相应元数据反射链达到游戏的自动生成以及游戏中具体函数 的自动化调用的目的,最终实现游戏全生命周期设计的智慧化。
[0059] 本发明的有益效果主要表现在:提升游戏制作的效率,减少游戏制作团队对程序 员的依赖,降低游戏制作的门槛及成本。游戏设计方通过游戏云设计平台做到无需写代码 或者写少量代码,采用可视化的开发方式,通过简单的拖拽、配置即可完成游戏的制作过 程。这样,对于擅长游戏创意的游戏策划师而言,不依赖程序员,就可制作出忠实于自己创 意的游戏。
[0060] (1)无需编程,可视化开发,界面友好
[0061] (2) -次开发,跨平台发布
[0062] (3)在拥有一定用户基础后,可累积海量的云游戏模板和云游戏设计资源的共享
[0063] (4)面向云计算的设计体系架构
[0064] (5)基于元数据反射链的复用思想
【附图说明】
[0065]图1示出了在线游戏云设计的平台架构图。
[0066]图2示出了基于元数据反射的在线游戏云设计的流程。
[0067]图3示出了道具的GGML元数据反射链查找过程。
[0068]图4示出了游戏中的SGML与GGML元数据反射链。
[0069]图5示出了游戏过关时,场景1与场景2之间GEI状态之间的合并。
[0070] 图6示出了通过GGML导致GEI状态转变以及GGML的调整。
【具体实施方式】
[0071]下面结合附图对本发明作进一步描述。
[0072] 实施例1
[0073]参照图1~图6,一种基于元数据反射链的游戏云设计方法,所述游戏云设计方法 包括如下步骤:
[0074]第一步:建立一个通用的基于元数据反射链的游戏云设计的平台,如图1所示,平 台架构分为游戏云资源模块、游戏云设计模块、游戏云管理模块。
[0075] 1.1、游戏云资源模块:负责对游戏需求方发布的相关游戏资源进行需求设计,并 为游戏云设计提供所需的游戏资源。
[0076]游戏云资源模块包括游戏需求池、游戏任务池、游戏资源池。
[0077]游戏需求池:存放游戏需求方发布的与游戏制作相关的需求。需求分为二类,一类 是与游戏素材相关的制作设计需求,例如游戏设计方在游戏设计过程中缺少相应的游戏素 材,在游戏需求池中发布制作设计需求,游戏美工在游戏任务池中发现需求并完成缺少的 游戏素材,将其放入游戏资源池。还有一类是与游戏设计相关的需求,例如某游戏玩家需定 制SRPG游戏,但游戏模板池中并没有相应的游戏模板,在游戏需求池中发布该类需求,游戏 开发者在游戏任务池中发现需求并完成玩家所需的游戏模板,将其放入游戏资源池。
[0078] 游戏任务池:游戏需求方发布游戏需求后,每个游戏需求进入游戏任务池,由游戏 开发者、美工、音效师在游戏任务池中选择自己擅长领域的游戏任务并完成该任务。
[0079] 游戏资源池:游戏任务池中的任务被完成后进入游戏资源池,转变为游戏资源。游 戏资源主要分为二类,一类是与游戏素材相关的游戏资源,这类游戏资源以图片,音效,视 频等形式在游戏资源池中体现。另外一类是与游戏设计相关的游戏资源,以游戏模板的形 式在游戏资源池中体现。这二类游戏资源为游戏设计方在游戏云设计模块进行游戏在线设 计做好游戏资源准备。
[0080] 1.2、游戏云设计模块:负责游戏的云设计。
[0081] 游戏云设计模块包括游戏模板池、游戏设计配置文件、游戏资源层、游戏元素层、 游戏组件层、游戏场景层、游戏逻辑层、游戏应用层。
[0082] 游戏模板池:存放游戏模板。游戏设计方选择所需的游戏模板进行游戏云设计,一 个游戏模板代表着若干个游戏实例,游戏实例是指通过某游戏模板设计出来的具体的某一 款游戏。
[0083] 游戏设计配置文件:游戏设计方通过可视化拖拽点击操作生成针对某个游戏实例 的配置文件。配置文件中详细的记录了该游戏实例所需的游戏资源和游戏模板。
[0084]游戏资源层:通过资源配置文件来管理、维护游戏实例相关的游戏资源。
[0085] 游戏元素层:负责管理、维护每个游戏实例中所需的游戏元素,包括战斗场地、剧 情、人物、道具、技能、动画等。
[0086] 游戏组件层:负责管理、维护各个游戏元素在各个游戏组件层的状态、属性、事件 等,包括地图层、人物层、效果层、对话层、控制层。
[0087] 游戏场景层:负责管理和维护各个游戏场景的生命周期,包括场景的创建、跳转、 消亡等。
[0088] 游戏逻辑层:负责根据元数据反射链将游戏资源层、游戏元素层、游戏组件层、游 戏场景层连接起来,组装成一个游戏实例。
[0089] 游戏应用层:负责将游戏逻辑层产生的游戏实例生成Web平台、I0S平台、Andriod 平台的游戏,方便各个平台的游戏玩家试玩。
[0090] 1.3、游戏云管理模块:负责管理本平台的游戏资源、游戏模板和游戏实例,提供游 戏实例运行的硬件资源和软件资源以及开发测试环境等。
[0091] 游戏云管理模块包括:基础架构层、云平台运营层。
[0092] 基础架构层:提供游戏实例运行所需的基础设施资源。
[0093]云平台运营层:负责管理和维护本平台的游戏设计资源、游戏模板以及开发完成 的游戏实例等。
[0094] 进一步,所述基于元数据反射链的游戏云设计平台中,游戏需求方,游戏设计方, 游戏玩家,云平台运维方其职责如下:
[0095] 游戏需求方:指发布游戏相关需求的实体。包括:游戏玩家、游戏开发者、游戏美 工,游戏音效师,游戏设计师等与游戏行业相关的实体。
[0096] 游戏设计方:指在线设计游戏实例的实体。包括:游戏玩家、游戏开发者、游戏美 工,游戏音效师,游戏设计师等与游戏行业相关的实体。
[0097] 游戏玩家:指负责试玩游戏实例的实体。
[0098]云平台运维方:指负责游戏云设计平台运维的实体。
[0099] 第二步:基于所述的平台架构,提出基于元数据反射链的游戏云设计方法如下,游 戏云设计流程如图2所示。
[0100] 步骤2.1:游戏设计方通过游戏云设计可视化界面,从游戏模板池中选择相应的游 戏模板,进行可视化游戏在线设计。选择游戏模板之前,通过试玩该游戏实例(Game Instance,GI ),从而决定游戏模板是否满足游戏设计所需。
[0101] 2.1.1、选择游戏模板(Game Templet,GT)。每个游戏模板GT对应多个游戏实例 GL·,玩家通过试玩各个GI决定是否选择该GT。每个GT都定义了本模板所提供的游戏元素 (Game Element,GE),即GT-GE,GE={M,S,R, I,S,NPC,EXT:KGE主要包括地图M(Map)、技能S (Skill)、人物R(Role)、道具I(Item)、剧情S(Scenario)、NPC(Non-Player-Controlled Character),扩展元素 EXT(Extended Element),EXT= {ΕΧΤι,EXT2, ··· ,ΕΧΤη}。不同的GT所提 供的EXT会有所差别,游戏设计方一旦选择相应的GT,最后用户可创建的GE便可确定。
[0102] 步骤2.2:根据GT,选择所需的GE,仓丨j建该游戏元素实体(Game Element Instance, GEI),每一个GEI,包含属性集(Attribute,An)和方法集(Method,Mn),即GE4GEI,GEI = {Al, Α2,···,Αη} U {Μχ,Μν,Μη}。如选择M、R、S、P等GE,设置每个GE的属性,如主角的HP属性值、移 动距离、移动速度,主角图片等,为GEI选择游戏静态资源,游戏静态资源可从游戏资源池中 获取,也可游戏设计方自行上传,将创建的各个游戏元素实体与选择的游戏静态资源关联 起来,从而完成GEI的创建。
[0103] 2.2.1、选择GE。不同的GE所拥有的属性及方法有所不同。如在RPG游戏中,对于主 角这一游戏元素,包含的属性有主角的姓名、性别、图片、年龄、等级、金钱等,包含的方法有 行走、停止、对话、战斗等。对于道具这一游戏元素,包含的属性有道具名、描述、数量、图片、 音效等,包含的方法有道具的使用效果函数等。其中,各个GE的属性及方法通过XML进行描 述。
[0104] 主角元素 XML文件格式如下:
[0106] 主角元素 XML中的每个节点的含义如表1所示:
[0107]







[0135]地图元素 XML中的每个节点的含义如表6所示:
[0137] 表6
[0138] 2.2.2、创建GEI。通过游戏在线设计可视化界面为选择的游戏元素设置好对应的 属性值,涉及图片与音效的属性值,可从游戏资源池中选择相应的游戏图片、游戏音效以及 游戏设计方自行上传的游戏素材到游戏资源池,最后生成实体元数据。
[0139] 步骤2.3:在游戏设计中,不同的游戏元素实体GEI之间往往不是独立的,而存在关 联关系。对于每一个GEI,通过连接相互关联的GEI元数据,形成多条游戏元素实体元数链 (Game Elements Instance-Game Elements Instance-Metadata Link,GGML)〇GGML中GEI 与GEI之间的关联关系可以是一对多(多对一)、一对一、多对多。
[0140] -对多关系主要表现为:一张地图上可以出现多个主角、多个NPC,即一个元素实 体与另一种元素的多个实体相关联、设置可以与多种元素实体相关联。
[0141] -对一关系主要表现为:主角只能携带一个技能、或每个地图主角的起始出生点 只存在一个等,即一个元素实体只能与另一个元素实体相关联。
[0142] 多对多关系主要表现为:多个主角可以携带多个不同的道具,即一种元素的多个 实体与另一种元素的多个实体交叉多重相关联。
[0143] 最后生成游戏元素实体元数据配置文件。
[0144] 2·3·l、定义l:GEIiA表示游戏元素 GEIi的属性A;
[0145] 定义2:GEIiM表示游戏元素 GEIi的方法M;
[0146] 定义表示游戏元素 GEL·为一个具体的函数实体F;
[0147] 定义 4:GEIiA4GEIjM,表示 GEIi 的属性 A 指向 GEI/;
[0148] 定义 5:GEIjM^GEIkF,表示 GEIj 的方法 Μ 指向 GEIkF;
[0149] 2 · 3 · 2、创建GGML。定义GGML = GE I i a-GE I /-GE I kF,表示由 GE I iA,GE I /,GE I kF形成 的一条元数据反射链,由GEIi的属性A指向GEIjM,GEIj M的方法M指向GEIkF。
[0150] 2.3.3、执行GGML。当执行到GEIi的属性A所对应的元素实体的方法时,通过查找相 应的GGML来执行方法Μ。
[0151] 如图3所示,以游戏中主角使用道具为例,当主角要使用道具时,通过主角道具反 射链(即图3中主角实体R与道具实体Ρ之间的元数据反射链)查找到需要使用的道具实体Ρ (通过表1人物元素实体中的itemld关联查找到表3道具元素实体),再根据道具使用反射链 (即图3中道具实体P与效果函数实体F之间的元数据反射链)查找到该道具对应的效果函数 M(通过表3道具元素实体中的itemFunc查找到效果函数M),效果函数Μ指向效果函数实体F, 最后执行该效果函数实体F。
[0152] 效果函数Μ是调用技能元素或者道具元素所对应的方法名,根据方法名指向对应 的效果函数实体F。
[0153] 效果函数实体F,简称函数实体F,是效果函数Μ对应的实际代码实体,产生实际的 调用效果。
[0154] 步骤2.4:为各个场景S(Scene)与游戏元素实体GEL·之间设置场景一一游戏元素 实体元数据链(Sence-Game Element Instance-Metadata Link,SGML),每个场景S都包含 相应的GEIi,包含GEIi的个数、种类,都在SGML中体现,最后生成场景配置文件。
[0155] 2 · 4 · 1、定义6 :GEIi_表示i这个游戏元素的GEIi的数量为num;
[0156] 定义7: SmGML表示场景111所对应的场景--游戏元素实体元数据链;
[0157] 定义8:SmGML是场景m由GEIinum组成的集合,SGML={GEIinum};
[0158] 2.4.2、游戏模板GT通过读取SmGML来创建本场景所需的GEI的种类和数目,最终实 现游戏场景的自动生成。游戏模板GT通过读取GGML来实现游戏场景内游戏元素实体对应方 法的调用。
[0159] SmGML与GGML之间的关系如图4所示,在SmGML上分布着各个GEI i,有地图实体、剧情 实体、主角实体、NPC实体、道具实体、技能实体、装备实体、函数实体。各个GEL·之间的关系 以元数据反射链的形式体现,有地图实体与主角实体之间的主角反射链(说明该地图上主 角实体的分布情况)、主角实体与道具实体之间的道具反射链(说明该主角实体所拥有道具 的种类和数量情况)、道具实体与函数实体之间的道具使用反射链(说明该道具实体所对应 的效果函数实体)等。每个游戏场景都有一条S mGML,SmGML上的各个GE I i之间的GGML配合GT 实现本场景的游戏逻辑与效果。
[0160] 2.4.3、每个GEL·拥有有限数目的离散稳定、相互独立又相互联系的状态,SRPG游 戏以事件驱动的方式工作,使得每个游戏元素实体在这些状态内转移。在某一时刻,当收到 输入事件,GT中的有限状态机(Finite state machines,FSM)对该事件做出响应,并伴随状 态的转移。有限状态机特别适用于游戏设计中复杂场景的切换以及场景内游戏元素实体状 态之间的切换,为游戏云设计提供了一种可重用、模板化的设计方法。
[0161] 场景的切换如图5所示,每个游戏场景都有一条SmGML,记录了场景m中各个GEIi的 状态。当游戏主角过关从场景1转换到场景2时,通过WSiGML中抽离出进入场景2所需的GEL· 以及相关联的元数据反射链,融合到3%1^中,实现场景1到场景2的游戏环境的过渡,融合 后的S 2GML将成为场景2的初始化条件,GT读取S2GML完成场景2的初始化以及游戏逻辑的实 现。
[0162] 假设主角从场景1进入场景2只携带了某道具实体,在进入场景2时,GTWSWML中 抽离出主角实体、道具实体、函数实体以及这三个实体之间的元数据反射链,与S 2GML中现 有的GEIi和GGML进行融合。GT读取融合后的S2GML初始化场景2的游戏逻辑。
[0163] 场景内游戏元素实体状态之间的切换如图6所示,在游戏云设计中,每个GEL·通过 元数据反射链的方式传递各个GEhi间的状态转换。主角元素实体拥有的状态为创建状 态、激活状态、攻击状态、升级状态、死亡状态、复活状态。
[0164] NPC元素实体拥有的状态为创建状态、激活状态、巡逻状态、追赶状态、攻击状态、 死亡状态。
[0165] 以主角发动技能为例,主角实体在玩家的操作下从激活状态转变为攻击状态,当 玩家选择发动对应的技能时,与主角攻击状态相关联的技能反射链将被触发,通过技能反 射链查找相应的技能,再通过技能使用反射链查找相应的函数实体,最后执行该函数实体 作用于NPC实体,完成本次攻击。
[0166] NPC实体受到本次攻击后,从之前的激活状态转变为攻击状态,同样的,NPC实体的 技能反射链将被触发,完成本次反击。在主角攻击,NPC反击来回的过程中,因 NPC的战败使 得NPC实体从攻击状态转变为消亡状态,从而触发主角实体从攻击状态转变为升级状态,升 级结束后,再转变为激活状态。最后,由于NPC实体的消亡,反作用于元数据反射链,将所有 与该NPC实体相关的元数据反射链移除,从而继续通过元数据反射链完成FSM中各个GEhi 间的状态转换。
[0167] 步骤2.5:根据游戏元数据配置文件和游戏模板,生成WEB版本、I0S版本、Android 版本的软件包。
[0168] 第三步:游戏云管理模块负责对游戏在线云设计模块开发的游戏提供测试、统计 服务,如为玩家提供游戏实例试玩的硬件资源,统计游戏实例玩家数量。
[0169] 本发明的有益效果主要表现在:提升游戏制作的效率,减少游戏制作团队对程序 员的依赖,降低游戏制作的门槛及成本。游戏设计方通过游戏云设计平台做到无需写代码 或者写少量代码,采用可视化的开发方式,通过简单的拖拽、配置即可完成游戏的制作过 程。这样,对于擅长游戏创意的游戏策划师而言,不依赖程序员,就可制作出忠实于自己创 意的游戏。
[0170] (1)无需编程,可视化开发,界面友好
[0171] (2) -次开发,跨平台发布
[0172] (3)海量的云游戏模板和云游戏设计资源的共享
[0173] (4)游戏云设计体系架构
[0174] (5)基于元数据反射链的复用思想
[0175] 实施例2
[0176]本发明提供了一种基于元数据反射链的SRPG游戏云设计平台,通过该平台设计实 现了《残魂春秋》S R P G游戏实例。该游戏实例所选择的游戏模板采用Η T M L 5、C S S 3、 JavaScript技术开发实现。《残魂春秋》的游戏背景讲述的是在古代的武林中,残魂教的教 主林春水被一个叫做"魂"的组织杀害,林春水的儿子林秋水在逃亡的过程中结实小伙伴, 最后为父报仇的故事。
[0177] 以下所述各类游戏元素实体元数据配置文件的详细参数说明参见实施例一。
[0178] 主角元素实体元数据配置文件描述的是主角实体的各个属性值以及主角实体与 技能实体的元数据反射链,如:主角实体的姓名为林秋水、等级为1级、血量hp为120、与技能 编号ski 11 Id为1的技能实体形成元数据反射链等。
[0179]主角元素实体元数据配置文件如下:
[0181]技能元素实体元数据配置文件描述了各技能元素实体的各个属性值以及各技能 实体与对应的函数实体之间的元数据反射链关系,通过技能编号skillld查找到与主角实 体形成元数据反射链的技能实体,即skillld为1的技能实体的名称为残食天地,其作用是 对敌人造成60点hp的伤害,与效果函数名为SSoulKi 11形成元数据反射链。
[0182]技能元素实体元数据配置文件如下:
[0184] 地图元素实体元数据配置文件描述的是该元素实体的一些属性以及地图实体与 主角实体、NPC实体之间的元数据反射链。地图的属性如地图的名称叫"逃生",地图的图片 路径为image/map/mapl · jpg。地图实体通过关联roleld与npcld分别与主角实体和NPC实体 形成元数据反射链,而主角实体又指向技能实体,技能实体指向函数实体,使得元数据反射 链延长。
[0185] 地图元素实体元数据配置文件如下:

[0188] 世界地图元素实体元数据配置文件描述的是世界地图实体与各个地图实体形成 元数据反射链关系。各个地图实体在世界地图实体中以关卡的形式体现。如世界地图实体 包含了 mapld为1的地图实体,其在世界地图中的X坐标为140,Y坐标为205等。mapld为1的地 图实体又与以上所述主角实体和NPC实体形成元数据反射链,使得元数据反射链延长。
[0189] 世界地图元素实体元数据配置文件如下:

【主权项】
1. 一种基于元数据反射链的游戏云设计方法,其特征在于:所述游戏云设计方法包括 如下步骤: 第一步:建立一个通用的基于元数据反射链的游戏云设计的平台,平台架构分为游戏 云资源模块、游戏云设计模块、游戏云管理模块; 1.1、 游戏云资源模块:负责对游戏需求方发布的相关游戏资源进行需求设计,并为游 戏云设计提供所需的游戏资源; 游戏云资源模块包括游戏需求池、游戏任务池、游戏资源池; 1.2、 游戏云设计模块:负责游戏的云设计; 游戏云设计模块包括游戏模板池、游戏设计配置文件、游戏资源层、游戏元素层、游戏 组件层、游戏场景层、游戏逻辑层和游戏应用层; 游戏模板池:存放游戏模板,游戏设计方选择所需的游戏模板进行游戏云设计,一个游 戏模板代表着若干个游戏实例,游戏实例是指通过某游戏模板设计出来的具体的某一款游 戏; 游戏设计配置文件:游戏设计方通过可视化拖拽点击操作生成针对某个游戏实例的配 置文件,配置文件中详细的记录了该游戏实例所需的游戏资源和游戏模板; 游戏资源层:通过资源配置文件来管理、维护游戏实例相关的游戏资源; 游戏元素层:负责管理、维护每个游戏实例中所需的游戏元素,包括战斗场地、剧情、人 物、道具、技能和动画等; 游戏组件层:负责管理、维护各个游戏元素在各个游戏组件层的状态、属性、事件等,包 括地图层、人物层、效果层、对话层、控制层; 游戏场景层:负责管理和维护各个游戏场景的生命周期,包括场景的创建、跳转和消亡 等; 游戏逻辑层:负责根据元数据反射链将游戏资源层、游戏元素层、游戏组件层和游戏场 景层连接起来,组装成一个游戏实例; 游戏应用层:负责将游戏逻辑层产生的游戏实例生成Web平台、IOS平台、Andriod平台 的游戏; 1.3、 游戏云管理模块:负责管理本平台的游戏资源、游戏模板和游戏实例,提供游戏实 例运行的硬件资源和软件资源以及开发测试环境; 游戏云管理模块包括:基础架构层和云平台运营层; 基础架构层:提供游戏实例运行所需的基础设施资源; 云平台运营层:负责管理和维护本平台的游戏设计资源、游戏模板以及开发完成的游 戏实例等; 第二步:基于所述的平台架构,提出基于元数据反射链的游戏云设计,过程如下: 步骤2.1:游戏设计方通过游戏云设计可视化界面,从游戏模板池中选择相应的游戏模 板,进行可视化游戏在线设计,选择游戏模板之前,通过试玩该游戏实例GI,从而决定游戏 模板是否满足游戏设计所需; 选择游戏模板GT,每个游戏模板GT对应多个游戏实例GL·,玩家通过试玩各个GI决定是 否选择该GT;每个GT都定义了本模板所提供的游戏元素 GE,即GT-GE,GE = {M,S,R,I,S, NPC,EXT};GE主要包括地图M、技能S、人物R、道具I、剧情S、NPC,扩展元素 EXT,EXT={EXT1, EXT2,…,ΕΧ?η};不同的GT所提供的EXT会有所差别,游戏设计方一旦选择相应的GT,最后用 户可创建的GE便可确定; 步骤2.2 :根据GT,选择所需的GE,创建该游戏元素实体GEI,每一个GEI,包含属性集 (Attribute,An)和方法集(Method,Mn),即GE-GEI,GEI = {Ai,Α2,···,Αη} U {Μι,Μ2,···,Μη};如 选择M、R、S、P等GE,设置每个GE的属性,如主角的HP属性值、移动距离、移动速度和主角图 片,为GEI选择游戏静态资源,游戏静态资源可从游戏资源池中获取,也可游戏设计方自行 上传,将创建的各个游戏元素实体与选择的游戏静态资源关联起来,从而完成GEI的创建; 2.2.1、 选择GE,不同的GE所拥有的属性及方法有所不同; 2.2.2、 创建GEI,通过游戏在线设计可视化界面为选择的游戏元素设置好对应的属性 值,涉及图片与音效的属性值,从游戏资源池中选择相应的游戏图片、游戏音效以及游戏设 计方自行上传的游戏素材到游戏资源池,最后生成实体元数据; 步骤2.3:在游戏设计中,对于每一个GEI,通过连接相互关联的GEI元数据,形成多条游 戏元素实体元数GGML,GGML中GEI与GEI之间的关联关系是一对多、一对一或多对多; 一对多关系表现为:一张地图上出现多个主角、多个NPC; 一对一关系表现为:主角只能携带一个技能; 多对多关系表现为:多个主角可以携带多个不同的道具; 最后生成游戏元素实体元数据配置文件; 2.3.1、 定义1: GEI/表示游戏元素 GEIi的属性A; 定义2:GEIiM表示游戏元素 GEIi的方法Μ; 定义3:GEI/表示游戏元素 GEL·为一个具体的函数实体F; 定义4: GE I /-GE I /,表示GE I i的属性A指向GE I /; 定义5: GE I /^GE IkF,表示GE I j的方法Μ指向GE IkF; 2 · 3 · 2、创建GGML,定义GGML = GE I iA-GE I /-GE I kF,表示由 GE I iA,GE I /,GE I ι/形成的一 条元数据反射链,由GEIi的属性A指向GEIjM,GEIjM的方法M指向GEIkF; 2.3.3、 执行GGML,当执行到GEIi的属性A所对应的元素实体的方法时,通过查找相应的 GGML来执行方法M; 步骤2.4:为各个场景S与游戏元素实体GEL·之间设置场景一一游戏元素实体元数据链 SGML,每个场景S都包含相应的GEIi,包含GEIi的个数、种类,都在SGML中体现,最后生成场景 配置文件; 2.4.1、 定义6:GEIi_表示i这个游戏元素的GEIi的数量为num; 定义7: SmGML表示场景111所对应的场景--游戏元素实体元数据链; 定义8: SmGML是场景m由GE I inum组成的集合,SGML = {GE I inum}; 2.4.2、 游戏模板GT通过读取SmGML来创建本场景所需的GEI的种类和数目,最终实现游 戏场景的自动生成,游戏模板GT通过读取GGML来实现游戏场景内游戏元素实体对应方法的 调用; 2.4.3、 每个GEL·拥有有限数目的离散稳定、相互独立又相互联系的状态,SRPG游戏以事 件驱动的方式工作,使得每个游戏元素实体在这些状态内转移;在某一时刻,当收到输入事 件,GT中的有限状态机FSM对该事件做出响应,并伴随状态的转移;有限状态机特别适用于 游戏设计中复杂场景的切换以及场景内游戏元素实体状态之间的切换; 在游戏云设计中,每个GEL·通过元数据反射链的方式传递各个GEL·之间的状态转换; 步骤2.5:根据游戏元数据配置文件和游戏模板,生成WEB版本、IOS版本、Android版本 的软件包; 第三步:游戏云管理模块负责对游戏在线云设计模块开发的游戏提供测试、统计服务。2.如权利要求1所述的一种基于元数据反射链的游戏云设计方法,其特征在于:所述步 骤1.1中,游戏需求池:存放游戏需求方发布的与游戏制作相关的需求,需求分为二类,一类 是与游戏素材相关的制作设计需求,例如游戏设计方在游戏设计过程中缺少相应的游戏素 材,在游戏需求池中发布制作设计需求,游戏美工在游戏任务池中发现需求并完成缺少的 游戏素材,将其放入游戏资源池;还有一类是与游戏设计相关的需求,例如某游戏玩家需定 制SRPG游戏,但游戏模板池中并没有相应的游戏模板,在游戏需求池中发布该类需求,游戏 开发者在游戏任务池中发现需求并完成玩家所需的游戏模板,将其放入游戏资源池; 游戏任务池:游戏需求方发布游戏需求后,每个游戏需求进入游戏任务池,由游戏开发 者、美工、音效师在游戏任务池中选择自己擅长领域的游戏任务并完成该任务; 游戏资源池:游戏任务池中的任务被完成后进入游戏资源池,转变为游戏资源,游戏资 源主要分为二类,一类是与游戏素材相关的游戏资源,这类游戏资源以图片,音效,视频等 形式在游戏资源池中体现;另外一类是与游戏设计相关的游戏资源,以游戏模板的形式在 游戏资源池中体现;这二类游戏资源为游戏设计方在游戏云设计模块进行游戏在线设计做 好游戏资源准备。
【文档编号】G06F9/44GK105867932SQ201610213755
【公开日】2016年8月17日
【申请日】2016年4月7日
【发明人】陆佳炜, 马俊, 肖刚, 徐俊, 高飞, 张元鸣, 卢成炳
【申请人】浙江工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1