1.1 研究背景與動機
近年來,收集類卡牌遊戲 (Collectible Card Games, CCG) 變得愈來愈受歡迎,
如遊戲王 - 怪獸之決鬥 (Yu-Gi-Oh! Duel Monsters) [1]、 魔法風雲會 (“Magic, the Gathering” ) [2] 等,也愈來愈多關於 CCG 人工智慧 (Artificial Intelligence, AI) 的 研究。爐石戰記 (Hearthstone) [3] 是目前全世界最熱門的線上 CCG ,在 2018 年 底已經超過一億名玩家,也因此成為本論文的研究主題。
隨機性是許多卡牌遊戲的特色,爐石戰記也不例外。相較於圍棋、象棋等 棋類,卡牌遊戲具有較多隨機性與不確定性,例如抽牌以及對手的手牌等。這 些隨機與不確定因素將對卡牌遊戲AI 的表現與效能造成一定程度的影響,也使 得卡牌遊戲AI 的研究更具有挑戰性。
1.2 爐石戰記
爐石戰記是一款由美國暴風雪公司 (Blizzard Entertainment) 在 2013 年所開發 的線上 CCG。遊戲採用一對一輪流回合制,在對戰前必須先從自己的牌庫中組 織自己的套牌,牌組剛好包含 30 張牌,且每場對戰中只可使用一套牌組。在遊 戲開始前雙方玩家將選擇一位英雄,每位英雄都擁有 30 點生命值以及專屬的卡 牌與英雄能力,先將對手英雄的生命值歸零即可獲得此場遊戲的勝利。
爐石戰記的卡牌分為手下 (minion)、法術 (spell)、武器 (weapon) 三種類型,
每種類型的卡牌都有不同的功能。手下型卡牌擁有攻擊力與生命值,在打出後
會一直存在於玩家的戰場上,直到該手下的生命值歸零才會被移除,手下型卡 牌如圖 1 - 1 所示;法術型卡牌在打出後會立即造成某種一次性效果,例如清除 對手目前的手下等,但此類型的卡牌打出後就會消失;武器型卡牌則可以讓玩 家的英雄具有攻擊力。
在玩家的回合 (turn) 中,可進行多個動作 ,每次動作都從出牌、攻擊、結束 回合 (end turn) 中選一個,直到做出結束回合的動作,才輪到對手的回合,換對 手動作。遊戲中雙方玩家會擁有手牌,手牌是該玩家當前回合可以打出的卡牌,
並會在每個回合開始時隨機從玩家的牌庫中抽出一張來補充。當打出手牌或使 用英雄能力會消耗相對應數量的法力水晶 (mana),法力水晶的數量 (上限為 10) 會隨著遊戲的進行而上升,通常需要愈多法力水晶的卡牌也就愈強大。若法力 水晶充足,玩家可在該回合內打出多張卡牌。圖 1 - 2 為爐石戰記的遊戲畫面。
圖 1 - 1:手下型卡牌範例。左上數字為打出此卡牌需要的法力水晶;左下與右下 數字分別為此手下的攻擊力與生命值;下方文字為此手下的特殊能力。 (圖片取 自https://playhearthstone.com/zh-tw/)
圖 1 - 2:爐石戰記遊戲畫面。(1)敵方英雄血量 (2)敵方手下 (3)敵方手牌 (4)敵 方牌庫 (5)敵方法力水晶 (6)我方英雄 (7)我方手下 (8)我方手牌 (9)我方牌庫 (10) 我方法力水晶 (圖片取自https://playhearthstone.com/zh-tw/)
1.2.1 牌組類型
一般來說,爐石戰記雖然可依照玩家的喜好或想法來建立屬於自己的牌組,
但根據遊戲策略或獲勝方式的不同,牌組可以大略分為以下三種類型:
(1) 快攻(aggro):
快攻牌組的特色是在遊戲前期或中期就獲得勝利,通常會攜帶許多低水晶 費用的手下攻擊敵方英雄,以手下數量取勝,在遊戲前期就取得大量的優勢。
但後期可能因為手牌資源不足而逐漸失去優勢,甚至被反敗為勝。
(2) 控制(control ):
控制型牌組的遊戲節奏比較慢,通常是在遊戲後期才能獲得勝利,此類牌 組的特色是攜帶大量的清場法術牌來解決對手場上的手下,消耗對手的資源,
並在遊戲後期打出強力的手下或消耗完對手的資源來獲得勝利。
(3) 中速(mid-range):
中速牌組兼具快攻與控制牌組的特色,會使用手下與法術牌來取得勝利,
是一種能攻能守的牌組,通常會在遊戲中後期獲得勝利。手下的體質比快攻牌 組優秀,需要的法力水晶費用也略比快攻牌組高一些,是以手下體質來取勝。
法術牌的效果略比控制牌組弱一些,通常無法清除對手場上較強的手下。
圖 1 - 3:牌組類型克制圖
這三類型的牌組本質上存在著互相克制的關係,如圖 1 - 3 ,當玩家的牌組 被對手的牌組克制時會擁有先天的牌組劣勢。但可以依靠玩家的技術、策略、
甚至是抽牌時的隨機性來改善與彌補這個劣勢,這也是卡牌遊戲獨特且吸引人 的特色。
1.3 研究目的
本論文使用基因規劃法 (Genetic Programming, GP) [4] [5] 產生爐石戰記的 AI , 目的是希望能以自動化的方式,產生一個適用於爐石戰記三種牌組類型的通用 出牌策略,而且僅需使用到基本的爐石戰記領域知識 (domain knowledge)。此外,
基因規劃法具有一般性,只要將基因規劃法的元素集合更改成其他遊戲的資訊,
就可產生其他遊戲的策略。
為了改善本實驗評估時間過長的問題,我們使用了適應值 (fitness) 近似法來 縮短實驗時間。接著對本論文產生的策略進行效能評估,最後將其與蒙地卡羅 樹 (Monte-Carlo Tree Search, MCTS) 結合,探討是否能將其效能做進一步的提升。
1.4 論文架構
在接下來的章節中,第二章為文獻探討,介紹本論文將使用到的方法與參 考文獻,包含基因規劃法、昂貴優化、蒙地卡羅樹搜尋以及有關爐石戰記 AI 的 文獻與應用。第三章為研究方法,詳細說明本論文所提出的方法與流程、染色 體的編碼、解碼、適應性評估、初始化族群的產生方式、選擇、交配與突變,
最後說明基因規劃法與蒙地卡羅樹搜尋結合的應用。第四章將介紹本論文的實 驗環境與實驗參數,並對實驗結果進行分析。第五章將對本論文做總結,並提 出未來可研究與改進之方向。