【特別企画】

「ストリートファイター6」にチーターが増えつつあるのはなぜか? そして根絶できない理由とは?

典型的なチート行為の手法と、チート対策の変遷を探り、問題の核心へ迫る

【ストリートファイター6】

2023年6月2日発売

 発売から1年以上が経過してもなお、衰え知らずの盛り上がりが続く「ストリートファイター6」だが、日々ランクマッチに励むプレイヤーたちのなかには、違和感を覚えている人もいるだろう。こちらが波動拳を入力すると凄まじい反応速度でジャンプしてきたり、ドライブラッシュをすれば必ずSAで反撃してきたり……チーターと思しきプレイヤーが増えているように感じられるのだ。

 8月16日には、ストリートファイター公式Xアカウントが「『チート行為』を行っているユーザーの増加を確認」しており、「該当者に対しては【永久ログイン制限】を実施」している旨が発表された。ログイン制限が課された人数に関する具体的な数字は公表されていないが、公式アカウントからこのような声明を発表したことは、チーターの存在が顕在化しつつあることを物語っている。

 いかなるオンラインゲームにもチーターは存在する。当然、前作「ストリートファイターV」も例外ではなかった。当時チーター問題がさほど話題に上らなかったのは、『ストV』を日常的にプレイしていた人口が現在の「スト6」よりも少なかったこと、大部分のプレイヤーがコンソール版がベースであったことなどが原因だろうか。

 しかし「スト6」の盛り上がりと共にPC版のプレイ人口が伸び、またシリーズの更なる「eスポーツ化」が進むにつれて、チーター問題はいよいよ無視できないものとなった。前述の声明を聞いて胸を撫でおろしている人もいるかもしれないが、実際のところログイン制限は応急措置に過ぎない。本稿では、チート行為をその手法と対策から考えることによって、プレイヤーたちがこの問題に対してどう向き合うべきなのかを考えていく。

多様化するチート手法とその対策

 そもそもチート行為の定義は曖昧模糊としており、公式の声明において「チート行為」が括弧入れで記載されているのもこれが理由であるが、本稿ではひとまず「それを実行したプレイヤーにのみ不公平な優位性を与える行為」と定義しておこう。いま俗にチート行為と呼ばれるものには、いくつかの異なる手法が存在しており、それぞれに対応するためには異なる対策が必要になってくる。以下にこの点を確認しよう。

 まず挙げるべきは メモリ改ざん によるチート行為である。これは、ゲームクライアントの動作中に作業メモリを直接書き換えることにより、例えば自分の攻撃力を不当に高くしたり、体力を無限にしたりする古典的なチートの手法である。

 格闘ゲームの多くはピア・ツー・ピアと呼ばれる通信方式を採用している。つまり各プレイヤーのマシンが直接接続され、それぞれのマシンのメモリ上で技の入力やダメージ計算などの演算が実施されるというわけだ。単純化して言えば、メモリを書き換えることにより、チーター側のクライアントから「攻撃力が無限の技がヒットした」などという信号を送信できる。その信号が両クライアントによって正当と認められれば、それが試合に反映され、チート行為が実現するのだ。

 もちろん個々の信号は暗号化されているため、ことはそこまで単純ではないが、リアルタイムで多くの演算を処理する必要のある格闘ゲームにおいて、暗号化の程度はそこまで複雑でないのもまた事実である。「ストV」ではこの手法によるチート行為がしばしば見受けられ、相手に触れられてもいないのに体力が減っていく珍妙な試合が起こることもあった。

 しかし「スト6」では、このような試合は殆ど見られなくなったようだ。恐らくは、メモリ改ざんによるチートは対策が比較的容易だからだろう。前述の通り、メモリ改ざんチートを実施するには作業メモリに直接細工を施す必要があるため、クライアントが作業メモリをスキャンすることでチートを検知できるほか、試合が終了した後からでも信号のログを分析することで改ざんを検知できるのだ。

 現在「スト6」において問題になっているのは、 マクロスクリプト によるチート行為である。冒頭で言及したような超反応プレイは、まさにこの手法によって実現される。この手法は対策が比較的困難であると言われるが、それはなぜか。

 マクロスクリプトとは端的に言うと「もしAならばBせよ」といった条件文のリストである。メモリ改ざんと大きく異なるのは、作業メモリではなく、ゲームの出入力に細工を施す点だ。そのため、単にメモリをスキャンするだけでは検知できない。多くの場合、マクロスクリプトを使用する際は、ゲームクライアントと同時にスクリプト実行ソフトを稼働させる必要がある。実行ソフトがゲームの出力(対戦相手の行動など)を認識し、それに対して有効な入力(特定の技など)をゲームクライアントに直接送信するのだ。ゲーマーコミュニティで伝統的に「ツール・アシステッド・プレイ」と呼ばれている代物に近い。

 マクロスクリプトによって可能になるプレイは、「非人間的」であるにしろ「原理的には可能」なものであるため、個々の入力を見るぶんには普通のプレイと変わりない。従って試合データからマクロスクリプトの使用を検知しようとすると、機械学習に頼る必要がある。つまり、各プレイヤーの試合内容を複数戦にわたって分析し、チーターと思わしきプレイのパターンが検出された時点で、当該プレイヤーをチーターとして報告するというわけだ。

 しかしこの対策はいくつかの理由から不十分である。まず、あらゆるプレイヤーの試合データを分析するには膨大な演算処理が必要になるため、コストがかかる。また、分析には複数の試合データが必要なため、チーターがある程度の試合数を終えてからでなくては検知できない(だからといって分析に使う試合数を減らせば、今度は誤報告が増える)。

 なにより特筆すべきは、機械学習による検知では、チーターがゲームに参加することを未然に防ぐことができない点だ。チーターはいちどBANされたとしても、新たなアカウントをつくって再び同じ手法でゲームに参加できてしまうため、これでは根絶は望むべくもない(もちろん、チーターのIPアドレスなどを記録しておくこともできるが、IPアドレスを擬装することも可能だ)。

カーネルレベルのアンチチートとその問題

 マクロスクリプトによる超人プレイや、IPアドレス擬装によるアカウントの偽造……実は、これらのチート行為を一挙に検知することは技術的に可能である。要するに、ゲームクライアントが稼働しているあいだ、そのバックグラウンドでどのようなソフトウェアが稼働しているのかを検知する仕組みをつくってしまえばいいのである。Riot社の「Vanguard」をはじめとするアンチチートは、これを実現させるためにカーネルレベルでの対策を講じている。

【Riotのゲームセキュリティソフト「Vanguard」】
「VALORANT」で採用されているゲームセキュリティソフト「Vanguard」を開設している参考文献1

 カーネルとはOSにおいて中核的な役割を担う機構である。カーネルレベルで動くプログラムは、PCの管理者よりも高い権限を持っており、あらゆるアプリケーションや周辺デバイスの稼働状況を確認および管理できる。特に侵襲性が高いアンチチートの場合は、プレイヤーがPCを立ち上げたと同時に起動して動作ログの記録を開始し、ゲームクライアントの起動時にはそのログをゲームサーバーに送信する。その間に不審な動きがひとつでもあれば、当該プレイヤーはゲームを始める前にBANされるというわけだ。

 しかし、カーネルレベルのアンチチートを実装することは、プレイヤーをセキュリティリスクに晒すことにも繋がってしまう。人気ゲームのアンチチートは、署名済みプログラムとして世界中で膨大な数のPCにインストールされ、行動のログを記録することになる。もし第三者がそのアンチチートの脆弱性を発見すれば、ありとあらゆるプライバシー情報が流出し、甚大な被害が発生する可能性がある。「Vanguard」がしばしば批判の的になるのもこれが原因である。

『League of Legends』公式YouTubeチャンネルより。「Vanguard」が追加される旨を説明した動画についたトップコメントは、ほとんどが批判的な論調である(8月29日時点)。

 そしてこれは机上の空論などではなく、2022年に既に事例化している問題だ。miHoYo社の人気タイトル『原神』に付随してインストールされる「mhyprot2.sys」が第三者によって悪用され、マルウェアの流布に加担してしまったのである。当該のアンチチートはカーネルレベルで稼働するため、ハッカーはこれを利用してウイルス対策ソフトの働きを抑制し、ターゲットのPCがマルウェアの侵入を許すように細工したとされる(参考文献2)。

 「スト6」に実装されているアンチチートは、カプコン自社開発のプログラムであり、その仕組みは明らかにされていない。しかし、マクロスクリプトによるチートを許しているところを見るに、恐らくは侵襲性の比較的低いものであろう。実はカプコンは「ストV」の時代に侵襲性の高いアンチチートを実装しようと試みたが、ユーザーのウイルス対策ソフトにフラッグされるなどの問題が相次ぎ、コミュニティから大きな反発を受けた過去をもつ。

 そしていま「スト6」においてチーターが増加していることから、より侵襲性の高いアンチチートの実装が再び議論される可能性も現実味を帯びてきたが、ゲームの公平性を保つためだけにプレイヤーのセキュリティを犠牲にすべきなのか、この点はよく考えなくてはならないだろう(参考文献3)。

AIによって訪れるチートの新時代

 ここまでの議論でチート対策がいかに困難か理解していただけたかと思うが、AIの台頭によって問題はさらに深刻化の道を辿ることになる。AIを上手く使えば、ゲームのプログラムはもちろん、出入力にすら干渉することなく、プレイヤーに不公平な優位性を与えることができるのだ。

 CES 2024でMSIによって発表された「SKYLIGHT」がその好例だ。これはPCではなくモニターに実装されるAIであり、画面の視覚情報を分析して特定の箇所をハイライト表示してくれる。MSIのデモでは『League of Legends』が使われ、AIがミニマップを分析して敵の動きを予測、その情報をリアルタイムで画面に反映させていた。AI搭載モニターを使えば、ミニマップを一瞥もすることなく試合を有利に進められるというわけだ。ここまでくると、チートと普通のプレイの境界線がぼやけてくる。

【MSI has an AI monitor that can spot enemies!】

 言うまでもなく、現代AIの性能を考えれば、その可能性はミニマップの分析に留まらない。格闘ゲームで例を挙げれば、波動拳の初期動作や、中足払いのヒットなどを感知して、特定の警告マークを表示することができるだろう。これがどれだけ大きなアドバンテージをもたらすか、格闘ゲーマーなら容易に想像できるはずだ。そして重要なのは、これらは既に技術的に可能であり、実装されるか否かはインセンティブの問題に過ぎない点である。

 もちろん「SKYLIGHT」はモニターに実装されている以上、カーネルレベルのアンチチートで対策することは可能である(PCに接続されている以上はカーネルによって検知可能なため)。しかし、これがPCから切り離されたスマートグラスに実装されていればどうだろうか? プレイヤーのマシンと一切の接続をもたないデバイスを使って、従来のあらゆる対策も歯が立たない「チート行為」が可能になるだろう。また、いままではチーターの手の及ばない領域と考えられていたコンソールゲームでさえ、もはや不可侵ではなくなるだろう。

深化するチート行為にプレイヤーとして何ができるのか

 ここまでの議論をふまえて、再び「スト6」の問題に立ち返り、プレイヤーとしてどのようにこの問題に向き合うべきか考えてみよう。

 現在横行している、単調なマクロスクリプトによるチート行為に関しては、リプレイを振り返ることで目視による検知が可能だ。あまりにも速い反応速度を有していたり、1フレーム単位の入力精度を有するプレイヤーに関しては、なんらかのチート行為をしている可能性が高いため、個別にブロックするのがよいだろう。また、XやDiscordの「スト6」コミュニティでは、チーター疑惑のあるプレイヤーのIDが共有されている場合もあるため、積極的に参加して情報収集をするのもよいかもしれない。

 しかしマクロスクリプトにしても、ある程度反応を遅らせたり、失敗率を設定したりすることによって、より人間らしいプレイを可能にし、目視では検知できないように工夫することが可能であるため、この対策にも限度がある。もしマクロスクリプトを完全に対策しようとすれば、侵襲性の高いアンチチートが必要になるが、プレイヤーとしてこれを望むべくかどうか、難しいところである(カプコンが2020年に不正アクセス攻撃に遭い、少なくとも1万6千名の個人情報を漏洩したことは記憶に新しい)。(参考文献4

 しばしば「チートを使ってゲームに勝ってなにが楽しいのか」という疑問を目にするが、ゲーム配信から収益を得ることができるほか、オンライン大会に賞金が設定されることも珍しくない昨今において、これは愚問だろう。対戦ゲームの「eスポーツ化」によってチート行為が増加したことは必然としか言いようがない。オンライン大会の運営に際しては、カメラの設置を義務付けてプレイヤーの周辺環境を目視で確認できるようにするなど、新たなルールの導入が急務となる。しかしこうした対策も、あくまで応急措置にしかならないだろう。

 そしてAIの可能性を考えれば、事態はさらに複雑である。結局のところ我々が言う「チート行為」とは、オンラインゲームという文化そのものの脆弱性なのだ。チート行為は擁護し難いものであるが、実世界から犯罪がなくならないのと同様に、恐らくはオンラインゲームがある限り存在し続けるものでもある。しからば我々にできることは、感情論でチート行為を批判するのではなく、冷静に現状を理解することだ。チーターを嫌うあまり「晒し上げ」による対策を訴える人もいるようだが、それでは皆が疑心暗鬼になり、結果としてコミュニティの分断を招きかねない。真に格闘ゲーム文化を想うのであれば、攻撃的な論調に頼るのは避けたいところだ。

 ひとつ確かなことがあるとすれば、例え相手がチーターであったとしても、自分のプレイには常に改善の余地があるという点である。格闘ゲームは精神鍛錬の道だ。目先の勝利ではなく、日々の上達を目標にしていれば、相手が誰であるかはさほど関係ない。もしかすると「スト6」におけるチーターの増加は、真に格闘ゲームと向き合う覚悟があるのか否かを、我々に問うているのかもしれない。