用數據擊殺玩家的心!Riot Games 這樣打造迷倒全球六千萬人的《英雄聯盟》

2016.07.18 by
James Huang
用數據擊殺玩家的心!Riot Games 這樣打造迷倒全球六千萬人的《英雄聯盟》
最近任天堂的《走吧!精靈寶可夢》(Pokemon Go,暫譯)手機 AR 遊戲正夯,但有一個已經從 2009 年推出後迅速席捲全球,接續暴雪...

最近任天堂的《走吧!精靈寶可夢》(Pokemon Go,暫譯)手機 AR 遊戲正夯,但有一個已經從 2009 年推出後迅速席捲全球,接續暴雪娛樂魔獸世界(World of Warcraft) 紅透半邊天許多年的遊戲《英雄聯盟》(League of Legends)堪稱目前全球最熱門的遊戲之一。

自 2009 年推出至今,《英雄聯盟》全球每月活躍玩家超過 6700 萬人、每天產生超過 5000 億筆以上的遊戲數據。而《英雄聯盟》之所以成功,其中一個重要因素要歸功於遊戲設計背後的數據思維。

英雄聯盟代表圖,數位時代翻攝自 LOL 官網。

每個月全球每百人就有一人在玩,你不能再不懂《英雄聯盟》

對於沒有玩過《英雄聯盟》的玩家來說,首先要解釋《英雄聯盟》,不妨把它想像做一場五對五籃球賽的回合賽事。場上共 10 個玩家被稱作為「召喚師(Summoner)」,選擇操作遊戲內超過 120 個被稱之為「英雄(Champion)」的人物。兩方各五人,分屬經典遊戲地圖「召喚峽谷」中的左下角藍隊與右上角紅隊,在地圖上以「上路」、「中路」、「下路」向對手隊進攻,擊殺敵隊的英雄(可以在一定時間復活)、攻破對方的塔(不能復原)、接續拿下對方主堡後取得回合勝利。

《英雄聯盟》經典遊戲地圖「召喚峽谷」與其上中下路說明,數位時代翻攝、改作自 Garena 臺灣英雄聯盟官網介紹。

《英雄聯盟》經典遊戲地圖「召喚峽谷」與其上中下路說明,數位時代翻攝、改作自 Garena 臺灣英雄聯盟官網介紹。

這些「英雄」設定分別都有一些不同的數據屬性,有擅長魔法輸出的「法師(AP, Ability Power)」、擅長近程物理輸出的「刺客(AD, Attack Damage)」、善於遠程輸出的「射手(ADC, Attack Damage Carrier)」、有很高物理或魔法防禦能力並具有較多的血量可以吸收對手傷害的「坦克(Tank)」、能夠幫助隊友回血或其他相關經濟(在遊戲裡面玩家還必需要透過殺敵、殺敵方小兵或森林裡的野怪等賺錢買換裝備,在中文術語上通常稱為「農」)的「輔助(SUP, Support)」等。

通常的情況下,兩隊分別會配置一個玩家選「坦克」或「刺客」走上路(Top)、「法師」走中路(Middle)、一個「射手」與「輔助」一起走下路(Bottom),另有一個「刺客」會遊走在森林裡「打野(Jungle)」升等農經濟,然後隨機配合不同路別的玩家一起擊殺對方英雄(稱之為遊走殺人,術語為 Gank)。

臺灣玩家最愛的刺客型英雄:提摩

不同的英雄搭配的數據平衡、如何在地圖上透過不同的戰略進行戰術調配、玩家戰隊彼此操作不同角色的能力、合作執行戰技操作與團戰的默契,就同時決定了一場賽事的可玩與可看性。就與美國籃球聯盟 NBA 一樣有季前熱身賽、期中賽、季後賽一樣,《英雄聯盟》也有季中賽與總決賽。

好玩的遊戲不是信手拈來,一定與過去經驗和數據有關

如同《Ingress》之於《Pokemon Go》一般,《英雄聯盟》深受前身《魔獸爭霸III:寒冰霸權》的自訂地圖所延伸出的遊戲設計《DOTA》(中文作鬥塔)所啟發。遊戲的創始團隊同時也參加過《DOTA》的設計,並更強調將相關的數據資訊結果帶入遊戲設計中。

「我們的目標,是成為世界上最關注玩家的公司。」《英雄聯盟》遊戲開發商 Riot Games 數據科學總負責人李仁杰,在 2016 台灣資料科學年會中分享, Riot Games 如何透過 26 PB (1PB = 1,000 TB, 1TB = 1,000 GB)的數據來理解《英雄聯盟》的玩家行為,以提高大家的用戶體驗從而設計產品,進而做出更好的營運決策。

《英雄聯盟》遊戲開發商 Riot Games 數據科學總負責人李仁杰,James Huang 攝影

《英雄聯盟》遊戲開發商 Riot Games 數據科學總負責人李仁杰,James Huang 攝影

Riot Games 在 2009 年建立起資料科學(Data Science)團隊,從一開始僅有李仁杰一人,到現在與數據相關的團隊人數加起來約有 75 人。李仁杰說,團隊的核心宗旨是「專注於玩家(Player Focused)」,透過數據獲得依據,而非由數據來驅動決策(Data Informed, NOT Data Driven.);來讓 Riot 設計出更好的數據強化產品(Empower Roiters to Make Better Data Powered Products)。

「數據就像是一把雙面刃;數據真實又客觀,可以觀察歷史總結規律從而為未來作出更好的判斷。但數據也有侷限性,比如說一件事情如果沒有發生,你也無法以數據描述他;另外,同一個數據往往可以用不同的方法,來解釋得到不同答案。資料科學家通常有個經驗,怎麼處理數據的方法不重要,重點是一開始想要解決的問題或提問的方法(思維驅動)是什麼。」李仁杰說。找到數據依據與思維驅動的平衡點才是關鍵所在。

別小看資料科學!數據部門幾乎貫穿了整家 Riot Games

Riot Games 的數據團隊幾乎與公司的所有部門都有合作。常見的例子如與行銷部門針對使用者輪廓進行分類,並細緻化分辨每一類的特徵;與電子商務部門針對玩家流失數學模型與預測;與風險控制部門進行遊戲防作弊預測與信用卡盜用檢測。

別小看資料科學,數據部門幾乎貫穿了整家 Riot Games

別小看資料科學,數據部門幾乎貫穿了整家 Riot Games,數位時代翻攝自李仁杰演講投影片

在遊戲領域的經營裡,除了「研發」、「遊戲平衡(Game Balance)」、「生態系(Eco System)」、「客戶服務(Player Support)」、「設計(Design)」與「人工智慧(AI)」外,另有一些特別重要的部門,例如社交行為(social play)部;社交在遊戲裡非常重要,玩家可能因為同樣玩過一場遊戲而在遊戲中連接在一起,甚至最後演變成現實生活中的朋友。

因此,Riot Games 會關心玩家如何在《英雄聯盟》裡結成朋友(編按:就算不是臺灣的玩家,可以透過 Garena Messenger 成為朋友,玩家也可以在其所參與的該地區英雄聯盟伺服器內,在遊戲平台中與其他玩家互相加入成為好友名單、近期對戰名單與黑名單等),並觀察有哪些行為是透過這些關係傳播與擴散。

李仁杰指出,「匹配機制(Match Making)」讓玩家「棋逢敵手」,在一場精彩的比賽裡「你來我往」,更是使用者持續留存在《英雄聯盟》的關鍵。就如同一般交友網站上,當使用者輸入個人資料後,系統會幫你配對找到可能可以搭配的另一半。數據團隊必須與「匹配機制」部門合作,添加新的算法與特徵值,目的是為了讓《英雄聯盟》的玩家在按下開始進行一場遊戲時,系統可以快速而準確地找到和你水平差不多的九位玩家加入這個回合,這提供了遊戲基本公平又精彩的比賽條件。

「匹配機制(Match Making)」至關重要,讓玩家「棋逢對手」在遊戲裡精彩地「你來我往」是《英雄聯盟》成功的關鍵。數位時代翻攝自實況比賽轉播錄影。

「匹配機制(Match Making)」至關重要,讓玩家「棋逢對手」在遊戲裡精彩地「你來我往」是《英雄聯盟》成功的關鍵。數位時代翻攝自實況比賽轉播錄影。

數據部門與「新手體驗(Player onboarding)」部門的合作,負責找出新手在遊戲最開始的幾個小時所碰到的困難是什麼。對新玩家而言,如何度過那最困難升等的前幾個小時(編按:當然有時候要很多天)是一個遊戲是否可以留住玩家的關鍵。數據部門必須分辨出哪一些新玩家是真正的新手,或是老玩家假扮的新手,新手體驗部門需要讓兩者分開,因為新玩家和老玩家在一起,新玩家可能會被老玩家欺負,但老玩家有可能會排擠新玩家不會玩這款遊戲。

透過數據理解,打造新英雄與更新遊戲,進一步提高玩家參與

Riot Games 的數據團隊為了理解是不是有些英雄被過度消費,而有些英雄則沒有滿足玩家需求,分析三個月區間內,所有玩家使用各個英雄的次數,透過計算英雄與英雄間的相關係數(Pearson's Corelation),排除低相關度的英雄關係後,得出英雄之間的社會網絡(Social Network)。

這個社會網絡可以假定:玩家如果常使用第一個英雄,那麼他也會常選第二個英雄(例如:常玩提摩 Teemo 的玩家也會愛玩蓋倫 Garen)。資料科學家可以針對英雄與英雄之間「有沒有連結」與「連結的強弱」,以社會網絡方法進行分群,進而把英雄分成七種類群。這是以玩家的行為對英雄做分類,而非以設計師設計英雄的觀點來進行分群,但透過計算可以驗證《英雄聯盟》的「玩家行為」與「設計理念」極為接近。

分成七類的英雄對英雄間的社會網絡,數位時代翻攝自李仁傑演說投影片

分成七類的英雄對英雄間的社會網絡,數位時代翻攝自李仁傑演說投影片

另外,團隊也運用雷達圖將玩家分類。透過三個月區間內玩家選擇不同七種英雄類群的比例,進一步將玩家分成九種類型。有些類型的玩家只喜歡特定英雄,有些喜歡不同類型英雄的組合,有些則喜歡所有的英雄。透過每一類型英雄被設計出時所應該呈現的「理想(Ideal)選擇比例」與「現實(Current)選擇比例」的比較,數據團隊就可以回答 Riot Games 的設計團隊對英雄的設計理念與玩家對英雄的召喚行為是否貼近;玩家召喚英雄的類型如何不同;又,有哪些種類的英雄設計被過度消費或沒有滿足玩家需求,這些數據可以提供給英雄設計師很好的觀察,找到那些沒有滿足玩家需求的英雄種類,是創造新英雄的第一步。

「我們強調這是 Data informed,不是 Data driven。」李仁杰也提到,不能只用數據推斷下一次要創造哪種類型的英雄,這樣每個英雄都會長得一模一樣,還要參考英雄的獨特性、背景故事、技能組合與性格,最後也才能確實創造出「滿足大家需要的英雄們」

透過每一類型英雄被設計出時所應該呈現的「理想(Ideal)選擇比例」與「現實(Current)選擇比例」的比較,數據團隊就可以回答 Riot Games 的設計團隊對英雄的設計理念與玩家對英雄的召喚行為是否貼近。

透過每一類型英雄被設計出時所應該呈現的「理想(Ideal)選擇比例」與「現實(Current)選擇比例」的比較,數據團隊就可以回答 Riot Games 的設計團隊對英雄的設計理念與玩家對英雄的召喚行為是否貼近。

另外,《英雄聯盟》每兩個星期會推出帶有新英雄、新英雄造型或更動遊戲平衡性的更新,營運團隊需要有數據能夠佐證不同更新所帶來的玩家參與效果。一個簡單的方法是對比「實際更新」與「預測不更新」所帶來的參與率差別,而參與率可以用遊戲人數與玩家平均時間長度來量化計算。Riot Games 的數據團隊透過時機序列(Time Series)模型以過去半年每一週的遊戲人數來預測下一週的遊戲人數,並以線性迴歸(Linear regression)將當月第幾週、有幾個英雄、有幾個造型或遊戲平衡性等特徵值作為自變量預測玩家平均時間長度,並將之與實際資料作為對比;找到玩家感興趣的重要更新,將參與率量化並提供給策略決策與計畫參考。

不同 Event 都可以有效提高使用者參與,但 Event 成本可能不同。以上圖例,Event C 比 Event D 提升玩家參與的絕對值較高,但成本較低。因此,未來在更有限資源的,公司是否要考慮做更多相似於 Event C 而非 Event D 的活動呢?

不同 Event 都可以有效提高使用者參與,但 Event 成本可能不同。以上圖例,Event C 比 Event D 提升玩家參與的絕對值較高,但成本較低。因此,未來在更有限資源的,公司是否要考慮做更多相似於 Event C 而非 Event D 的活動呢?

以資料推薦商品、改善審判系統,將數據產品化導入遊戲服務

個人推薦很常用於現今的電子商務或娛樂內容服務中,好的推薦可以提升使用者體驗與互動。例如, Netflix 中有 2/3 的電影收看來自於系統推薦,Google 新聞透過推薦增加了 38% 點擊;Amazon 也有 35% 的銷售是透過推薦而來。好的推薦技術可以為公司創造價值,帶來豐厚的回報。《英雄聯盟》裡也許多可以讓玩家消費的內容,例如:英雄造型。每一個英雄都有許多不同的英雄造型,每一個造型都有自己的英雄外觀、語音、音效、技能特效等等。例如臺灣玩家最愛的角色:「提摩」。

由左至右,分別為提摩「預設造型」、「斥侯隊長」、「密林獵守」、「約德爾人的一大步(太空寶寶)」、「復活兔」、「超人」與「燒肉粽啊~燒肉粽」等造型

由左至右,分別為提摩「預設造型」、「斥侯隊長」、「密林獵守」、「約德爾人的一大步(太空寶寶)」、「復活兔」、「超人」與「燒肉粽啊~燒肉粽」等造型

數據團隊希望基於使用者蒐集有類似的英雄造型可以從中產生推薦給尚未購買某些英雄造型的玩家們。假設玩家 A 與 B 都分別擁有「吉茵珂絲」與「庫奇」(遊戲中的射手類英雄)的「砲聲龍龍」與「祥龍飛翼」造型,其中 A 還有「提摩」的「燒肉粽啊~燒肉粽」造型但 B 還未擁有,則我們應該把「提摩」的「燒肉粽」造型推薦給玩家 B 才對。

然而,對於擁有 6700 萬月活躍玩家,每天產生超過 5000 億筆資料點的《英雄聯盟》而言,如何設計一個雲端計算架構(數據資料在 HIVE 上、個人推薦運算則建在 Spark )在 120 個英雄、超過 1000 個以上的造型,在沒有商品評價,必須找到其他變量(例如玩家玩某個英雄造型的時間長度)來作為替代的情形下;透過使用者基礎(user based)的協同過濾(Collaborative Filtering)做到推薦,是一個數據量很龐大的運算挑戰。

這個數據推薦系統的首發地點正是臺灣。2015 年 7 月 20 日, Garena 臺灣(《英雄聯盟》的臺灣、香港、澳門營運代理商)推出了「警長發佈懸賞令 超強優惠專屬你」的行銷活動,將每個玩家分類配給優惠英雄與造型並給予折扣,透過後續的調查研究,證實這個活動的成功並回饋了數據的結果。

你是否知道,去年暑假 Garena 臺灣(《英雄聯盟》的臺灣代理商)推出的「警長發佈懸賞令 超強優惠專屬你」的行銷活動,就是資料科學應用出個人化推薦的結晶。數位時代翻攝自 Garena 臺灣官網。

你是否知道,去年暑假 Garena 臺灣(《英雄聯盟》的臺灣代理商)推出的「警長發佈懸賞令 超強優惠專屬你」的行銷活動,就是資料科學應用出個人化推薦的結晶。數位時代翻攝自 Garena 臺灣官網。

最後,玩家行為一直是《英雄聯盟》作為一個多人即時對戰遊戲很重要的觀察重點。許多玩家可能因為遊戲過程產生摩擦,例如一個小失誤滅團讓隊友翻臉,也可能有玩家將現實生活中的不開心帶到了其他玩家的身上。李仁杰指出,為了讓玩家都可以在《英雄聯盟》快快樂樂地遊戲,《英雄聯盟》首先設計了「審判系統」,學習了西方的司法制度,讓玩家之間可以針對辱罵等負面行為進行舉報,被舉報後會提升自己的騷擾值,當騷擾值到達一定程度時會被送到審判廳(tribunal),由三個滿級的玩家一起去回顧這個案件的紀錄判別是否需要進行處罰,並選出例如禁玩、禁言等處分。「『審判系統』的優點是這是一個民主的系統,但弊端在於整個過程耗時長,當玩家被懲罰時,可能距離他有惡劣行為時已經過了好幾週了。」

從「審判系統」進化的「即時反應系統」,在選角上由英雄「凱爾」所主持。數位時代翻攝自 Garena 臺灣官網。

所以團隊決定建立「即時反應系統」(instant feedback system),透過先前「審判系統」所累積的龐大數據配合自然語言處理,教會機器理解人類語言,自動判斷玩家是否言行不當,進一步提升懲罰言行不當行為的準確度和即時度。今年3月,Garena 臺灣宣布開始在《英雄聯盟》臺灣伺服器使用玩家行為的「即時反應系統」(instant feedback system),現在,《英雄聯盟》中對於不良行為的探測已經從幾週大幅縮短到 15 分鐘,從僅能偵測 10% 聊天記錄到 100%,並且支援 14 種語言。

代表圖來源:Garena 臺灣官網英雄提摩介紹。

讀者可參考李仁杰在 2016 臺灣資料科學年會的演說投影片:

每日精選科技圈重要消息