イトーのブログ

ここはゲーム、まんが、映画の備忘録帳でござい 自分用なので文章が自由

長時間のマッチング体験を改善するためにできること

 こんにちは、イトーです。

 3連休いかがお過ごしでしょうか?
 人生のクオリティを高められる、有益なお時間をお過ごしでしょうか?

 私は今「スプラトゥーン」で絶賛マッチング待機中です。

f:id:saki9098:20160110043506p:plain



 時間の過ごし方はいろいろありますが、その中でもとりわけ無為な過ごし方が「オンラインゲームでのマッチング待機」だと思います。1分近く待つことくらいは仕方ないにしても、あげくにエラーで解散したり、ゲームが開始しても相手が1秒ごとにワープする未来予知必須環境だったりすると、何かに覚醒しそうになります。

 全てのマルチプレイゲームが擁するその問題を解決すべく、弊社では革新的なマッチングシステムを日々研究する開発チーム――「高速通信委員会」が存在します。
 そしてその日は、それまで試作を重ねてきた新マッチングシステムの披露会でした。

 薄暗い会議室の壁に、プロジェクターの光が煌々と映し出されています。
 頬杖をついて画面を眺めているのは、我らが元帥たる社長閣下です。閣下はしばしそのまま革製の椅子に腰を預けていましたが、ややして重々しく口を開きました。

「それで、新しく完成したマッチングシステムというものは実演してもらえるのだろうね」
「はっ。画面にご注目ください」

 私が操作すると、壁に映し出されたゲーム画面が切り替わります。横に長いプレイヤースロットが縦にいくつも積み重なり、他プレイヤーを受け入れるべくそれぞれに「募集中...」の文字列が表示されました。

「今、全世界の支部に散った社員とタイミングを合わせてロビーに入っております」

 私の説明から数秒遅れて、スロットに数人ほどのプレイヤー名が表示されます。ゲーム開始まではあともう4人。恐らくはメキシコ支部とブラジル支部との通信にてこずっているのでしょう。

「マッチング予測時間がプログレスバーで表示されるのは、あとどれくらい待てばよいか分かりやすくてよい」

 社長直々の称賛に、私は頭を深々と下げました。

「ははっ。予測時間は今までの記録を元に、曜日・時間帯 等の情報から計算された時間を出しております」
「しかし、それだけならば他のゲームでもやっている工夫だ」

 確かにHearth StoneLeague of Legend をはじめ、「マッチングの進捗感を明示的にすることで、体感時間を軽減する」施策はかなり一般的なものと言えるでしょう。ゴールの見えないマラソンを走り切れる人は少ないのです。
 他にも、今どういう理由で待っているのかわかるよう「現在のマッチングステータス」を明記するなどの工夫は隅々に巡らせていますが、それらはあくまで「あって当然の機能」ばかり。
 我々のマッチングシステムの本領はこれからです。

「……む? まだ30秒しか経っていないのか。もう50秒は経ったように感じたが……」

 部屋の奥に座る実装担当者と、目だけで笑みを交わします。
 社長の体感時間が間違っていたわけではありません。誤りがあるとすれば、このマッチングシステムでしょう。事実――予測マッチング時間に対する経過秒数が60%を超えたあたりから、徐々に経過秒数の加算が遅くなっているのですから。
『ディレイカウントシステム』。我々の技術と工夫の結晶です。
 卑劣だと謗る方もいるかもしれません。ですが最終的に大切なのは、ユーザーに少しでもよい体験をしていただくことです。そのためならば、我々は手段を選びません。

 しかし――私は全ての機能が順調に動いているにも関わらず、じっとりと汗で背中が湿る、居心地悪い心地を味わっていました。
 何故か?
 経過秒数の表示はすでに70秒を超えています。遅延システムの影響を鑑みると、実際の数値は120秒を超えていることでしょう。どうやら、すでにロビーには入ったもののP2Pが繋がらないプレイヤーがまだ1人残っているようでした。タイムアウトで弾くとしても、あと20秒はお待たせしてしまう計算となります。

 ……実に、残念なことでした。
 ネットワークは常に形状の安定しない液体のようなもので、熟練のネットワークエンジニアですらそれを完全に支配することは困難です。
 しかし。でも。だとしても。
 まさか――「万が一」に備えて莫大な工数をかけて実装した、あの最終システムまで稼働する事態になろうとは!

 私の表情から、みなぎる覚悟を察したのでしょう。部屋奥にいる実装担当者が勢いよく腰を上げると、「社長!」と声を張り上げました。
 ひっくり返った大音声に社長閣下は不快そうに眉をひそめましたが、やがてゆっくり振り返ります。

「何ぞある」
 大岩を思わせるような荘厳なる響き。

「明後日、有給を頂戴したく存じます」
「……好きにするがいい」

 再び画面に目を戻した社長は、唐突に「あれっ」と素っ頓狂な声を上げました。
 先ほどまで70秒を超えていたはずの経過秒数表示が、50秒へと巻き戻っていたのです。

「さっきまで、もうちょっと時間進んでなかった?」
「いえ」
「そんなことないです」
「お疲れなのでは?」

 口々に口裏を合わせるチームの面々。
 無論、これこそが革新的マッチングシステム最後の機能。ゲーム機に接続されたKinectがプレイヤーの動きを常に監視し、「画面から目を離した」動作が感知された瞬間、マッチングの経過秒数を一気に巻き戻すシステム――『ハインドバックシステム』です。

 ややして最後のプレイヤーのP2Pが無事繋がり、マッチングの完了通知と共にローディング画面へ。
 ……この先はインゲームへと入った後の安定性テストとなりますが、もはやその場に私は必要ないでしょう。そっと席を立ち、会議室を後にします。

 この世のあらゆる場所で、ネットワークの遅延と断絶は人々からその貴重な時間を奪っています。それはただの時間の消費ではありません。本来ならば友と、家族と語らえるはずだった「幸せ」の量であり、あるいは人類がより跳躍するために使われるはずだった「可能性」の冒涜的な浪費なのです。
 システムの改良はこれだけでは終わりません。
 誰かが有効に活用するはずだったかけがえのない「時間」というリソースが少しでも失われることがある限り、我々は常に高みを目指さねばいけないのですから。

 私は自身の席に戻ると、次期計画の提案書の作成を始めました。
 題は――『量子テレポート技術の利用による、あらゆるラグの根絶』です。

-----

 この話はフィクションで、実在の会社・実在のマルチプレイゲームなどとは一切全く関係がありません。