[過去ログ] MMORPGをつくるお! (350レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
118: 名無しXPG ◆dffLbwc7XE [sage] 2006/03/32(土) 14:19:08 ID:tmwx2GXP(1/3) AAS
パケットの圧縮にDeflate/Inflateを使うことにします。
これはPNGの圧縮にも使われている方式で、ついでにPNG画像の保存も実装します。
でもフィルタリングとかめんどくさそうだなー。

球面世界のデータ構造は、頂点と辺と面と動的オブジェクト(何らかのリスト)で構成するのですが、
高さ情報は頂点に、地質情報は面に持たせるとして、
壁とか、木とか、岩とか、鉄とかの資源の情報をどこに持たせるかですね。
頂点と面の数が膨大になるので、とにかく1頂点・辺・面当たりのビット数を少なくしたい。
かといって何でも動的オブジェクトにしてしまうと、座標データを持たせなくてはいけないのでサイズが大きくなってしまう。
また、情報にアクセスする際に検索時間がかかってしまいます。
この選択は、その情報が世界にどの程度の密度で存在しているかにかかっています。(移動するものは動的オブジェクトしかありえませんが。)

ちなみに頂点数は40Mまたは160Mまたは640M、辺数は120Mまたは480Mまたは1920M、面数は80Mまたは320Mまたは1280Mを予定してます。
これは20面体の各面の3角形を4分割していくと、4倍ずつ(頂点数は(x-2)*4+2)に増えていくためで、
4分割を11回した時点で頂点数40M、辺数120M、面数80Mになります。
元の20面体の各面の1辺の長さを2kmとすれば、11分割した面の1辺の長さは大体1mになります。(球面に合わせて膨らませるためにもう少し長くなる)
12分割しても、4GB(OSによって使える領域が違いますが)のメモリ空間に何とか収まりそうなので、分解能は50cmくらいになるのかなー。
64ビットOSにすれば、もっとメモリ空間が使えるのですが、4GB超にするとハードの値段が一気に上がるので、今は4GBで考えています。
119: XPG ◆dffLbwc7XE [sage] 2006/03/32(土) 14:21:19 ID:tmwx2GXP(2/3) AAS
でも、20面体の各面の1辺2km(外接球1周12km)の世界では狭すぎないかとか、分解能50cmでは大きすぎないかとか色々考えます。
1周12kmというと、人間の足で1時間あれば1周できてしまう広さです。
船などを使えばもっと早いでしょう。
世界の広さは、対人戦(戦争)になったときに影響が大きいです。
遠征が簡単すぎると、攻守のゲームバランスを取るのが難しくなるためです。
また、弱小勢力がひっそりと国を発展させるのも難しくなるでしょう。
まあ、その辺は建造物を隠す魔法などを考えているので、多少は狭くても平気でしょうけど。

(以下分解能について長々と書きましたが、あまりに長く、冗長なので省略。)
120: 名無しXPG ◆dffLbwc7XE [sage] 2006/03/32(土) 14:25:45 ID:tmwx2GXP(3/3) AAS
分解能については2mくらいでも十分かもしれません。
まあ、実装してみてから考えましょう。

ちなみに動的オブジェクトはこの分解能の影響を受けません。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.065s*