[遊戲企畫]智能寶貝-英特夢 Intelmon

Colombo Chao (Colombo)
5 min readJun 19, 2020

--

前言

以前在玩寶可夢的時候,總覺得自己玩的跟動畫上演的好像有點落差,動畫裡的戰鬥,寶可夢們可以在賽場中上竄下跳、東躲西閃,非常的生動活潑,自己會抓準時機發動招式,且攻擊招式不論遠程近戰也都是拳拳到肉,真的是熱血沸騰。

但到了自己手上,就變成了你打一下我打一下,說穿了就是血量與攻擊數值的加加減減,搭配機率跟屬性相剋增加變化性,而作為訓練師的我們,要做的就是帶著寶可夢一直戰鬥累積經驗,經驗值夠了就會升級變強。

雖說現實與幻想之間有差距,但這已經是當時的硬體技術所能做出最好的呈現方式了,年少時的我還是照樣玩的不亦樂乎,深深的被可愛的寶可夢與遊戲劇情所吸引,直到現在自己接觸了3D建模、程式設計與人工智慧之後,事情開始有了轉機。

構想

小時候對遊戲的憧憬結合長大之後學會的技術,便產生出了這次的遊戲企畫 <智能寶貝-英特夢 Intelmon>,劇情設定、世界觀設定並不是我所在行的,以下我將對美術風格、戰鬥系統與訓練升級等部分作簡介。

[美術風格]

voxel art 我最愛的風格,只要是 3D 遊戲到處都能用,建模軟體 magicavoxel 簡單易學好上手,而且還免費,只要設定好最大最小的長寬高,玩家也能大量參與英特夢的外型設計,或者是可收費營利的飾品外觀。

[戰鬥系統]

真正實現可以在賽場中上竄下跳、東躲西閃,每個角色都前後左右移動跟左右轉等動作,並且最多有四個招式可以施放,雖然場景畫面是3D但移動跟招式判定都是2D的,其實就跟LOL之類的概念差不多,但不同的是技能類型只有<指向技>或<範圍技>沒有指定技,技能與角色的相對位置跟角度也都是固定的,不需要也無法以滑鼠調整。

重點是!上述的所有移動跟技能施放的動作,都不是由玩家控制,都是由人工智能的神經網路系統所完成,玩家只能在一旁看著,系統的輸入Input就是戰場環境的狀態state,包含敵我雙方的位置、技能冷卻時間及戰場環境,而系統的輸出output就是移動跟技能施放的動作action,每個瞬間都做一次演算並以輸出層數值最大的神經元,作為要做出的動作。

至於在戰場環境的設定上,就真的要像神奇寶貝的道館一樣乾乾淨淨的,可以有很多純粹好看的裝飾品,但不能有太多障礙物或可互動物件,更不可能像LOL一樣有這麼多小兵,不然真的會維度爆炸。

[訓練升級]

戰鬥時英特夢會自己做出動作了,玩家只能在一旁乾瞪眼,那玩家作為訓練師在遊戲中到底能做甚麼事呢,就跟真正的AI訓練師一樣 -- 調參數,調整神經網路中所有神經連結的權重weight偏值bias,當然也包含設定每個神經元的啟動函數activation function

調整的方式有兩種,第一種是用增強學習的 Deep Q Network 技術,不斷餵給英特夢不同行為模式的虛擬敵人,並設定不同的得分反饋機制,驅使他學習出你想要的行為模式(例如:想要訓練攻擊行為,就在成功擊中敵人時給分;想要訓練攻擊行為,就在出招沒擊中時給分),當然也可以讓自己的兩個英特夢對戰,做對抗式學習。

另外也可以直接手動調整參數,這在神經元數多的時候很可怕,或直接複製別人訓練好的參數,這看起來很速成,但你並不清楚這些參數是在什麼樣的環境下設定出來的,適用於哪種狀況,況且在野外以及道館每次對手的參數甚至神經網路結構都不相同(可以複製對手的參數設定做為訓練用的虛擬敵人),因此不可能有適用每種狀況的萬用參數。

最後,隨著等級的增加除了些微提升移動速度、技能傷害等屬性數值,更重要的是增加可使用的神經元數量,也就是說在低等級的時候神經元數量少,再怎麼訓練呈現出來的行為模式就很單調,但運算少反應速度就較快,可類比為<手速流>的電競選手,而高等級的時候腦容量變大,就能辨識出更多狀況,做出更長遠的判斷,行為模式更加多元,可類比為<意識流>的電競選手,但相對的手速就慢下來了,因此也不一定神經元數量越多就越好,重點還是在參數的訓練。

--

--

No responses yet