專利名稱:電子游戲開(kāi)發(fā)系統(tǒng)及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子游戲領(lǐng)域,特別涉及一種游戲開(kāi)發(fā)技術(shù)。
技術(shù)背景
現(xiàn)有的游戲開(kāi)發(fā)模式一般如下,先由游戲策劃提出游戲開(kāi)發(fā)方案,再由美術(shù)提供游戲資源,最終由程序員根據(jù)其理解實(shí)現(xiàn)相關(guān)邏輯并整合資源成為一個(gè)游戲應(yīng)用程序進(jìn)行發(fā)布。由此可見(jiàn),一個(gè)游戲的功能實(shí)現(xiàn)程度大部分取決于程序員的編碼能力和對(duì)策劃、美術(shù)想法的理解程度。
本發(fā)明的發(fā)明人發(fā)現(xiàn),由程序員主導(dǎo)功能實(shí)現(xiàn)的現(xiàn)有游戲開(kāi)發(fā)模式,主要有以下幾個(gè)明顯缺點(diǎn)
1.每當(dāng)程序員實(shí)現(xiàn)一個(gè)策劃、美術(shù)的想法后,都需要重新編譯電子游戲的原代碼, 生成可執(zhí)行的目標(biāo)代碼(程序),計(jì)算機(jī)的計(jì)算量大。
2.溝通成本高,程序缺陷等不可控因素導(dǎo)致開(kāi)發(fā)周期冗長(zhǎng);
3.游戲制作過(guò)程完全由程序員完成,容易造成策劃、美術(shù)參與感和原本策劃設(shè)計(jì)理念的還原度受損;同時(shí),游戲制作對(duì)程序員個(gè)人能力的依賴,容易導(dǎo)致游戲品質(zhì)不可控;
4.必須存在的龐大程序員團(tuán)隊(duì)進(jìn)行游戲制作,會(huì)造成開(kāi)發(fā)成本高。
如何更高程度還原策劃和美術(shù)設(shè)計(jì)理念、大幅縮短游戲開(kāi)發(fā)周期以及降低開(kāi)發(fā)成本,這在目前還沒(méi)有一個(gè)完善的解決方案。發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種電子游戲開(kāi)發(fā)系統(tǒng)及其方法,大大減少了計(jì)算機(jī)編譯電子游戲可執(zhí)行程序的編譯次數(shù),計(jì)算機(jī)的總體計(jì)算量大大降低,可以更好地更高程度還原策劃和美術(shù)設(shè)計(jì)理念、大幅縮短游戲開(kāi)發(fā)周期以及降低開(kāi)發(fā)成本。
為解決上述技術(shù)問(wèn)題,本發(fā)明的實(shí)施方式公開(kāi)了一種電子游戲開(kāi)發(fā)系統(tǒng),包括
文件生成工具,用于將電子游戲中需要用到的各種事件、條件和行為記錄在定義文件中;
代碼自動(dòng)生成器,用于根據(jù)定義文件和引擎代碼庫(kù)生成框架代碼,該框架代碼實(shí)現(xiàn)了游戲程序整體上的基本構(gòu)架,并為該定義文件中的各種事件、條件和行為預(yù)留了實(shí)現(xiàn)接口 ;
代碼開(kāi)發(fā)工具,用于根據(jù)框架代碼中的實(shí)現(xiàn)接口,以具體代碼實(shí)現(xiàn)各種事件、條件和行為;
編譯器,用于將代碼開(kāi)發(fā)工具實(shí)現(xiàn)的代碼編譯成游戲程序;
觸發(fā)器編輯器,用于編輯和保存由指定事件、指定條件和指定行為組合而成的觸發(fā)器,觸發(fā)器中涉及的事件、條件和行為都是定義文件中有記錄的,保存的觸發(fā)器供游戲程序運(yùn)行時(shí)讀取和執(zhí)行。
本發(fā)明的實(shí)施方式還公開(kāi)了一種網(wǎng)絡(luò)游戲開(kāi)發(fā)系統(tǒng),包括
網(wǎng)絡(luò)服務(wù)器,其中包括上文所述的電子游戲開(kāi)發(fā)系統(tǒng),用于開(kāi)發(fā)服務(wù)器側(cè)的電子游戲程序;
客戶端,其中包括上文所述的電子游戲開(kāi)發(fā)系統(tǒng),用于開(kāi)發(fā)客戶端側(cè)的電子游戲程序。
本發(fā)明的實(shí)施方式還公開(kāi)了一種電子游戲開(kāi)發(fā)方法,包括以下步驟
將電子游戲中需要用到的各種事件、條件和行為記錄在定義文件中;
根據(jù)定義文件和引擎代碼庫(kù)生成框架代碼,該框架代碼實(shí)現(xiàn)了游戲程序整體上的基本構(gòu)架,并為該定義文件中的各種事件、條件和行為預(yù)留了實(shí)現(xiàn)接口 ;
根據(jù)框架代碼中的實(shí)現(xiàn)接口,以具體代碼實(shí)現(xiàn)各種事件、條件和行為,使用編譯器將已實(shí)現(xiàn)的代碼編譯成游戲程序;
編輯和保存由指定事件、指定條件和指定行為組合而成的觸發(fā)器,觸發(fā)器中涉及的事件、條件和行為都是定義文件中有記錄的,保存的觸發(fā)器供游戲程序運(yùn)行時(shí)讀取和執(zhí)行。
本發(fā)明的實(shí)施方式還公開(kāi)了一種網(wǎng)絡(luò)游戲開(kāi)發(fā)方法,包括以下步驟
網(wǎng)絡(luò)服務(wù)器和客戶端分別根據(jù)上文的電子游戲開(kāi)發(fā)方法開(kāi)發(fā)網(wǎng)絡(luò)游戲程序。
本發(fā)明實(shí)施方式與現(xiàn)有技術(shù)相比,主要區(qū)別及其效果在于
大大減少了計(jì)算機(jī)編譯電子游戲可執(zhí)行程序的編譯次數(shù),計(jì)算機(jī)的總體計(jì)算量大大降低,可以更好地更高程度還原策劃和美術(shù)設(shè)計(jì)理念、大幅縮短游戲開(kāi)發(fā)周期以及降低開(kāi)發(fā)成本。
代碼自動(dòng)生成器根據(jù)預(yù)先定義的各種事件、條件和行為自動(dòng)生成框架代碼,程序員只需要實(shí)現(xiàn)具體的事件、條件和行為,不需要考慮程序框架,而策劃和美術(shù)只需要通過(guò)觸發(fā)器編輯器將事件、條件和行為組合成多個(gè)觸發(fā)器,每個(gè)觸發(fā)器一旦設(shè)置好,馬上就可以看到效果,不需要等程序員去實(shí)現(xiàn),大大提高了游戲開(kāi)發(fā)的效率。
進(jìn)一步地,通過(guò)點(diǎn)選方式編輯觸發(fā)器,使得程序員的開(kāi)發(fā)成本降低;同時(shí),通過(guò)點(diǎn)選方式編輯觸發(fā)器不會(huì)超定義文件范圍內(nèi)出現(xiàn)冗余事件、條件和行為,可以促進(jìn)美術(shù)、策劃和程序員之間的協(xié)作,更加高效地進(jìn)行游戲開(kāi)發(fā)。
進(jìn)一步地,觸發(fā)器支持多種語(yǔ)言,方便觸發(fā)器隨語(yǔ)言更新以實(shí)現(xiàn)相應(yīng)功能,同時(shí)可以實(shí)現(xiàn)對(duì)觸發(fā)器版本管理的版本熱更新。
進(jìn)一步地,文件生成工具對(duì)電子游戲中需要用到的各種事件、條件和行為進(jìn)行歸類編輯和保存,便于以點(diǎn)選的方式編輯觸發(fā)器。同時(shí),將歸類編輯后的各種事件、條件和行為歸類保存在定義文件中的不同文件中,單獨(dú)形成不同文件,便于觸發(fā)器的模塊化組合和重用。
進(jìn)一步地,整合若干類引擎或者解決方案生成引擎代碼庫(kù),使得該引擎代碼庫(kù)能夠適應(yīng)各種用戶終端或者服務(wù)器引擎或解決方案,從而擴(kuò)大了框架代碼的適用范圍。
進(jìn)一步地,引擎代碼庫(kù)包括了整體框架、通信協(xié)議、事件條件行為的聯(lián)動(dòng)模型,這樣根據(jù)引擎代碼庫(kù)自動(dòng)生成的框架代碼更為完善,后期只需要實(shí)現(xiàn)每一個(gè)具體的事件條件和行為就可以了。
圖1是本發(fā)明第一實(shí)施方式中一種電子游戲開(kāi)發(fā)系統(tǒng)的結(jié)構(gòu)示意圖2是本發(fā)明第二實(shí)施方式中一種電子游戲開(kāi)發(fā)系統(tǒng)的結(jié)構(gòu)示意圖3是本發(fā)明第四實(shí)施方式中一種電子游戲開(kāi)發(fā)方法的流程示意圖4是本發(fā)明第五實(shí)施方式中一種電子游戲開(kāi)發(fā)方法的流程示意圖5是本發(fā)明第五實(shí)施方式中一種電子游戲開(kāi)發(fā)方法的流程示意圖。
具體實(shí)施方式
在以下的敘述中,為了使讀者更好地理解本申請(qǐng)而提出了許多技術(shù)細(xì)節(jié)。但是,本領(lǐng)域的普通技術(shù)人員可以理解,即使沒(méi)有這些技術(shù)細(xì)節(jié)和基于以下各實(shí)施方式的種種變化和修改,也可以實(shí)現(xiàn)本申請(qǐng)各權(quán)利要求所要求保護(hù)的技術(shù)方案。
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明的實(shí)施方式作進(jìn)一步地詳細(xì)描述。
本發(fā)明第一實(shí)施方式涉及一種電子游戲開(kāi)發(fā)系統(tǒng)。圖1是該電子游戲開(kāi)發(fā)系統(tǒng)的結(jié)構(gòu)示意圖。具體地說(shuō),如圖1所示,該電子游戲開(kāi)發(fā)系統(tǒng)包括
文件生成工具,用于將電子游戲中需要用到的各種事件、條件和行為記錄在定義文件中。
代碼自動(dòng)生成器,用于根據(jù)定義文件和引擎代碼庫(kù)生成框架代碼,該框架代碼實(shí)現(xiàn)了游戲程序整體上的基本構(gòu)架,并為該定義文件中的各種事件、條件和行為預(yù)留了實(shí)現(xiàn)接口。
代碼自動(dòng)生成器根據(jù)預(yù)先定義的各種事件、條件和行為自動(dòng)生成框架代碼,程序員只需要實(shí)現(xiàn)具體的事件、條件和行為,不需要考慮程序框架,而策劃和美術(shù)只需要通過(guò)觸發(fā)器編輯器將事件、條件和行為組合成多個(gè)觸發(fā)器,每個(gè)觸發(fā)器一旦設(shè)置好,馬上就可以看到效果,不需要等程序員去實(shí)現(xiàn),大大提高了游戲開(kāi)發(fā)的效率。
代碼開(kāi)發(fā)工具,用于根據(jù)框架代碼中的實(shí)現(xiàn)接口,以具體代碼實(shí)現(xiàn)各種事件、條件和行為。
編譯器,用于將代碼開(kāi)發(fā)工具實(shí)現(xiàn)的代碼編譯成游戲程序。
觸發(fā)器編輯器,用于編輯和保存由指定事件、指定條件和指定行為組合而成的觸發(fā)器,觸發(fā)器中涉及的事件、條件和行為都是定義文件中有記錄的,保存的觸發(fā)器供游戲程序運(yùn)行時(shí)讀取和執(zhí)行。
此外,對(duì)于網(wǎng)絡(luò)游戲,服務(wù)器端和客戶端分別通過(guò)上述電子游戲開(kāi)發(fā)系統(tǒng)進(jìn)行開(kāi)發(fā)。
本發(fā)明第二實(shí)施方式涉及一種電子游戲開(kāi)發(fā)系統(tǒng)。圖2是該電子游戲開(kāi)發(fā)系統(tǒng)的結(jié)構(gòu)示意圖。
第二實(shí)施方式在第一實(shí)施方式的基礎(chǔ)上進(jìn)行了改進(jìn),主要改進(jìn)之處在于通過(guò)點(diǎn)選方式編輯觸發(fā)器,使得程序員的開(kāi)發(fā)成本降低;同時(shí),通過(guò)點(diǎn)選方式編輯觸發(fā)器不會(huì)超定義文件范圍內(nèi)出現(xiàn)冗余事件、條件和行為,可以促進(jìn)美術(shù)、策劃和程序員之間的協(xié)作,更加高效地進(jìn)行游戲開(kāi)發(fā)。
觸發(fā)器支持多種語(yǔ)言,方便觸發(fā)器隨語(yǔ)言更新以實(shí)現(xiàn)相應(yīng)功能,同時(shí)可以實(shí)現(xiàn)對(duì)觸發(fā)器版本管理的版本熱更新。6
文件生成工具對(duì)電子游戲中需要用到的各種事件、條件和行為進(jìn)行歸類編輯和保存,便于以點(diǎn)選的方式編輯觸發(fā)器。
同時(shí),將歸類編輯后的各種事件、條件和行為歸類保存在定義文件中的不同文件中,單獨(dú)形成不同文件,便于觸發(fā)器的模塊化組合和重用。
整合若干類引擎或者解決方案生成引擎代碼庫(kù),使得該引擎代碼庫(kù)能夠適應(yīng)各種用戶終端或者服務(wù)器引擎或解決方案,從而擴(kuò)大了框架代碼的適用范圍。
具體地說(shuō),如圖2所示,上文所述的觸發(fā)器編輯器,還用于
通過(guò)預(yù)定的網(wǎng)絡(luò)地址和端口連接正在運(yùn)行的游戲程序。
連接成功后,下載該游戲程序的觸發(fā)器選擇記錄的記錄文件,該記錄文件記錄了每一個(gè)觸發(fā)器選擇的事件、條件和行為。
讀取并解析經(jīng)下載的記錄文件。
將指定事件、指定條件和指定行為所組成的觸發(fā)器保存到記錄文件,該指定事件、 指定條件和指定行為通過(guò)點(diǎn)選的方式在定義文件記錄的事件、條件和行為中找到的。
將觸發(fā)器分別生成N種語(yǔ)言的代碼或腳本保存,N為正整數(shù)。典型地,N為大于1 的整數(shù),即可以同時(shí)開(kāi)發(fā)同一電子游戲的多種語(yǔ)言的版本。
將以N種語(yǔ)言的代碼或腳本保存的觸發(fā)器上傳至正在運(yùn)行的游戲程序的約定目錄,供該游戲程序運(yùn)行時(shí)讀取和執(zhí)行。
如圖2所示,上文文件生成工具,還包括以下子模塊
編輯子模塊,用于將電子游戲中需要用到的各種事件、條件和行為進(jìn)行歸類編輯。
保存子模塊,用于將經(jīng)編輯子模塊歸類編輯的各種事件、條件和行為歸類保存在定義文件中的不同文件中。
在電子游戲開(kāi)發(fā)過(guò)程中,文件生成工具對(duì)需要用到的各種事件、條件和行為的不同屬性進(jìn)行抽象歸類,并且編輯保存在定義文件中的不同文件中。
如圖2所示,上文代碼自動(dòng)生成器,還包括以下子模塊
整合子模塊,用于整合若干類引擎或者解決方案生成引擎代碼庫(kù)。
生成子模塊,用于根據(jù)定義文件和整合子模塊整合得到的引擎代碼庫(kù),生成適合多種開(kāi)發(fā)語(yǔ)言的框架代碼。
在現(xiàn)有技術(shù)中,觸發(fā)器分別生成C++,Java, Objective-C代碼和Lua腳本保存,并上傳至正在運(yùn)行的游戲程序的約定目錄,供該游戲程序運(yùn)行時(shí)讀取和執(zhí)行。隨著游戲支持語(yǔ)言的更新,觸發(fā)器也可分別以相應(yīng)代碼或者腳本進(jìn)行保存,以實(shí)現(xiàn)相應(yīng)的功能。
引擎代碼庫(kù)包括了電子游戲的通信協(xié)議,事件、條件和行為的聯(lián)動(dòng)模型和游戲程序的整體結(jié)構(gòu)。
在每個(gè)觸發(fā)器中,事件只有一個(gè),條件和行為可以分別為非負(fù)整數(shù)個(gè)。
客戶端整合的框架有個(gè)人電腦(Personal Computer,簡(jiǎn)稱“PC”)端的CE圖形用戶界面(Graphical User hterface,簡(jiǎn)稱“⑶I”)或CE⑶I、面向?qū)ο髨D形渲染引擎 (Object-Oriented Graphics Rendering Engine,簡(jiǎn)稱"OGRE,,)、Gamebryo 系列弓丨擎、 Unreal系列引擎、CryEngine系列引擎等知名圖形引擎。手機(jī)端的有COCOs2D引擎。服務(wù)器端的現(xiàn)有引擎較少,可以通過(guò)整合若干自主研發(fā)的解決方案以實(shí)現(xiàn)服務(wù)器端框架整合。
本發(fā)明第三實(shí)施方式涉及一種網(wǎng)絡(luò)游戲開(kāi)發(fā)系統(tǒng)。該網(wǎng)絡(luò)游戲開(kāi)發(fā)系統(tǒng)包括
網(wǎng)絡(luò)服務(wù)器,其中包括上述電子游戲開(kāi)發(fā)系統(tǒng),用于開(kāi)發(fā)服務(wù)器側(cè)的電子游戲程序。
客戶端,其中包括上述電子游戲開(kāi)發(fā)系統(tǒng),用于開(kāi)發(fā)客戶端側(cè)的電子游戲程序。
需要說(shuō)明的是,本發(fā)明各設(shè)備實(shí)施方式中提到的各單元或模塊都是邏輯單元或模塊,在物理上,一個(gè)邏輯單元或模塊可以是一個(gè)物理單元或模塊,也可以是一個(gè)物理單元或模塊的一部分,還可以以多個(gè)物理單元或模塊的組合實(shí)現(xiàn),這些邏輯單元或模塊本身的物理實(shí)現(xiàn)方式并不是最重要的,這些邏輯單元或模塊所實(shí)現(xiàn)的功能的組合是才解決本發(fā)明所提出的技術(shù)問(wèn)題的關(guān)鍵。此外,為了突出本發(fā)明的創(chuàng)新部分,本發(fā)明上述各設(shè)備實(shí)施方式并沒(méi)有將與解決本發(fā)明所提出的技術(shù)問(wèn)題關(guān)系不太密切的單元引入,這并不表明上述設(shè)備實(shí)施方式并不存在其它的單元或模塊。
本發(fā)明第四實(shí)施方式涉及一種電子游戲開(kāi)發(fā)方法。圖3是該電子游戲開(kāi)發(fā)方法的流程示意圖。具體地說(shuō),如圖3所示,該電子游戲開(kāi)發(fā)方法包括以下步驟
在步驟301中,將電子游戲中需要用到的各種事件、條件和行為記錄在定義文件中。
此后進(jìn)入步驟302,根據(jù)定義文件和引擎代碼庫(kù)生成框架代碼,該框架代碼實(shí)現(xiàn)了游戲程序整體上的基本構(gòu)架,并為該定義文件中的各種事件、條件和行為預(yù)留了實(shí)現(xiàn)接口。
框架代碼根據(jù)預(yù)先定義的各種事件、條件和行為自動(dòng)生成,程序員只需要實(shí)現(xiàn)具體的事件、條件和行為,不需要考慮程序框架,而策劃和美術(shù)只需要將事件、條件和行為組合成觸發(fā)器,每個(gè)觸發(fā)器一旦設(shè)置好,馬上就可以看到效果,不需要等程序員去實(shí)現(xiàn),大大提高了游戲開(kāi)發(fā)的效率。
此后進(jìn)入步驟303,根據(jù)框架代碼中的實(shí)現(xiàn)接口,以具體代碼實(shí)現(xiàn)各種(或若干種)事件、條件和行為。
此外,可以理解,實(shí)現(xiàn)接口的形式通常是函數(shù)(function),也可以是過(guò)程 (procedure)、方法(method)等形式,在不同的語(yǔ)言中可能有不同的名稱和形式,不過(guò)都屬于實(shí)現(xiàn)某一功能的代碼塊。
此后進(jìn)入步驟304,使用編譯器將已實(shí)現(xiàn)的代碼編譯成游戲程序。
此后進(jìn)入步驟305,編輯和保存由指定事件、指定條件和指定行為組合而成的觸發(fā)器,觸發(fā)器中涉及的事件、條件和行為都是定義文件中有記錄的,保存的觸發(fā)器供游戲程序運(yùn)行時(shí)讀取和執(zhí)行,此后結(jié)束本流程。
本實(shí)施方式是與第一實(shí)施方式相對(duì)應(yīng)的方法實(shí)施方式,本實(shí)施方式可與第一實(shí)施方式互相配合實(shí)施。第一實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)在本實(shí)施方式中依然有效,為了減少重復(fù),這里不再贅述。相應(yīng)地,本實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)也可應(yīng)用在第一實(shí)施方式中。
本發(fā)明第五實(shí)施方式涉及一種電子游戲開(kāi)發(fā)方法。圖4是該電子游戲開(kāi)發(fā)方法的流程示意圖。
第五實(shí)施方式在第四實(shí)施方式的基礎(chǔ)上進(jìn)行了改進(jìn),主要改進(jìn)之處在于
通過(guò)點(diǎn)選方式編輯觸發(fā)器而非進(jìn)行框架開(kāi)發(fā)觸發(fā)器,使得程序員的開(kāi)發(fā)成本降低;同時(shí),通過(guò)點(diǎn)選方式編輯觸發(fā)器不會(huì)超定義文件范圍內(nèi)出現(xiàn)冗余事件、條件和行為,可以促進(jìn)美術(shù)、策劃和程序員之間的協(xié)作,更加高效地進(jìn)行游戲開(kāi)發(fā)。8
觸發(fā)器支持多種語(yǔ)言,方便觸發(fā)器隨語(yǔ)言更新以實(shí)現(xiàn)相應(yīng)功能,同時(shí)可以實(shí)現(xiàn)對(duì)觸發(fā)器版本管理的版本熱更新。文件生成工具對(duì)電子游戲中需要用到的各種事件、條件和行為進(jìn)行歸類編輯和保存,便于以點(diǎn)選的方式編輯觸發(fā)器。同時(shí),將歸類編輯后的各種事件、條件和行為歸類保存在定義文件中的不同文件中,單獨(dú)形成不同文件,便于觸發(fā)器的模塊化組合和重用。
整合若干類引擎或者解決方案生成引擎代碼庫(kù),使得該引擎代碼庫(kù)能夠適應(yīng)各種用戶終端或者服務(wù)器引擎或解決方案,從而擴(kuò)大了框架代碼的適用范圍。
引擎代碼庫(kù)包括了整體框架、通信協(xié)議、事件條件行為的聯(lián)動(dòng)模型,這樣根據(jù)引擎代碼庫(kù)自動(dòng)生成的框架代碼更為完善,后期只需要實(shí)現(xiàn)每一個(gè)具體的事件條件和行為就可以了。
具體地說(shuō),如圖4所示,該電子游戲開(kāi)發(fā)方法在編輯和保存由指定事件、指定條件和指定行為組合而成的觸發(fā)器的上述305步驟中,還包括以下子步驟401至407
在步驟401中,觸發(fā)器編輯工具通過(guò)預(yù)定的網(wǎng)絡(luò)地址和端口連接正在運(yùn)行的游戲程序。
此后進(jìn)入步驟402,觸發(fā)器編輯工具連接游戲程序成功后,下載該游戲程序的觸發(fā)器選擇記錄的記錄文件,該記錄文件記錄了每一個(gè)觸發(fā)器選擇的事件、條件和行為。
此后進(jìn)入步驟403,讀取并解析經(jīng)下載的記錄文件。
此后進(jìn)入步驟404,將指定事件、指定條件和指定行為所組成的觸發(fā)器保存到記錄文件,該指定事件、指定條件和指定行為為通過(guò)點(diǎn)選的方式在定義文件記錄的事件、條件和行為中找到的。
此后進(jìn)入步驟405,將觸發(fā)器分別生成N種語(yǔ)言的代碼或腳本保存,N為正整數(shù)。 此外,在現(xiàn)有技術(shù)中,觸發(fā)器分別生成C++,Java, Objective-C代碼和Lua腳本保存,并上傳至正在運(yùn)行的游戲程序的約定目錄,供該游戲程序運(yùn)行時(shí)讀取和執(zhí)行。隨著游戲支持語(yǔ)言的更新,觸發(fā)器也可分別以相應(yīng)代碼或者腳本進(jìn)行保存,以實(shí)現(xiàn)相應(yīng)的功能。
此后進(jìn)入步驟406,將以N種語(yǔ)言的代碼或腳本保存的觸發(fā)器上傳至正在運(yùn)行的游戲程序的約定目錄,供該游戲程序運(yùn)行時(shí)讀取和執(zhí)行,此后結(jié)束本流程。
在將電子游戲中需要用到的各種事件、條件和行為保存在定義文件中的上述301 步驟中,還包括以下子步驟
將電子游戲中需要用到的各種事件、條件和行為進(jìn)行歸類編輯后,并歸類保存在定義文件中的不同文件中。
此外,在電子游戲開(kāi)發(fā)過(guò)程中,對(duì)需要用到的各種事件、條件和行為的不同屬性進(jìn)行抽象歸類,并且編輯保存在定義文件中的不同文件中。
圖5是該電子游戲開(kāi)發(fā)方法的流程示意圖。具體地說(shuō),在根據(jù)定義文件和引擎代碼庫(kù)生成框架代碼的上述302步驟中,還包括以下子步驟501和502
在步驟501中,整合若干類引擎或者解決方案生成引擎代碼庫(kù)。
此后進(jìn)入步驟502,根據(jù)定義文件和該引擎代碼庫(kù),生成適合多種開(kāi)發(fā)語(yǔ)言的框架代碼,此后進(jìn)入上述步驟303,根據(jù)框架代碼中的實(shí)現(xiàn)接口,以具體代碼實(shí)現(xiàn)各種事件、條件和行為。
此外,客戶端整合的框架有個(gè)人電腦(Personal Computer,簡(jiǎn)稱“PC”)端的CE圖形用戶界面(Graphical User hterface,簡(jiǎn)稱“⑶I”)或CE⑶I、面向?qū)ο髨D形渲染引擎(Object-Oriented Graphics Rendering Engine,簡(jiǎn)稱 “OGRE,,),Gamebryo 系列引擎, Unreal系列引擎,CryEngine系列引擎等知名圖形引擎。手機(jī)端的有COCOs2D引擎。服務(wù)器端的現(xiàn)有引擎較少,可以通過(guò)整合若干自主研發(fā)的解決方案以實(shí)現(xiàn)服務(wù)器端框架整合。
現(xiàn)有技術(shù)中,框架代碼可以支持的常用游戲開(kāi)發(fā)語(yǔ)言有C++(常用于PC端)、 Java (常用于Android系列手機(jī))、Ob jecive-C (常用于蘋果系統(tǒng))和Lua (腳本插件)。
引擎代碼庫(kù)包括了電子游戲的通信協(xié)議,事件、條件和行為的聯(lián)動(dòng)模型和游戲程序的整體結(jié)構(gòu)。
此外,可以理解,引擎代碼庫(kù)可以看作是代碼自動(dòng)生成工具的模板庫(kù),代碼自動(dòng)生成工具可以調(diào)用該模板庫(kù)中的模板,生成游戲程序的整體框架,將各種事件、條件和行為分別封裝在不同的函數(shù)中,這些函數(shù)是空的,只定義了函數(shù)接口(包括函數(shù)名稱,返回值,參數(shù),參數(shù)類型等等),等待將來(lái)分別實(shí)現(xiàn)。
在每個(gè)觸發(fā)器中,事件只有一個(gè),條件和行為可以分別為非負(fù)整數(shù)個(gè)。
本實(shí)施方式是與第二實(shí)施方式相對(duì)應(yīng)的方法實(shí)施方式,本實(shí)施方式可與第二實(shí)施方式互相配合實(shí)施。第二實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)在本實(shí)施方式中依然有效,為了減少重復(fù),這里不再贅述。相應(yīng)地,本實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)也可應(yīng)用在第二實(shí)施方式中。
本發(fā)明第六實(shí)施方式涉及一種網(wǎng)絡(luò)游戲開(kāi)發(fā)方法。該網(wǎng)絡(luò)游戲開(kāi)發(fā)方法包括以下步驟
網(wǎng)絡(luò)服務(wù)器和客戶端分別根據(jù)上述電子游戲開(kāi)發(fā)方法開(kāi)發(fā)網(wǎng)絡(luò)游戲程序。
本實(shí)施方式是與第三實(shí)施方式相對(duì)應(yīng)的方法實(shí)施方式,本實(shí)施方式可與第三實(shí)施方式互相配合實(shí)施。第三實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)在本實(shí)施方式中依然有效,為了減少重復(fù),這里不再贅述。相應(yīng)地,本實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)也可應(yīng)用在第三實(shí)施方式中。
本發(fā)明的各方法實(shí)施方式均可以以軟件、硬件、固件等方式實(shí)現(xiàn)。不管本發(fā)明是以軟件、硬件、還是固件方式實(shí)現(xiàn),指令代碼都可以存儲(chǔ)在任何類型的計(jì)算機(jī)可訪問(wèn)的存儲(chǔ)器中(例如永久的或者可修改的,易失性的或者非易失性的,固態(tài)的或者非固態(tài)的,固定的或者可更換的介質(zhì)等等)。同樣,存儲(chǔ)器可以例如是可編程陣列邏輯(Programmable Array Logic,簡(jiǎn)稱“PAL”)、隨機(jī)存取存儲(chǔ)器(Random Access Memory,簡(jiǎn)稱“RAM”)、可編程只讀存儲(chǔ)器(Programmable Read Only Memory,簡(jiǎn)稱 “PROM”)、只讀存儲(chǔ)器(Read-Only Memory, 簡(jiǎn)稱“ROM”)、電可擦除可編程只讀存儲(chǔ)器(Electrically Erasable Programmable ROM,簡(jiǎn)稱“EEPR0M”)、磁盤、光盤、數(shù)字通用光盤(Digital Versatile Disc,簡(jiǎn)稱“DVD”)等等。
雖然通過(guò)參照本發(fā)明的某些優(yōu)選實(shí)施方式,已經(jīng)對(duì)本發(fā)明進(jìn)行了圖示和描述,但本領(lǐng)域的普通技術(shù)人員應(yīng)該明白,可以在形式上和細(xì)節(jié)上對(duì)其作各種改變,而不偏離本發(fā)明的精神和范圍。10
權(quán)利要求
1.一種電子游戲開(kāi)發(fā)系統(tǒng),其特征在于,包括文件生成工具,用于將電子游戲中需要用到的各種事件、條件和行為記錄在定義文件中;代碼自動(dòng)生成器,用于根據(jù)所述定義文件和引擎代碼庫(kù)生成框架代碼,該框架代碼實(shí)現(xiàn)了游戲程序整體上的基本構(gòu)架,并為該定義文件中的各種事件、條件和行為預(yù)留了實(shí)現(xiàn)接口 ;代碼開(kāi)發(fā)工具,用于根據(jù)所述框架代碼中的實(shí)現(xiàn)接口,以具體代碼實(shí)現(xiàn)各種事件、條件和行為;編譯器,用于將所述代碼開(kāi)發(fā)工具實(shí)現(xiàn)的代碼編譯成游戲程序; 觸發(fā)器編輯器,用于編輯和保存由指定事件、指定條件和指定行為組合而成的觸發(fā)器, 觸發(fā)器中涉及的事件、條件和行為都是所述定義文件中有記錄的,保存的觸發(fā)器供所述游戲程序運(yùn)行時(shí)讀取和執(zhí)行。
2.根據(jù)權(quán)利要求1所述的電子游戲開(kāi)發(fā)系統(tǒng),其特征在于,所述觸發(fā)器編輯器,還用于通過(guò)預(yù)定的網(wǎng)絡(luò)地址和端口連接正在運(yùn)行的游戲程序;連接成功后,下載該游戲程序的觸發(fā)器選擇記錄的記錄文件,該記錄文件記錄了每一個(gè)觸發(fā)器選擇的事件、條件和行為; 讀取并解析經(jīng)下載的記錄文件;將指定事件、指定條件和指定行為所組成的觸發(fā)器保存到記錄文件,該指定事件、指定條件和指定行為為通過(guò)點(diǎn)選的方式在定義文件記錄的事件、條件和行為中找到的; 將所述觸發(fā)器分別生成N種語(yǔ)言的代碼或腳本保存,N為正整數(shù); 將以N種語(yǔ)言的代碼或腳本保存的觸發(fā)器上傳至所述正在運(yùn)行的游戲程序的約定目錄,供該游戲程序運(yùn)行時(shí)讀取和執(zhí)行;所述文件生成工具,還包括以下子模塊編輯子模塊,用于將電子游戲中需要需要用到的各種事件、條件和行為進(jìn)行歸類編輯;保存子模塊,用于將經(jīng)所述編輯子模塊歸類編輯的各種事件、條件和行為歸類保存在定義文件中的不同文件中;所述代碼自動(dòng)生成器,還包括以下子模塊 整合子模塊,用于整合若干類引擎或者解決方案生成引擎代碼庫(kù); 生成子模塊,用于根據(jù)所述定義文件和所述整合子模塊整合得到的引擎代碼庫(kù),生成適合多種開(kāi)發(fā)語(yǔ)言的框架代碼;所述引擎代碼庫(kù)包括了電子游戲的通信協(xié)議,事件、條件和行為的聯(lián)動(dòng)模型和游戲程序的整體結(jié)構(gòu);在每個(gè)觸發(fā)器中,事件只有一個(gè),條件和行為可以分別為非負(fù)整數(shù)個(gè)。
3.—種網(wǎng)絡(luò)游戲開(kāi)發(fā)系統(tǒng),其特征在于,包括網(wǎng)絡(luò)服務(wù)器,其中包括上述權(quán)利要求1和2所述的電子游戲開(kāi)發(fā)系統(tǒng),用于開(kāi)發(fā)服務(wù)器側(cè)的電子游戲程序;客戶端,其中包括上述權(quán)利要求1和2所述的電子游戲開(kāi)發(fā)系統(tǒng),用于開(kāi)發(fā)客戶端側(cè)的電子游戲程序。
4.一種電子游戲開(kāi)發(fā)方法,其特征在于,包括以下步驟將電子游戲中需要用到的各種事件、條件和行為記錄在定義文件中; 根據(jù)所述定義文件和引擎代碼庫(kù)生成框架代碼,該框架代碼實(shí)現(xiàn)了游戲程序整體上的基本構(gòu)架,并為該定義文件中的各種事件、條件和行為預(yù)留了實(shí)現(xiàn)接口 ;根據(jù)所述框架代碼中的實(shí)現(xiàn)接口,以具體代碼實(shí)現(xiàn)各種事件、條件和行為,使用編譯器將已實(shí)現(xiàn)的代碼編譯成游戲程序;編輯和保存由指定事件、指定條件和指定行為組合而成的觸發(fā)器,觸發(fā)器中涉及的事件、條件和行為都是所述定義文件中有記錄的,保存的觸發(fā)器供所述游戲程序運(yùn)行時(shí)讀取和執(zhí)行。
5.根據(jù)權(quán)利要求4所述的電子游戲開(kāi)發(fā)方法,其特征在于,在所述編輯和保存由指定事件、指定條件和指定行為組合而成的觸發(fā)器的步驟中,還包括以下子步驟觸發(fā)器編輯工具通過(guò)預(yù)定的網(wǎng)絡(luò)地址和端口連接正在運(yùn)行的游戲程序; 連接成功后,下載該游戲程序的觸發(fā)器選擇記錄的記錄文件,該記錄文件記錄了每一個(gè)觸發(fā)器選擇的事件、條件和行為; 讀取并解析經(jīng)下載的記錄文件;將指定事件、指定條件和指定行為所組成的觸發(fā)器保存到記錄文件,該指定事件、指定條件和指定行為為通過(guò)點(diǎn)選的方式在定義文件記錄的事件、條件和行為中找到的; 將所述觸發(fā)器分別生成N種語(yǔ)言的代碼或腳本保存,N為正整數(shù); 將以N種語(yǔ)言的代碼或腳本保存的觸發(fā)器上傳至所述正在運(yùn)行的游戲程序的約定目錄,供該游戲程序運(yùn)行時(shí)讀取和執(zhí)行。
6.根據(jù)權(quán)利要求4所述的電子游戲開(kāi)發(fā)方法,其特征在于,在所述將電子游戲中需要用到的各種事件、條件和行為保存在定義文件中的步驟中,還包括以下子步驟將電子游戲中需要用到的各種事件、條件和行為進(jìn)行歸類編輯后,并歸類保存在定義文件中的不同文件中。
7.根據(jù)權(quán)利要求4所述的電子游戲開(kāi)發(fā)方法,其特征在于,在所述根據(jù)定義文件和引擎代碼庫(kù)生成框架代碼的步驟中,還包括以下子步驟整合若干類引擎或者解決方案生成引擎代碼庫(kù);根據(jù)所述定義文件和該引擎代碼庫(kù),生成適合多種開(kāi)發(fā)語(yǔ)言的框架代碼。
8.根據(jù)權(quán)利要求7所述的電子游戲開(kāi)發(fā)方法,其特征在于,所述引擎代碼庫(kù)包括了電子游戲的通信協(xié)議,事件、條件和行為的聯(lián)動(dòng)模型和游戲程序的整體結(jié)構(gòu)。
9.根據(jù)權(quán)利要求4至8中任一項(xiàng)所述的電子游戲開(kāi)發(fā)方法,其特征在于,在每個(gè)觸發(fā)器中,事件只有一個(gè),條件和行為可以分別為非負(fù)整數(shù)個(gè)。
10.一種網(wǎng)絡(luò)游戲開(kāi)發(fā)方法,其特征在于,包括以下步驟網(wǎng)絡(luò)服務(wù)器和客戶端分別根據(jù)上述權(quán)利要求4至9所述的電子游戲開(kāi)發(fā)方法開(kāi)發(fā)網(wǎng)絡(luò)游戲程序。
全文摘要
本發(fā)明涉及電子游戲領(lǐng)域,公開(kāi)了一種電子游戲開(kāi)發(fā)系統(tǒng)及其方法,大大減少了計(jì)算機(jī)編譯電子游戲可執(zhí)行程序的編譯次數(shù)和計(jì)算機(jī)總體計(jì)算量,可以更好地還原策劃和美術(shù)設(shè)計(jì)理念、縮短游戲開(kāi)發(fā)周期以及降低開(kāi)發(fā)成本。本發(fā)明中,包括文件生成工具,用于將電子游戲中需要用到的各種事件、條件和行為記錄在定義文件中;代碼自動(dòng)生成器,用于根據(jù)定義文件和引擎代碼庫(kù)生成框架代碼;代碼開(kāi)發(fā)工具,用于根據(jù)框架代碼中的實(shí)現(xiàn)接口,以具體代碼實(shí)現(xiàn)各種事件、條件和行為;編譯器,用于將代碼開(kāi)發(fā)工具實(shí)現(xiàn)的代碼編譯成游戲程序;觸發(fā)器編輯器,用于編輯和保存由指定事件、指定條件和指定行為組合而成的觸發(fā)器,該觸發(fā)器供游戲程序運(yùn)行時(shí)讀取和執(zhí)行。
文檔編號(hào)G06F9/44GK102520972SQ20111045867
公開(kāi)日2012年6月27日 申請(qǐng)日期2011年12月31日 優(yōu)先權(quán)日2011年12月31日
發(fā)明者張通海, 張通淵, 張錚, 胥天泓 申請(qǐng)人:上海方寸信息科技有限公司