3DダンジョンRPGエディタを作るスレ (579レス)
3DダンジョンRPGエディタを作るスレ http://mevius.5ch.net/test/read.cgi/gamedev/1233369246/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
533: 520 [sage] 2016/01/16(土) 10:06:51.12 ID:nb4XakV3 3Dダンジョンに関する要求については、>>525-526で書いているが、 このプログラムを作成するに際して、より詳細な検討を加えている。 まず、迷路を保持するデータ構造について説明するため、 迷路を構成する最小単位を便宜的に「セル」と呼ぶとする。 1つのセルには、必須データとして、 ・セルの座標 x、y (xは東西方向、yは南北方向) ・セルの東西南北の境界表現(壁の有無、または扉) を持たせている。 このセルを複数集めて、1つのフロアマップを形成している。 複数のセルの管理にはリンクドリストを使用していて、 任意の形、任意の広さのフロアを表現することが可能である。 と言っても、1フロアあたりせいぜい100セル程度に留めておきたい。 また、必要がある場合に限り、セルには以下の付帯情報を記憶させることが できる仕組みになっている。 ・天井と床の穴表現有効化フラグ ・ダークゾーンフラグ ・セルの名前 ・イベント処理用スクリプト(任意行数のプログラムテキスト) 上述の試作プログラムでは、以上の情報を用いてマップデータの編集および 歩行移動テストが可能になっている。 http://mevius.5ch.net/test/read.cgi/gamedev/1233369246/533
553: 520 [sage] 2016/02/28(日) 21:57:23.90 ID:fYTROrM4 >>550 セル(部屋)をリストで管理する方法については>>533で述べたように、 広さや形、フロア間の相対的な位置関係を気にせずに ストレスなく作成、編集できるようにするための実装であるが、 方形配列に比べてアクセス効率が悪いデメリットがある。 しかし、これも仲間登録クラスの実装の問題と同じで、 今のPCなら速度的に大して問題にならないという理由で、 3Dダンジョンに限らず、拙作のドラクエ風ゲームでも採用している。 ただし、マップデータの保持がそうなっているだけで、 マップを表示する処理クラス内では、速度的な効率改善のため、 視野範囲内の壁や仕掛け要素を一旦、方形配列に抽出してから 利用している。 http://mevius.5ch.net/test/read.cgi/gamedev/1233369246/553
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.025s