開發者觀點:智慧套牌推薦

開發者觀點:智慧套牌推薦

大家好!我是 Tian,我是《爐石戰記》團隊的資深數據科學家,今天我要為你介紹新的智慧套牌推薦功能,並盡可能地回答在這個功能於近期公開之後玩家們所提出的疑問。

我們先簡單介紹一下這個功能,接著再討論各位這次來真正想知道的事情──也就是這個功能的運作原理!

HS_Blog_Divider_Filigree_Bar.png

智慧套牌推薦是什麼?

我們明白在《爐石戰記》中打造一副新的套牌對經驗老道的玩家來說充滿樂趣且頗有成就感──但也許你已經一陣子沒玩了、又或許你還是新手、又或許是你沒有太多時間,也有可能你只是需要一點助力幫你把牌庫裡的卡牌組成一副你敢拿去天梯闖蕩的套牌。智慧套牌推薦功能正是為此而生。這個新功能可以幫你處理掉那些煩人的瑣事,讓你只要點幾下滑鼠就可以拿著強而有力的主流套牌加入對戰!

要怎麼使用智慧套牌推薦呢?首先先開始建構一副任何職業的標準套牌,並在套牌中加入任意數量的卡牌。在點選「補完我的套牌」或是「完成」之後,我們會依照你已經加進套牌裡的卡牌,從你既有的牌庫中挑選出合適的卡牌來補滿你的套牌。舉個補滿套牌的例子,假如你只加進了烏達斯塔裝死這兩張牌,剩下的交給《爐石戰記》來幫你做決定,那麼智慧套牌推薦就會考量各個因素,並採取最佳的方案幫你打造出最好的套牌,像是有名的卡絲蕊娜‧冬幽死聲獵。

03_27_HS_DeveloperInsights_SmartDeck_BlogDecklist_800x1000_JY_v01_enUS.png

就是這麼簡單。你可以從什麼都沒有的套牌開始,或是先加入幾張你想用的卡牌,剩下的就交給我們,讓我們幫你打造出威力強大的套牌吧。

HS_Blog_Divider_Filigree_Bar.png

運作原理:

我們直接深入資訊工程的領域來看──智慧套牌推薦系統包含兩個層級,每個層級又使用多個子層級來自動補滿套牌。接著我們來看看這些層級是如何打造出你所中意的套牌的吧:

建構套牌的第一個層級:主流

03_27_HS_DeveloperInsights_SmartDeck_BlogAssets_300x400_JY_v01_H.jpg

為了避免誤會,我們先快速地說明一下我們所謂的「主流」是什麼意思。 主流是「主流環境」的簡稱,係指在目前的遊戲環境中玩家使用套牌的趨勢,尤其是指排名模式中的遊戲環境。很多玩家在試著組出一副打得贏人的套牌時,會把現階段的主流納入考量,並加入某些卡牌來讓他們能打贏他們多半會遇到的套牌。舉例來說,在偏重武器的主流環境裡(也就是說很多主流套牌內都會有武器卡),很多套牌都會加入酸性沼澤軟泥怪和貪食軟泥怪,藉以摧毀武器並有效地「反制」這樣的主流套牌。

在建立套牌的第一個層級中(也就是主流層級),我們會依照現階段的主流環境、你已經加入套牌中的卡牌和你牌庫中所擁有的卡牌這幾點來試著為你打造出最理想的套牌。我們使用計算式演算法來匯集同一種類型的主流套牌,把它們分成幾個子群,藉以判斷主流環境為何。每個子群都代表著現階段主流環境中玩家所使用的某種類型套牌,像是「秘密獵」、「龍牧」、「奇數聖」等等。在這些子群中的各副套牌可能都會略有不同,但整體上而言它們是同一種類型的套牌。機器學習的專有名詞把這樣的過程稱作「分群」。 我們的分群演算法所分析的數據包括了多達上百萬副的套牌種類,每副套牌視為一筆數據,而每筆數據又代表著在上百維度中的一個向量。藉由分群的資訊以及其他數學解法,演算法可以一步步地幫你把套牌補滿,或是補牌補到第二個「回填」層級被觸發為止。

技術不同的玩家們總是會使用不同的套牌、不同的打法,並面臨不同的挑戰,因此主流環境會隨著你的階級不同而有所改變。為了處理這種情況,我們在這個主流套牌的補牌過程中加入了不同的子層級。如果你的階級在 20 附近,那麼你所拿到的主流套牌大概會跟已經上了傳說的玩家不同。另外,我們會密切留意並更新主流狀況,為你組出最新的主流套牌。

在按照你所加入的卡牌和你牌庫中有的卡牌打造出一副厲害的主流套牌後,接著就會進入建構套牌的第二個層級:

建構套牌的第二個層級:回填

03_27_HS_DeveloperInsights_SmartDeck_BlogAssets_300x400_JY_v01_G.jpg

如果主流層級沒辦法從你的牌庫中選出足夠的卡牌把套牌填滿至 30 張卡牌的話,那麼就換第二個層級──也就是「回填」層級──上場了。這個層級負責確保你的套牌有被填滿,而且是用最合適的卡牌來填滿的。首先,如果自動補牌系統判斷沒辦法使用你既有的牌庫組出強力的主流套牌,那麼系統就會退而求其次,改用你既有的卡牌組出最佳的非主流套牌。回填演算法的主要目標是在於組出一副由好的卡牌構成、有不錯的法力曲線且穩紮穩打的套牌接著我們來看看系統如何判斷哪些卡牌對你的套牌來說屬於好的卡牌。

在沒有把特殊搭配與連擊的潛力納入考量的情況下,每張卡牌在各個職業的套牌中都有各自的「卡牌威力數值」。這個數值並不是固定不變的,它會隨著目前套牌的情況而不斷地改變。不過,通常是依據三個因素來決定卡牌威力數值的:

  • 遊戲影響力:一張卡牌對某副套牌的勝率之影響程度。
    • 舉例而言,水元素比起驚懼海盜來說,更有助於幫助法師贏得對戰。
  • 法力消耗區間:指消耗相同法力的一系列卡牌。
    • 如果我們正在尋找一張法力消耗區間落在 1 或 2 的卡牌,那麼銀白侍從會是個不錯的選擇,不過如果是在找法力消耗區間為 5 的卡牌時可就不是這麼一回事了。
  • 避免同一個法力消耗區間中有過多卡牌:
    • 如果某個法力消耗區間裡已經有 10 張卡牌,我們就不會想再加入任何一張法力消耗相近的卡牌了,除非這些卡牌與其它選項相比之下威力實在是強大很多。

在回填的過程中,系統會一次選出一張威力數值最高的卡牌加入套牌之中。以數學的話語來說,卡牌威力數值是一個多項函數,包括從對勝率的貢獻轉換而來的項,以及多個懲罰項。我們在每次搜尋卡牌時的目標都是從所有可行的方案中找出能夠最大化目標函數的選項。

HS_Blog_Divider_Filigree_Bar.png

其他事項:規則、冷卻與限制

03_27_HS_DeveloperInsights_SmartDeck_BlogAssets_3Steps_600x260_JY_v01.png

除了採用進階的數學以及機器學習法以外,我們也在這兩個建構套牌層級裡加入了許多品質保證規則,藉以確保不會搞砸你的套牌。舉例來說,如果在你的未完成套牌中已經有凱雷希斯親王這張卡,我們將竭盡所能避免套牌裡出現其他任何一張法力消耗為二的卡牌。

智慧套牌推薦還有專門為那些想嘗試各種不同套牌的玩家所設計的「冷卻」功能。如果你在短時間內不斷地拿全空的套牌來讓系統自動幫你填牌的話,我們會試著在每次你點擊按鈕時給你一副不一樣的套牌。這項功能只有在套牌是全空時才能被觸發。

至於限制的部分,智慧套牌推薦功能目前只能用在建構標準套牌之上,我們還在研究如何把它用來編組開放套牌。另外,智慧套牌推薦系統現階段並不支援在嘗試打造一副包含非為你牌庫所有之卡牌的套牌時所看見的單一卡牌推薦功能。

HS_Blog_Divider_Gems.png

歡迎與智慧套牌推薦分享你所打造的任何一副酷炫套牌,也歡迎在底下留言提出你的疑問。我們旅店見!


造成你的不便,敬請見諒!在接下來的幾週內,我們會陸續將部落格留言轉移至新的討論區,屆時部落格內所有過去的留言都將被清除。在這段期間,你仍然可以使用我們的一般討論區發表留言。