本發(fā)明涉及一種策略游戲的資源分配系統(tǒng)和方法,屬于計算機游戲領(lǐng)域。
背景技術(shù):
策略游戲是一種模擬游戲的衍生游戲類型。當(dāng)模擬游戲的模擬對象不單單是一種物體(如載具)時,玩家就需要在進(jìn)行游戲時保證自己模擬對象達(dá)成游戲規(guī)定的目標(biāo)。而模擬游戲一般都較為自由和開放,所以玩家就需要在游戲認(rèn)可的限度內(nèi)想盡辦法完成目標(biāo)。因為模擬游戲一般都較為自由和開放,所以玩家 就需要在游戲認(rèn)可的限度活動智慧來進(jìn)行游戲。策略游戲可分為回合制和即時制兩種。
根據(jù)上述的策略游戲的特點,策略所包括的大量重復(fù)的單位、游戲規(guī)則、模型需要占用大量的系統(tǒng)資源。
一般的策略游戲,資源分配系統(tǒng)通常是采用硬編碼的算法實現(xiàn)。即每種資源分配算法都用一段代碼或一個類來實現(xiàn),程序開放其中某些參數(shù)來給策劃進(jìn)行一些數(shù)值的調(diào)整,達(dá)到一定的可改變性,但是不能改變其中的程序邏輯。但游戲項目系統(tǒng)的特點在于易變性,相似性與重復(fù)性。即需要大量大體相似但具體邏輯又不盡相同的算法,且策劃的需求在不斷變化與調(diào)整之中,這是由游戲這種娛樂軟件注重用戶體驗的特點決定的。
故這種硬編碼的傳統(tǒng)系統(tǒng)實現(xiàn)方法缺點有:(1)程序?qū)崿F(xiàn)算法的工作量非常大,大量相似程序功能要重復(fù)開發(fā)且反復(fù)調(diào)整,往往在實際工作中會因為工作量太大而舍棄掉大量策劃有益的設(shè)計,這樣反過來讓游戲整體的品質(zhì)受到影響。(2)項目沒有小粒度的可重用算法功能,整體開發(fā)成本太大,往往迫于項目進(jìn)度的壓力只能做出一個比較粗糙的資源分配系統(tǒng)來,嚴(yán)重影響了游戲體驗。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)不足,本發(fā)明的技術(shù)方案總結(jié)了一種基于樹的策略游戲資源分配算法,以達(dá)到大大縮短策略游戲開發(fā)周期,增強代碼可維護性與可重用性,增強游戲的體驗和表現(xiàn),方便各種職位的人員良好分工合作的目的。
本發(fā)明的技術(shù)方案包括一種策略游戲的資源分配系統(tǒng),其特征在于,該系統(tǒng)包括:資源劃分模塊,用于對策略游戲中玩家所擁有總資源數(shù)據(jù)使用樹結(jié)構(gòu)進(jìn)行表示,其中數(shù)的最頂端根節(jié)點表示玩家所有的資源數(shù)據(jù),進(jìn)一步,將資源數(shù)據(jù)進(jìn)行分類并劃分至每個樹節(jié)點;資源設(shè)置模塊,用于根據(jù)游戲世界狀態(tài)的變化,對根節(jié)點及對應(yīng)的子節(jié)點分配比例進(jìn)行對應(yīng)的設(shè)置,進(jìn)一步還包括對每個節(jié)點之間的邏輯規(guī)則進(jìn)行預(yù)先設(shè)置;資源判斷模塊,用于從最底層的節(jié)點的資源數(shù)據(jù)自下而上進(jìn)行遍歷獲取,并計算每個節(jié)的所有資源數(shù)據(jù)及總資源數(shù)據(jù);資源調(diào)整模塊,用于根據(jù)所述資源判斷模塊獲取的所有節(jié)點的資源數(shù)據(jù),同時獲取每個節(jié)點對應(yīng)的資源類型,進(jìn)一步調(diào)整每個節(jié)點下對應(yīng)的多個子節(jié)點所占據(jù)的資源數(shù)據(jù)類型比例及資源數(shù)據(jù)的優(yōu)先度級別。
根據(jù)所述的策略游戲的資源分配系統(tǒng),所述的資源劃分模塊還包括:查詢子模塊,用于對策略游戲進(jìn)行遍歷,獲取所有資源數(shù)據(jù);劃分子模塊,用于根據(jù)預(yù)設(shè)的資源數(shù)據(jù)的邏輯關(guān)系,使用樹結(jié)構(gòu)將資源數(shù)據(jù)劃分至對應(yīng)的節(jié)點。
根據(jù)所述的策略游戲的資源分配系統(tǒng),所述的資源設(shè)置模塊包括:比例子模塊,根據(jù)所述資源劃分子模塊劃獲取一一每個節(jié)點下所有子節(jié)點的資源數(shù)據(jù),進(jìn)一步,將每個節(jié)點對應(yīng)所有子節(jié)點所擁有的資源數(shù)據(jù)比例進(jìn)行計算;比例設(shè)置子模塊,用于根據(jù)每個節(jié)點對應(yīng)的資源數(shù)據(jù)類型的不同,同時動態(tài)獲取游戲世界的變化,將固定值數(shù)據(jù)進(jìn)行固定設(shè)置,對動態(tài)變化的數(shù)據(jù)進(jìn)行默認(rèn)值設(shè)置,該默認(rèn)值能夠通過可交互界面進(jìn)行自訂有設(shè)置;邏輯設(shè)置子模塊,用于對資源數(shù)據(jù)的比例邏輯進(jìn)行設(shè)置及對節(jié)點之間的邏輯規(guī)則進(jìn)行設(shè)置。
根據(jù)所述的策略游戲的資源分配系統(tǒng),所述的資源判斷模塊包括:遍歷子模塊,用于對最底端的子節(jié)點的資源數(shù)據(jù)進(jìn)行獲取,進(jìn)一步,依次向上得到對應(yīng)節(jié)點的資源數(shù)據(jù),最終得到所有節(jié)點的資源數(shù)據(jù)及總資源數(shù)據(jù);計算子模塊,根據(jù)所述遍歷子模塊及節(jié)點之間的邏輯規(guī)則對每個節(jié)點下對應(yīng)的子節(jié)點的資源數(shù)據(jù)進(jìn)行計算并調(diào)整至符合邏輯規(guī)則的比例。
根據(jù)所述的策略游戲的資源分配系統(tǒng),所述的資源調(diào)整模塊還包括:智能調(diào)整子模塊,基于預(yù)先設(shè)置的比例邏輯規(guī)則及節(jié)點之間的邏輯規(guī)則,獲取游戲運行參數(shù),將子節(jié)點所占的資源數(shù)據(jù)比例調(diào)整至最優(yōu)比例的信息使用可見界面向玩家進(jìn)行展示;功能調(diào)整子模塊,獲取玩家的操作指令,根據(jù)指令對玩家進(jìn)行不同的提醒,如果玩家選擇低優(yōu)先度的資源數(shù)據(jù),將高優(yōu)先度的信息建議推送給玩家。
本發(fā)明的技術(shù)方案還包括一種策略游戲的資源分配方法,其特征在于,該方法包括:對策略游戲中玩家所擁有總資源數(shù)據(jù)使用樹結(jié)構(gòu)進(jìn)行表示,其中數(shù)的最頂端根節(jié)點表示玩家所有的資源數(shù)據(jù),進(jìn)一步,將資源數(shù)據(jù)進(jìn)行分類并劃分至每個樹節(jié)點;根據(jù)游戲世界狀態(tài)的變化,對根節(jié)點及對應(yīng)的子節(jié)點分配比例進(jìn)行對應(yīng)的設(shè)置,進(jìn)一步還包括對每個節(jié)點之間的邏輯規(guī)則進(jìn)行預(yù)先設(shè)置;從最底層的節(jié)點的資源數(shù)據(jù)自下而上進(jìn)行遍歷獲取,并計算每個節(jié)的所有資源數(shù)據(jù)及總資源數(shù)據(jù);根據(jù)所述資源判斷模塊獲取的所有節(jié)點的資源數(shù)據(jù),同時獲取每個節(jié)點對應(yīng)的資源類型,進(jìn)一步調(diào)整每個節(jié)點下對應(yīng)的多個子節(jié)點所占據(jù)的資源數(shù)據(jù)類型比例及資源數(shù)據(jù)的優(yōu)先度級別。
進(jìn)一步,該方法還包括:對策略游戲進(jìn)行遍歷,獲取所有資源數(shù)據(jù);根據(jù)預(yù)設(shè)的資源數(shù)據(jù)的邏輯關(guān)系,使用樹結(jié)構(gòu)將資源數(shù)據(jù)劃分至對應(yīng)的節(jié)點。
進(jìn)一步,該方法還包括:根據(jù)所述資源劃分子模塊劃獲取一一每個節(jié)點下所有子節(jié)點的資源數(shù)據(jù),進(jìn)一步,將每個節(jié)點對應(yīng)所有子節(jié)點所擁有的資源數(shù)據(jù)比例進(jìn)行計算;根據(jù)每個節(jié)點對應(yīng)的資源數(shù)據(jù)類型的不同,同時動態(tài)獲取游戲世界的變化,將固定值數(shù)據(jù)進(jìn)行固定設(shè)置,對動態(tài)變化的數(shù)據(jù)進(jìn)行默認(rèn)值設(shè)置,該默認(rèn)值能夠通過可交互界面進(jìn)行自訂有設(shè)置;對資源數(shù)據(jù)的比例邏輯進(jìn)行設(shè)置及對節(jié)點之間的邏輯規(guī)則進(jìn)行設(shè)置。
進(jìn)一步,該方法還包括:對最底端的子節(jié)點的資源數(shù)據(jù)進(jìn)行獲取,進(jìn)一步,依次向上得到對應(yīng)節(jié)點的資源數(shù)據(jù),最終得到所有節(jié)點的資源數(shù)據(jù)及總資源數(shù)據(jù);根據(jù)所述遍歷子模塊及節(jié)點之間的邏輯規(guī)則對每個節(jié)點下對應(yīng)的子節(jié)點的資源數(shù)據(jù)進(jìn)行計算并調(diào)整至符合邏輯規(guī)則的比例。
進(jìn)一步,該方法還包括:預(yù)先設(shè)置的比例邏輯規(guī)則及節(jié)點之間的邏輯規(guī)則,獲取游戲運行參數(shù),將子節(jié)點所占的資源數(shù)據(jù)比例調(diào)整至最優(yōu)比例的信息使用可見界面向玩家進(jìn)行展示;獲取玩家的操作指令,根據(jù)指令對玩家進(jìn)行不同的提醒,如果玩家選擇低優(yōu)先度的資源數(shù)據(jù),將高優(yōu)先度的信息建議推送給玩家。
本發(fā)明的有益效果為:大大縮短策略游戲開發(fā)周期;增強代碼可維護性與可重用性;增強游戲的體驗和表現(xiàn);方便各種職位的人員分工合作,優(yōu)化流程。
附圖說明
圖1所示為根據(jù)本發(fā)明實施方式的策略一種游戲資源分配樹的結(jié)構(gòu)圖;
圖2所示為根據(jù)本發(fā)明實施方式的策略游戲的策略分配方案流程圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖和具體實施例對本發(fā)明進(jìn)行詳細(xì)描述。本發(fā)明的策略游戲資源分配系統(tǒng)和方法適用于單機游戲、手機游戲、網(wǎng)頁游戲等游戲的開發(fā)。
圖1所示為根據(jù)本發(fā)明實施方式的策略一種游戲資源分配數(shù)的結(jié)構(gòu)圖。圖1資源分配樹的一部分。樹葉為個體的具體類型。例如,長矛兵的位置為根/軍事/進(jìn)攻/格斗/長矛兵。“長矛兵”節(jié)點本身可能包含關(guān)于所有長矛兵的統(tǒng)計數(shù)據(jù),如總數(shù)、攻擊力、戰(zhàn)斗中犧牲的長矛兵數(shù)等,以指出其進(jìn)攻能力。NPC AI應(yīng)針對游戲中的每個玩家,維護一個這種數(shù)據(jù)結(jié)構(gòu)的實例。其他玩家的圖形表示當(dāng)前玩家對每個玩家的策略資產(chǎn)的了解情況和功能劃分的估算。長矛兵主要是防御個體,但也可用于攻擊或探索。
圖2所示為根據(jù)本發(fā)明實施方式的策略游戲的策略分配方案流程圖。根據(jù)該圖本發(fā)明的技術(shù)方案給出了這些方案,包括:資源分配樹提供了一種優(yōu)秀的、維護軍力平衡的方式。如果在一場戰(zhàn)役中失去了所有的20頭大象,則“大象”節(jié)點及其所有父節(jié)點的分配值將小于希望的分配值。
當(dāng)然這并不意味著一定要用新的大象替代所有的大象。當(dāng)“大象”節(jié)點的父節(jié)點獲得填充新的子節(jié)點所需的資源后,它可能認(rèn)為最佳的措施是制造一個坦克營,因為現(xiàn)在已獲悉了制造這種坦克所需的技術(shù)。
資源分配樹主要用于判斷制造什么樣的新設(shè)備以及如何給已有的設(shè)備指定合適的角色。通常首先需要找出哪些迫切需要增加資源的節(jié)點,然后確定為解決這種問題,是對已有個體重新布防合適還是生產(chǎn)新個體合適。
資源分配樹還為設(shè)計獨特的玩家個性提供了很好的途徑。無論開發(fā)的是擴張主義者、窮兵黷武的“成吉思汗”、關(guān)心經(jīng)濟的資本家還是強調(diào)研究的技術(shù)政論家,都只不過是調(diào)整資源分配樹中相應(yīng)部分的系數(shù),以側(cè)重或冷落特定的節(jié)點而已。通過稍微調(diào)整資源分配樹的不同部分,可使NPC(虛擬角色)的AI(人工智能)側(cè)重于某種個體,在經(jīng)濟增長和國防之間取得不同的平衡,喜好特定的戰(zhàn)略資產(chǎn)類別,甚至改變NPC的AI的風(fēng)格。
當(dāng)關(guān)心的是戰(zhàn)斗時,這樣做常常是個不錯的主意,即維護一個預(yù)先計算的“戰(zhàn)斗平衡表”(其中包含個體的相對強弱),并將其用于資源分配樹的“軍事”分支中的決策。這是一個2D査找表,能夠判斷任何個體同其他個體戰(zhàn)斗的效果。通過分析對特定敵人的了解情況的功能資產(chǎn)樹,可以知道敵人的軍力組成情況,并重點生產(chǎn)能夠最有效地打擊敵人的資產(chǎn)。
資源分配樹適合存儲其他的各類統(tǒng)計數(shù)據(jù)。記錄樹中的哪些節(jié)點被證明是有效的以及哪些節(jié)點遭到敵人的攻擊也是一個不錯的主意。前者知道長矛兵在對付另一個玩家時很有效,因此將資源更多地分配給讓長矛兵取得勝利的功能角色;后者知道敵人傾向于攻擊我的資源采集設(shè)備,因此在以后將采取更多的保護措施。
其中最后的步驟既適用于人工智能也能面向游戲開發(fā)者。
以上所述,只是本發(fā)明的較佳實施例而已,本發(fā)明并不局限于上述實施方式,只要其以相同的手段達(dá)到本發(fā)明的技術(shù)效果,都應(yīng)屬于本發(fā)明的保護范圍。在本發(fā)明的保護范圍內(nèi)其技術(shù)方案和/或?qū)嵤┓绞娇梢杂懈鞣N不同的修改和變化。