ダンジョン自動生成
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
02/07/19 22:06ID:o6Bp.wT2どうやるんですか
0342名前は開発中のものです。
04/11/15 00:37:38ID:cKIxt0Ruでも空腹時の食料放出をしないと初心者が苦しいし。難しいところだ。
0343名前は開発中のものです。
04/11/15 13:38:14ID:o1Vlbcad段階的学習みたいに一番小さいものから順に発展させていくか?
0344名前は開発中のものです。
04/11/16 01:34:57ID:ipRZtLX5あったはずだ
0345名前は開発中のものです。
04/11/16 19:54:46ID:CI9NO0tG親切にありがとう。ゲットしましたー。
が、近々BREW端末に機種変する予定なのです(p_q)
auがJAVA ON BREW機を出してくれることを祈りつつ、
ダンジョン自動生成の実現に精進しまっす。
0346名前は開発中のものです。
04/11/16 21:57:42ID:P9enDA5fみんなで作るつもりなのか?ただ、順序を示すだけ?
0347名前は開発中のものです。
04/11/17 14:34:04ID:IMseoB+WBREWで開発しちゃったら勝手アプリは作れないんでないの?
Java on brewなんてもし開発されても配布元がKDDIのCPじゃないとアカンし
開発予定にもあがってないモン期待するんか?
作っても配布出来ないモン作ってどーするねん?あぁ売るのかw
0348名前は開発中のものです。
04/11/17 18:40:58ID:rA9IV7Dv言葉足らずでした。
Java on BREWを望んだのは、
アプリを作ったり売ったりの話ではなく、
Javaアプリで遊びたいってことです。
mobile rogue likeをゲットしたのも束の間、
BREW機に機種変してしまうんで。
あくまで淡い希望です。
最後の1行を前の文とくっつけたんでややこしかったですね。
誤解招いてごめんなさいです。
0349347
04/11/17 23:37:37ID:UoSgUdN/しかし、互換性がまるで無いっつーのもアレだよな。
お詫びにネタ投下。
ttp://www.doblog.com/weblog/myblog/26733
0351名前は開発中のものです。
04/11/20 19:25:46ID:qm4OblSH旧端末も手元に残ったんで一応mobile rogue likeできるっちゃできます。
0352名前は開発中のものです。
04/11/22 15:24:30ID:YKE/U/zAというわけでBREW版トル●コ担当よろりん。
0353名前は開発中のものです。
04/11/22 19:28:33ID:ZU3vvTqDBREWどころか、まだアルゴリズムの模索中なんで、
ゲームの体裁すら取ってないっす。
アルゴリズム完成したらEZアプリ(JAVA)でゲームにしよーかなーと。
できるのかな…
0354名前は開発中のものです。
04/11/22 20:11:16ID:bYbj4rLe0355名前は開発中のものです。
04/11/22 20:35:27ID:IGs/J4HR0356名前は開発中のものです。
04/11/22 21:30:17ID:Q0i9cxFu0357名前は開発中のものです。
04/11/23 01:10:55ID:uQgOaJX3そうやって人間育っていくのですよw
0358名前は開発中のものです。
04/11/23 18:21:14ID:r5d0JSDLおしいな。
最初はトロルじゃなくて巨人、そしてオークとレイスの間に幽霊が居る。
0359名前は開発中のものです。
04/11/25 16:53:11ID:eemIdysM風潮があるような気がしますがそれが一番望まれてるって事なんでしょうか?
それとも難しいからでしょうか?
0360名前は開発中のものです。
04/11/25 19:04:45ID:bNN/YI6jroguelikeをここまで遊びやすく換骨奪胎したかー、とシレンに衝撃を受けた俺の場合
シレン以外はあまり記憶にないけど。
0361名前は開発中のものです。
04/12/03 14:21:55ID:Qyr4NTOJ0362名前は開発中のものです。
04/12/05 00:24:43ID:zmFRbU8M0363名前は開発中のものです。
04/12/06 12:45:09ID:XGqr52Q8ダンジョン自動生成のところのコーディングを終えたところ。
こんな感じ。
ttp://www.geocities.jp/trashmexyz/roguex93/play.htm
開発報告スレに載せましたが、こっちのスレの方があってるかなと思って...。
このゲームで使ってるダンジョン生成のアルゴリズムは簡単に説明すると
下記の通り。
1) 2次元配列に適当に部屋を作る
2) 部屋を通路(Path)でつなげる
3) 通路が変になってないかを確認。変なところがあれば直す(例えば通路が
太くなって部屋くらいの大きさになったりしてるところ)
4) つながってない部屋がないかを、Recursive で確認。もしあれば最初から
作り直す
動作確認をしたブラウザは Winows XP の IE のみ。
JVMのバージョンは 1.4.2-b28。
テンキーで移動。斜め移動も可能。デバッグの情報が表示されてるけど
無視しちゃってください。絵は描けないんで、ネットで拾ったやつを使って
ます。
行き止まりの通路は作ってません。リリース版には入れるかも。リリース
予定は早くて2006年の年末くらい。
0364363
04/12/06 13:00:13ID:XGqr52Q82006年の年末 -> 2005年の年末
0365名前は開発中のものです。
04/12/06 14:18:10ID:/tS/nbd7Opera 7.5 + Sun Java Runtime Environment version 1.4 では
「Invalid Bytecode」のエラーになりますね。
0366363
04/12/07 11:56:57ID:NaF5wHrT訂正版を今アップしました。Opera 7.5 の環境は持ってない
ので確認はできませんでしたが。
0367名前は開発中のものです。
04/12/07 12:21:39ID:pHcKCsp7ttp://www.geocities.co.jp/Playtown-Queen/2574/down.html
0368名前は開発中のものです。
04/12/07 13:50:54ID:TS7A5yv3Opera 7.5 で見ました。ちゃんと動いてる様子。
0369名前は開発中のものです。
04/12/07 22:06:04ID:RerrmthA0370名前は開発中のものです。
04/12/10 08:53:30ID:9nn+RPio斬新な生成法ならともかく、棒倒し法なんて迷路生成アルゴリズムの中でも
広く認知されてる方だし、再帰処理無しで実現できるし、ガイシュツだし、
このスレで求められてるのは不思議なダンジョン系の
生成アルゴリズムだし今更ここにそれを貼る意図が判らん。
0371名前は開発中のものです。
04/12/10 08:55:39ID:oAhBbrDgここ以外は同意
0372名前は開発中のものです。
04/12/10 10:34:07ID:xXQCTLgmなんなら俺がローグ系のアルゴリズムを説明しようか?
0373名前は開発中のものです。
04/12/10 10:39:09ID:YvKdmYqn0374名前は開発中のものです。
04/12/12 15:35:10ID:wBr93c4Eこの際ぜひ熱く語ってください
0375名前は開発中のものです。
04/12/12 16:07:27ID:AcpQbbvN頼む
0376372
04/12/13 22:09:33ID:Rb5wRHewこのままじゃ年越せない香具師の為に希望者10人集まったらやったるよ。
あと8人な。
その前に何がわからんのか、解りやすく述べるよーに。
そこ詳しく解説したる。
0377名前は開発中のものです。
04/12/13 23:11:20ID:ZvpPKfOHトルネコやシレンにみられる、「rogueアルゴリズムだけでは作れないようなダンジョン」
の具体的な内容と、その作成方法、あたりが求められてた時期があったような。
でもrogueダンジョンをちゃんと作るのでもけっこう骨だし、作る途中で壁にぶつかった人のための
rogue解説が非常に有難いのはいうまでもない。
0378名前は開発中のものです。
04/12/14 07:28:23ID:poGq8Mnc・通路は部屋と枝分かれした通路を持つ。
以上の 2 ルールを再帰で書きましょう。
んで、部屋を1つ作れば勝手にニョキニョキっとローグダンジョン完成。
0379名前は開発中のものです。
04/12/15 22:31:04ID:lyT8gy6+解悦キボンヌ
0380名前は開発中のものです。
04/12/15 22:57:06ID:axE7iVzD解説を是非
0381名前は開発中のものです。
04/12/15 23:01:00ID:QSBnkci9解説キボン
0382名前は開発中のものです。
04/12/16 00:44:06ID:qi/2VfrX解説お願い
あと4人か
0383名前は開発中のものです。
04/12/16 01:09:17ID:vb9l5MzD解説を所望いたす
0384名前は開発中のものです。
04/12/16 04:45:02ID:0Jr2pFyq解説すればミンナ幸せというわけでキボン
0385名前は開発中のものです。
04/12/16 06:12:29ID:i5AsAUvc解説気盆ぬ
0386名前は開発中のものです。
04/12/16 07:14:41ID:I5NiXAvz0387372
04/12/16 13:38:02ID:Fe46NDmlどーもオマエらが解らないで困ってる部分が俺には解らないので掻い摘んで書く
まず、考え方から。
頭の中に方眼を用意しる!これが、マップの全体だ。
15x15ぐらいのな。
つまり、225部屋のマスが有るわけだ
もちろん通路もこの中にしまう。
視覚的に部屋なのか通路なのかは捉える方の錯覚にしかすぎない。
これが通路に見えるタイプ(この場合は縦方向)
■■□■■
■■□■■
■■□■■
■■□■■
■■□■■
部屋(と錯覚してるのは)こんなタイプ
■■□■■
■□□□■
■□□□■
■□□□■
■■□■■
こういう風に5x5とかでテキトーに部屋のパーツを作れ
通路タイプで曲げた時はちゃんと接続できるようなパーツも作れ
複雑なダンジョンつくりたきゃ沢山つくれもちろん7x7や9x9の方がいいぞ
0388372
04/12/16 13:42:25ID:Fe46NDml次に繋ぎ方。
まず最初に、全体マップにスタート位置を決めれ
そしたら、そこに部屋を置く
このとき次に通路タイプを置く向きを決めてそれにあったタイプを
となりに置いてやる
0389372
04/12/16 13:46:17ID:Fe46NDmlそしたら次は通路タイプに繋がる部屋を置いてやる
このとき選んだタイプの繋がる方にまた通路タイプを置いてやる
長い通路にしたいときは通路タイプを2回置いてやれ
以下、これの繰り返し。
ぶっちゃけ通路をどっちに延ばすのかはランダムできめれ
0390372
04/12/16 13:52:07ID:Fe46NDmlローグ系とは作り方が全然違う。
もちろん、7x7の部屋もあり、15x15の部屋もありと混ぜてやれば
大部屋とか入り組んだのとか自由に作れる。
気が向いたら他の方法も教えてやるよ
これ読んで意味わかんなかったらあきらめれ
中古屋にトルネコ買いにいって観察しる!
0391372
04/12/16 13:57:00ID:Fe46NDml通路タイプを置くときに1回置いたとこにまた置くと行けない部屋ができるから
交わる時にはちゃんと交差点タイプに置き換えること
もしくは、交差点が出来ないよーに通路を延ばす方向を選べ
大本になる全体マップをみればぶつかるかどーかはすぐわかるはず
0392名前は開発中のものです。
04/12/16 16:05:27ID:FUU0Kk700393名前は開発中のものです。
04/12/16 16:28:52ID:UoUSh1EMCかJavaで実装例見せてください。もしくはもう少し具体的な擬似コードお願いします。
0394名前は開発中のものです。
04/12/16 16:41:54ID:FMzVG2qN0395名前は開発中のものです。
04/12/16 18:22:24ID:2Rv9bxWb0396名前は開発中のものです。
04/12/16 20:40:25ID:0BfwHw88内壁の厚さをランダムで変化させて、
平行に並ぶ通路と通路の間の距離を広くして、
その上に部屋を置いていくと少し簡単にならないだろうか?
分かりにくくてスンマソ
0397372
04/12/17 01:59:17ID:/jyWbHRK指定階数になったらあらかじめつくっておいた配列マップを
マップ配列にぶち込めばイベント起こしやすい
だから、トルネコもこの方式になったんでないか
トルネコは大きい輪っか(口みたいなの)もデータでもってるけどな
393
自分でトルネコ作るなら俺はこの方法とらないけど作り込めば
かなり良いマップは作れるよ バイトコードでデータもってくれば
自動生成以外にもそのまま使えるしな
大本のマップを作ってって概念とメリットが把握できないなら
でっかい配列作ってもいいよ[100][100]とかな
その中に等長サイズのパターンデータを入れるか、倍数のデータなら解りやすいだろ
晒した方法観てピンとこないならこの方が簡単かもな
地図をゲーム内で表示する際とか、部屋の数とかの事もこの時点から考えておけ
実際のソースを晒すにはこの板は狭すぎ
395
わかってるならやってみれ
やった上でデメリット、メリット語ってみれ
396
その方法で出来たマップをよくみてみろ
どーせRPGで使うんだろうが、ゲームとして面白味は皆無だ
パズルゲーならアリだけどな
RPG作るんなら、実際にリアルの洞窟なり鍾乳洞なりを妄想するか
実際に行ってこい
別なロジックもまだまだあるが、まだ晒す気にはならん
393,396 ガンガレ
0398名前は開発中のものです。
04/12/17 09:48:20ID:FugbEZQk0399372
04/12/17 11:28:08ID:UZmelf3Mだって、読んでもまだ解らないヤツがいるからこのスレがあるんだろ?
それとも、オリジナルのルーチン晒せってスレか?ここはw
0400名前は開発中のものです。
04/12/17 11:32:14ID:s337jfOVnethackのダンジョン生成を説明して欲しいな。
rogueなんかよりは遥かに高度なダンジョンを生成してくれてる。
0401名前は開発中のものです。
04/12/17 11:50:06ID:cLS59+MC目が肥えたせいかローグのダンジョンはなんか無味乾燥に見えてしまう。
0402372
04/12/17 13:44:18ID:N3mlXMLX0403名前は開発中のものです。
04/12/17 17:00:28ID:cLS59+MC0404名前は開発中のものです。
04/12/17 19:48:15ID:W+xg7vzEせめてこのスレに書かれているようなローグ解析&解説ぐらいのことは
してからエラそうなことをいってくださいよ。
0405名前は開発中のものです。
04/12/17 20:03:23ID:x2PDKPqIttp://www.hexatron.com/rogue/
0406名前は開発中のものです。
04/12/17 22:52:45ID:cLS59+MCいや自分で実装したいんです。図入りで解説するんでそのときは見てください。
0407名前は開発中のものです。
04/12/18 04:26:54ID:Wo0srhjV気にするな。彼はチェンSoftのProgrammerなんだ。それだけが彼の生きている印なのだから。
0408名前は開発中のものです。
04/12/18 07:28:19ID:VS/g54MY0409名前は開発中のものです。
04/12/18 17:07:08ID:6wvucy9y0410名前は開発中のものです。
04/12/18 17:35:23ID:NINQi9jkローグライクの開発(解説)しているサイトでおすすめなのあったら教えてくだあい。英語でいいです。
0411名前は開発中のものです。
04/12/18 17:36:20ID:NINQi9jkRoguelike News
ttp://web.archive.org/web/20010405204554/www.skoardy.demon.co.uk/rlnews/devmain.html
は知ってます。
0412名前は開発中のものです。
04/12/18 18:18:12ID:brPxtXDU脳内シミュレートしたけど、簡単にできそうだぞ
部屋を作って、部屋同士を通路でつないで
通路の長さと曲がり具合は、係数で制御して、それかr
0413名前は開発中のものです。
04/12/18 20:35:48ID:vqBa0na6どこらへんの、なにがわからないのか、わかってる?
C言語がわからんというのはナシで
0414名前は開発中のものです。
04/12/18 20:57:46ID:NINQi9jkソース見ても細かいところで何やってるかわからないんですが。その大雑把にはわかります。
>>413
9つの領域に分けてランダムな大きさの部屋作るところまではできたんですが。
ドアつけて道でつなぐとこがよく分からない。ローグのソースコメントまったくないし・・・
0415名前は開発中のものです。
04/12/18 21:20:41ID:vqBa0na6通路については>>203あたりから。
0416名前は開発中のものです。
04/12/18 21:24:54ID:NINQi9jkd
一応このスレ全部読んだんだけどね・・・
もう一回読み直して1日中考えてみます。いつかあっそうかってわかるときがあるかも
0417名前は開発中のものです。
04/12/19 02:06:47ID:cKlDBmlQ□ 空間
■ 土
■■■■■■■■■■■■■■■
■□■□■□■□■□■□■□■
■■■■■■■■■■■■■■■
■□■□■□■□■□■□■□■
■■■■■■■■■■■■■■■
1個飛ばしで空間を配列←初期状態
スタート地点の空間を決めて、隣(ランダム)とつなげる(=土を掘る)
ただし、つなげる先が4方を土で囲まれていなければならない
どこも掘れなくなったら、掘れる場所まで通路を戻っていく
(戻るために、掘るために通っていった通路の全座標を覚えておくこと)
戻るための座標の覚え方はスタックの概念を知らないと厳しいかも
スタート地点まで戻ってしまったら、それは掘れる場所は全部掘った場合のみなので終了
これで最初に1個飛ばしで存在した全空間がつながる
わかってもらえたかな?
0418生徒α
04/12/19 03:05:58ID:mkdjQU320419名前は開発中のものです。
04/12/19 03:47:15ID:kGW+p0Ldローグ風なら
●部屋や通路や壁
■通路や壁
□壁
●■●■●
■□■□■
●■●■●
■□■□■
●■●■●
これを穴掘りで通路つくる(=全部の部屋がつながっている)。
行き止まりばかりになるので、通路をつけたす。
これを元に部屋を置いて通路をつなげて完成。
さらに簡単な棒倒しでもいけるっぽい
ttp://www.asahi-net.or.jp/~kh4s-smz/midp/roguelike/random.html
0420名前は開発中のものです。
04/12/19 12:18:39ID:ffh3rjeg単純に、2つの部屋をつなげるだけ。
それぞれの部屋の壁のランダムな位置に扉をつける。
その扉を通路でつなげる。
どの部屋&扉の組み合わせでも、クネクネと2回曲がればたどり着ける。それだけ。
だからローグの場合、基本的な通路にクネクネクネクネ...したものがない。
0421名前は開発中のものです。
04/12/19 15:00:58ID:P175sgFg洞窟のようなものもあるし、結構バリエーション豊富だ。
0422名前は開発中のものです。
04/12/19 18:13:08ID:cKlDBmlQなんか遊べるものウプしてくれるの?
0423名前は開発中のものです。
04/12/19 18:25:40ID:99IBDRAn0424名前は開発中のものです。
04/12/19 19:16:46ID:P175sgFgここを見た誰かが作るでしょ。
俺も多分作る。
さらに共有化された知識は、将来の誰かにとっても有益になる。
情報の共有化は、より高度なゲームが作られることを期待できる。
0425名前は開発中のものです。
04/12/19 21:07:31ID:gAUF82dIいいこと言うな。
0426名前は開発中のものです。
04/12/20 03:42:01ID:r12pJ3eaあるよ。このスレでもいくつか紹介されてるし。
オレは>>226のリンク先で紹介されてるダンジョン(Wiz風)
に感動したんで、コード拾ってきて解析中。
つーか、このコード、ローグのより読みやすいわ。
コメントもしっかり書いてあるし。
しかも、ダンジョン生成ルーチンが、クラスで提供されてるから
自分のプログラムに組み込んで動かすだけならすぐにできるよ。
参考までに…
・組み込んでコンパイルするのに最低限、必要なファイル
gameutil.h、gameutil.c、
jbmazemask.h、jbmazemask.cpp、
jbmaze.h、jbmaze.cpp、
jbdungeon.h、jbdungeon.cpp
・主に利用するクラス
JBDungeonOptions、JBDungeon
必要に応じて、JBDungeonRoom、JBDungeonWall、JBDungeonDatumってとこか?
ライセンスとかは各自で確認ヨロ
0427名前は開発中のものです。
04/12/20 08:38:06ID:gXD9M5+eこのページ見たけどソースあるの気づかなかったorz
さっそくダウンしました。
0428名前は開発中のものです。
04/12/20 12:11:38ID:glvff/Ex0429名前は開発中のものです。
04/12/20 21:49:42ID:gXD9M5+e0430426
04/12/21 05:24:29ID:XvOexZq5ん???
オレの書き方がまずかったか…
読み返してみると、後半部分
解析する際のヒントのつもりが、
パクって利用する手引きに読めんこともないな…
組み込みも簡単だし、これ使っときゃいいじゃん!
て言ってるわけじゃないんで、念のため。
基本スタンスは>>424さんが言ってるような感じでヨロシク
と言うことで、このダンジョン生成プログラムについて
ざっと見た感じ、アルゴリズムは>>124のアイデアに近い希ガス
1.オーソドックスな迷路生成アルゴリズムで通路を作成(この時点ではただの迷路)
2.通路を二段階で整形(部屋をイイ感じで配置するための下準備?)
3.迷路のサイズを2倍+1にして通路を引き伸ばす(>>128でビンゴか?)
4.部屋同士が重ならないように配置(この時点で>>127みたいな状態になることがある)
5.壁を生成(これにより>>127みたいな状態が回避される)
まだちゃんと読んでないけど、2の仕組みが良くできてるとおもた。
あと、これ三次元にも対応してるっぽい(Z座標が存在する)。
まだ試してないんでどういうダンジョンが生成されるのかわからんが
0431名前は開発中のものです。
04/12/21 12:49:36ID:JVBcPoT41マスを3x3マス分として考えて、通路は1マス分に縮小。
んで、部屋と通路の扉部分を結合。
ってしたらrogue likeにも使えないかな?
0432426
04/12/22 06:03:37ID:M7D/hlJXそのアイデア、試しに実装してみました。
結果としては、それなりに使えるんじゃないかな?と思います。
ただ通路に関しては、どうしても直線的になりがちで
また部屋に密接して作られちゃうので
見る人によっては、面白みに欠けるとみなすかも?
一応、生成オプション弄って使えそうなやつを作ってみたんで
興味のある方はどうぞ
ttp://up.isp.2ch.net/up/2a3bb0ad177e.txt
0433名前は開発中のものです。
04/12/22 18:54:05ID:vtsQN5YFダンジョンゲーとしては各フロアにバリエーションがあったほうが楽しいから、
一味違うフロアを生成できるよういろいろなアルゴリズムを持つのは良いことだね
0434名前は開発中のものです。
04/12/22 21:18:29ID:OzD0Okhk0435名前は開発中のものです。
04/12/26 00:26:20ID:Exh1T9w9まだ不具合あるので画像だけです。
ttp://tell-me.sakura.ne.jp/test.gif
0436名前は開発中のものです。
04/12/26 05:49:53ID:H6gPAOqHそこを歩くだけのやつでもupしてん
・・・広いな・・・
0437名前は開発中のものです。
04/12/26 08:30:30ID:U7hutUImいいよいいよー
0438名前は開発中のものです。
04/12/26 11:36:20ID:4W3IAVrJ広過ぎて従来のトルネコ&シレンの腹制度だと2Fで食料なくなりそうだなw
0439名前は開発中のものです。
04/12/26 18:40:24ID:U7hutUImバランス取り方次第かと
0440名前は開発中のものです。
04/12/27 02:49:08ID:/qB0yEjoNetHackとの差に泣ける。
NetHackだと照明屋に蝋燭しか無い事があるし。
まぁ蝋燭が足りないよりはマシなんだが。
0441名前は開発中のものです。
04/12/27 15:37:31ID:oLkGYQCRNetHackだと蝋燭ないとイベントのせいでクリア不可能だし、
序盤は空腹が天敵だもんな。
その点、*bandは、初期の町で食糧や空腹の巻物が買い放題、
照明も買い放題の上、途中で消費なしの永久光源が拾えるしな
■ このスレッドは過去ログ倉庫に格納されています