Valveのチート対策、1,700のCPUを用いた深層学習

もん

Valveが行うチーターとの戦い

Valveでは1,700のCPUが常時チートの監視を続けている。

人気のあるマルチプレイヤーゲームとチーターの戦いは今や普遍的な光景であり、Valveが2014年に発売し瞬く間に世界的人気作となったFPS『Counter-Strike: Global Offensive』(CS:GO)も例外ではない。

PC GamerによればCS:GOはSourceエンジンを採用した10作目の作品で、既にこのValveのゲームエンジンに対するチート技術のノウハウが蓄積されている頃合いだった。そしてそれらのチート行為は競技性の高い本作にとって極めて効果的であった。

Valveにとってチーターとの戦いは「重要、価値ある仕事」だというが、その戦いは近年効果を表していることが見て取れる。ゲームライターのEvan LahtiはRedditなど海外フォーラムにチート報告やチート自慢が流れることが少なくなってきたと伝えている。

逆説的に依然としてチーターが多いことを意味するものの、VACの名で知られるValve Anti-Cheatを観測するサイトによれば数千人規模のチーター排除などValveは精力的に取り組んでいる。

ブレードサーバーの一例 – TechGenix

ディープラーニングによるチートの監視

サンフランシスコで開催されたGame Developers Conferenceに登壇したValveのプログラマーJohn McDonaldによれば、Valveはチート対策にディープラーニングを採用しているという。

この試みは大きな効果を発揮しているとのことで、Valveは今後Steam上の他スタジオに対してもその成果を広める考えがあるようだ。

VACに取り入れられたディープラーニングのCS:GOでの検出方法の一例として、射撃中のプレイヤーの使用武器や距離、精度、カメラ制御などの情報を組み合わせエイムボットらしい動きを見つける仕組みが語られた。

プレイヤーによるチート報告が実際にチート行為であったと認められる可能性は15-30%であるが、VACがこのようにして発見した報告では80-95%の確率でチート行為と認定されるなど精度も高いようだ。

VACは現在、CS:GOを日々遊ぶ数百万人のプレイヤーの接続に耐えうるサーバーを構築しており、1日に約600,000件の試合を解析している。この処理のためValveは54コアと128GBのRAMを搭載したブレードを16機搭載したサーバーを4台(計3,456コア)運用しているとのこと。