[過去ログ] 【ダンジョン】 自動生成 2 【地形】 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
130: 2008/01/04(金)01:35 ID:0eO4bikW(1) AAS
だとしたら文系の膨大な資料が必要になってくるだろうけど
たぶん文系教授はものごっつ嫌がりそうだ。
131: 2008/01/04(金)01:58 ID:osyt6r0V(1) AAS
文系教授がネット上に公開している↓のような資料はあった。

物語要素事典
外部リンク[html]:www.agu.ac.jp
132: 2008/01/10(木)04:35 ID:PkUQ+U0a(1) AAS
SCIgen - An Automatic CS Paper Generator
外部リンク:pdos.csail.mit.edu

論文自動生成機らしい
英語なので、評価できんけど
133
(1): 2008/01/12(土)23:58 ID:Sk9TeTsY(1) AAS
ってかスレ違いはいい加減にしろ
134: 2008/01/13(日)03:30 ID:X4JKR+6e(1) AAS
>>133
おまはや
135: 2008/01/13(日)05:42 ID:t2Ib2ko/(1) AAS
いいんじゃない?
前スレもダンジョン以外をやって今回スレタイ変わったんだし
136: 2008/01/13(日)09:32 ID:WGuhQnKH(1) AAS
ここはマップ生成スレ。
137: 2008/01/13(日)13:43 ID:6dlu7jBB(1) AAS
でも、新スレ立てようとしたとたん、こちらに誘導されるだろうなw
138: 2008/01/13(日)15:27 ID:qr0K3hAQ(1) AAS
マップだけに限定したい理由がわからん
139: 2008/01/13(日)23:38 ID:V1w7zyd4(1) AAS
言いたいことはわかるが、別スレ立てたって見るメンバー同じだろ
140
(2): 103 2008/01/14(月)00:40 ID:OMKohYtz(1/3) AAS
■ダンジョン自動生成アプリ
外部リンク[zip]:gamdev.org
画像リンク[png]:gamdev.org

■動作環境
・.NetFrameWork 2.0 が動くこと

■操作方法
ReadMe読んでください
省1
141: 2008/01/14(月)01:46 ID:2cfS3gf5(1) AAS
GJ
142: 2008/01/14(月)08:58 ID:KMhCtH8L(1) AAS
>>140
いいね!
部屋だけの生成だったのか
繋がってない部屋にはうねうねした通路を
渡してやると完璧かも
143
(1): 2008/01/14(月)11:09 ID:X3lp6un1(1) AAS
ヘルプにあるのは矩形のことだよね。
小さい四角を重なり合うように配置している?
大きくすると時間かかるのはコリジョンチェックのため?
どういうアルゴリズムでやっているのか興味がある。
144: 2008/01/14(月)16:34 ID:OMKohYtz(2/3) AAS
>>143
あー恥ずかしい、ずっと たんけい って読んでた そりゃ変換できないわな

■アルゴリズム
1)フィールド(200x200のマップの描画先)からランダムで一点選び、基点とする
2)左右、上下をそれぞれランダムでどちらかに絞り、矩形サイズ定数内の値をランダムに取得して矩形のX,Yを得る
3)基点から 2) で求めた値を使って矩形を生成。このとき、矩形がフィールドからはみ出すことがあれば、 2) からやり直す
4) 3) で生成した矩形内からランダムで一点選び、基点とする。矩形数が設定値に達していなかったら 2) へもどる
省3
145: 2008/01/14(月)16:52 ID:OMKohYtz(3/3) AAS
■ダンジョン自動生成アプリ(誤字修正版)
外部リンク[zip]:gamdev.org
146: 2008/01/14(月)20:39 ID:dLp72EAg(1) AAS
どうせ1も2もランダムなら、2を先にしたらどうかな
そうすれば戻りはなくせる
もちろん結果は変わってしまうけど
147: 2008/01/19(土)22:54 ID:lZOHlVzA(1) AAS
>>140
GJ
Shash&Hack系のダンジョンに合いそう

つながらねーと思って繰り返すと、それっぽくなるんだよなー。
面白い
148: 2008/01/28(月)00:09 ID:icdx03N7(1) AAS
■ダンジョン自動生成アプリ
外部リンク[zip]:gamdev.org

■動作環境
・.NetFrameWork 2.0 が動くこと

■操作方法
ReadMe読んでください

部屋の連結などを実装
省1
149
(2): 2008/01/29(火)16:53 ID:ubNaezab(1/2) AAS
異常にページフォルトが頻発してるね(暴走してるのかと思って一瞬焦ったお・・)

プロファイラでメモリ使用状況見てみたけど(個=インスタンス数)
・全体 - 5.670.000個 - 約117M
・Dictionary<T,U>.Entry - 270,000個 - 41M(34.2%)
・DungeonAutoCreate.Data.arrow - 3,300,000個 - 38M(32.2%)
・Int32 - 1,600,000個 - 18M(15.5%)
・Int32[] - 270,000個 - 13M(10.5%)
省10
150
(1): 2008/01/29(火)20:19 ID:ubNaezab(2/2) AAS
既存のコードを極力変更せずに対処してみた

Dictionary<Data.arrow, Block> 互換の辞書クラスを作成
・IDictionary<Data.arrow, Block>を実装

> ArrowDict.cs
・Dictionaryとして使えるが、実態は配列として実装されている
internal class ArrowDict : IDictionary<Data.arrow, Block>
外部リンク[zip]:gamdev.org
省7
151: 2008/01/29(火)23:14 ID:T50arNCm(1) AAS
疑似生命体に掘らせるアイデア。

最初は部屋一つとそこの主である親が一つ。親は通路を掘る子供を作る。
子供はある程度通路を掘ると、エネルギーが貯まって親になり
そこに新しく部屋を作り、動かなくなる。そして通路を掘る子供を作る。

別な部屋に突き当たった子は、その部屋の主に吸収されて消滅。
吸収した親は増えたエネルギーのぶん部屋を大きくする。
152: 2008/01/29(火)23:49 ID:Pi9FjTVd(1) AAS
面白そうだな
153: 2008/01/30(水)14:31 ID:JO1v1kVl(1) AAS
全部壁の状態から 掘り進めるってアルゴリズムはあったけど

>吸収した親は増えたエネルギーのぶん部屋を大きくする。
ってのはいいな
154
(1): 2008/01/30(水)20:06 ID:haTlidy2(1) AAS
>>149-150
占有メモリがかなーり減りました。サンクス。
Dictionaryのパフォーマンスがよろしくない、というよりenumの使い方がまずかったんだろうか。

>330万インスタンスあるData.arrowってのも気にはなるけど、何で辞書がこんなに大量に使われてるの?

もうお察しかもわかりませんが、Data.Arrowは方向を示すenumです。(ナナメ有り上下左右の8つ)
マップチップ(Block)のインスタンスに Dictionary<Data.Arrow,Block> を持たせて、マップチップの隣接を表現しよう、という考えです。
155: 2008/01/31(木)01:02 ID:cyh1Enm0(1) AAS
>>154
お役に立てたようで嬉しいです。
# 解決の為にコードを覗き見したのはすまなかった。

enumの使い方は特に間違ってないと思いますよ。

今回のケースでは"大量の辞書を使用した"のが直接の問題ですかねぇ
・辞書自体がインデックスを管理したりするためにメモリを消費する
・後から追加するために余分な領域を確保する(コレクション全般)
省6
156: 2008/02/25(月)11:00 ID:ErmfSiFs(1) AAS
保守
157: 2008/03/18(火)12:55 ID:h6Yy+dcr(1) AAS

158
(1): 2008/03/18(火)22:15 ID:Ncc283w3(1) AAS
シナリオ生成で思い出したが、少女漫画の恋愛ものの話が
どれもこれも似たり寄ったりすぎるので、恋愛ストーリーを
自動で作成できないかと考えてた時期があったな。

しかも物理的なシミュレーションを使用www
線で結んだ距離で縁を、好き嫌いを引力斥力に設定。
さすがに他のパラメーターが多すぎて諦めたが。
159: 2008/03/18(火)22:29 ID:7C0sKKNU(1) AAS
>>158
韓流ドラマもいけそうだなw
160
(2): 2008/03/19(水)09:41 ID:RshlZjYv(1) AAS
恋愛ストーリー自動生成だったら
18禁ノベルの濡れ場シーン自動生成のほうがまだ簡単そうだな。
161: 2008/03/19(水)11:48 ID:4ojlhiyF(1) AAS
>>160
っ七度文庫
162
(1): 2008/03/19(水)13:22 ID:iyq7/Nu/(1) AAS
あれって制限版以外入手できるの?

どっかで必ず打ち砕かれるのには笑った。
163: 2008/03/20(木)05:27 ID:3mOwhcLn(1) AAS
>>162
なんとかの賞を取ったシナリオと、シナリオと独立して動作するリーダーがダウンロードできた気がする。
そのシナリオだと18禁シーンもそれなりに描写があったような。
164
(2): 2008/03/25(火)23:18 ID:Jw4j25nh(1) AAS
ダンジョンゲームプログラミング
外部リンク:www.amazon.co.jp

内容分からんがとりあえず買ってみるわ。
165: 2008/03/26(水)00:53 ID:4A1mGavU(1) AAS
どうやらここの分野+αっぽいけどレポお願いします。
166
(1): 2008/03/26(水)01:17 ID:nCV15gel(1) AAS
>>160
これがほんとの男女ンげーむ
167: 2008/03/26(水)19:38 ID:GuggIAK/(1) AAS
AA省
168
(1): 2008/04/07(月)23:02 ID:aFuiPKn1(1) AAS
>>164買ったわ。

生成に関してはここ見てる人には目新しいことはないかもしれない。
169: 2008/04/08(火)01:14 ID:IH5KFq6M(1) AAS
ここで生成関連ってRogueとあと他にあったっけ。
170
(1): 2008/04/08(火)08:13 ID:WqF7UXjl(1) AAS
>>168
ローグライクのゲームを作ってみたいって人に薦めるのは適当?
171: 2008/04/10(木)00:43 ID:lumidyYw(1/2) AAS
>>170
いいんじゃね?
ダンジョン、敵、移動方法、アイテムなんかに触れてたし、
ダンジョンゲームをこれから作りたいって人には導入としていいと思う。

こういう本ではあたりまえだけど、最低限のプログラムの知識があるのは前提ね。
172
(1): 2008/04/10(木)19:07 ID:QtItRuRv(1) AAS
>>164 のダンジョン生成のアルゴリズム何だった?
そのうち立ち読みしてみるが…
173: 2008/04/10(木)21:51 ID:lumidyYw(2/2) AAS
>>172
・全ての区画に壁がある状態を始めに作って、
そこから各区画から壁を一枚取り除く

・一つの大きい部屋を半分に区切る。 一方の部屋をさらに半分に区切る。 何回か繰り返す。
区切った時の境界に向かって道を作る

余談だけど、流石にランダム生成ってだけあってMT法の紹介はあった。
174
(1): 2008/04/11(金)01:01 ID:sQH8+WJ6(1) AAS
ひょっとしてその2種類だけ?
洞窟風ダンジョンの作り方とかそういうのとか無かったの。
175: 2008/04/11(金)23:14 ID:1ybktL4t(1) AAS
>>174
ない。 その後は他の話になる。
176: 2008/04/12(土)01:32 ID:Zbgrn6lI(1/2) AAS
するとこのスレ的にはあまり面白くない本かもな
177
(1): 2008/04/12(土)01:41 ID:8nY+ZFqq(1) AAS
強いて言えば移動方法かな。
それはどうよ。
178: 2008/04/12(土)01:49 ID:Zbgrn6lI(2/2) AAS
移動方法?
2Dのスプライトをずらして云々とか?
179: 2008/04/12(土)17:37 ID:FLaYueYh(1) AAS
移動方法ねぇ。 斜め移動は判定を加えないとすり抜けちゃうから気をつけてね、位か。
180
(1): 2008/04/13(日)00:10 ID:VNOh5k7z(1) AAS
穴床
床穴

だったらすり抜けOKだけど

壁床
床壁

だったらすり抜けは不可。

壁床
省2
181: 2008/04/13(日)01:04 ID:iWmiDLX3(1) AAS
>>180
それも、不可だね。
182: 2008/04/13(日)01:45 ID:2scEuJqa(1/2) AAS
ダンジョンの仕様次第だな
183
(1): 177 2008/04/13(日)03:34 ID:D/ezqLyq(1) AAS
171も多分そうだと思うけど敵の移動よ(泣)。
未読だからひょっとすると本当に@の移動かもしれないけど。
184: 2008/04/13(日)04:03 ID:2scEuJqa(2/2) AAS
あー。
馬鹿のように@に寄っていくのではなく
ときどきは乱数的に動くとよいとかそういう話か
185: 2008/04/13(日)17:59 ID:+mxfzAK9(1) AAS
>>183
自キャラも敵キャラも扱ってるよ。

トラッキングアルゴリズムを利用して自キャラに近づいたり、体力が減ったら逆に自キャラから離れたり。
ページ数的に何種類も掲載できないのかもしれないし、作者が単に知らないのかもしれない。
186
(1): 2008/04/14(月)10:11 ID:U/+nV06X(1) AAS
@で話が通じてるこのスレは居心地が良いなw
187: 2008/04/14(月)21:17 ID:Oh7heXaP(1) AAS
>>186
確かに@って普通意味分からないよね
188: 2008/04/15(火)00:47 ID:qTt4TZlP(1) AAS
ぐぐって調べようとしてもまず無理だしな
189: 2008/04/15(火)17:51 ID:Gsie4GoD(1) AAS
@の中の人は a

犯人はヤス
190: 2008/04/22(火)00:52 ID:JaVu6xi2(1) AAS
やっと立ち読みできたけどなんか物足りない。
出だしからRogueのヘビは's'とか書いてあるし、まぁ気持ちは分かる。
191
(1): 2008/05/23(金)21:25 ID:m3SMzaPs(1) AAS
町並み自動生成っぽいもの。
タイトル絵の下のSMALL・MEDIUM・LARGEで別画面JAVAによる自動生成。
ほっておくと、どんどん細かくなる。
外部リンク[php]:www.complexification.net

再帰で描画するJAVAソフトのうちの一つの模様らしい。
外部リンク:www.complexification.net
192: 2008/05/24(土)00:05 ID:bUApjuE7(1) AAS
町並みに見える模様を描いてるだけにしか見えない
193: 2008/05/24(土)04:41 ID:LhwHWrjW(1) AAS
輪郭線を適当に太らせて道にすれば本物の町並み
194: 2008/05/25(日)01:57 ID:RMqyGIJm(1) AAS
これいいな
でもここまでリアルだと逆に
この無秩序で均等なスプロールぶりが薄気味悪くなってくる

ロボットがあまりにリアルだと逆に薄気味悪くなるのと同じか
195: 2008/05/25(日)10:47 ID:zLdTr8ko(1) AAS
適当に蛇行させてある程度でストップさせればいいかも
196: 2008/05/27(火)07:19 ID:193EKqKt(1) AAS
JavaじゃなくてProcessingじゃん
手軽さが素敵よね

このコード自体は、大きさに意味付けしにくそうだよな
ある段階で建物の単位固定して埋め尽くすロジックに切り替えないとゲーム転用は無理かなー
197: 2008/05/28(水)01:13 ID:v7lt4WzW(1/2) AAS
なんか昔ちょっと作って放置してたやつがあったから
改造して自動生成にしてみた
外部リンク[html]:www11.axfc.net
pass: @
198: 2008/05/28(水)20:46 ID:XTYEcsnc(1) AAS
徐々に移り変わる様子を眺めるのは楽しいな
199: 2008/05/28(水)23:40 ID:v7lt4WzW(2/2) AAS
Wizardry系のゲームでこの中を歩きまわったら
楽しいかもなって思ってる
200: 2008/05/30(金)12:43 ID:3NyhZgg4(1) AAS
オートマッピングありでも無意味になるのが、ちょっと楽しそう。
201: 2008/05/30(金)13:15 ID:2xfSftaX(1) AAS
洞窟系のダンジョンと言うより、
町の中って感じだね。

PC版のAD&D思い出した。なつかすぃ。
202
(2): 2008/06/05(木)00:19 ID:Td2FN367(1) AAS
191のやつC#に移植してみたらブラウザより遅くて萎え。
Javaより遅いなんて。

ところで、これで生成された画像を見てて、
ブロックごとに適当な高さを設定して3Dで俯瞰できたら町並みっぽくて面白いんじゃないかと思った。
203: 2008/06/05(木)00:26 ID:tizdosBH(1) AAS
あー、斜めに見ている感じで画面を横へ引きのばすのと
色をつけてるところを高さにおきかえて
その高さの分だけ上にずれた場所へプロットするみたいな。
陰線処理ができればできるような
204: 2008/06/05(木)07:32 ID:vIW8vPrg(1) AAS
C#はJavaより遅いのは普通だろ。
205: 2008/06/05(木)17:30 ID:XY25gCyE(1) AAS
>>202
体感速度に差が出るほど遅いってのは考え難い。
どこが遅いのかプロファイルしてみた?
206: 202 2008/06/06(金)01:35 ID:wpqXPDRQ(1) AAS
MSのサイトからCLRProfilerなるものをもらってきたけどまだ使ってない。

効率とか全然考えてなかったけど、遅いのは多分ピクセル描画かなぁ。α合成毎回計算してるし。
ヒマだったらManaged DirectXででもやってみよう。
207: [sage p=dungeon] 2008/06/13(金)11:29 ID:fRpYBYI7(1/2) AAS
結構いい感じにできたと思うけど、どうじゃろ

外部リンク[zip]:www.tell-me.sakura.ne.jp
208: 2008/06/13(金)11:33 ID:fRpYBYI7(2/2) AAS
あげときます
209: 2008/06/13(金)12:05 ID:hkP7hw1T(1) AAS
パスを掛ける意味が分からない
やましい事でもあるなら別だけど
210: 2008/06/13(金)15:33 ID:MhKjqWUa(1) AAS
すごいです!ソースきれー!(ここまで書くのが普通なのかな?)
家に帰ったら中身をゆっくり見てみます
1-
あと 792 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.021s