雑記:終了したオンラインゲームのオフライン化が難しい件について

破壊の大帝:
エミルクロニクルオンライン、12年間お疲れ様でした……

LM仮面:
前にも触れましたが予定通り終わってしまったようですね……また一つ、世界の終わりに立ち会いました……

破壊の大帝:
……マイディーさんが一撃確殺SS日記でサービスが終了するオンラインゲームのオフライン化は無理なのかな?って 記事を書かれていまして……
ってか、これ、ワシ拾う流れだよね?

LM仮面:
敢えて「自意識過剰ではないのですか?」とはお聞きしませんが……

破壊の大帝:
いうとるやん(´・ω・`)
で、中の人は一応システム屋さんなので、多分こうじゃないかなーって範囲で考えてみよう、ってのが今回の趣旨ね。

LM仮面:
いちおーう、ネットワーク関係なのですよね。いちおーう。

破壊の大帝:
それ、強調するな(涙
えっとまず、システム的な所の……クライアントとサーバーの基本的なところからね。

LM仮面:
左側が個々のユーザーで、右側がそれらを処理するサーバーですね。

破壊の大帝:
例えばWebサイトも、ブラウザが「このページくれー(リクエスト)」して、サーバーが「はいよー(応答)」してくれる。
思いっきり簡略化してるけど、まぁ、突き詰めるとゲームだろうがなんだろうが、こんな感じですよ。

LM仮面:
矢印無いですけど、他のユーザーもそれぞれ、サーバーにアクセスしてるってことですよね?

破壊の大帝:
そうそう。クライアントとサーバーが一対一だと話は簡単だけど、オンラインゲームの意味がなくなるよね。
サーバーに対して、クライアントは基本的に多数になる。一対多ね。

LM仮面:
実際は、「サーバー」側も複数台なのですよね。

破壊の大帝:
まぁ、そこも簡略化で、ごそっと一つだと思ってください。
で、じゃぁ、サーバー側で何をさせるかというと、これもザックリ簡略化するけど、
1)クライアントからは「何をした」って操作情報をサーバーに飛ばす。
2)サーバー側は各クライアントからの操作情報をまとめた処理を行う。
3)その結果をサーバーはクライアント側に返して、クライアントはソレを描写する、
って感じになるワケです。

LM仮面:
クライアント側は入力と出力のみ行っている、って認識でいいでしょうか?

破壊の大帝:
そうしないとね……他の人との同期が取れないのよ……
格ゲーがわかりやすいかな。AさんとBさんが戦ってて、Aさんの攻撃をBさんがブロックしたかどうかの判定を、
別のマシンでやってたら、遅延が発生したときとか、不整合が起きる。

LM仮面:
Aさんのマシンは攻撃が通って、Bさんのマシンではブロックできた、ってなると、
ソレ以降の処理が辻褄合わなくなりますね……

破壊の大帝:
この辺、クライアント側でどれだけ、サーバー側でどれだけの処理をやらせるか?
ってのが、オンラインゲーム作成の腕の見せ所なのよね。
例えば動画も全部サーバー側が処理したら、クライアントとのデータ転送に時間かかるじゃん。

LM仮面:
あー、クライアントとサーバー間の転送データが多くなればそれだけ……遅くなりますね。

破壊の大帝:
ホントは当たり判定処理もクライアント側でやってる分もあるかもだけどね。
この、乗っかってるユーザー分の全てのツジツマを合せる(又はゴマかす)ってのが
普通のゲームと一番違うところだし、そのためのクライアントとサーバーなわけです。

LM仮面:
なんとなく、イメージは掴めました。
んーっと、しかし、格ゲーやモンハンのソロプレイなんかはクライアント側での処理ですよね?

破壊の大帝:
そう、サーバー側の処理もクライアント側に乗せてるイメージね。
これも簡略化すると、要はサーバ側の処理をクライアントに持ってきてる感じなのです。多分。

LM仮面:
多分?

破壊の大帝:
今回は、オンラインありきで説明始めたからこうなってるけど、
経緯としては「同一クライアントでやってたことを、サーバー側に分けた」が正しいと思うのですよ。試行錯誤の上で。
ただまぁ、やっぱりここはブラックボックスなわけです(笑

LM仮面:
まぁ、そうですね……
あ、これが「終了したオンラインゲームのオフライン化」の一つの形……

破壊の大帝:
なのだけどなぁー!

LM仮面:
む?

破壊の大帝:
なのだけど、実際問題、サーバー複数台あるねん。相当な処理させとんねん。
しかも随時にDLしてるだろう音や画像のデータとか、全部クライアント側に乗せられるか? ってこと。

LM仮面:
相当な大容量とマシンパワーが必要になりそうですね……

破壊の大帝:
パーティーキャッスルがオフライン化できているのは、ここがクリアだと思われなのです。
描画すべきデータを創るのはクライアント、で、それを動かすのもクライアント。
ホントはサーバーにアップして共通化してそれぞれ動かして……というサーバーの処理をザックリ削って、
その上でクライアント側に全部持たせても一人分だから全然動くし、特にイベントないしで行けてしまった感じが。

LM仮面:
……って、今もDL出来るんですね。

破壊の大帝:
XPの頃のプログラムだから、今後も動き続けるかは分からないけどね……
でーまー、この辺からコストの話になるわけですよ。
たとえ改造すれば動くとしても、それ、誰がやるの? って。
更にぶっちゃけると、オンラインゲームが撤退するときって、コストが回収できない問題だからね。

LM仮面:
……ああ…… その分のお金があれば…… 他に回す話になるのですね……

破壊の大帝:
艦これとか、とうらぶとか、あの辺りは終了しても図鑑を別で出しそうな予感はするけどね……
ただ、それはやっぱりバックがしっかりしていて、ぶっちゃけ「宣伝/広告費」とかから捻出かな……
でも小さい所は、撤退≒倒産だから、プログラム改修云々以前の問題に成っちゃう。

LM仮面:
FF14も終了時に何かありますかね……

破壊の大帝:
天下のスクエニだから、そのナンバリングタイトルが完全ロストする……ってのは考えにくいかな……
なので、カットシーンやムービーが見れる「愛用の紀行録」分だけ残す、ってのはありそうな予感……

LM仮面:
自作キャラのムービーストーリーの閲覧アプリみたいな感じですかね。

破壊の大帝:
んーでも、「あなたのキャラのムービーをDVDに焼いて発送します」とか、そんなサービスしそうな気もする。
サーバー側はやっぱりデータ多いし、何よりブラックボックスだからクライアントに入れたくない気もするし。

LM仮面:
解析とかされかねないってことですね。
……完全に一つにするとその分の作業が必要になるし……
どこまでやるかですね……

破壊の大帝:
そこなのですよ…… 一番の問題は……

LM仮面:
まだ何かありますか?

破壊の大帝:
最大の問題である「それってオンラインゲームですか?」って話……

LM仮面:
……「オンラインゲーム、だった」ですね……

破壊の大帝:
なので、理想としては「最終的に終了した際にユーザーに何を残せるか」って所まで考えた上でゲームをデザインして、
それまでのコストもしっかり回収しながらちゃんと着地できるように、または打ち切られても大丈夫なように……

LM仮面:
週刊マンガみたいですね。

破壊の大帝:
まぁ…… やっぱり「思い出」になっちゃうのよね。オンラインゲームで残るものって。
そうすると、改めて別のリソース裂いてでもオフライン化するかってなると……

LM仮面:
なら最初からオフラインで作ろうぜ、ってことになりますよね……

破壊の大帝:
例えばソシャゲだって、声とか立ち絵とか膨大なリソースはあるから、終了後に売り切りのオフライン化もできそうだけど、
敢えてやらないのはペイできないから、なんだろうね。シンプルな話だけど。

LM仮面:
それでもやはり、「何か」を求めるのではないでしょうか? その世界が存在した、確かな何かを。

破壊の大帝:
ねー、だからこのサイト、残ってるわけですわー

LM仮面:
……そう来ますか(苦笑

破壊の大帝:
ホント、天下のスクエニが良い例だけどさ、スクエアとエニックスが合併するなんて思いもしなかったわ。
で、そうするとURLが変わるわけですよ。旧いコンテンツはそういうタイミングでリストラされちゃうわけですわ。
そうなると、チョットでもサーバー依存しているクライアントは、動かなくなるわけですよ……

LM仮面:
そういう事例も、多く見てきましたね……

破壊の大帝:
「オフライン化したコンテンツ」も端末(パソコンやらスマフォやら)が壊れると一緒に逝きますから……
やっぱり、最終的には書き留めていくしか無いのですよ。

LM仮面:
オンラインゲームだろうが、日常であろうが、同じ、ってことですね。

破壊の大帝:
そんなわけで、今回はこの曲でお別れです。徳永英明 - 夢を信じて。

LM仮面:
あれ? 表示されませんよ?

破壊の大帝:
公式なので埋め込めないらしい(笑 もっかい押してYouTubeに移動してね。
それでも、やっぱりこの曲でしめたかった。

LM仮面:
旅はまだ、続くのですね。

破壊の大帝:
最後になりますが、「スミ丸団」の名が、一撃確殺SS日記のURLとして残っていること。私は心に刻んでいます。
この旗の行末を、見守っています。


破壊の大帝ぐれねーどへ