基于元數(shù)據(jù)反射鏈的游戲云設(shè)計(jì)方法
【專(zhuān)利摘要】一種基于元數(shù)據(jù)反射鏈的游戲云設(shè)計(jì)方法,包括如下步驟:第一步:建立一個(gè)通用的基于元數(shù)據(jù)反射鏈的游戲云設(shè)計(jì)的平臺(tái),平臺(tái)架構(gòu)分為游戲云資源模塊、游戲云設(shè)計(jì)模塊、游戲云管理模塊;第二步:基于平臺(tái)架構(gòu),采用基于元數(shù)據(jù)反射鏈的游戲云設(shè)計(jì),游戲設(shè)計(jì)方通過(guò)游戲云設(shè)計(jì)可視化界面,從游戲模板池中選擇相應(yīng)的游戲模板,進(jìn)行可視化游戲在線(xiàn)設(shè)計(jì),選擇游戲模板之前,通過(guò)試玩該游戲?qū)嵗鼼I,決定游戲模板是否滿(mǎn)足游戲設(shè)計(jì)所需;第三步:游戲云管理模塊負(fù)責(zé)對(duì)游戲在線(xiàn)云設(shè)計(jì)模塊開(kāi)發(fā)的游戲提供測(cè)試、統(tǒng)計(jì)服務(wù)。本發(fā)明能提升游戲制作的效率,減少游戲制作團(tuán)隊(duì)對(duì)程序員的依賴(lài),降低游戲制作的門(mén)檻及成本。
【專(zhuān)利說(shuō)明】
基于元數(shù)據(jù)反射鏈的游戲云設(shè)計(jì)方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及到一種游戲技術(shù)開(kāi)發(fā)領(lǐng)域,特別涉及一種通用的基于元數(shù)據(jù)反射鏈的 策略角色扮演游戲(strategy Role-Playing Game,SRPG)的游戲云設(shè)計(jì)方法。
【背景技術(shù)】
[0002] SRPG游戲是RPG游戲發(fā)展出來(lái)的一個(gè)分支,是策略角色扮演游戲的簡(jiǎn)稱(chēng),是一種帶 有戰(zhàn)術(shù)性的(通常為戰(zhàn)棋類(lèi))角色扮演游戲。玩家通過(guò)控制一個(gè)或多個(gè)角色并使其活動(dòng)在一 個(gè)寫(xiě)實(shí)或虛構(gòu)世界中,每個(gè)角色擁有各種虛擬能力參數(shù)與技能,其中能力參數(shù)指力量,體 力、靈敏度、智力、魔法、運(yùn)氣等,技能指能發(fā)動(dòng)的招式或動(dòng)作,并在一個(gè)結(jié)構(gòu)化規(guī)則下,通過(guò) 一些帶有戰(zhàn)術(shù)性的行動(dòng)使玩家所扮演角色的虛擬能力參數(shù)及技能得到發(fā)展,最終完成游戲 勝利的目標(biāo)。
[0003] 個(gè)人獨(dú)立開(kāi)發(fā)游戲的工具最早可追溯到RPG Maker,主要用來(lái)制作RPG游戲,游戲 里自帶大量素材,使用者不需要編程只利用內(nèi)置的事件編輯器和戰(zhàn)斗編輯器就能夠?qū)懗鲇?戲的基本邏輯,但是其缺點(diǎn)是用戶(hù)必須下載游戲開(kāi)發(fā)者工具,并且只能開(kāi)發(fā)RPG類(lèi)型的游 戲。如果開(kāi)發(fā)者想要制作出其他類(lèi)型的游戲,需要重寫(xiě)游戲機(jī)制,并且必須熟練使用編輯 器。國(guó)外的個(gè)人獨(dú)立開(kāi)發(fā)游戲的工具主要以GameSalad為主,使用GameSalad無(wú)需編程,但用 戶(hù)仍需在本地安裝軟件,并且需要掌握軟件工程的基礎(chǔ)流程才能實(shí)現(xiàn)目標(biāo)中所需要的游戲 機(jī)制。
[0004] 目前,互聯(lián)網(wǎng)上已經(jīng)出現(xiàn)了一些在線(xiàn)制作游戲平臺(tái)(如游戲魅等),這些游戲在線(xiàn) 制作平臺(tái)亮點(diǎn)在于不寫(xiě)代碼或者寫(xiě)少量代碼,通過(guò)可視化拖拽點(diǎn)擊、加入動(dòng)作條,快速完成 一款跨平臺(tái)中輕度游戲;一次開(kāi)發(fā)后可同時(shí)發(fā)布為H5、安卓、iOS和Windows原生版本;支持 豐富的游戲模板,采用60%模板+40%創(chuàng)意做游戲,也可從零開(kāi)始開(kāi)發(fā)原創(chuàng)游戲。綜上所述, 這類(lèi)游戲在線(xiàn)制作平臺(tái)對(duì)于游戲設(shè)計(jì)方而言,除了學(xué)習(xí)成本較高,涉及游戲開(kāi)發(fā)的游戲資 源分散于各個(gè)游戲網(wǎng)站,沒(méi)有統(tǒng)一的集成、管理、查找游戲資源入口等問(wèn)題。并且,游戲設(shè)計(jì) 方需要自己搭建游戲開(kāi)發(fā)環(huán)境,包括多人協(xié)作、部署、測(cè)試等,為游戲開(kāi)發(fā)帶來(lái)諸多不便。
[0005] 學(xué)術(shù)界就在線(xiàn)游戲云設(shè)計(jì)相關(guān)的領(lǐng)域也進(jìn)行了大量研究,中山大學(xué)王建明等人于 2006年提出了一種RPG游戲場(chǎng)景路徑的自動(dòng)生成方法及裝置,可以動(dòng)態(tài)的生成不同游戲場(chǎng) 景的路徑,路徑的靈活性高,加強(qiáng)了場(chǎng)景路徑的變化性,提高了游戲的娛樂(lè)性。韓國(guó)Ok-Hue Cho等人于2011提出了一種交互式的事件設(shè)計(jì)工具幫助游戲開(kāi)發(fā)者通過(guò)不寫(xiě)代碼,以可視 化的操作方式將游戲事件與效果綁定到相應(yīng)的游戲人物上。西安電子科技大學(xué)Linbo Luo 等人于2014年提出了一種針對(duì)嚴(yán)肅游戲的數(shù)據(jù)驅(qū)動(dòng)自動(dòng)生成場(chǎng)景的方法,通過(guò)一個(gè)具有人 工智能的虛擬游戲玩家來(lái)模擬真實(shí)玩家的操作來(lái)搜集游戲數(shù)據(jù)并根據(jù)人工神經(jīng)網(wǎng)絡(luò)來(lái)訓(xùn) 練數(shù)據(jù),最后利用數(shù)據(jù)驅(qū)動(dòng)框架根據(jù)人工神經(jīng)網(wǎng)絡(luò)訓(xùn)練后的數(shù)據(jù)自動(dòng)生成游戲的場(chǎng)景。以 上研究主要針對(duì)游戲設(shè)計(jì)過(guò)程中的某一部分的自動(dòng)化設(shè)計(jì),缺少對(duì)游戲的整個(gè)生命周期進(jìn) 行在線(xiàn)自動(dòng)化設(shè)計(jì)的研究,并且在自動(dòng)化設(shè)計(jì)游戲過(guò)程中需要下載相應(yīng)軟件,在線(xiàn)設(shè)計(jì)能 力偏弱。
【發(fā)明內(nèi)容】
[0006] 為了克服現(xiàn)有游戲設(shè)計(jì)方式的制作效率較低、依賴(lài)于程序員、門(mén)檻和成本較高的 不足,本發(fā)明提供一種基于元數(shù)據(jù)反射鏈的游戲云設(shè)計(jì)方法,能提升游戲制作的效率,減少 游戲制作團(tuán)隊(duì)對(duì)程序員的依賴(lài),降低游戲制作的門(mén)檻及成本。
[0007] 為了解決上述技術(shù)問(wèn)題本發(fā)明所采用的技術(shù)方案是:
[0008] 一種基于元數(shù)據(jù)反射鏈的游戲云設(shè)計(jì)方法,所述游戲云設(shè)計(jì)方法包括如下步驟:
[0009] 第一步:建立一個(gè)通用的基于元數(shù)據(jù)反射鏈的游戲云設(shè)計(jì)的平臺(tái),平臺(tái)架構(gòu)分為 游戲云資源模塊、游戲云設(shè)計(jì)模塊、游戲云管理模塊;
[0010] 1.1、游戲云資源模塊:負(fù)責(zé)對(duì)游戲需求方發(fā)布的相關(guān)游戲資源進(jìn)行需求設(shè)計(jì),并 為游戲云設(shè)計(jì)提供所需的游戲資源;
[0011] 游戲云資源模塊包括游戲需求池、游戲任務(wù)池、游戲資源池;
[0012] 1.2、游戲云設(shè)計(jì)模塊:負(fù)責(zé)游戲的云設(shè)計(jì);
[0013] 游戲云設(shè)計(jì)模塊包括游戲模板池、游戲設(shè)計(jì)配置文件、游戲資源層、游戲元素層、 游戲組件層、游戲場(chǎng)景層、游戲邏輯層和游戲應(yīng)用層;
[0014] 游戲模板池:存放游戲模板,游戲設(shè)計(jì)方選擇所需的游戲模板進(jìn)行游戲云設(shè)計(jì),一 個(gè)游戲模板代表著若干個(gè)游戲?qū)嵗?,游戲?qū)嵗侵竿ㄟ^(guò)某游戲模板設(shè)計(jì)出來(lái)的具體的某一 款游戲;
[0015] 游戲設(shè)計(jì)配置文件:游戲設(shè)計(jì)方通過(guò)可視化拖拽點(diǎn)擊操作生成針對(duì)某個(gè)游戲?qū)嵗?的配置文件,配置文件中詳細(xì)的記錄了該游戲?qū)嵗璧挠螒蛸Y源和游戲模板;
[0016] 游戲資源層:通過(guò)資源配置文件來(lái)管理、維護(hù)游戲?qū)嵗嚓P(guān)的游戲資源;
[0017] 游戲元素層:負(fù)責(zé)管理、維護(hù)每個(gè)游戲?qū)嵗兴璧挠螒蛟兀☉?zhàn)斗場(chǎng)地、劇 情、人物、道具、技能和動(dòng)畫(huà)等;
[0018] 游戲組件層:負(fù)責(zé)管理、維護(hù)各個(gè)游戲元素在各個(gè)游戲組件層的狀態(tài)、屬性、事件 等,包括地圖層、人物層、效果層、對(duì)話(huà)層、控制層;
[0019] 游戲場(chǎng)景層:負(fù)責(zé)管理和維護(hù)各個(gè)游戲場(chǎng)景的生命周期,包括場(chǎng)景的創(chuàng)建、跳轉(zhuǎn)和 消亡等;
[0020] 游戲邏輯層:負(fù)責(zé)根據(jù)元數(shù)據(jù)反射鏈將游戲資源層、游戲元素層、游戲組件層和游 戲場(chǎng)景層連接起來(lái),組裝成一個(gè)游戲?qū)嵗?br>[0021 ] 游戲應(yīng)用層:負(fù)責(zé)將游戲邏輯層產(chǎn)生的游戲?qū)嵗蒞eb平臺(tái)、I0S平臺(tái)、Andriod 平臺(tái)的游戲;
[0022] 1.3、游戲云管理模塊:負(fù)責(zé)管理本平臺(tái)的游戲資源、游戲模板和游戲?qū)嵗?,提供?戲?qū)嵗\(yùn)行的硬件資源和軟件資源以及開(kāi)發(fā)測(cè)試環(huán)境;
[0023]游戲云管理模塊包括:基礎(chǔ)架構(gòu)層和云平臺(tái)運(yùn)營(yíng)層;
[0024]基礎(chǔ)架構(gòu)層:提供游戲?qū)嵗\(yùn)行所需的基礎(chǔ)設(shè)施資源;
[0025]云平臺(tái)運(yùn)營(yíng)層:負(fù)責(zé)管理和維護(hù)本平臺(tái)的游戲設(shè)計(jì)資源、游戲模板以及開(kāi)發(fā)完成 的游戲?qū)嵗龋?br>[0026]第二步:基于所述的平臺(tái)架構(gòu),提出基于元數(shù)據(jù)反射鏈的游戲云設(shè)計(jì),過(guò)程如下: [0027] 步驟2.1:游戲設(shè)計(jì)方通過(guò)游戲云設(shè)計(jì)可視化界面,從游戲模板池中選擇相應(yīng)的游 戲模板,進(jìn)行可視化游戲在線(xiàn)設(shè)計(jì),選擇游戲模板之前,通過(guò)試玩該游戲?qū)嵗鼼I,從而決定 游戲模板是否滿(mǎn)足游戲設(shè)計(jì)所需;
[0028] 選擇游戲模板GT,每個(gè)游戲模板GT對(duì)應(yīng)多個(gè)游戲?qū)嵗鼼L·,玩家通過(guò)試玩各個(gè)GI決 定是否選擇該GT;每個(gè)GT都定義了本模板所提供的游戲元素 GE,即GT-GE,GE = {M,S,R,I, S,NPC,EXT};GE主要包括地圖M、技能S、人物R、道具I、劇情S、NPC,擴(kuò)展元素 EXT,EXT = {EXT!,EXT2,…,ΕΧ?η};不同的GT所提供的EXT會(huì)有所差別,游戲設(shè)計(jì)方一旦選擇相應(yīng)的GT, 最后用戶(hù)可創(chuàng)建的GE便可確定;
[0029] 步驟2.2:根據(jù)GT,選擇所需的GE,創(chuàng)建該游戲元素實(shí)體GEI,每一個(gè)GEI,包含屬性 集(Attribute,An)和方法集(Method,Mn),即GE-GEI,GEI = {Ai,A2,···,△"} U {Μι,Μ2,···,Μη}; 如選擇M、R、S、P等GE,設(shè)置每個(gè)GE的屬性,如主角的HP屬性值、移動(dòng)距離、移動(dòng)速度和主角圖 片,為GEI選擇游戲靜態(tài)資源,游戲靜態(tài)資源可從游戲資源池中獲取,也可游戲設(shè)計(jì)方自行 上傳,將創(chuàng)建的各個(gè)游戲元素實(shí)體與選擇的游戲靜態(tài)資源關(guān)聯(lián)起來(lái),從而完成GEI的創(chuàng)建; [0030] 2.2.1、選擇GE,不同的GE所擁有的屬性及方法有所不同;
[0031] 2.2.2、創(chuàng)建GEI,通過(guò)游戲在線(xiàn)設(shè)計(jì)可視化界面為選擇的游戲元素設(shè)置好對(duì)應(yīng)的 屬性值,涉及圖片與音效的屬性值,從游戲資源池中選擇相應(yīng)的游戲圖片、游戲音效以及游 戲設(shè)計(jì)方自行上傳的游戲素材到游戲資源池,最后生成實(shí)體元數(shù)據(jù);
[0032] 步驟2.3:在游戲設(shè)計(jì)中,對(duì)于每一個(gè)GEI,通過(guò)連接相互關(guān)聯(lián)的GEI元數(shù)據(jù),形成多 條游戲元素實(shí)體元數(shù)GGML,GGML中GEI與GEI之間的關(guān)聯(lián)關(guān)系是一對(duì)多、一對(duì)一或多對(duì)多; [0033] 一對(duì)多關(guān)系主要表現(xiàn)為:一張地圖上可以出現(xiàn)多個(gè)主角、多個(gè)NPC,即一個(gè)元素實(shí) 體與另一種元素的多個(gè)實(shí)體相關(guān)聯(lián)、設(shè)置可以與多種元素實(shí)體相關(guān)聯(lián)。
[0034] -對(duì)一關(guān)系主要表現(xiàn)為:主角只能攜帶一個(gè)技能、或每個(gè)地圖主角的起始出生點(diǎn) 只存在一個(gè)等,即一個(gè)元素實(shí)體只能與另一個(gè)元素實(shí)體相關(guān)聯(lián)。
[0035] 多對(duì)多關(guān)系主要表現(xiàn)為:多個(gè)主角可以攜帶多個(gè)不同的道具,即一種元素的多個(gè) 實(shí)體與另一種元素的多個(gè)實(shí)體交叉多重相關(guān)聯(lián)。
[0036] 最后生成游戲元素實(shí)體元數(shù)據(jù)配置文件;
[0037] 2·3·l、定義l:GEIiA表示游戲元素 GEIi的屬性A;
[0038] 定義2:GEIiM表示游戲元素 GEIi的方法M;
[0039]定義表示游戲元素 GEL·為一個(gè)具體的函數(shù)實(shí)體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、創(chuàng)建GGML,定義GGML = GE I iA-GE I /-GE I kF,表示由 GE I iA,GE I /,GE IkF形成 的一條元數(shù)據(jù)反射鏈,由GEIi的屬性A指向GEIjM,GEIj M的方法M指向GEIkF;
[0043] 2.3.3、執(zhí)行GGML,當(dāng)執(zhí)行到GEIi的屬性A所對(duì)應(yīng)的元素實(shí)體的方法時(shí),通過(guò)查找相 應(yīng)的GGML來(lái)執(zhí)行方法M;
[0044] 步驟2.4:為各個(gè)場(chǎng)景S與游戲元素實(shí)體GEL·之間設(shè)置場(chǎng)景一一游戲元素實(shí)體元數(shù) 據(jù)鏈SGML,每個(gè)場(chǎng)景S都包含相應(yīng)的GEIi,包含GEIi的個(gè)數(shù)、種類(lèi),都在SGML中體現(xiàn),最后生成 場(chǎng)景配置文件;
[0045] 2.4.1、定義6 :GEIi_表示i這個(gè)游戲元素的GEIi的數(shù)量為num;
[0046] 定義7: SmGML表示場(chǎng)景111所對(duì)應(yīng)的場(chǎng)景--游戲元素實(shí)體元數(shù)據(jù)鏈;
[0047] 定義8:SmGML是場(chǎng)景m由GEIi_組成的集合,SGML={GEIinum};
[0048] 2.4.2、游戲模板GT通過(guò)讀取SmGML來(lái)創(chuàng)建本場(chǎng)景所需的GEI的種類(lèi)和數(shù)目,最終實(shí) 現(xiàn)游戲場(chǎng)景的自動(dòng)生成,游戲模板GT通過(guò)讀取GGML來(lái)實(shí)現(xiàn)游戲場(chǎng)景內(nèi)游戲元素實(shí)體對(duì)應(yīng)方 法的調(diào)用;
[0049] 2.4.3、每個(gè)GEL·擁有有限數(shù)目的離散穩(wěn)定、相互獨(dú)立又相互聯(lián)系的狀態(tài),SRPG游 戲以事件驅(qū)動(dòng)的方式工作,使得每個(gè)游戲元素實(shí)體在這些狀態(tài)內(nèi)轉(zhuǎn)移;在某一時(shí)刻,當(dāng)收到 輸入事件,GT中的有限狀態(tài)機(jī)FSM對(duì)該事件做出響應(yīng),并伴隨狀態(tài)的轉(zhuǎn)移;有限狀態(tài)機(jī)特別 適用于游戲設(shè)計(jì)中復(fù)雜場(chǎng)景的切換以及場(chǎng)景內(nèi)游戲元素實(shí)體狀態(tài)之間的切換;
[0050]在游戲云設(shè)計(jì)中,每個(gè)GEL·通過(guò)元數(shù)據(jù)反射鏈的方式傳遞各個(gè)GEL·之間的狀態(tài)轉(zhuǎn) 換;
[0051 ] 步驟2.5:根據(jù)游戲元數(shù)據(jù)配置文件和游戲模板,生成WEB版本、I0S版本、Android 版本的軟件包;
[0052]第三步:游戲云管理模塊負(fù)責(zé)對(duì)游戲在線(xiàn)云設(shè)計(jì)模塊開(kāi)發(fā)的游戲提供測(cè)試、統(tǒng)計(jì) 服務(wù)。
[0053] 進(jìn)一步,所述步驟1.1中,游戲需求池:存放游戲需求方發(fā)布的與游戲制作相關(guān)的 需求,需求分為二類(lèi),一類(lèi)是與游戲素材相關(guān)的制作設(shè)計(jì)需求,例如游戲設(shè)計(jì)方在游戲設(shè)計(jì) 過(guò)程中缺少相應(yīng)的游戲素材,在游戲需求池中發(fā)布制作設(shè)計(jì)需求,游戲美工在游戲任務(wù)池 中發(fā)現(xiàn)需求并完成缺少的游戲素材,將其放入游戲資源池;還有一類(lèi)是與游戲設(shè)計(jì)相關(guān)的 需求,例如某游戲玩家需定制SRPG游戲,但游戲模板池中并沒(méi)有相應(yīng)的游戲模板,在游戲需 求池中發(fā)布該類(lèi)需求,游戲開(kāi)發(fā)者在游戲任務(wù)池中發(fā)現(xiàn)需求并完成玩家所需的游戲模板, 將其放入游戲資源池;
[0054] 游戲任務(wù)池:游戲需求方發(fā)布游戲需求后,每個(gè)游戲需求進(jìn)入游戲任務(wù)池,由游戲 開(kāi)發(fā)者、美工、音效師在游戲任務(wù)池中選擇自己擅長(zhǎng)領(lǐng)域的游戲任務(wù)并完成該任務(wù);
[0055] 游戲資源池:游戲任務(wù)池中的任務(wù)被完成后進(jìn)入游戲資源池,轉(zhuǎn)變?yōu)橛螒蛸Y源,游 戲資源主要分為二類(lèi),一類(lèi)是與游戲素材相關(guān)的游戲資源,這類(lèi)游戲資源以圖片,音效,視 頻等形式在游戲資源池中體現(xiàn);另外一類(lèi)是與游戲設(shè)計(jì)相關(guān)的游戲資源,以游戲模板的形 式在游戲資源池中體現(xiàn);這二類(lèi)游戲資源為游戲設(shè)計(jì)方在游戲云設(shè)計(jì)模塊進(jìn)行游戲在線(xiàn)設(shè) 計(jì)做好游戲資源準(zhǔn)備。
[0056] 本發(fā)明的技術(shù)構(gòu)思為:通常任何一款游戲均由各個(gè)靜態(tài)的游戲資源組成,靜態(tài)游 戲資源包括:圖片、音頻、游戲模板等游戲素材。這些游戲資源構(gòu)成游戲的各個(gè)元素,游戲元 素包括地圖、劇情、人物、道具、技能、效果函數(shù)等。每個(gè)游戲元素隸屬于各自對(duì)應(yīng)的游戲組 件層,游戲組件層包括地圖層、人物層、效果層、對(duì)話(huà)層、控制層,通過(guò)基于元數(shù)據(jù)反射鏈的 方式將各個(gè)游戲組件層中的游戲元素按照游戲模板提供的邏輯組織到一起,從而形成多個(gè) 游戲的場(chǎng)景,最后組合各個(gè)游戲場(chǎng)景即形成一款游戲。在游戲云設(shè)計(jì)平臺(tái)中,游戲設(shè)計(jì)方通 過(guò)可視化拖拽點(diǎn)擊的方式創(chuàng)建各個(gè)游戲元素,關(guān)聯(lián)各類(lèi)游戲云資源與游戲元素,設(shè)置游戲 元素之間的實(shí)體關(guān)系,形成多條元數(shù)據(jù)反射鏈,最后組合游戲模板與元數(shù)據(jù)反射鏈,實(shí)現(xiàn)游 戲全生命周期的設(shè)計(jì)。
[0057]本發(fā)明提出了一種基于元數(shù)據(jù)反射鏈的游戲云設(shè)計(jì)方法。通過(guò)云計(jì)算平臺(tái)將大量 高度虛擬化的游戲資源管理起來(lái),組成一個(gè)游戲資源池,采用集中式的思想提供服務(wù)?;?元數(shù)據(jù)反射鏈的游戲云設(shè)計(jì)方法以游戲需求方、游戲設(shè)計(jì)方、游戲玩家為中心,以知識(shí)為支 撐,構(gòu)建一個(gè)虛擬化、分布式、按需分配的游戲制造資源共享平臺(tái),通過(guò)游戲云設(shè)計(jì)平臺(tái)實(shí) 現(xiàn)游戲全生命周期的協(xié)同制造、管理與創(chuàng)新。
[0058] 通過(guò)將各類(lèi)游戲資源虛擬化、服務(wù)化構(gòu)成游戲資源服務(wù)云池,并進(jìn)行統(tǒng)一集中的 優(yōu)化管理和經(jīng)營(yíng)。游戲設(shè)計(jì)方選擇相應(yīng)的游戲模板,通過(guò)創(chuàng)建游戲元素實(shí)體,根據(jù)各個(gè)游戲 元素實(shí)體之間的實(shí)體關(guān)系,通過(guò)反射鏈的形式關(guān)聯(lián)各個(gè)游戲元素實(shí)體,從而形成多條元數(shù) 據(jù)反射鏈。游戲模板通過(guò)讀取相應(yīng)元數(shù)據(jù)反射鏈達(dá)到游戲的自動(dòng)生成以及游戲中具體函數(shù) 的自動(dòng)化調(diào)用的目的,最終實(shí)現(xiàn)游戲全生命周期設(shè)計(jì)的智慧化。
[0059] 本發(fā)明的有益效果主要表現(xiàn)在:提升游戲制作的效率,減少游戲制作團(tuán)隊(duì)對(duì)程序 員的依賴(lài),降低游戲制作的門(mén)檻及成本。游戲設(shè)計(jì)方通過(guò)游戲云設(shè)計(jì)平臺(tái)做到無(wú)需寫(xiě)代碼 或者寫(xiě)少量代碼,采用可視化的開(kāi)發(fā)方式,通過(guò)簡(jiǎn)單的拖拽、配置即可完成游戲的制作過(guò) 程。這樣,對(duì)于擅長(zhǎng)游戲創(chuàng)意的游戲策劃師而言,不依賴(lài)程序員,就可制作出忠實(shí)于自己創(chuàng) 意的游戲。
[0060] (1)無(wú)需編程,可視化開(kāi)發(fā),界面友好
[0061] (2) -次開(kāi)發(fā),跨平臺(tái)發(fā)布
[0062] (3)在擁有一定用戶(hù)基礎(chǔ)后,可累積海量的云游戲模板和云游戲設(shè)計(jì)資源的共享
[0063] (4)面向云計(jì)算的設(shè)計(jì)體系架構(gòu)
[0064] (5)基于元數(shù)據(jù)反射鏈的復(fù)用思想
【附圖說(shuō)明】
[0065]圖1示出了在線(xiàn)游戲云設(shè)計(jì)的平臺(tái)架構(gòu)圖。
[0066]圖2示出了基于元數(shù)據(jù)反射的在線(xiàn)游戲云設(shè)計(jì)的流程。
[0067]圖3示出了道具的GGML元數(shù)據(jù)反射鏈查找過(guò)程。
[0068]圖4示出了游戲中的SGML與GGML元數(shù)據(jù)反射鏈。
[0069]圖5示出了游戲過(guò)關(guān)時(shí),場(chǎng)景1與場(chǎng)景2之間GEI狀態(tài)之間的合并。
[0070] 圖6示出了通過(guò)GGML導(dǎo)致GEI狀態(tài)轉(zhuǎn)變以及GGML的調(diào)整。
【具體實(shí)施方式】
[0071]下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步描述。
[0072] 實(shí)施例1
[0073]參照?qǐng)D1~圖6,一種基于元數(shù)據(jù)反射鏈的游戲云設(shè)計(jì)方法,所述游戲云設(shè)計(jì)方法 包括如下步驟:
[0074]第一步:建立一個(gè)通用的基于元數(shù)據(jù)反射鏈的游戲云設(shè)計(jì)的平臺(tái),如圖1所示,平 臺(tái)架構(gòu)分為游戲云資源模塊、游戲云設(shè)計(jì)模塊、游戲云管理模塊。
[0075] 1.1、游戲云資源模塊:負(fù)責(zé)對(duì)游戲需求方發(fā)布的相關(guān)游戲資源進(jìn)行需求設(shè)計(jì),并 為游戲云設(shè)計(jì)提供所需的游戲資源。
[0076]游戲云資源模塊包括游戲需求池、游戲任務(wù)池、游戲資源池。
[0077]游戲需求池:存放游戲需求方發(fā)布的與游戲制作相關(guān)的需求。需求分為二類(lèi),一類(lèi) 是與游戲素材相關(guān)的制作設(shè)計(jì)需求,例如游戲設(shè)計(jì)方在游戲設(shè)計(jì)過(guò)程中缺少相應(yīng)的游戲素 材,在游戲需求池中發(fā)布制作設(shè)計(jì)需求,游戲美工在游戲任務(wù)池中發(fā)現(xiàn)需求并完成缺少的 游戲素材,將其放入游戲資源池。還有一類(lèi)是與游戲設(shè)計(jì)相關(guān)的需求,例如某游戲玩家需定 制SRPG游戲,但游戲模板池中并沒(méi)有相應(yīng)的游戲模板,在游戲需求池中發(fā)布該類(lèi)需求,游戲 開(kāi)發(fā)者在游戲任務(wù)池中發(fā)現(xiàn)需求并完成玩家所需的游戲模板,將其放入游戲資源池。
[0078] 游戲任務(wù)池:游戲需求方發(fā)布游戲需求后,每個(gè)游戲需求進(jìn)入游戲任務(wù)池,由游戲 開(kāi)發(fā)者、美工、音效師在游戲任務(wù)池中選擇自己擅長(zhǎng)領(lǐng)域的游戲任務(wù)并完成該任務(wù)。
[0079] 游戲資源池:游戲任務(wù)池中的任務(wù)被完成后進(jìn)入游戲資源池,轉(zhuǎn)變?yōu)橛螒蛸Y源。游 戲資源主要分為二類(lèi),一類(lèi)是與游戲素材相關(guān)的游戲資源,這類(lèi)游戲資源以圖片,音效,視 頻等形式在游戲資源池中體現(xiàn)。另外一類(lèi)是與游戲設(shè)計(jì)相關(guān)的游戲資源,以游戲模板的形 式在游戲資源池中體現(xiàn)。這二類(lèi)游戲資源為游戲設(shè)計(jì)方在游戲云設(shè)計(jì)模塊進(jìn)行游戲在線(xiàn)設(shè) 計(jì)做好游戲資源準(zhǔn)備。
[0080] 1.2、游戲云設(shè)計(jì)模塊:負(fù)責(zé)游戲的云設(shè)計(jì)。
[0081] 游戲云設(shè)計(jì)模塊包括游戲模板池、游戲設(shè)計(jì)配置文件、游戲資源層、游戲元素層、 游戲組件層、游戲場(chǎng)景層、游戲邏輯層、游戲應(yīng)用層。
[0082] 游戲模板池:存放游戲模板。游戲設(shè)計(jì)方選擇所需的游戲模板進(jìn)行游戲云設(shè)計(jì),一 個(gè)游戲模板代表著若干個(gè)游戲?qū)嵗螒驅(qū)嵗侵竿ㄟ^(guò)某游戲模板設(shè)計(jì)出來(lái)的具體的某一 款游戲。
[0083] 游戲設(shè)計(jì)配置文件:游戲設(shè)計(jì)方通過(guò)可視化拖拽點(diǎn)擊操作生成針對(duì)某個(gè)游戲?qū)嵗?的配置文件。配置文件中詳細(xì)的記錄了該游戲?qū)嵗璧挠螒蛸Y源和游戲模板。
[0084]游戲資源層:通過(guò)資源配置文件來(lái)管理、維護(hù)游戲?qū)嵗嚓P(guān)的游戲資源。
[0085] 游戲元素層:負(fù)責(zé)管理、維護(hù)每個(gè)游戲?qū)嵗兴璧挠螒蛟?,包括?zhàn)斗場(chǎng)地、劇 情、人物、道具、技能、動(dòng)畫(huà)等。
[0086] 游戲組件層:負(fù)責(zé)管理、維護(hù)各個(gè)游戲元素在各個(gè)游戲組件層的狀態(tài)、屬性、事件 等,包括地圖層、人物層、效果層、對(duì)話(huà)層、控制層。
[0087] 游戲場(chǎng)景層:負(fù)責(zé)管理和維護(hù)各個(gè)游戲場(chǎng)景的生命周期,包括場(chǎng)景的創(chuàng)建、跳轉(zhuǎn)、 消亡等。
[0088] 游戲邏輯層:負(fù)責(zé)根據(jù)元數(shù)據(jù)反射鏈將游戲資源層、游戲元素層、游戲組件層、游 戲場(chǎng)景層連接起來(lái),組裝成一個(gè)游戲?qū)嵗?br>[0089] 游戲應(yīng)用層:負(fù)責(zé)將游戲邏輯層產(chǎn)生的游戲?qū)嵗蒞eb平臺(tái)、I0S平臺(tái)、Andriod 平臺(tái)的游戲,方便各個(gè)平臺(tái)的游戲玩家試玩。
[0090] 1.3、游戲云管理模塊:負(fù)責(zé)管理本平臺(tái)的游戲資源、游戲模板和游戲?qū)嵗?,提供?戲?qū)嵗\(yùn)行的硬件資源和軟件資源以及開(kāi)發(fā)測(cè)試環(huán)境等。
[0091] 游戲云管理模塊包括:基礎(chǔ)架構(gòu)層、云平臺(tái)運(yùn)營(yíng)層。
[0092] 基礎(chǔ)架構(gòu)層:提供游戲?qū)嵗\(yùn)行所需的基礎(chǔ)設(shè)施資源。
[0093]云平臺(tái)運(yùn)營(yíng)層:負(fù)責(zé)管理和維護(hù)本平臺(tái)的游戲設(shè)計(jì)資源、游戲模板以及開(kāi)發(fā)完成 的游戲?qū)嵗取?br>[0094] 進(jìn)一步,所述基于元數(shù)據(jù)反射鏈的游戲云設(shè)計(jì)平臺(tái)中,游戲需求方,游戲設(shè)計(jì)方, 游戲玩家,云平臺(tái)運(yùn)維方其職責(zé)如下:
[0095] 游戲需求方:指發(fā)布游戲相關(guān)需求的實(shí)體。包括:游戲玩家、游戲開(kāi)發(fā)者、游戲美 工,游戲音效師,游戲設(shè)計(jì)師等與游戲行業(yè)相關(guān)的實(shí)體。
[0096] 游戲設(shè)計(jì)方:指在線(xiàn)設(shè)計(jì)游戲?qū)嵗膶?shí)體。包括:游戲玩家、游戲開(kāi)發(fā)者、游戲美 工,游戲音效師,游戲設(shè)計(jì)師等與游戲行業(yè)相關(guān)的實(shí)體。
[0097] 游戲玩家:指負(fù)責(zé)試玩游戲?qū)嵗膶?shí)體。
[0098]云平臺(tái)運(yùn)維方:指負(fù)責(zé)游戲云設(shè)計(jì)平臺(tái)運(yùn)維的實(shí)體。
[0099] 第二步:基于所述的平臺(tái)架構(gòu),提出基于元數(shù)據(jù)反射鏈的游戲云設(shè)計(jì)方法如下,游 戲云設(shè)計(jì)流程如圖2所示。
[0100] 步驟2.1:游戲設(shè)計(jì)方通過(guò)游戲云設(shè)計(jì)可視化界面,從游戲模板池中選擇相應(yīng)的游 戲模板,進(jìn)行可視化游戲在線(xiàn)設(shè)計(jì)。選擇游戲模板之前,通過(guò)試玩該游戲?qū)嵗℅ame Instance,GI ),從而決定游戲模板是否滿(mǎn)足游戲設(shè)計(jì)所需。
[0101] 2.1.1、選擇游戲模板(Game Templet,GT)。每個(gè)游戲模板GT對(duì)應(yīng)多個(gè)游戲?qū)嵗?GL·,玩家通過(guò)試玩各個(gè)GI決定是否選擇該GT。每個(gè)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),擴(kuò)展元素 EXT(Extended Element),EXT= {ΕΧΤι,EXT2, ··· ,ΕΧΤη}。不同的GT所提 供的EXT會(huì)有所差別,游戲設(shè)計(jì)方一旦選擇相應(yīng)的GT,最后用戶(hù)可創(chuàng)建的GE便可確定。
[0102] 步驟2.2:根據(jù)GT,選擇所需的GE,倉(cāng)丨j建該游戲元素實(shí)體(Game Element Instance, GEI),每一個(gè)GEI,包含屬性集(Attribute,An)和方法集(Method,Mn),即GE4GEI,GEI = {Al, Α2,···,Αη} U {Μχ,Μν,Μη}。如選擇M、R、S、P等GE,設(shè)置每個(gè)GE的屬性,如主角的HP屬性值、移 動(dòng)距離、移動(dòng)速度,主角圖片等,為GEI選擇游戲靜態(tài)資源,游戲靜態(tài)資源可從游戲資源池中 獲取,也可游戲設(shè)計(jì)方自行上傳,將創(chuàng)建的各個(gè)游戲元素實(shí)體與選擇的游戲靜態(tài)資源關(guān)聯(lián) 起來(lái),從而完成GEI的創(chuàng)建。
[0103] 2.2.1、選擇GE。不同的GE所擁有的屬性及方法有所不同。如在RPG游戲中,對(duì)于主 角這一游戲元素,包含的屬性有主角的姓名、性別、圖片、年齡、等級(jí)、金錢(qián)等,包含的方法有 行走、停止、對(duì)話(huà)、戰(zhàn)斗等。對(duì)于道具這一游戲元素,包含的屬性有道具名、描述、數(shù)量、圖片、 音效等,包含的方法有道具的使用效果函數(shù)等。其中,各個(gè)GE的屬性及方法通過(guò)XML進(jìn)行描 述。
[0104] 主角元素 XML文件格式如下:
[0106] 主角元素 XML中的每個(gè)節(jié)點(diǎn)的含義如表1所示:
[0107]
[0135]地圖元素 XML中的每個(gè)節(jié)點(diǎn)的含義如表6所示:
[0137] 表6
[0138] 2.2.2、創(chuàng)建GEI。通過(guò)游戲在線(xiàn)設(shè)計(jì)可視化界面為選擇的游戲元素設(shè)置好對(duì)應(yīng)的 屬性值,涉及圖片與音效的屬性值,可從游戲資源池中選擇相應(yīng)的游戲圖片、游戲音效以及 游戲設(shè)計(jì)方自行上傳的游戲素材到游戲資源池,最后生成實(shí)體元數(shù)據(jù)。
[0139] 步驟2.3:在游戲設(shè)計(jì)中,不同的游戲元素實(shí)體GEI之間往往不是獨(dú)立的,而存在關(guān) 聯(lián)關(guān)系。對(duì)于每一個(gè)GEI,通過(guò)連接相互關(guān)聯(lián)的GEI元數(shù)據(jù),形成多條游戲元素實(shí)體元數(shù)鏈 (Game Elements Instance-Game Elements Instance-Metadata Link,GGML)〇GGML中GEI 與GEI之間的關(guān)聯(lián)關(guān)系可以是一對(duì)多(多對(duì)一)、一對(duì)一、多對(duì)多。
[0140] -對(duì)多關(guān)系主要表現(xiàn)為:一張地圖上可以出現(xiàn)多個(gè)主角、多個(gè)NPC,即一個(gè)元素實(shí) 體與另一種元素的多個(gè)實(shí)體相關(guān)聯(lián)、設(shè)置可以與多種元素實(shí)體相關(guān)聯(lián)。
[0141] -對(duì)一關(guān)系主要表現(xiàn)為:主角只能攜帶一個(gè)技能、或每個(gè)地圖主角的起始出生點(diǎn) 只存在一個(gè)等,即一個(gè)元素實(shí)體只能與另一個(gè)元素實(shí)體相關(guān)聯(lián)。
[0142] 多對(duì)多關(guān)系主要表現(xiàn)為:多個(gè)主角可以攜帶多個(gè)不同的道具,即一種元素的多個(gè) 實(shí)體與另一種元素的多個(gè)實(shí)體交叉多重相關(guān)聯(lián)。
[0143] 最后生成游戲元素實(shí)體元數(shù)據(jù)配置文件。
[0144] 2·3·l、定義l:GEIiA表示游戲元素 GEIi的屬性A;
[0145] 定義2:GEIiM表示游戲元素 GEIi的方法M;
[0146] 定義表示游戲元素 GEL·為一個(gè)具體的函數(shù)實(shí)體F;
[0147] 定義 4:GEIiA4GEIjM,表示 GEIi 的屬性 A 指向 GEI/;
[0148] 定義 5:GEIjM^GEIkF,表示 GEIj 的方法 Μ 指向 GEIkF;
[0149] 2 · 3 · 2、創(chuàng)建GGML。定義GGML = GE I i a-GE I /-GE I kF,表示由 GE I iA,GE I /,GE I kF形成 的一條元數(shù)據(jù)反射鏈,由GEIi的屬性A指向GEIjM,GEIj M的方法M指向GEIkF。
[0150] 2.3.3、執(zhí)行GGML。當(dāng)執(zhí)行到GEIi的屬性A所對(duì)應(yīng)的元素實(shí)體的方法時(shí),通過(guò)查找相 應(yīng)的GGML來(lái)執(zhí)行方法Μ。
[0151] 如圖3所示,以游戲中主角使用道具為例,當(dāng)主角要使用道具時(shí),通過(guò)主角道具反 射鏈(即圖3中主角實(shí)體R與道具實(shí)體Ρ之間的元數(shù)據(jù)反射鏈)查找到需要使用的道具實(shí)體Ρ (通過(guò)表1人物元素實(shí)體中的itemld關(guān)聯(lián)查找到表3道具元素實(shí)體),再根據(jù)道具使用反射鏈 (即圖3中道具實(shí)體P與效果函數(shù)實(shí)體F之間的元數(shù)據(jù)反射鏈)查找到該道具對(duì)應(yīng)的效果函數(shù) M(通過(guò)表3道具元素實(shí)體中的itemFunc查找到效果函數(shù)M),效果函數(shù)Μ指向效果函數(shù)實(shí)體F, 最后執(zhí)行該效果函數(shù)實(shí)體F。
[0152] 效果函數(shù)Μ是調(diào)用技能元素或者道具元素所對(duì)應(yīng)的方法名,根據(jù)方法名指向?qū)?yīng) 的效果函數(shù)實(shí)體F。
[0153] 效果函數(shù)實(shí)體F,簡(jiǎn)稱(chēng)函數(shù)實(shí)體F,是效果函數(shù)Μ對(duì)應(yīng)的實(shí)際代碼實(shí)體,產(chǎn)生實(shí)際的 調(diào)用效果。
[0154] 步驟2.4:為各個(gè)場(chǎng)景S(Scene)與游戲元素實(shí)體GEL·之間設(shè)置場(chǎng)景一一游戲元素 實(shí)體元數(shù)據(jù)鏈(Sence-Game Element Instance-Metadata Link,SGML),每個(gè)場(chǎng)景S都包含 相應(yīng)的GEIi,包含GEIi的個(gè)數(shù)、種類(lèi),都在SGML中體現(xiàn),最后生成場(chǎng)景配置文件。
[0155] 2 · 4 · 1、定義6 :GEIi_表示i這個(gè)游戲元素的GEIi的數(shù)量為num;
[0156] 定義7: SmGML表示場(chǎng)景111所對(duì)應(yīng)的場(chǎng)景--游戲元素實(shí)體元數(shù)據(jù)鏈;
[0157] 定義8:SmGML是場(chǎng)景m由GEIinum組成的集合,SGML={GEIinum};
[0158] 2.4.2、游戲模板GT通過(guò)讀取SmGML來(lái)創(chuàng)建本場(chǎng)景所需的GEI的種類(lèi)和數(shù)目,最終實(shí) 現(xiàn)游戲場(chǎng)景的自動(dòng)生成。游戲模板GT通過(guò)讀取GGML來(lái)實(shí)現(xiàn)游戲場(chǎng)景內(nèi)游戲元素實(shí)體對(duì)應(yīng)方 法的調(diào)用。
[0159] SmGML與GGML之間的關(guān)系如圖4所示,在SmGML上分布著各個(gè)GEI i,有地圖實(shí)體、劇情 實(shí)體、主角實(shí)體、NPC實(shí)體、道具實(shí)體、技能實(shí)體、裝備實(shí)體、函數(shù)實(shí)體。各個(gè)GEL·之間的關(guān)系 以元數(shù)據(jù)反射鏈的形式體現(xiàn),有地圖實(shí)體與主角實(shí)體之間的主角反射鏈(說(shuō)明該地圖上主 角實(shí)體的分布情況)、主角實(shí)體與道具實(shí)體之間的道具反射鏈(說(shuō)明該主角實(shí)體所擁有道具 的種類(lèi)和數(shù)量情況)、道具實(shí)體與函數(shù)實(shí)體之間的道具使用反射鏈(說(shuō)明該道具實(shí)體所對(duì)應(yīng) 的效果函數(shù)實(shí)體)等。每個(gè)游戲場(chǎng)景都有一條S mGML,SmGML上的各個(gè)GE I i之間的GGML配合GT 實(shí)現(xiàn)本場(chǎng)景的游戲邏輯與效果。
[0160] 2.4.3、每個(gè)GEL·擁有有限數(shù)目的離散穩(wěn)定、相互獨(dú)立又相互聯(lián)系的狀態(tài),SRPG游 戲以事件驅(qū)動(dòng)的方式工作,使得每個(gè)游戲元素實(shí)體在這些狀態(tài)內(nèi)轉(zhuǎn)移。在某一時(shí)刻,當(dāng)收到 輸入事件,GT中的有限狀態(tài)機(jī)(Finite state machines,F(xiàn)SM)對(duì)該事件做出響應(yīng),并伴隨狀 態(tài)的轉(zhuǎn)移。有限狀態(tài)機(jī)特別適用于游戲設(shè)計(jì)中復(fù)雜場(chǎng)景的切換以及場(chǎng)景內(nèi)游戲元素實(shí)體狀 態(tài)之間的切換,為游戲云設(shè)計(jì)提供了一種可重用、模板化的設(shè)計(jì)方法。
[0161] 場(chǎng)景的切換如圖5所示,每個(gè)游戲場(chǎng)景都有一條SmGML,記錄了場(chǎng)景m中各個(gè)GEIi的 狀態(tài)。當(dāng)游戲主角過(guò)關(guān)從場(chǎng)景1轉(zhuǎn)換到場(chǎng)景2時(shí),通過(guò)WSiGML中抽離出進(jìn)入場(chǎng)景2所需的GEL· 以及相關(guān)聯(lián)的元數(shù)據(jù)反射鏈,融合到3%1^中,實(shí)現(xiàn)場(chǎng)景1到場(chǎng)景2的游戲環(huán)境的過(guò)渡,融合 后的S 2GML將成為場(chǎng)景2的初始化條件,GT讀取S2GML完成場(chǎng)景2的初始化以及游戲邏輯的實(shí) 現(xiàn)。
[0162] 假設(shè)主角從場(chǎng)景1進(jìn)入場(chǎng)景2只攜帶了某道具實(shí)體,在進(jìn)入場(chǎng)景2時(shí),GTWSWML中 抽離出主角實(shí)體、道具實(shí)體、函數(shù)實(shí)體以及這三個(gè)實(shí)體之間的元數(shù)據(jù)反射鏈,與S 2GML中現(xiàn) 有的GEIi和GGML進(jìn)行融合。GT讀取融合后的S2GML初始化場(chǎng)景2的游戲邏輯。
[0163] 場(chǎng)景內(nèi)游戲元素實(shí)體狀態(tài)之間的切換如圖6所示,在游戲云設(shè)計(jì)中,每個(gè)GEL·通過(guò) 元數(shù)據(jù)反射鏈的方式傳遞各個(gè)GEhi間的狀態(tài)轉(zhuǎn)換。主角元素實(shí)體擁有的狀態(tài)為創(chuàng)建狀 態(tài)、激活狀態(tài)、攻擊狀態(tài)、升級(jí)狀態(tài)、死亡狀態(tài)、復(fù)活狀態(tài)。
[0164] NPC元素實(shí)體擁有的狀態(tài)為創(chuàng)建狀態(tài)、激活狀態(tài)、巡邏狀態(tài)、追趕狀態(tài)、攻擊狀態(tài)、 死亡狀態(tài)。
[0165] 以主角發(fā)動(dòng)技能為例,主角實(shí)體在玩家的操作下從激活狀態(tài)轉(zhuǎn)變?yōu)楣魻顟B(tài),當(dāng) 玩家選擇發(fā)動(dòng)對(duì)應(yīng)的技能時(shí),與主角攻擊狀態(tài)相關(guān)聯(lián)的技能反射鏈將被觸發(fā),通過(guò)技能反 射鏈查找相應(yīng)的技能,再通過(guò)技能使用反射鏈查找相應(yīng)的函數(shù)實(shí)體,最后執(zhí)行該函數(shù)實(shí)體 作用于NPC實(shí)體,完成本次攻擊。
[0166] NPC實(shí)體受到本次攻擊后,從之前的激活狀態(tài)轉(zhuǎn)變?yōu)楣魻顟B(tài),同樣的,NPC實(shí)體的 技能反射鏈將被觸發(fā),完成本次反擊。在主角攻擊,NPC反擊來(lái)回的過(guò)程中,因 NPC的戰(zhàn)敗使 得NPC實(shí)體從攻擊狀態(tài)轉(zhuǎn)變?yōu)橄鰻顟B(tài),從而觸發(fā)主角實(shí)體從攻擊狀態(tài)轉(zhuǎn)變?yōu)樯?jí)狀態(tài),升 級(jí)結(jié)束后,再轉(zhuǎn)變?yōu)榧せ顮顟B(tài)。最后,由于NPC實(shí)體的消亡,反作用于元數(shù)據(jù)反射鏈,將所有 與該NPC實(shí)體相關(guān)的元數(shù)據(jù)反射鏈移除,從而繼續(xù)通過(guò)元數(shù)據(jù)反射鏈完成FSM中各個(gè)GEhi 間的狀態(tài)轉(zhuǎn)換。
[0167] 步驟2.5:根據(jù)游戲元數(shù)據(jù)配置文件和游戲模板,生成WEB版本、I0S版本、Android 版本的軟件包。
[0168] 第三步:游戲云管理模塊負(fù)責(zé)對(duì)游戲在線(xiàn)云設(shè)計(jì)模塊開(kāi)發(fā)的游戲提供測(cè)試、統(tǒng)計(jì) 服務(wù),如為玩家提供游戲?qū)嵗囃娴挠布Y源,統(tǒng)計(jì)游戲?qū)嵗婕覕?shù)量。
[0169] 本發(fā)明的有益效果主要表現(xiàn)在:提升游戲制作的效率,減少游戲制作團(tuán)隊(duì)對(duì)程序 員的依賴(lài),降低游戲制作的門(mén)檻及成本。游戲設(shè)計(jì)方通過(guò)游戲云設(shè)計(jì)平臺(tái)做到無(wú)需寫(xiě)代碼 或者寫(xiě)少量代碼,采用可視化的開(kāi)發(fā)方式,通過(guò)簡(jiǎn)單的拖拽、配置即可完成游戲的制作過(guò) 程。這樣,對(duì)于擅長(zhǎng)游戲創(chuàng)意的游戲策劃師而言,不依賴(lài)程序員,就可制作出忠實(shí)于自己創(chuàng) 意的游戲。
[0170] (1)無(wú)需編程,可視化開(kāi)發(fā),界面友好
[0171] (2) -次開(kāi)發(fā),跨平臺(tái)發(fā)布
[0172] (3)海量的云游戲模板和云游戲設(shè)計(jì)資源的共享
[0173] (4)游戲云設(shè)計(jì)體系架構(gòu)
[0174] (5)基于元數(shù)據(jù)反射鏈的復(fù)用思想
[0175] 實(shí)施例2
[0176]本發(fā)明提供了一種基于元數(shù)據(jù)反射鏈的SRPG游戲云設(shè)計(jì)平臺(tái),通過(guò)該平臺(tái)設(shè)計(jì)實(shí) 現(xiàn)了《殘魂春秋》S R P G游戲?qū)嵗?。該游戲?qū)嵗x擇的游戲模板采用Η T M L 5、C S S 3、 JavaScript技術(shù)開(kāi)發(fā)實(shí)現(xiàn)?!稓埢甏呵铩返挠螒虮尘爸v述的是在古代的武林中,殘魂教的教 主林春水被一個(gè)叫做"魂"的組織殺害,林春水的兒子林秋水在逃亡的過(guò)程中結(jié)實(shí)小伙伴, 最后為父報(bào)仇的故事。
[0177] 以下所述各類(lèi)游戲元素實(shí)體元數(shù)據(jù)配置文件的詳細(xì)參數(shù)說(shuō)明參見(jiàn)實(shí)施例一。
[0178] 主角元素實(shí)體元數(shù)據(jù)配置文件描述的是主角實(shí)體的各個(gè)屬性值以及主角實(shí)體與 技能實(shí)體的元數(shù)據(jù)反射鏈,如:主角實(shí)體的姓名為林秋水、等級(jí)為1級(jí)、血量hp為120、與技能 編號(hào)ski 11 Id為1的技能實(shí)體形成元數(shù)據(jù)反射鏈等。
[0179]主角元素實(shí)體元數(shù)據(jù)配置文件如下:
[0181]技能元素實(shí)體元數(shù)據(jù)配置文件描述了各技能元素實(shí)體的各個(gè)屬性值以及各技能 實(shí)體與對(duì)應(yīng)的函數(shù)實(shí)體之間的元數(shù)據(jù)反射鏈關(guān)系,通過(guò)技能編號(hào)skillld查找到與主角實(shí) 體形成元數(shù)據(jù)反射鏈的技能實(shí)體,即skillld為1的技能實(shí)體的名稱(chēng)為殘食天地,其作用是 對(duì)敵人造成60點(diǎn)hp的傷害,與效果函數(shù)名為SSoulKi 11形成元數(shù)據(jù)反射鏈。
[0182]技能元素實(shí)體元數(shù)據(jù)配置文件如下:
[0184] 地圖元素實(shí)體元數(shù)據(jù)配置文件描述的是該元素實(shí)體的一些屬性以及地圖實(shí)體與 主角實(shí)體、NPC實(shí)體之間的元數(shù)據(jù)反射鏈。地圖的屬性如地圖的名稱(chēng)叫"逃生",地圖的圖片 路徑為image/map/mapl · jpg。地圖實(shí)體通過(guò)關(guān)聯(lián)roleld與npcld分別與主角實(shí)體和NPC實(shí)體 形成元數(shù)據(jù)反射鏈,而主角實(shí)體又指向技能實(shí)體,技能實(shí)體指向函數(shù)實(shí)體,使得元數(shù)據(jù)反射 鏈延長(zhǎng)。
[0185] 地圖元素實(shí)體元數(shù)據(jù)配置文件如下:
[0188] 世界地圖元素實(shí)體元數(shù)據(jù)配置文件描述的是世界地圖實(shí)體與各個(gè)地圖實(shí)體形成 元數(shù)據(jù)反射鏈關(guān)系。各個(gè)地圖實(shí)體在世界地圖實(shí)體中以關(guān)卡的形式體現(xiàn)。如世界地圖實(shí)體 包含了 mapld為1的地圖實(shí)體,其在世界地圖中的X坐標(biāo)為140,Y坐標(biāo)為205等。mapld為1的地 圖實(shí)體又與以上所述主角實(shí)體和NPC實(shí)體形成元數(shù)據(jù)反射鏈,使得元數(shù)據(jù)反射鏈延長(zhǎng)。
[0189] 世界地圖元素實(shí)體元數(shù)據(jù)配置文件如下:
【主權(quán)項(xiàng)】
1. 一種基于元數(shù)據(jù)反射鏈的游戲云設(shè)計(jì)方法,其特征在于:所述游戲云設(shè)計(jì)方法包括 如下步驟: 第一步:建立一個(gè)通用的基于元數(shù)據(jù)反射鏈的游戲云設(shè)計(jì)的平臺(tái),平臺(tái)架構(gòu)分為游戲 云資源模塊、游戲云設(shè)計(jì)模塊、游戲云管理模塊; 1.1、 游戲云資源模塊:負(fù)責(zé)對(duì)游戲需求方發(fā)布的相關(guān)游戲資源進(jìn)行需求設(shè)計(jì),并為游 戲云設(shè)計(jì)提供所需的游戲資源; 游戲云資源模塊包括游戲需求池、游戲任務(wù)池、游戲資源池; 1.2、 游戲云設(shè)計(jì)模塊:負(fù)責(zé)游戲的云設(shè)計(jì); 游戲云設(shè)計(jì)模塊包括游戲模板池、游戲設(shè)計(jì)配置文件、游戲資源層、游戲元素層、游戲 組件層、游戲場(chǎng)景層、游戲邏輯層和游戲應(yīng)用層; 游戲模板池:存放游戲模板,游戲設(shè)計(jì)方選擇所需的游戲模板進(jìn)行游戲云設(shè)計(jì),一個(gè)游 戲模板代表著若干個(gè)游戲?qū)嵗螒驅(qū)嵗侵竿ㄟ^(guò)某游戲模板設(shè)計(jì)出來(lái)的具體的某一款游 戲; 游戲設(shè)計(jì)配置文件:游戲設(shè)計(jì)方通過(guò)可視化拖拽點(diǎn)擊操作生成針對(duì)某個(gè)游戲?qū)嵗呐?置文件,配置文件中詳細(xì)的記錄了該游戲?qū)嵗璧挠螒蛸Y源和游戲模板; 游戲資源層:通過(guò)資源配置文件來(lái)管理、維護(hù)游戲?qū)嵗嚓P(guān)的游戲資源; 游戲元素層:負(fù)責(zé)管理、維護(hù)每個(gè)游戲?qū)嵗兴璧挠螒蛟?,包括?zhàn)斗場(chǎng)地、劇情、人 物、道具、技能和動(dòng)畫(huà)等; 游戲組件層:負(fù)責(zé)管理、維護(hù)各個(gè)游戲元素在各個(gè)游戲組件層的狀態(tài)、屬性、事件等,包 括地圖層、人物層、效果層、對(duì)話(huà)層、控制層; 游戲場(chǎng)景層:負(fù)責(zé)管理和維護(hù)各個(gè)游戲場(chǎng)景的生命周期,包括場(chǎng)景的創(chuàng)建、跳轉(zhuǎn)和消亡 等; 游戲邏輯層:負(fù)責(zé)根據(jù)元數(shù)據(jù)反射鏈將游戲資源層、游戲元素層、游戲組件層和游戲場(chǎng) 景層連接起來(lái),組裝成一個(gè)游戲?qū)嵗? 游戲應(yīng)用層:負(fù)責(zé)將游戲邏輯層產(chǎn)生的游戲?qū)嵗蒞eb平臺(tái)、IOS平臺(tái)、Andriod平臺(tái) 的游戲; 1.3、 游戲云管理模塊:負(fù)責(zé)管理本平臺(tái)的游戲資源、游戲模板和游戲?qū)嵗?,提供游戲?qū)?例運(yùn)行的硬件資源和軟件資源以及開(kāi)發(fā)測(cè)試環(huán)境; 游戲云管理模塊包括:基礎(chǔ)架構(gòu)層和云平臺(tái)運(yùn)營(yíng)層; 基礎(chǔ)架構(gòu)層:提供游戲?qū)嵗\(yùn)行所需的基礎(chǔ)設(shè)施資源; 云平臺(tái)運(yùn)營(yíng)層:負(fù)責(zé)管理和維護(hù)本平臺(tái)的游戲設(shè)計(jì)資源、游戲模板以及開(kāi)發(fā)完成的游 戲?qū)嵗龋? 第二步:基于所述的平臺(tái)架構(gòu),提出基于元數(shù)據(jù)反射鏈的游戲云設(shè)計(jì),過(guò)程如下: 步驟2.1:游戲設(shè)計(jì)方通過(guò)游戲云設(shè)計(jì)可視化界面,從游戲模板池中選擇相應(yīng)的游戲模 板,進(jìn)行可視化游戲在線(xiàn)設(shè)計(jì),選擇游戲模板之前,通過(guò)試玩該游戲?qū)嵗鼼I,從而決定游戲 模板是否滿(mǎn)足游戲設(shè)計(jì)所需; 選擇游戲模板GT,每個(gè)游戲模板GT對(duì)應(yīng)多個(gè)游戲?qū)嵗鼼L·,玩家通過(guò)試玩各個(gè)GI決定是 否選擇該GT;每個(gè)GT都定義了本模板所提供的游戲元素 GE,即GT-GE,GE = {M,S,R,I,S, NPC,EXT};GE主要包括地圖M、技能S、人物R、道具I、劇情S、NPC,擴(kuò)展元素 EXT,EXT={EXT1, EXT2,…,ΕΧ?η};不同的GT所提供的EXT會(huì)有所差別,游戲設(shè)計(jì)方一旦選擇相應(yīng)的GT,最后用 戶(hù)可創(chuàng)建的GE便可確定; 步驟2.2 :根據(jù)GT,選擇所需的GE,創(chuàng)建該游戲元素實(shí)體GEI,每一個(gè)GEI,包含屬性集 (Attribute,An)和方法集(Method,Mn),即GE-GEI,GEI = {Ai,Α2,···,Αη} U {Μι,Μ2,···,Μη};如 選擇M、R、S、P等GE,設(shè)置每個(gè)GE的屬性,如主角的HP屬性值、移動(dòng)距離、移動(dòng)速度和主角圖 片,為GEI選擇游戲靜態(tài)資源,游戲靜態(tài)資源可從游戲資源池中獲取,也可游戲設(shè)計(jì)方自行 上傳,將創(chuàng)建的各個(gè)游戲元素實(shí)體與選擇的游戲靜態(tài)資源關(guān)聯(lián)起來(lái),從而完成GEI的創(chuàng)建; 2.2.1、 選擇GE,不同的GE所擁有的屬性及方法有所不同; 2.2.2、 創(chuàng)建GEI,通過(guò)游戲在線(xiàn)設(shè)計(jì)可視化界面為選擇的游戲元素設(shè)置好對(duì)應(yīng)的屬性 值,涉及圖片與音效的屬性值,從游戲資源池中選擇相應(yīng)的游戲圖片、游戲音效以及游戲設(shè) 計(jì)方自行上傳的游戲素材到游戲資源池,最后生成實(shí)體元數(shù)據(jù); 步驟2.3:在游戲設(shè)計(jì)中,對(duì)于每一個(gè)GEI,通過(guò)連接相互關(guān)聯(lián)的GEI元數(shù)據(jù),形成多條游 戲元素實(shí)體元數(shù)GGML,GGML中GEI與GEI之間的關(guān)聯(lián)關(guān)系是一對(duì)多、一對(duì)一或多對(duì)多; 一對(duì)多關(guān)系表現(xiàn)為:一張地圖上出現(xiàn)多個(gè)主角、多個(gè)NPC; 一對(duì)一關(guān)系表現(xiàn)為:主角只能攜帶一個(gè)技能; 多對(duì)多關(guān)系表現(xiàn)為:多個(gè)主角可以攜帶多個(gè)不同的道具; 最后生成游戲元素實(shí)體元數(shù)據(jù)配置文件; 2.3.1、 定義1: GEI/表示游戲元素 GEIi的屬性A; 定義2:GEIiM表示游戲元素 GEIi的方法Μ; 定義3:GEI/表示游戲元素 GEL·為一個(gè)具體的函數(shù)實(shí)體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、創(chuàng)建GGML,定義GGML = GE I iA-GE I /-GE I kF,表示由 GE I iA,GE I /,GE I ι/形成的一 條元數(shù)據(jù)反射鏈,由GEIi的屬性A指向GEIjM,GEIjM的方法M指向GEIkF; 2.3.3、 執(zhí)行GGML,當(dāng)執(zhí)行到GEIi的屬性A所對(duì)應(yīng)的元素實(shí)體的方法時(shí),通過(guò)查找相應(yīng)的 GGML來(lái)執(zhí)行方法M; 步驟2.4:為各個(gè)場(chǎng)景S與游戲元素實(shí)體GEL·之間設(shè)置場(chǎng)景一一游戲元素實(shí)體元數(shù)據(jù)鏈 SGML,每個(gè)場(chǎng)景S都包含相應(yīng)的GEIi,包含GEIi的個(gè)數(shù)、種類(lèi),都在SGML中體現(xiàn),最后生成場(chǎng)景 配置文件; 2.4.1、 定義6:GEIi_表示i這個(gè)游戲元素的GEIi的數(shù)量為num; 定義7: SmGML表示場(chǎng)景111所對(duì)應(yīng)的場(chǎng)景--游戲元素實(shí)體元數(shù)據(jù)鏈; 定義8: SmGML是場(chǎng)景m由GE I inum組成的集合,SGML = {GE I inum}; 2.4.2、 游戲模板GT通過(guò)讀取SmGML來(lái)創(chuàng)建本場(chǎng)景所需的GEI的種類(lèi)和數(shù)目,最終實(shí)現(xiàn)游 戲場(chǎng)景的自動(dòng)生成,游戲模板GT通過(guò)讀取GGML來(lái)實(shí)現(xiàn)游戲場(chǎng)景內(nèi)游戲元素實(shí)體對(duì)應(yīng)方法的 調(diào)用; 2.4.3、 每個(gè)GEL·擁有有限數(shù)目的離散穩(wěn)定、相互獨(dú)立又相互聯(lián)系的狀態(tài),SRPG游戲以事 件驅(qū)動(dòng)的方式工作,使得每個(gè)游戲元素實(shí)體在這些狀態(tài)內(nèi)轉(zhuǎn)移;在某一時(shí)刻,當(dāng)收到輸入事 件,GT中的有限狀態(tài)機(jī)FSM對(duì)該事件做出響應(yīng),并伴隨狀態(tài)的轉(zhuǎn)移;有限狀態(tài)機(jī)特別適用于 游戲設(shè)計(jì)中復(fù)雜場(chǎng)景的切換以及場(chǎng)景內(nèi)游戲元素實(shí)體狀態(tài)之間的切換; 在游戲云設(shè)計(jì)中,每個(gè)GEL·通過(guò)元數(shù)據(jù)反射鏈的方式傳遞各個(gè)GEL·之間的狀態(tài)轉(zhuǎn)換; 步驟2.5:根據(jù)游戲元數(shù)據(jù)配置文件和游戲模板,生成WEB版本、IOS版本、Android版本 的軟件包; 第三步:游戲云管理模塊負(fù)責(zé)對(duì)游戲在線(xiàn)云設(shè)計(jì)模塊開(kāi)發(fā)的游戲提供測(cè)試、統(tǒng)計(jì)服務(wù)。2.如權(quán)利要求1所述的一種基于元數(shù)據(jù)反射鏈的游戲云設(shè)計(jì)方法,其特征在于:所述步 驟1.1中,游戲需求池:存放游戲需求方發(fā)布的與游戲制作相關(guān)的需求,需求分為二類(lèi),一類(lèi) 是與游戲素材相關(guān)的制作設(shè)計(jì)需求,例如游戲設(shè)計(jì)方在游戲設(shè)計(jì)過(guò)程中缺少相應(yīng)的游戲素 材,在游戲需求池中發(fā)布制作設(shè)計(jì)需求,游戲美工在游戲任務(wù)池中發(fā)現(xiàn)需求并完成缺少的 游戲素材,將其放入游戲資源池;還有一類(lèi)是與游戲設(shè)計(jì)相關(guān)的需求,例如某游戲玩家需定 制SRPG游戲,但游戲模板池中并沒(méi)有相應(yīng)的游戲模板,在游戲需求池中發(fā)布該類(lèi)需求,游戲 開(kāi)發(fā)者在游戲任務(wù)池中發(fā)現(xiàn)需求并完成玩家所需的游戲模板,將其放入游戲資源池; 游戲任務(wù)池:游戲需求方發(fā)布游戲需求后,每個(gè)游戲需求進(jìn)入游戲任務(wù)池,由游戲開(kāi)發(fā) 者、美工、音效師在游戲任務(wù)池中選擇自己擅長(zhǎng)領(lǐng)域的游戲任務(wù)并完成該任務(wù); 游戲資源池:游戲任務(wù)池中的任務(wù)被完成后進(jìn)入游戲資源池,轉(zhuǎn)變?yōu)橛螒蛸Y源,游戲資 源主要分為二類(lèi),一類(lèi)是與游戲素材相關(guān)的游戲資源,這類(lèi)游戲資源以圖片,音效,視頻等 形式在游戲資源池中體現(xiàn);另外一類(lèi)是與游戲設(shè)計(jì)相關(guān)的游戲資源,以游戲模板的形式在 游戲資源池中體現(xiàn);這二類(lèi)游戲資源為游戲設(shè)計(jì)方在游戲云設(shè)計(jì)模塊進(jìn)行游戲在線(xiàn)設(shè)計(jì)做 好游戲資源準(zhǔn)備。
【文檔編號(hào)】G06F9/44GK105867932SQ201610213755
【公開(kāi)日】2016年8月17日
【申請(qǐng)日】2016年4月7日
【發(fā)明人】陸佳煒, 馬俊, 肖剛, 徐俊, 高飛, 張?jiān)Q, 盧成炳
【申請(qǐng)人】浙江工業(yè)大學(xué)