[過去ログ] 【ダンジョン】 自動生成 2 【地形】 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
324
(3): 2009/08/05(水)00:07 ID:UG9dNowM(1/2) AAS
最近ローグ系のゲームを作り始めたんですが、いきなり詰まってしまいました。
皆さんはダンジョンをどういうデータ構造で作っているんでしょうか?
最初、ダンジョンの大きさの2次元配列に、床・通路・壁のどれかを入れていこうと思ったのですが、
同じフロア内の敵のみにダメージなどということを考えると、部屋クラスが必要だろうと思いました。
そして部屋クラスを作り、持つデータは部屋の座標・サイズにしたのですが、
風来のシレンでいう、つるはし・大砲・大部屋の巻物などの壁を破壊するものがありますよね。
それを考えると、部屋は長方形とは限らないから座標とサイズを持ってもダメじゃないか?と訳が分からなくなりました。
省2
326
(1): 2009/08/05(水)01:57 ID:djmbzU5s(1) AAS
>>324
俺が昔、ローグライクRPGを作ったときは、
「ダンジョンの大きさの2次元配列」と「部屋クラス」の両方を使ってた。

つるはし・大砲で壁を破壊したときは2次元配列の壁だったところを通路に変更するだけで、
部屋クラスのデータは変更しない。
(壁を壊したとき、そこは通路扱いで、部屋の一部にはならない)
大部屋の巻物を使ったときは、2次元配列を床で埋め尽くして、全部屋クラスを破棄し、
省5
327
(1): 2009/08/05(水)05:40 ID:8C+6rJYo(1/2) AAS
>324
ちょっと前に作ったときは、部屋情報はマップデータとは別に部屋構造体を用意して、
マップ作成時に部屋データもいっしょに作成。
つるはしとか壁を破壊する系は実装しなかったけど、やるとしたら破壊した場所は
全部通路認定。これが一番楽。もし、破壊した場所も部屋認定したいなら、
そもそも長方形以外の形も扱える部屋情報が必要になるからね。
330: 324 2009/08/05(水)15:16 ID:UG9dNowM(2/2) AAS
>>325-329
皆さんレスありがとうございます。なるほどと思うことばかりです。

2次元配列に部屋ID・通路・壁・壊せない壁を入れる。
壁破壊が起こったときは全て通路にする。(大部屋の処理は別に作る)

これで作ろうと思います。
アドバイス本当にありがとうございました。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.521s*