Results -9 to 0 of 629

Dev. Posts

Threaded View

  1. #11
    Player
    theca's Avatar
    Join Date
    Aug 2011
    Posts
    6
    Character
    Theca Valkyrie
    World
    Gungnir
    Main Class
    Archer Lv 50
    遅くまでお疲れさまです。

    アイテム枠の件でちょっと気になる記述があり、格納アイテム数の問題ではありますが、
    今後のアイテム作成関連の実装に大きく影響すると思いますので、投稿させてください。

    Quote Originally Posted by Naoki_Yoshida View Post
    「アイテム枠を増やせば」「無限にすれば」というご提案を頂いていますが、
    常にアップデートにより増え続けるアイテム数をすべてキャラクタ単位に保存することは不可能です。
    サーバストレージ(皆さんのキャラデータ保存領域)には費用上の限界がありますので、
    物理的に不可能だとお考えください(数十万キャラクタxアイテム数xアイテム単体のbyte数=容量)。
    増やすためにはHDDを増強し続けるしかありません。一般的にこれを解決するために倉庫課金が存在します。
    まず、数式の中の「アイテム単体のByte数」についてですが、アイテム名や属性などアイテムに
    関わる様々な情報はキャラクター毎の変数ではないので、サーバー上に1つあればよいはずです。
    (もし、現在の実装でキャラクター毎にアイテムの情報を持たせているとすると、HDDもさること
    ながら、メモリーの圧迫と不要なコピーでゲームの品質を下げている原因になるとおもいますが、
    さすがに、そんなことはないですよね 。。。)

    そこで、キャラクター毎に所持アイテムのIDと数のペアを配列で持たせると仮定すると、
     容量 = Chara x ( sizeof( Id ) + sizeof( NItems )) x MaxItem
      Chara: サーバー上のキャラクター数
      sizeof( Id ): アイテムのIDを格納するのに必要なByte数
      sizeof( NItems ): キャラクターがIDのアイテムを所有している数を格納するのに必要なByte数
      MaxItem: キャラクターが所有できるItem数の上限
    という式になると思います。
    現在の実装アイテム数はYGなどで調べるとNQ/HQの区別なしで5000弱ですが、
    うんと余裕を持たせて
      サーバー上のキャラクター数 50万
      アイテムの実装数 100万 ⇒ 3ByteのIDで格納可
      1アイテムあたりの最大所持数 1万 ⇒ 2Byteで格納可
      1人あたりの平均所持アイテム数 1万
    として単純計算すると、25GBになります。

    決して小さな数字ではありませんが、データベースに格納する場合のオーバーヘッドを
    考えてもHDDを増強しつづけるという量ではないのではないでしょうか。。。
    また、実装上の工夫で、省スペース化や高速化をする方法もいろいろあると思います。

    システム制約の上でどれだけ楽しい仕様にできるかを必死に考えられているのが
    痛いほどわかるだけに、もし開発サイドからの誤った情報で不要な制約ができて
    しまっているとしたら、余りに残念です。

    杞憂だとよいのですが。。。
    (2)
    Last edited by theca; 08-25-2011 at 02:07 AM.

Tags for this Thread