みた、こと。きいた、こと。

合言葉はSite Seeing

P4G SOSの仕組み(考察)

Vitaの今最もホットな話題のゲーム。P4G。

RPGとしては珍しく、一緒に戦うわけでもなく、半同期というか半非同期というか、かなりゆるいオンラインシステムが搭載されていて、これが興味深い。というか、どういう仕組みなんだろう?という。

ホントは内容的に分館の方がいい気もするんだけど、あっちはゲームに特化した内容はあまり書きたくないので。

なんとなく。

興味ない人もいそうなので、以下折り畳みで。

機能的な意味では、救援要請(SOS)と呼ばれていて、

  • ダンジョン内に自分がいる時に「SOSボタン」が表示され利用できる
  • ボタンを押すまでは「他の誰からも救援要請が来ない」
  • ボタンを押すと「次の戦闘開始まで」誰かからの救援要請がくる
    • その要請に画面をタッチする事で応える事が出来る
    • 次の戦闘開始までだが、戦闘直後に入ってくる事もある
    • 戦闘中は一切入ってこない
    • ボタンを押す事で何かを消費するという事は無い
    • 一度救援要請すると取り消せない(次の戦闘で解除されるまで続く)
  • 次の戦闘が開始されると、自分の救援要請に応えてくれた人が表示される
  • その人数の大小に合わせてHPとSPが回復する。多いほど回復する
  • 戦闘終了後は救援要請はクリアされている
    • 改めて利用するなら、再度ボタンを押さなければならない
  • 利用回数に上限は無く、ダンジョン内にいる間は何度でも使える
  • パーティーのHP、SPが最大値でも利用できる

極端な話、ある程度の人数が救援要請に応えてくれるのであれば、HPとSPを常時全快した状態でダンジョンの探索を延々続けられるので、アイテムを消費することなく効率的にレベルアップが出来るという事になる。何かを消費するという事も無く。

なんてお気楽な!

という。


まぁ、応援を返してくれる人数が少ないと回復量はスズメの涙程度なので、これだけでダンジョン攻略するというのは少々面倒ではありますが。


で。


会社から帰った深夜(午前2時~3時ぐらい)にやると、人数は少ないし、殆ど同じ人なんですよね。だいたい。

人数が少ないが故に、相手の名前も良くわかるものだから、「あ、またこの人か」と思う。いや、逆に言えば私も「あー、またコイツか」と思われているに違いない。「どんだけ応援も止めてるんだよコイツ!」とかウザがられてるかも。


とはいえ、「全国で私が把握できる程度の人数しか遊んでいない」(深夜とはいえ)とは考えにくい。

オンラインとオフラインのゲームプレイヤー比率は、未だにオフラインの方が圧倒的に多いとはいえ、Vitaはネットワークに特化したゲーム機。通信代がかかるケースはともかく、深夜の3時に自宅以外で遊んでいる人がそれほど多いとも思えないので、みんな自宅でWi-Fi接続だよね?と考えれば、通信料がかからないんだからもっといるだろうに・・・と、思う。


で、時間帯が時間帯だけに人が余りにも少ないので、仕組み的なところを考えるにいたり、いろいろ考えてみての考察を以下に書く。

P4G 救援要請ボタンの手順 (考察)
  • 救援要請ボタンを押す
  • サーバに「救援要請が登録」される(日時、ダンジョン、名前など)
    • 「救援要請 受付中」という感じの貼り紙
    • 貼り紙は受け付けた時間順に並んでいる
    • 貼り紙にはそれぞれ「応援名簿」(コメント欄つき)がある
    • 登録は掲示板みたいなものでダンジョン単位で用意されている
  • 次の戦闘開始まで以下の処理を繰り返す
    • 掲示板に貼ってある自分の後の貼り紙を読む・・・(A)
      • 自分が貼った時間より新しいもののみ確認
      • 自分と同じダンジョンの人で探す
    • 貼り紙があったら画面に表示する
      • ボタンが押されたらその貼り紙の「応援名簿」に記入する
      • ボタンが押されなかったら、一定時間後にボタンを消す
  • 戦闘が開始されたら自分の貼り紙を確認する・・・(B)
    • 書いてある応援名簿を表示する
    • 貼り紙は剥がされずにそのまま残る
  • 戦闘中は応援名簿はもう見ない
    • 自分が戦闘中は応援が出来ない
  • 戦闘終了後、Bの時点で処理中だったAがあったら表示される
    • なぜか1件だけ直後にボタンが表示される事がある

と。

今のところ、自分が救援要請をした事が全国のプレイヤーに一斉送信されているとは思えない動きだし、それはさすがにいろんな意味で無理があると思っている。ボタンを一定時間表示しなくちゃならないだろうし。だから、ダンジョン単位なのかな?と思っているが、もしかするともっとシビアにサーバを分けられていたりするかもしれない。

で、上記をもう少し砕いてあくまで想像で考えると、

救援要請順による応援受け可否状況 (想像)
  Aさん Bさん 自分 Cさん Dさん
Aさん - ○ 表示 △ 戦闘前 △ 戦闘前 △ 戦闘前
Bさん ×不可 - ○ 表示 △ 戦闘前 △ 戦闘前
自分 ×不可 ×不可 - ○ 表示 △ 戦闘前
Cさん ×不可 ×不可 ×不可 - ○ 表示
Dさん ×不可 ×不可 ×不可 ×不可 -
  • 左から右、上から下の順で救援要請をしたものとする
  • ○ 表示:最初の1件目として(必ずではないが)表示される救援要請受け
  • △ 戦闘前:相手および自分が戦闘開始前なら受け取れる
解説
自分は自分より前に救援要請をしたAさんとBさんの応援は出来ない。自分が応援できるのは自分より後に救援要請をしたCさんとDさん。自分への応援はAさんとBさんしか出来ず、AさんとBさんが戦闘中でない場合に限る。

になっているような気がする。

みそは、上の説明で言えば「自分の戦闘が開始されても貼り紙は残る」という点と「自分が戦闘中は応援が出来ない」事にある。

これにより、

  • 応援は受け付けているのに、その応援は相手に届かない事がある
  • 応援を受け付けている相手がいても、自分が戦闘中なら応援できない

な状態となってしまうため、「自分が応援している以上に応援をもらえていない」という現象が起きている気がする。

なんか、もったいない。


あくまでも想像なんだけど、たぶんこういう仕組みにしているんじゃないかな?と、思った。

なので、「10分ぐらい待っているのに応援増えないんだけど」という事も、普通に起こりえる。自分は応援を出して待っているのに自分より前の人はもう戦闘中だろうし、自分より後の人は自分の応援を見ないだろうし。

たぶん、こんな感じなのかな?と、思った。