« <ドラクエ10> Ver3,5中期やること多すぎて大変ですな | トップページ | <ドラクエ10> 古のコインボス »

2017年5月 5日 (金)

ドラクエの謎考察 その131

こんばんは。

ドラクエの謎、設定、裏話、都市伝説に突っ込む話第131回

・袋にほぼ無制限に詰められるようになった6以降、10だけそうでないのはなぜ

ドラクエは3で預かり所が登場し、キャラクターの持ち物を預けることができるようになり、多くのアイテムを保存することができるようになった。そして6以降は袋が登場し、実質無制限にアイテムを持てるようになった。(戦闘中は、袋の中のアイテムは使えない)

ところが、10では持てるアイテム数も預けるアイテム数も上限があり、全ての預かり場所の所持数を最大に増やしてもまだ足りない、といわれている。
なぜ、無制限にならないのか。

これは、まず、ドラクエ10がオンラインであり、キャラデータが全てサーバ側にあることに起因する。ドラクエ10のプレイヤーは万単位で存在し、その全てのキャラデータをサーバ側で管理しているのだ。
となれば、当然ながら膨大なキャラごとのデータがあることになる。プレイヤーの数だけの「冒険の書」データを管理するだけでも相当なリソースを必要とする。
また、ドラクエ10の所持品は、今までのオフラインのドラクエのように、ひとつのアイテムが単純なアイテム番号と個数で管理されていないことが挙げられる。
一番わかりやすいのが、装備品。アイテムを見ればわかるが、一つの装備品は同じ名前のアイテムであっても、できのよさ、未使用か使用済みか、ついている錬金効果、アイテムの歴史など、かなり多くのデータを一つのアイテムが持っている。
逆に素材や消耗品アイテムは、効果が同じで、各アイテムごとに固有データをもたないため、複数個をストックして表示される(最大99個)

なので1つあたりに膨大な容量をとる「アイテム」を持ち物、倉庫、屋根裏、たんすと最大まで拡張してあれば、これがすさまじい容量になることになる。
なので運営から回答でされている通り、「技術的に厳しい」のである。

なお、サーバ上にデータを保存するという意味では、物理的にデータベース(DB)サーバのストレージにデータがあるわけだが、すると単純に「サーバやストレージを増やせば可能ではないか」と思われるかもしれない。しかしそう簡単にはいかないのだ。
単純にデータを置くだけであればたしかに増設して領域を増やせば可能だ。しかし、ドラクエ10はオンラインである。一度に万単位の複数キャラが動き回るのである。特に所持品のデータに関しては1キャラ当たりのアイテムの情報をたえず通信しているのだから、ものすごい通信量になるのである。仮に持ち物上限をたった1個増やすだけでも、同時に通信するキャラ数だけ負荷が増すのである。実装するのは簡単かもしれないが、それによってオンラインゲームとして成立しないほど負荷がかかってまともにプレイできなくなるかもしれないのである。
これが、持ち物上限を簡単に上げられない技術的な問題のひとつなのだ。

なら、より上位のサーバやデータベースを使えばいいのではないかというのもあるが、当然ながらサーバは非常に高価なものなので、仮にできたとしても月額料金を上げるなどをしないと運営が成り立たないのではないかと。
仮に性能がさらに高いサーバを導入するといっても、ドラクエ10のサーバ側で使われているデータベースはOracle EXADATAという製品を使っている。これは、データベースでシェアのもっとも高いOracleの最上位版である。
増設します、性能アップします、というのは簡単にできないのだ。

オフラインは同時に動かすキャラクタは4人。酒場やモンスター預かり所に100人(匹)いたとしても実際に動いているのは4人。仮にドラクエ10並な一つのアイテムについての情報量が多かったとしても、無制限持ち物管理でも十分動くのである。

今日はここまで。では、またー

« <ドラクエ10> Ver3,5中期やること多すぎて大変ですな | トップページ | <ドラクエ10> 古のコインボス »

ドラクエの謎考察」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/574511/65239401

この記事へのトラックバック一覧です: ドラクエの謎考察 その131:

« <ドラクエ10> Ver3,5中期やること多すぎて大変ですな | トップページ | <ドラクエ10> 古のコインボス »