本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,具體涉及一種基于自然語言的游戲開發(fā)裝置及系統(tǒng)。
背景技術(shù):
自然語言處理是計(jì)算機(jī)科學(xué)領(lǐng)域與人工智能領(lǐng)域中的一個(gè)重要方向。它研究能實(shí)現(xiàn)人與計(jì)算機(jī)之間用自然語言進(jìn)行有效通信的各種理論和方法。自然語言處理是一門融語言學(xué)、計(jì)算機(jī)科學(xué)、數(shù)學(xué)于一體的科學(xué)。因此,這一領(lǐng)域的研究將涉及自然語言,即人們?nèi)粘J褂玫恼Z言,所以它與語言學(xué)的研究有著密切的聯(lián)系,但又有重要的區(qū)別。自然語言處理并不是一般地研究自然語言,而在于研制能有效地實(shí)現(xiàn)自然語言通信的計(jì)算機(jī)系統(tǒng),特別是其中的軟件系統(tǒng)。因而它是計(jì)算機(jī)科學(xué)的一部分。自然語言處理(nlp)是計(jì)算機(jī)科學(xué),人工智能,語言學(xué)關(guān)注計(jì)算機(jī)和人類(自然)語言之間的相互作用的領(lǐng)域。
現(xiàn)有的游戲開發(fā)模式一般如下,先由游戲策劃提出游戲開發(fā)方案,再由美術(shù)提供游戲資源,最終由程序員根據(jù)其理解實(shí)現(xiàn)相關(guān)邏輯并整合資源成為一個(gè)游戲應(yīng)用程序進(jìn)行發(fā)布。由此可見,一個(gè)游戲的功能實(shí)現(xiàn)程度大部分取決于程序員的編碼能力和對(duì)策劃、美術(shù)想法的理解程度。
現(xiàn)有的游戲開發(fā)模式存在幾個(gè)明顯缺點(diǎn):
1.每當(dāng)程序員實(shí)現(xiàn)一個(gè)策劃、美術(shù)的想法后,都需要重新編譯電子游戲的原代碼,生成可執(zhí)行的目標(biāo)代碼(程序),計(jì)算機(jī)的計(jì)算量大。
2.無法使用自然語言進(jìn)行溝通,導(dǎo)致溝通成本高,程序缺陷等不可控因素導(dǎo)致開發(fā)周期冗長(zhǎng);
3.無法使用自然語言溝通導(dǎo)致游戲制作過程完全由程序員完成,容易造成策劃、美術(shù)參與感和原本策劃設(shè)計(jì)理念的還原度受損;同時(shí),游戲制作對(duì)程序員個(gè)人能力的依賴,容易導(dǎo)致游戲品質(zhì)不可控;
4.必須存在的龐大程序員團(tuán)隊(duì)進(jìn)行游戲制作,會(huì)造成開發(fā)成本高。
自然語言是各個(gè)游戲開發(fā)環(huán)節(jié)參與人員均能夠明白的語言,作為一種通用語言,其溝通價(jià)值不可估量,若游戲開發(fā)環(huán)節(jié)能夠使用自然語言必然對(duì)于開發(fā)效率有顯著提升,因此,本申請(qǐng)?zhí)峁┝艘环N基于自然語言的游戲開發(fā)裝置及系統(tǒng)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種基于自然語言的游戲開發(fā)裝置及系統(tǒng)。本發(fā)明是以如下技術(shù)方案實(shí)現(xiàn)的:
一種基于自然語言的游戲開發(fā)裝置,包括:
自然語言文件獲取模塊,用于獲取預(yù)設(shè)的自然語言文件,所述自然語言文件記錄有游戲開發(fā)邏輯,所述自然語言文件包括用于轉(zhuǎn)換為非自然語言文件所需的關(guān)鍵字;
文件生成工具,用于根據(jù)所述自然語言文件和自然語言文件中的關(guān)鍵字獲取電子游戲中需要用到的各種事件、條件和行為記錄,并將所述事件、條件和行為記錄所述在定義文件中;
代碼自動(dòng)生成器,用于根據(jù)所述定義文件和引擎代碼庫生成框架代碼,該框架代碼實(shí)現(xiàn)了游戲程序整體上的基本構(gòu)架,并為該定義文件中的各種事件、條件和行為預(yù)留了實(shí)現(xiàn)接口;
代碼生成工具,用于根據(jù)所述自然語言文件和自然語言文件中的關(guān)鍵字自動(dòng)完善所述實(shí)現(xiàn)接口,以具體代碼實(shí)現(xiàn)各種事件、條件和行為;
編譯器,用于將所述代碼開發(fā)工具實(shí)現(xiàn)的代碼編譯成游戲程序;
觸發(fā)器編輯器,用于編輯和保存由指定事件、指定條件和指定行為組合而成的觸發(fā)器,觸發(fā)器中涉及的事件、條件和行為都是所述定義文件中有記錄的,保存的觸發(fā)器供所述游戲程序運(yùn)行時(shí)讀取和執(zhí)行。
進(jìn)一步地,還包括自然語言文件分析模塊,所述自然語言分析模塊用于利用通過使用了1個(gè)以上的訓(xùn)練數(shù)據(jù)的機(jī)器學(xué)習(xí)而得到的分割模型,執(zhí)行對(duì)于自然語言中的句子的詞素分析,以關(guān)鍵字為依據(jù)得到的各個(gè)被分割元素。
進(jìn)一步地,還包括邏輯組合模塊,用于將自然語言文件分析模塊得到的各個(gè)分割元素按照預(yù)設(shè)的邏輯進(jìn)行組合,從而得到事件、條件、行為記錄以及實(shí)現(xiàn)接口四部分?jǐn)?shù)據(jù)。
進(jìn)一步地,所述觸發(fā)器編輯器,還用于:
通過預(yù)定的網(wǎng)絡(luò)地址和端口連接正在運(yùn)行的游戲程序;
連接成功后,下載該游戲程序的觸發(fā)器選擇記錄的記錄文件,該記錄文件記錄了每一個(gè)觸發(fā)器選擇的事件、條件和行為;
讀取并解析經(jīng)下載的記錄文件;
將指定事件、指定條件和指定行為所組成的觸發(fā)器保存到記錄文件,該指定事件、指定條件和指定行為為通過點(diǎn)選的方式在定義文件記錄的事件、條件和行為中找到的;
將所述觸發(fā)器分別生成n種語言的代碼或腳本保存,n為正整數(shù);
將以n種語言的代碼或腳本保存的觸發(fā)器上傳至所述正在運(yùn)行的游戲程序的約定目錄,供該游戲程序運(yùn)行時(shí)讀取和執(zhí)行。
進(jìn)一步地,所述文件生成工具,還包括以下子模塊:
編輯子模塊,用于將電子游戲中需要用到的各種事件、條件和行為進(jìn)行歸類編輯;
保存子模塊,用于將經(jīng)所述編輯子模塊歸類編輯的各種事件、條件和行為歸類保存在定義文件中的不同文件中;
所述代碼自動(dòng)生成器,還包括以下子模塊:
整合子模塊,用于整合若干類引擎或者解決方案生成引擎代碼庫;
生成子模塊,用于根據(jù)所述定義文件和所述整合子模塊整合得到的引擎代碼庫,生成適合多種開發(fā)語言的框架代碼;
所述引擎代碼庫包括了電子游戲的通信協(xié)議,事件、條件和行為的聯(lián)動(dòng)模型和游戲程序的整體結(jié)構(gòu);
在每個(gè)觸發(fā)器中,事件只有一個(gè),條件和行為可以分別為非負(fù)整數(shù)個(gè)。
一種基于自然語言的游戲開發(fā)系統(tǒng),包括服務(wù)器和客戶端,所述服務(wù)器和所述客戶端通訊連接,所述服務(wù)器運(yùn)行有權(quán)利要求1所述的一種基于自然語言的游戲開發(fā)裝置;
所述客戶端用于將自然語言文件傳輸至所述服務(wù)器。
進(jìn)一步地,所述服務(wù)器還包括自然語言文件合法性檢查模塊,用于對(duì)所述自然語言文件進(jìn)行合法性檢查,并將檢查結(jié)果反饋至所述客戶端。
進(jìn)一步地,所述合法性檢查包括:
所述自然語言文件的句式為預(yù)設(shè)句式;
所述自然語言文件中包含預(yù)設(shè)關(guān)鍵詞;
所述自然語言文件與上一次接收到的自然語言文件之間存在上下文關(guān)聯(lián)。
本發(fā)明的有益效果是:
本發(fā)明提供一種基于自然語言的游戲開發(fā)裝置及系統(tǒng)。本發(fā)明能夠?qū)⒆匀徽Z言轉(zhuǎn)換為可應(yīng)用于程序的代碼文件和定義文件,從而直接用于游戲開發(fā)。本發(fā)明充分利用了自然語言的溝通優(yōu)勢(shì),使得各個(gè)游戲開發(fā)環(huán)節(jié)參與人員均能夠明白游戲開發(fā)的邏輯,從而顯著提升開發(fā)效率。
附圖說明
圖1是一種基于自然語言的游戲開發(fā)裝置的框圖;
圖2是文件生成工具的框圖;
圖3是代碼自動(dòng)生成器的框圖;
圖4是一種基于自然語言的游戲開發(fā)系統(tǒng)的框圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步地詳細(xì)描述。
如圖1所示,一種基于自然語言的游戲開發(fā)裝置,包括:
自然語言文件獲取模塊101,用于獲取預(yù)設(shè)的自然語言文件,所述自然語言文件記錄有游戲開發(fā)邏輯,所述自然語言文件包括用于轉(zhuǎn)換為非自然語言文件所需的關(guān)鍵字;
文件生成工具102,用于根據(jù)所述自然語言文件和自然語言文件中的關(guān)鍵字獲取電子游戲中需要用到的各種事件、條件和行為記錄,并將所述事件、條件和行為記錄所述在定義文件中;
代碼自動(dòng)生成器103,用于根據(jù)所述定義文件和引擎代碼庫生成框架代碼,該框架代碼實(shí)現(xiàn)了游戲程序整體上的基本構(gòu)架,并為該定義文件中的各種事件、條件和行為預(yù)留了實(shí)現(xiàn)接口;
代碼生成工具104,用于根據(jù)所述自然語言文件和自然語言文件中的關(guān)鍵字自動(dòng)完善所述實(shí)現(xiàn)接口,以具體代碼實(shí)現(xiàn)各種事件、條件和行為;
編譯器105,用于將所述代碼開發(fā)工具實(shí)現(xiàn)的代碼編譯成游戲程序;
觸發(fā)器編輯器106,用于編輯和保存由指定事件、指定條件和指定行為組合而成的觸發(fā)器,觸發(fā)器中涉及的事件、條件和行為都是所述定義文件中有記錄的,保存的觸發(fā)器供所述游戲程序運(yùn)行時(shí)讀取和執(zhí)行。
具體地,還包括自然語言文件分析模塊107,所述自然語言分析模塊用于利用通過使用了1個(gè)以上的訓(xùn)練數(shù)據(jù)的機(jī)器學(xué)習(xí)而得到的分割模型,執(zhí)行對(duì)于自然語言中的句子的詞素分析,以關(guān)鍵字為依據(jù)得到的各個(gè)被分割元素。
以及邏輯組合模塊108,用于將自然語言文件分析模塊得到的各個(gè)分割元素按照預(yù)設(shè)的邏輯進(jìn)行組合,從而得到事件、條件、行為記錄以及實(shí)現(xiàn)接口四部分?jǐn)?shù)據(jù)。
具體地,所述觸發(fā)器編輯器106,還用于:
通過預(yù)定的網(wǎng)絡(luò)地址和端口連接正在運(yùn)行的游戲程序;
連接成功后,下載該游戲程序的觸發(fā)器選擇記錄的記錄文件,該記錄文件記錄了每一個(gè)觸發(fā)器選擇的事件、條件和行為;
讀取并解析經(jīng)下載的記錄文件;
將指定事件、指定條件和指定行為所組成的觸發(fā)器保存到記錄文件,該指定事件、指定條件和指定行為為通過點(diǎn)選的方式在定義文件記錄的事件、條件和行為中找到的;
將所述觸發(fā)器分別生成n種語言的代碼或腳本保存,n為正整數(shù);
將以n種語言的代碼或腳本保存的觸發(fā)器上傳至所述正在運(yùn)行的游戲程序的約定目錄,供該游戲程序運(yùn)行時(shí)讀取和執(zhí)行。
進(jìn)一步地,如圖2所示,所述文件生成工具104,還包括以下子模塊:
編輯子模塊1041,用于將電子游戲中需要用到的各種事件、條件和行為進(jìn)行歸類編輯;
保存子模塊1042,用于將經(jīng)所述編輯子模塊歸類編輯的各種事件、條件和行為歸類保存在定義文件中的不同文件中;
如圖3所示,所述代碼自動(dòng)生成器103,還包括以下子模塊:
整合子模塊1031,用于整合若干類引擎或者解決方案生成引擎代碼庫;
生成子模塊1032,用于根據(jù)所述定義文件和所述整合子模塊整合得到的引擎代碼庫,生成適合多種開發(fā)語言的框架代碼;
所述引擎代碼庫包括了電子游戲的通信協(xié)議,事件、條件和行為的聯(lián)動(dòng)模型和游戲程序的整體結(jié)構(gòu);
在每個(gè)觸發(fā)器中,事件只有一個(gè),條件和行為可以分別為非負(fù)整數(shù)個(gè)。
本發(fā)明還提供了一種基于自然語言的游戲開發(fā)系統(tǒng),如圖4所示,包括服務(wù)器和客戶端,所述服務(wù)器和所述客戶端通訊連接,所述服務(wù)器運(yùn)行有基于自然語言的游戲開發(fā)裝置;所述客戶端用于將自然語言文件傳輸至所述服務(wù)器。
所述服務(wù)器還包括自然語言文件合法性檢查模塊,用于對(duì)所述自然語言文件進(jìn)行合法性檢查,并將檢查結(jié)果反饋至所述客戶端。
所述服務(wù)器接收用戶輸入的自然語言文件;
當(dāng)檢測(cè)到所述自然語言文件滿足預(yù)設(shè)要求時(shí),對(duì)所述自然語言文件的內(nèi)容進(jìn)行解析;
根據(jù)解析結(jié)果確定所述自然語言文件是否合格;
當(dāng)確定所述自然語言文件合格時(shí),根據(jù)所述自然語言文件進(jìn)行游戲開發(fā)。
在一個(gè)實(shí)施例中,所述預(yù)設(shè)要求包括以下任一項(xiàng):
所述自然語言文件的句式為預(yù)設(shè)句式;
所述自然語言文件中包含預(yù)設(shè)關(guān)鍵詞;
所述自然語言文件與上一次接收到的自然語言文件之間存在上下文關(guān)聯(lián)。
在該實(shí)施例中,預(yù)設(shè)要求可以是自然語言信息的句式為預(yù)設(shè)句式,如自然語言信息的句式為定義性的陳述句,例如若a則b。預(yù)設(shè)要求還可以是自然語言文件中包含預(yù)設(shè)關(guān)鍵詞,如若,則,大于,小于之類的邏輯詞匯。
在一個(gè)實(shí)施例中,所述根據(jù)解析結(jié)果確定所述自然語言文件是否合格,包括:
確定所述自然語言文件的內(nèi)容中是否包括非法關(guān)鍵詞;
當(dāng)所述內(nèi)容中包含非法關(guān)鍵詞時(shí),確定所述自然語言文件不合格;
當(dāng)所述內(nèi)容中不包含非法關(guān)鍵詞時(shí),對(duì)所述內(nèi)容的語義進(jìn)行解析;
根據(jù)所述內(nèi)容的語義確定所述自然語言文件是否合格。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。