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