7/21/2016

英雄聯盟的數據思維

James Huang、曾靉,用數據擊殺玩家的心!Riot Games 這樣打造迷倒全球六千萬人的《英雄聯盟》,數位時代,2016/07/18
Riot Games 的數據團隊幾乎與公司的所有部門都有合作常見的例子如與行銷部門針對使用者輪廓進行分類並細緻化分辨每一類的特徵與電子商務部門針對玩家流失數學模型與預測與風險控制部門進行遊戲防作弊預測與信用卡盜用檢測

在遊戲領域的經營裡,除了「研發」、「遊戲平衡(Game Balance)」、「生態系(Eco System)」、「客戶服務(Player Support)」、「設計(Design)」與「人工智慧(AI)」外,另有一些特別重要的部門,例如社交行為(social play)部;社交在遊戲裡非常重要,玩家可能因為同樣玩過一場遊戲而在遊戲中連接在一起,甚至最後演變成現實生活中的朋友。 
因此,Riot Games 會關心玩家如何在《英雄聯盟》裡結成朋友(編按:就算不是臺灣的玩家,可以透過 Garena Messenger 成為朋友,玩家也可以在其所參與的該地區英雄聯盟伺服器內,在遊戲平台中與其他玩家互相加入成為好友名單、近期對戰名單與黑名單等),並觀察有哪些行為是透過這些關係傳播與擴散。 
李仁杰指出,「匹配機制(Match Making)」讓玩家「棋逢敵手」,在一場精彩的比賽裡「你來我往」,更是使用者持續留存在《英雄聯盟》的關鍵。就如同一般交友網站上,當使用者輸入個人資料後,系統會幫你配對找到可能可以搭配的另一半。數據團隊必須與「匹配機制」部門合作,添加新的算法與特徵值,目的是為了讓《英雄聯盟》的玩家在按下開始進行一場遊戲時,系統可以快速而準確地找到和你水平差不多的九位玩家加入這個回合,這提供了遊戲基本公平又精彩的比賽條件。...
Riot Games 的數據團隊為了理解是不是有些英雄被過度消費,而有些英雄則沒有滿足玩家需求,分析三個月區間內,所有玩家使用各個英雄的次數,透過計算英雄與英雄間的相關係數(Pearson's Corelation),排除低相關度的英雄關係後,得出英雄之間的社會網絡(Social Network)。 
這個社會網絡可以假定:玩家如果常使用第一個英雄,那麼他也會常選第二個英雄(例如:常玩提摩 Teemo 的玩家也會愛玩蓋倫 Garen)。資料科學家可以針對英雄與英雄之間「有沒有連結」與「連結的強弱」,以社會網絡方法進行分群,進而把英雄分成七種類群。這是以玩家的行為對英雄做分類,而非以設計師設計英雄的觀點來進行分群,但透過計算可以驗證《英雄聯盟》的「玩家行為」與「設計理念」極為接近。...

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

數據團隊希望基於使用者蒐集有類似的英雄造型可以從中產生推薦給尚未購買某些英雄造型的玩家們。假設玩家 A 與 B 都分別擁有「吉茵珂絲」與「庫奇」(遊戲中的射手類英雄)的「砲聲龍龍」與「祥龍飛翼」造型,其中 A 還有「提摩」的「燒肉粽啊~燒肉粽」造型但 B 還未擁有,則我們應該把「提摩」的「燒肉粽」造型推薦給玩家 B 才對。 
然而,對於擁有 6700 萬月活躍玩家,每天產生超過 5000 億筆資料點的《英雄聯盟》而言,如何設計一個雲端計算架構(數據資料在 HIVE 上、個人推薦運算則建在 Spark )在 120 個英雄、超過 1000 個以上的造型,在沒有商品評價,必須找到其他變量(例如玩家玩某個英雄造型的時間長度)來作為替代的情形下;透過使用者基礎(user based)的協同過濾(Collaborative Filtering)做到推薦,是一個數據量很龐大的運算挑戰。
李仁杰 (Riot Games Head of Data Science)Data Science at Riot Games2016

沒有留言:

張貼留言