ウイニングイレブン2021(iOS)で通信対戦をやればやるほどフラストレーションが溜まるので、それがなんなのかまとめてみた。
このゲームのAIディープラーニングには重大な欠陥がある
まず、仮説として「このゲームのAIディープラーニングには重大な欠陥がある」と設定しておく。
結論から言うと、「私が下手なだけ」。故に仮説を唱える立場にないかもしれない。だが泣き寝入りする前に、思いつく限りの言い訳(なんなら思いつき次第追記していく勢いで)をしてから、負けを認めようと思う。但し、裏のテック事情はほぼ全く知らないので、ほぼ全て推測の域を出ない...(この時点でやめたらいいのに...)
一つの大前提として、どうやらこの対象ゲームはPS5 iOS Androidという三つのOSを横断してトータルで一つのゲームらしい。そこでのオンライン対戦って技術的障壁どうなの⁉️という疑問点がもはや一つ浮かんでしまった。ちなみに、オンライン対戦開始時、インターフェイス上には相手がどの環境かの表示は無い。
さて、詳しい話に入る前に、この話に登場するステークホルダーを整理しよう。まずはプレーヤー甲。私自身。そしてプレーヤー乙。対戦相手だ。正直、これは実際のところ、ちゃんとした人間が操作しているのか、或いはこの後に挙げるAIでも成立するのではないか、ということで怪しい存在。で、AI甲 AI乙 AI丙 AI丙'。これはそれぞれのアカウントに対して独自のAIが存在するのか、否か。巨大サーバに幹となるAIが一つ君臨しているのか、否か。各サーバ上にランダムでAIが存在するのか、否か。
ここを名言出来ない時点でもう詰んでいる...キガスル
では、ここから本題の検証すべき問題点の列挙をしていこう。(なるほど。この投稿は本当に推測して投げっぱなしということなんですね)
それでは、プレーヤー甲がイライラする瞬間の心の声を聞いてみよう。
「んぁ〜もぅ〜そっちじゃねーよ」
「いや!動けよ!おい!」
「オフサイ!いや!オフサイだろ明らかに!リプレイ見せろよ!」
「いやいや!それもういいから!遅いから!」
…etc.
これらの感情が沸き起こってしまう原因をゲーム自体のせいにした時。私に考えられるものは以下の点。
デバイス問題
ただでさえ、OSが三つあるのに、プレーする端末が多岐に渡りすぎでは無いか⁉️いや、もしかしたらプレステのコントローラを変えるとかいう周辺機器で向上を図る事例を考えると、大なり小なり、昔からあったハンデなのかもしれない。その辺、どのOS、どのデバイスでプレーするのはユーザの自由の範疇なので、スパイクの選択やマウスピースの有無のレベルなのだろうか。とはいえ、その選択によってそれぞれ操作性が変わってくるのに違いはない。
そこで差がつくのならば仕方ない、というわけで、私は画面サイズ12.9インチのiPad proを使用している。iPhoneと比べてみればその差は歴然。フィールドが広く見えるし、眼筋に優しい。かつて、100インチの壁✖︎プレステ✖︎プロジェクターで遊んでいた頃が懐かしい。
持ち運びが手軽で場所を問わずプレーできるという面がありつつも気になるのは、iPadは記録媒体でもあるということだ。メモリが圧迫され始めると、あのカクカク地獄が始まるのではないだろうか。カクカクの原因はなんなんだ!あ、あとあれだ。こん詰めてやりすぎた時、バッテリー残量が20% 10% 5%でポップアップが出て、それが表示されてる間の時空間が飛んでしまう❗️個体差はあるかもしれないが、バッテリーの減りは自分の疲労メーターだと認識するとちょうどいいかもしれない。(自戒も含めて)
通信環境問題
デバイスの次に気にかかるのは、通信環境の差異による試合進行のズレだ。二方向からの入力が同時にあった時に一つの解を出して二方向へ返すという処理ってどれだけの重みなのだろう。もはや、「甲と乙は同じ一つの結果を共有しているのだというのは勝手な思い込み」という可能性さえ感じてしまう。
例えば、甲の送信か受信か、乙の送信か受信か。いずれかの調子が悪く通信がもう続かないという場合は、試合が強制終了されるのだが、通信を切断する要因になった側が負けというジャッジになるようだ。ここまでは良しとするが、怪しさを覚えるのは「甲の側の電波が不良で試合終了」になったことが一度もないのだ。確かに、私が使っているのはwi-fiモデルのiPadで、一つのwi-fi環境下でしかプレーしないので、接続が悪くなく要因は少ないのだから当然なのかもしれないが。
前の章とも合わせてまとめると、双方のプレー環境が試合内容に激しく影響を及ぼすということで、画面がカクカクしたり、急に早送りしたかのように動いたり、入力してからの反映が遅くなったりした時に、イラついた私はそれがどの要因で起きているのか分からないまま勝敗が決定してしまうことに、憤りを隠せないのだ。
つまりそれは何かというと、画面がカクカクしたり、急に早送りしたかのように動いたり、入力してからの反映が遅くなったりした時に「どうして相手はスムーズにプレーできているのか、相手の画面はカクカクしていないのではないか」と疑心暗鬼になり、プレー環境が等しくないところに敗因があるいちゃもんをつけ、通信対戦の大前提を覆さなければならないと叫びたくなるということだ。
基本操作仕様問題
これまでの二項は通信と対戦相手乙との関係においての話であったが、ここでは、そもそもこの iOS における操作の仕様ってどうなんだと思ってしまう代表的な項目を留めておく。いかに私が下手だという、否、下手な層から抜け出せないかを考察するために後々必要となるであろう、その為に。
(尚、代替案はない)
まず、このサッカーゲームを設計するにあたって、重要になっているであろうポイントは「攻守の切り替え」であろう。どちらのチームがボールを保有しているかで、ユーザの入力した操作の値がどの回路に入るのかが決まる。ここで重大なエラーが生じる。
一つは、ルーズボールだ。つまり、誰もボールに触れていないイーブンな状況である。あるユーザは諦めて相手が拾うのを待つかもしれないし、あるユーザは諦めずに追い続けるかもしれない。しかし、その判断はAIに委ねられている。(特に、誤入力後のシュート或いは失敗したパスがルーズボールになった時、選手の再選択が出来ないバグがありますので、関係者の方は修正お願い致します)
もう一つは、予約入力だ。これはサッカーっぽさをいかに再現するかについて考えられた素晴らしい概念で、ボールをこれから次に触る選手にどういうプレーをさせるのか、直前に入力しておいて、ワンタッチプレーをさせるというものだが、私の場合、意図せずそれが入力されてしまうケースが非常に多い。そして、現在ではその「指示」が間違い(ユーザの意思ではない)で取り消したいということを入力する術がない。
iOSアプリ版にはインターフェイス上にコントローラキーを表示させ、プレステコントローラでの入力に倣ったクラシックという操作方法と、iOSの基本操作を生かしたアドバンスという操作方法を選ぶことが出来る。私は後者のアドバンス方式を採用しているのだが、それもまた困った問題を引き起こしている。
というのも、「触れる or 触れない」が入力時の大きな概念になっており、かなりのエラー入力が発生してしまうのだ。中でもフリック入力は厄介なことが多い。攻撃時に敵陣で右側を複数回連続タップするとシュートの入力になるのだが、急な展開でチャンスになって高速でタップすると、バックパスになってしまうことがしばしばある。おそらく、シュートのつもりでタップしているタッチが、フリックだと認識されてしまうのだろう。それに、基本的に入力作業は画面の右端と左端で行っているので、iOS本体自体の操作とコンフリクトしてしまうという重要なポイントがある。もちろん本体優先で動いているので、画面遷移を操作していると見なされがちなのだ。これは通信失敗と判断されかねないエラーで、勝敗に直結するのでよろしい状態とは言えないのではないだろうか。(←もしかしてiOS基本設定で変更できる?)
疑問「AIの所在」 「AIは敵か味方か」
4000文字コースになりそうなこの投稿、一体何の意味があるのだろうと思えてきた。しかし、負けた分を取り返さなくてはいけないのだ。ここまで読んでいただいた皆さん、ありがとうございます。
さて、冒頭でも触れたようにAIはどこにあるのかは問題だ。AIというか、この通信対戦のシステムがどのように構築されているのか、を知りたいのだ。漠然としたフィーリングでしかないのだけども、私は、対戦相手によって自軍選手の動きが違うように感じる。それは、自分の蓄積してきた自軍データで戦っている時と、相手側で戦っている時があるからではないか、と考えている。
動きが鈍いだけでなく、明らか(と証明できないのだが)に敵に味方しているだろ!という「AIの意図的誤入力」を疑う事例がとても多い。リアルなサッカーでもしばしば見かけるミスであるから、ある一定数、ミスの要素を盛り込める入力があると、乱数的ににミスを発生させる処理になるプログラムなのかもしれない。その方が自然だと。しかし、それは考え直して欲しい。ユーザの心情と乖離しているシステムである。リアルな選手は「あ。ミスった!」と自分の動いた瞬間の感触で分かるだろう。一方、ウイイレユーザは、パスが相手に渡ってしまう、そのフリック入力の角度の誤差が分からない。
そもそもな発想として、片方選手が11人。さらに11人とサッカーボール1個。あと審判?が常に動いている。それはそれはかなりの情報量なんじゃないか、と推測する。にしても、ユーザにはそんなこと関係ない。私が一番困っているのは、それぞれの選手が「考えてくれない」ところ。
「いや、目の前立って邪魔すんだよ!」
「いや、それお前のパスだし!」
「お前、一番近いんだから取りにダッシュしろよ!」
「うそ!なんで突っ立って動かないの?」
…etc.
選択中の選手を動かしているのは、俯瞰目線であることが多い。つまりゲームの支配者だ。ユーザの移入先(ある一人の選手目線なのか、ゲーム全体を俯瞰する目線なのか)とその切り替えについて考えざるを得ないシチュエーションが絶えない。視点はどこに定めれば良いのか。
もっとも有難くエキサイティングなゲームになるだろうな、と妄想しているのは、それぞれの選手にAIが付与され、それぞれの選手一人一人がディープラーニングするものだ。27個のシステムが1つのシステム内で動くという世界は可能なんだろうか。
本当に細かいところまで知りたいのは、体力ゲージが減るアルゴリズム。至近距離でボールがヒットしたり、ラフプレーされたりのフィジカルコンタクトがあるとそれに応じて減るのか、ゴールを決めるとアドレナリンが出て一瞬バーストするとか。そんなことは組み込まれているのだろうか。疲労感や集中力が切れたところは、仕草や動きのキレで演出しているから、おそらく設定されているのではないだろうか。
疑問「AIのディープラーニング」
もしも、ディープラーニングしているとしたら。「誤操作」を正の入力として受け取ってしまうのではないだろうか。訂正する機会が無いということは、ユーザ(下手な人)が成長する機会の妨げにならないだろうか。
スタート地点が下手であればあるほど、余計に強くなっていく過程が厳しくはならないだろうか。この点もはっきりさせて欲しい。
陰謀論「課金ユーザー or not による判定基準」
さては、全ては課金させるためなのか⁉️負けるのが悔しければ、課金して解決しなさい。ということではないことを祈ります。
さいごに
最終盤、駆け足になって最後の最後にそれ言うか⁉️という内容になりました。ここまでお時間いただきまして、誠にありがとうございます。それにしても、このサッカーゲーム通信対戦の研究はとても興味深いと思いました。
戦況を把握する→プレーを想起する→想起したプレーを入力する→入力された内容が送信される→乙の入力も合わせた戦況が返される→戦況を把握する
この情報処理ルーティンを繰り返す中で、都度矢印の箇所でバイアスがかかる(エラーが発生する)のだけれども、そのバイアス抵抗が少ない人ほど勝利率が高いはず。それぞれ単語でまとめちゃった部分の実際の情報量が半端ないですけどね💦
もう出てる研究かもしれませんが、これって「eSPORTSで強くなる法則」に活かすデータが取れるのではないでしょうか。
それでは。
また。
もし、このアプリで遊んでいる方いらっしゃいましたら、フレンドになりませんか?対戦相手になってもらえたら嬉しいです。私のIDは⏬⏬⏬です!
ID 572-379-537
申請お待ちしております!
shimisanpoのやりたいことについては、ここでも発信していきますが、www.shimisanpo.themedia.jp をご覧になって頂けると有難いです。