2013年17ゲ製作技術30: 【ダンジョン】 自動生成 2 【地形】 (801) TOP カテ一覧 スレ一覧 2ch元 削除依頼
TRPG風コンピュータゲームのおもしろさ (809)
■ LiveMaker スレッド6 ■ (515)
ゲームプランナー (725)
【我妻】未来日記のゲームつくろうぜ【由乃】 (266)
2ちゃんSRPG制作スレッド (129)
【pygame】pythonでゲーム製作【ぱいがめ】 (668)

【ダンジョン】 自動生成 2 【地形】


1 :2007/06/19 〜 最終レス :2013/09/22
ランダムでダンジョンを自動作成する手法についてのスレです。
ローグタイプやシレンタイプのダンジョンや、街並みや地形など。
※過去スレ
ダンジョン自動生成
http://pc11.2ch.net/test/read.cgi/gamedev/1027084016/
関連サイトは>>2>>3

2 :
※参考サイト
★Racanhack コード解説 (日本語)
http://racanhack.sourceforge.jp/rhdoc/intromaze.html
★迷路の自動生成 「C言語によるアルゴリズム辞典」 (日本語)
http://www.matsusaka-u.ac.jp/~okumura/algo/
↓サンプルコード(src/maze.c)
ftp://ftp.matsusaka-u.ac.jp/pub/algorithms
★アリの巣作り(画像紹介のみ。日本語)
ttp://acolyte.t.u-tokyo.ac.jp/~kaityo/ant2.html
巡回セールスマン問題を「アリのフェロモン」をシミュして解くアプレットらしい。
ttp://uk.geocities.com/markcsinclair/aco.html
★ソース付ウィンドウズ版ローグクローン2 (日本語)
ttp://www.freak.ne.jp/HEPOPO/
★RogueLikeのマップの作り方 (英語)
Dungeondweller - www.roguelikedevelopment.org
http://www.roguelikedevelopment.org/php/category/showCategory.php?path=development/&category=MAP
★D&D用 (英語)
ttp://www.aarg.net/%7Eminam/dungeon.cgi
★ドラクエ風 進可 ◆Sinka1my5k (日本語)
ttp://www.interq.or.jp/moonstone/person/RRL/index.html

3 :
※参考論文
★自律的に変化する仮想都市の自動生成に関する研究 (日本語)
ttp://www.tulips.tsukuba.ac.jp/pub/dl/e_thesis/ko/honda2004.pdf
★時間変化する仮想都市における道路網の自動生成 (日本語)
ttp://www.cs.tsukuba.ac.jp/H15Syuron/200205246.pdf
★仮想都市のためのL-systemによる道路網生成手法の検討 (日本語。要登録)
ttp://fw8.bookpark.ne.jp/cm/ipsj/search.asp?from=&flag=6&keyword=IPSJ-CG98090003&page=&mode=PDF
★仮想都市の自動生成における建物形状の作成と表示 (日本語)
ttp://www.cs.tsukuba.ac.jp/H15Syuron/200205245.pdf

4 :
>1


5 :
>>1お疲れ様。

6 :
いちおつ

7 :
5代目住職 ジュウシマツ和尚はわかないのかwww

8 :
________
|              |
|  / ̄ ̄ ヽ,  |
| /        ', |
| {0}  /¨`ヽ {0}, !
|.l   ヽ._.ノ   ', |
リ   `ー'′   ',|
|              |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
5代目住職 ジュウシマツ和尚

9 :
糞スレ以外にはあんまり貼らないんだがな。
呼ばれたので貼っておく

10 :
ワロタ

11 :
んじゃお題を一つ。
ローグのマップ作成は、長方形の分割から成り立っているが
必ず縦か横に真っ二つに分断されるラインがある。
こういう分断ラインの無い長方形分割を、ランダムにできないか?

12 :
お題じゃなく「教えてください」だろボケ。

13 :
確かにお題とはちょっと違うみたいだが
いったん小さめの格子状に分割して、それを結合するってのはどうよ?

14 :
必ず縦か横に真っ二つってのがよくわからないんだが…もしかして俺は馬鹿?

15 :
おれもわからんw
ローグのソースよまんとわからんのじゃ、面倒でやってられんw

16 :
ああ、長方形分割って、>>2 の一番上のサイトみたいな方法のことなのね。
こういう分割方式って、部屋が被らないことが簡単に保障できる代わりに
特定のパターンでの生成を諦めるって趣旨だと思うが……。
まともなの作ろうとすると、掘削していくとか、ボトムアップなやり方じゃないと無理があるだろう。
迷路の棒倒し法と穴掘り法をどちらも実装した経験があるが、
同じ経験をした奴ならこのイメージが分かると思う。

17 :
>>14
俺は>>11をこんな感じに解釈してみた。
これで質問の意図と合ってるか、これがローグの方法かはわからないが。
マップを二つに縦か横の直線で分けて部屋を二つ作る。ここでは部屋A、Bとする。
部屋Aを同様に分割、これを新しく部屋C、Dとする。ここで部屋Aはなくなる。
同様に、[B→E、F]、[C→G、H]、[F→J、K]といった感じに分割していく。
で、こんなマップが出来るはず。ちなみにIが飛んでるのは図にする都合。
GGHHEEEE
GGHHEEEE
GGHHEEEE
GGHHJKKK
DDDDJKKK
DDDDJKKK
DDDDJKKK
今回問題になってるのは、HとE、DとJの境目。最初にAとBの境界線になっていたライン。
できたマップ全体がこのラインで分断されている。

18 :
−20〜20度くらい傾けた縦横ラインで分割して、
部屋自体は分割線からはみ出ないように配置していけば、
ぱっと見判らないし比較的空間のロスも少ないんじゃね?
廊下が長めになるかもしれないけど。

19 :
そこで、>>13の方法を提案してみる。
始めにマップを小さい格子状の部屋で分割しておく。部屋は多めにしておく。
AABBCCCDD
AABBCCCDD
EEFFGGGHH
EEFFGGGHH
EEFFGGGHH
JJKKLLLMM
JJKKLLLMM
これを[A=A+E][C=C+D][H=H+M][J=J+K+L]といった感じに結合。
AABBCCCCC
AABBCCCCC
AAFFGGGHH
AAFFGGGHH
AAFFGGGHH
JJJJJJJHH
JJJJJJJHH
このとき結合の仕方により、図のように全体を分断するラインがないマップが出来る、ってわけ。
ちなみに最終的なマップは、ここで決めた部屋の中に空洞(実際の部屋)と通路を配置する形で行えばいい。

20 :
ランダムに部屋を置いていく。すでに置いてあるのと重なるようなら縮小。
だと、細かいマス目があちこちできそうだな。
そういえばランダム室内割りは、まだ出てきてなかったよな?
>2 のD&D風だけど未使用空間が無いようなタイプ

21 :
#!/usr/bin/perl -w
my ($width, $height) = (60, 25);
my (@x, @y);
my ($i, $j, $k) = (0, 0, 0);
# x 方向に適当に分割
push @x, $j += (int rand 5) + 2 while $j < $width; # 2 - 6
delete $x[-1];
($i, $j, $k) = (0, 0, 0);
# y 方向に適当に分割
push @y, $j +=(int rand 5) + 2 while $j < $height; # 2 - 6
delete $y[-1];
print +(join ', ', @x), " [", scalar @x, "]\n", +(join ', ', @y), " [", scalar @y, "]\n";

22 :
my %no_wall;
# 適当に結合
for (1 .. (int rand 15) + 15) { # 15 - 29
my ($x, $y) = (int rand scalar @x, int rand scalar @y);
print "$x : $y (";
my $dir = int rand 4;
if ($dir == 0) {
print $x . "," . ($y - 1) . "-" . $y . ")\n"; $no_wall{$x . "," . ($y - 1) . "-" . $y} = 1;
} elsif ($dir == 1) {
print $x . "-" . ($x + 1) . "," . $y . ")\n"; $no_wall{$x . "-" . ($x + 1) . "," . $y} = 1;
} elsif ($dir == 2) {
print $x . "," . $y . "-" . ($y + 1) . ")\n"; $no_wall{$x . "," . $y . "-" . ($y + 1)} = 1;
} elsif ($dir == 3) {
print +($x - 1) . "-" . $x . "," . $y . ")\n"; $no_wall{($x - 1) . "-" . $x . "," . $y} = 1;
}
}
my (@x_wall, @y_wall) = (map { 0 } 1 .. $width, map { 0 } 1 .. $height);
$x_wall[$_] = 1 for @x; $y_wall[$_] = 1 for @y;
my (@x_room, @y_room);
$i = 0; @x_room = map { ++$i if $x_wall[$_]; $i; } 0 .. $width - 1;
$i = 0; @y_room = map { ++$i if $y_wall[$_]; $i; } 0 .. $height - 1;
for my $y (0 .. $height - 1) {
for my $x (0 .. $width - 1) {
my ($xr, $yr) = ($x_room[$x], $y_room[$y]);
$x_wall[$x] and (!$no_wall{($xr - 1) . "-" . $xr . "," . $yr} and ($y_wall[$y] and print "+" or print "|") or print ".");
$y_wall[$y] and !$no_wall{$xr . "," . ($yr - 1) . "-" . $yr} and print "-" or print ".";
} print "\n";
}
----
ごめん俺は投げた

23 :
http://www.chukkysoft.com/m-bara/My3D/main.html
JavaApplet製
http://www.aarg.net/~minam/dungeon_design.html
(↑リンク先にcgiが設置されています)
これをJavaで実装し直しました。

24 :
畜生良い仕事だ

25 :
コレは3DをJavaで自前で実装してるのかな?
Wizの疑似3D表示ではないようだし。
すごいな。というか、めんどうそうだ。

26 :
>>24
ども。自分(描画周り・その他担当)と、
自分の上の人(ダンジョンジェネレータ移植・全体マップ描画担当)も喜んでおります。
>>25
[CodeZine:3Dモデルを表示するJavaアプレットの作成]
http://codezine.jp/a/article/aid/38.aspx
を参考にしました。
表示物はメタセコイア形式(*.mqo)のものを表示しています。
テクスチャとかは未対応。

27 :
二人で作ってるのか。

28 :
>>1おつ
華麗に28get
>>19の説明はわかり易いね
rogueはただ単に定量に6分割する方法だったと思う。
俺は>>20の方法で分割したなー、分割領域x, y, w, hを乱数で出す。
ただ、重なる時は分割せず、なにもせずcontinueしてループを200回くらい回すといい感じに分割できてるっていう力技
でも>19のほうがよさげだね

29 :
まぁ俺は >>2 のD&D風 = >>23 の2番目みたいな、
通路を先に書いて部屋を後で置くアルゴリズムをオススメする

30 :
>>23のやつ、アプレットのコンソール見ると面白いぞ。
生成過程がテキストで表示されてる。

31 :
ほんとだ、生成方法も1つじゃなくて色々あるね。おもしろー

32 :
>>20が思っているものと違うかもしれないが、未使用空間なしのものを作ってみた。
ソースが汚なくてすまんです。
ttp://gamdev.org/up/img/9705.zip
>>11が言うように全体での上下分割の弊害がある気がする。

33 :
>>32
GJ!
たしかに通路が縦か横方向に端から端まで一直線にのびて
分断されている感じのマップができる傾向にあるな。
でも、ちゃんとウィザードリィ系3DダンジョンRPG風のマップが生成されているね。
あと、今時、MS-DOS用のプログラムだと、一瞬でウィンドウが閉じてしまって
意味が分からんっていう人もいると思うから、
a.exe > a.txt
pause
みたいなバッチファイルを同梱しといた方が良かったんじゃないかと思う。

34 :
エクステンダにog32使っちゃうとXPのDOS環境と互換性がなくなる、と最近気づいた俺が言ってみる。
他にフリーのあったかしらw

35 :
go32だね・・・orz

36 :
>32
いい感じですね。でも縦横区切りはやっぱり宿命だなー
部屋の形を長方形以外でも可にすればもうちょっと減るか?

37 :
>>32
GJ!ビルみたいな実際の建造物の内部を想起させていいね
void makeCorridor()<ここで通路の配置予約を行っているみたいだから
const int CORRIDOR_FIRST_CHANCE = 90;
const int CORRIDOR_SECOND_CHANCE = 80;

const int CORRIDOR_FIRST_CHANCE = 50;
const int CORRIDOR_SECOND_CHANCE = 30;
みたいにすると通路自体は短くならないけど通路の数は減ってちょっとすっきりする
>>33
DOS窓もわからんのはソース読んでもわからんだろうし問題ねえよw

38 :
>>34
素直に
cygwin
Mingw32
あたりを使うとか
DOS窓強化だけならNYACUS。

39 :
Roguelike Dungeon Creation Contest!
http://www.dev-spot.com/forums/index.php?topic=4.msg10
> This contest ends: August 5th, 2007 at midnight.
こんなんあるぜ

40 :
Digging Features
http://www.jimrandomh.org/rldev/digging_features/

41 :
>>40のセルオートマタにインスパイアされてみた
ブラウザ上でWiz風(だと思ってる)ダンジョンを生成する
http://gamdev.org/up/img/9779.lzh
最初は何もないマップで、一つだけ部屋を作ってやって、
あとは各マスが自分で周囲の状況を見て部屋なり通路なりを
伸ばしていくという感じなんだけどどうよ

42 :
なぞっただけじゃん。

43 :
別にいんじゃね?

44 :
えー、そ、そうか?
うむー。

45 :
街マップ生成のテクノロジーデモ動画
http://forums.introversion.co.uk/introversion/viewtopic.php?t=733

46 :
すごすぎて吹いた

47 :
成長させるんじゃなくて完成図を一気に描く方式か。

48 :
そして建物内の部屋も生成
http://forums.introversion.co.uk/introversion/viewtopic.php?t=600

49 :
もう設計士いらねーな

50 :
こういうのに敵を配置して歩かせるための AI スレってどっかにありますか??

51 :
A*のスレならないな

52 :
今さらだけど>>41のダンジョン生成アルゴリズムいいな
パラメータいじくれば応用範囲も広いし
一部屋を基点にして増殖、っていうのがマップ構成に独特の雰囲気を出している

53 :
進可氏のRANDRANDLANDにインスパイアされて、ドラクエチップそのもので自動生成するFlashを作ってみた。
水際処理まではさすがに断念。
ttp://www.voidelement.com/randqmap/

54 :
弾幕の人か

55 :
3500ターンほどで世界が海に飲まれてしまいますた

56 :
思った以上に砂漠化は深刻ですな

57 :
なんかライフゲームを思い出した

58 :
むしろライフゲームそのものじゃね?

59 :
>>53
これ面白いなぁ

60 :
水際というか海岸処理実装してみた。
コンボリューションフィルタ駆使してみたら意外と軽くいけたので満足。
ついでにスムージングON/OFFも追加。

61 :
WEBデザイナーの作るモンって見栄えだけで内容浅いよねw
職業天ぷら詐欺師wwwwっっwうぇうぇww

62 :
内容浅い煽りが目に付く季節ですなぁ

63 :
しかし、ぱっと見だけのもんしか作ってないというのは同意かな。
なんか料理の模型が並んでるショーケースみたいなサイトだね。

64 :
と、1行もコードを書いたことのない者が申しております。

65 :

お、必死だな本人w


66 :
RANDRANDLAND
http://www.interq.or.jp/moonstone/person/RRL/index.html

67 :
>>53
って、これすげえなw
ドラクエってだけで、wktkするw

68 :
ホイール必須のインターフェースはどうかと思うけどな

69 :
それしか思わんのか

70 :
なんで本人そんな必死なのw

71 :


72 :


73 :
夏ですね

74 :
Flash厨はいつも元気ですよ(苦笑)

75 :
>>60
見栄えがずっと良くなってGood!
これで生成したマップを何かに使えないかなーとか刺激されマスタ

76 :
プゲラッチョ

77 :
単発IDに煽られても自演にしか見えないって知っててやってるんだろうか?

78 :
単発IDの擁護は作者自演にしか見えないって知っててやってるんだろうか?

79 :
無能で何やっても駄目な奴が、嫉妬してる様子に笑った。

80 :
Flash厨の分際で有能だとか勘違いしてる様子に笑った。

81 :
おいおいこのスレすっげー盛り上がってるじゃねーかよ!!

82 :
どこも夏だなあ

83 :
>>82
どのスレを開いても夏な展開になってるから困る

84 :
夏が寄り付かないようにもっと寒い流れにしておけば
夏厨も裸足で逃げ出すんじゃないか

85 :
Flash(苦笑)

86 :
板名考えたらそりゃそうだよなぁ

87 :
>>82-83
夏は露骨ですげえ
単発IDがどうとか言い出すからな・・・

88 :
夏が過ぎればまた過疎気味の濃いスレに戻ってくれることでせう

89 :
>66
GJ!

90 :
丘とか山のような地形データって、座標と標高で表すものでしょうか?
その上の建物とかはまた別に普通のモデルとして表しているのでしょうか?
何か参考になる本がありましたら教えてください。

91 :
地形はグレースケールとか?

92 :
>>90
3DのHeightMap的な考えならそうだろうと思う。

93 :
保守

94 :
今、自動生成のアルゴリズムを作ってた。
ちなみに最初はRacanhack コード解説を参考にしてみてたんだけどうまくいかなかったから自己流にしてみたんさ。
作り方は、ランダムに生成する部屋の数を決める。
部屋のサイズを決定し、各部屋が重ならないようにランダムに配置。
二つ目の部屋からは部屋の中に通路の基点を用意。
一つ前の段階で作った部屋にも通路の基点を設定して二つの起点を直線的に結ぶ。
これを最後の部屋まで繰り返す。
したがって、一つ目の部屋と最後の部屋には通常一本しか通路がつかない。
また、通路の交差および関係ない部屋と通路の接触は判定しないので、十字路や通路と混じっていびつな形になった部屋も生成される可能性がある。
けっこういびつなんだけど、これはこれでいいかなーとか思う。

95 :
http://www.chukkysoft.com/m-bara/My3D/main.html
JavaApplet製
・テクスチャ貼ってみました。重い。't'を押したらテクスチャ解除。
・画面下の数値は飾りです。

96 :
久しぶりに書き込みが!
>>95
重いよ。
テクスチャ解除すると普通に動くのに・・・・・

97 :
すまん。あげてもーた。

98 :
奥行きに従って暗くしてくれ

99 :
>>96
すRってす。
もっと軽くする工夫が必要ですね。
>>98
了解。
http://www.chukkysoft.com/m-bara/My3D/main.html
暗い・暗くないの二値ですが出来ました。
さらに重くなったのでとりあえずテクスチャ解像度落としました。

100 :
立ち位置の真横が通路があるかないかわかりにくいのは
テクスチャのふちで段差ができるせいじゃないかな

101 :
>>100
通路が分かりやすいように壁と床のテクスチャをてきとーに代えてみた。
テクスチャの横線がガクガクしてる事に気付いた。
もっと軽くする工夫を思いついたけどあんまり時間が無い。
まとまった時間欲しい・・・

102 :
初めて遊んでみたけどz(扉を開ける)で前進するのがいいね。
WizでK(Kick)で進んでたの思い出した。
敵と宝箱、そしてレベルアップがあればブラウザのタブを切り替えて、ちょこちょこっと遊んでしまいそうだ。
ただそれはすれ違いになってしまうけど。ともかく頑張ってください。

103 :
http://gamdev.org/up/img/10737.png
保守ついでに投下
アルゴリズムは掘削式にちょっと手を加えた感じ

104 :
>>103
これは地上マップ生成かな?
実行ファイルもあげてほしい

105 :
>>104
ダンジョン自動生成
まだ未完成なので、出来上がったら再度来ます

106 :
がんばれだぜ

107 :
このスレっぽい話題だったので
ttp://www.inside-games.jp/news/258/25833.html

108 :
>107
シナリオを自動生成ってどうやるんだろうね?
誰が何をどうしたのランダムぐらいしか思いつかない。
ダンスで、アフロを、でかくしろ!とか。

109 :
>>108
物語の流れにはいくつか基本的な組み合わせがあるので、
その流れの組み合わせをランダムに繋げる方法があるよ。
その組み合わせ方について書かれている本としては、
ウラジミール・プロップの『昔話の形態学』が有名だね。
詳しくは↓のサイトでも読んでくれ。
ttp://www.trpg.net/user/el./fct/labo/u_p.htm
ttp://gumina.sakura.ne.jp/CREATION/OLD/STORY/OLDTALE.htm
ttp://gumina.sakura.ne.jp/CREATION/OLD/STORY/OLDTALE2.htm

110 :
俺好みの話題になってきた
前スレでもシナリオの話題は出てたね
でも、あれはドラクエタイプのシナリオだったけど
(金の鍵を設置→金の扉の向こうに次の世界への入り口を設置、とか)
TRPGには前からノウハウがあって、俺もサイコロを振ってシナリオ作ったりしてたよ
こことか詳しい
http://www.trpg-labo.com/modules/article/index.php?articleid=38
>>109の方法論と組み合わせれば、結構実用的なものができるかも?

111 :
そこまで凝ると、小説のあらすじメーカーができそうだな。

112 :
>>111
七度文庫を思い出した。

113 :
央華封神ってTRPGがあったんだけど、それをもとにしたTCGも作られてたんですよ。
そのTCGが「物語を作って得点を競う」っていうものだったそうなんで、ちょっと関係あるかもしれませんね。

114 :
なんでこの話題で、ティルナノーグが出てこないんだ。
つーか、PC98の頃の話なんてしてもだれもわからんか・・・・。orz.

115 :
ティルナノーグはドラクエタイプのシナリオ生成だよね。
物語主体のシナリオ生成ではなかったような・・・?

116 :
つWikipedia
これを読む限りでは>109なのかな。

117 :
Elonaというゲームが、自動生成っぽい感じ・・・
Elona
http://homepage3.nifty.com/rfish/elona_top.html
シナリオといっても、基本、おつかいだけど

118 :
そういう自動小説の物語の確信に関わる部分で
○○は××だと思っていたが、実は真相は△△だった!
みたいなどんでん返しが欲しいところだけど
まさかそこまで実装できてるものはないよなぁ。

119 :
自動小説だとまた違うだろ
どちらにしろテンプレートを考えれば実装は難しくもない
需要が無いだけ

120 :
ストーリーの自動生成という話に関して
水声社から出ている
「可能世界・人工知能・物語理論」
マリー=ロール・ライアン 著
岩松正洋 約
ISBN4-89176-550
…を先日入手したが、まだ読む時間がとれない。・゚・(ノД`)・゚・。

121 :
ランダムで4コマというのがあってだな。なかなかカオスだぞ。

122 :
この話題は、実装は簡単だけど手間はかかるから現物が出てこないのが難だね

123 :
そういや、思いだした。
昔出てた、天国から来た男というゲーム?が、
シナリオ自動生成だった気がする
しかし、当時、クソ高くて手が出なかった orz
天国から来た男
http://www.electricsheep.co.jp/amfh.shtml

124 :
思ったんだが、RPGのシナリオとノベルゲームのシナリオの話題がごっちゃになってるなw

125 :
共有できるからいいんでね?

126 :
物語理論か……
俺のところの教授の分野じゃないか……

127 :
ジャンルどこよ?文学かな?それともコンピューター系かな?

128 :
俺も学生のころウラジーミルプロップにはまりかけたよ

129 :
>>127
コンピュータ系なんだぜ?
AI系

130 :
だとしたら文系の膨大な資料が必要になってくるだろうけど
たぶん文系教授はものごっつ嫌がりそうだ。

131 :
文系教授がネット上に公開している↓のような資料はあった。
物語要素事典
ttp://www.agu.ac.jp/~kamiyama/index.html

132 :
SCIgen - An Automatic CS Paper Generator
http://pdos.csail.mit.edu/scigen/
論文自動生成機らしい
英語なので、評価できんけど

133 :
ってかスレ違いはいい加減にしろ

134 :
>>133
おまはや

135 :
いいんじゃない?
前スレもダンジョン以外をやって今回スレタイ変わったんだし

136 :
ここはマップ生成スレ。

137 :
でも、新スレ立てようとしたとたん、こちらに誘導されるだろうなw

138 :
マップだけに限定したい理由がわからん

139 :
言いたいことはわかるが、別スレ立てたって見るメンバー同じだろ

140 :
■ダンジョン自動生成アプリ
ttp://gamdev.org/up/img/10938.zip
ttp://gamdev.org/up/img/10939.png
■動作環境
・.NetFrameWork 2.0 が動くこと
■操作方法
ReadMe読んでください

自然窟っぽいダンジョン生成を目標に作りました。

141 :
GJ

142 :
>>140
いいね!
部屋だけの生成だったのか
繋がってない部屋にはうねうねした通路を
渡してやると完璧かも

143 :
ヘルプにあるのは矩形のことだよね。
小さい四角を重なり合うように配置している?
大きくすると時間かかるのはコリジョンチェックのため?
どういうアルゴリズムでやっているのか興味がある。

144 :
>>143
あー恥ずかしい、ずっと たんけい って読んでた そりゃ変換できないわな
■アルゴリズム
1)フィールド(200x200のマップの描画先)からランダムで一点選び、基点とする
2)左右、上下をそれぞれランダムでどちらかに絞り、矩形サイズ定数内の値をランダムに取得して矩形のX,Yを得る
3)基点から 2) で求めた値を使って矩形を生成。このとき、矩形がフィールドからはみ出すことがあれば、 2) からやり直す
4) 3) で生成した矩形内からランダムで一点選び、基点とする。矩形数が設定値に達していなかったら 2) へもどる
Mキーを1回押すと、これが実行される。
矩形が大きいと時間がかかるのは、 3) で処理戻りが発生しやすいからだと思うけど、とてもトレースできないので定かではない。
矩形サイズ下限を100とかにすると、基点によっては無限ループが発生する

145 :
■ダンジョン自動生成アプリ(誤字修正版)
ttp://gamdev.org/up/img/10940.zip

146 :
どうせ1も2もランダムなら、2を先にしたらどうかな
そうすれば戻りはなくせる
もちろん結果は変わってしまうけど

147 :
>>140
GJ
Shash&Hack系のダンジョンに合いそう
つながらねーと思って繰り返すと、それっぽくなるんだよなー。
面白い

148 :
■ダンジョン自動生成アプリ
ttp://gamdev.org/up/img/10989.zip
■動作環境
・.NetFrameWork 2.0 が動くこと
■操作方法
ReadMe読んでください

部屋の連結などを実装
処理時間が猛烈にかかるのは、私が言語仕様をしっかり理解していないから、な気がする

149 :
異常にページフォルトが頻発してるね(暴走してるのかと思って一瞬焦ったお・・)
プロファイラでメモリ使用状況見てみたけど(個=インスタンス数)
・全体 - 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%)
・Dictionary<T,U> - 90,000個 - 4.5M(3.8%)
これで全体の96.2%を占めている。
・DungeonAutoCreate.Block - 90,000個 - 1.7M(1.5%)
・DungeonAutoCreate.Block[] - 10,000個 - 1.7M(1.4%)
ここまで入れると99.1%
330万インスタンスあるData.arrowってのも気にはなるけど、何で辞書がこんなに大量に使われてるの?
GCも何度か発生して殆どのインスタンスがGEN2になっている辺りも改善の余地がある(=無駄なGCが発生している)
処理速度に関しては明らかにボトルネックは別なので見ていない。
あと、ReadMeに書いてあるサイズ変更した場合に大量のメモリが消費される問題だけど
「古いフィールドを破棄→新しいフィールドを作成」の間で手動でGCを実行してやるのが効果的だと思う。

150 :
既存のコードを極力変更せずに対処してみた
Dictionary<Data.arrow, Block> 互換の辞書クラスを作成
・IDictionary<Data.arrow, Block>を実装
> ArrowDict.cs
・Dictionaryとして使えるが、実態は配列として実装されている
internal class ArrowDict : IDictionary<Data.arrow, Block>
ttp://gamdev.org/up/img/10994.zip
↑実際のコード例(ちょっと手抜き)
> Block.cs
・ArrowDictを使うように修正
// public Dictionary<Data.arrow, Block> arw = new Dictionary<Data.arrow, Block>();
public ArrowDict arw = new ArrowDict();
これでメモリ使用量が激減(117M→10M)して、処理速度が大幅に改善する筈。
これ以上の最適化が必要なら、自分でパフォーマンス計測して頑張ってくださいな。

151 :
疑似生命体に掘らせるアイデア。
最初は部屋一つとそこの主である親が一つ。親は通路を掘る子供を作る。
子供はある程度通路を掘ると、エネルギーが貯まって親になり
そこに新しく部屋を作り、動かなくなる。そして通路を掘る子供を作る。
別な部屋に突き当たった子は、その部屋の主に吸収されて消滅。
吸収した親は増えたエネルギーのぶん部屋を大きくする。

152 :
面白そうだな

153 :
全部壁の状態から 掘り進めるってアルゴリズムはあったけど
>吸収した親は増えたエネルギーのぶん部屋を大きくする。
ってのはいいな

154 :
>>149-150
占有メモリがかなーり減りました。サンクス。
Dictionaryのパフォーマンスがよろしくない、というよりenumの使い方がまずかったんだろうか。
>330万インスタンスあるData.arrowってのも気にはなるけど、何で辞書がこんなに大量に使われてるの?
もうお察しかもわかりませんが、Data.Arrowは方向を示すenumです。(ナナメ有り上下左右の8つ)
マップチップ(Block)のインスタンスに Dictionary<Data.Arrow,Block> を持たせて、マップチップの隣接を表現しよう、という考えです。

155 :
>>154
お役に立てたようで嬉しいです。
# 解決の為にコードを覗き見したのはすまなかった。
enumの使い方は特に間違ってないと思いますよ。
今回のケースでは"大量の辞書を使用した"のが直接の問題ですかねぇ
・辞書自体がインデックスを管理したりするためにメモリを消費する
・後から追加するために余分な領域を確保する(コレクション全般)
 (ただし、最初に大きさを指定してやれば必要以上に確保してしまう事はない)
この辺が影響してるのかな?とは思うけどあまり詳しくは分からない。
(実際に>>149で使用状況見た時に「こんなに使うのか?!」と衝撃を受けました)

最後に何かの時に役に立つかも知れないので、>>149で使ったツールを貼っておきま
CLR Profiler 2.0
ttp://www.microsoft.com/downloads/details.aspx?familyid=A362781C-3870-43BE-8926-862B40AA0CD0&displaylang=en

156 :
保守

157 :


158 :
シナリオ生成で思い出したが、少女漫画の恋愛ものの話が
どれもこれも似たり寄ったりすぎるので、恋愛ストーリーを
自動で作成できないかと考えてた時期があったな。
しかも物理的なシミュレーションを使用www
線で結んだ距離で縁を、好き嫌いを引力斥力に設定。
さすがに他のパラメーターが多すぎて諦めたが。

159 :
>>158
韓流ドラマもいけそうだなw

160 :
恋愛ストーリー自動生成だったら
18禁ノベルの濡れ場シーン自動生成のほうがまだ簡単そうだな。

161 :
>>160
っ七度文庫

162 :
あれって制限版以外入手できるの?
どっかで必ず打ち砕かれるのには笑った。

163 :
>>162
なんとかの賞を取ったシナリオと、シナリオと独立して動作するリーダーがダウンロードできた気がする。
そのシナリオだと18禁シーンもそれなりに描写があったような。

164 :
ダンジョンゲームプログラミング
ttp://www.amazon.co.jp/dp/4797346280/
内容分からんがとりあえず買ってみるわ。

165 :
どうやらここの分野+αっぽいけどレポお願いします。

166 :
>>160
これがほんとの男女ンげーむ

167 :
    |┃三     , -.―――--.、
    |┃三    ,イ,,i、リ,,リ,,ノノ,,;;;;;;;;ヽ
    |┃    .i;}'       "ミ;;;;:}
    |┃    |} ,,..、_、  , _,,,..、  |;;;:|
    |┃ ≡  |} ,_tュ,〈  ヒ''tュ_  i;;;;|
    |┃    |  ー' | ` -     ト'{
    |┃   .「|   イ_i _ >、     }〉}     _________
    |┃三  `{| _;;iill|||;|||llii;;,>、 .!-'   /
    |┃     |    ='"     |    < 同志>>166。シベリアが君を待っている
    |┃      i゙ 、_  ゙,,,  ,, ' {     \ 一日中 木でも数えていたまえ
    |┃    丿\  ̄ ̄  _,,-"ヽ     \
    |┃ ≡'"~ヽ  \、_;;,..-" _ ,i`ー-     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    |┃     ヽ、oヽ/ \  /o/  |    ガラッ
                      http://etc7.2ch.net/siberia/

168 :
>>164買ったわ。
生成に関してはここ見てる人には目新しいことはないかもしれない。

169 :
ここで生成関連ってRogueとあと他にあったっけ。

170 :
>>168
ローグライクのゲームを作ってみたいって人に薦めるのは適当?

171 :
>>170
いいんじゃね?
ダンジョン、敵、移動方法、アイテムなんかに触れてたし、
ダンジョンゲームをこれから作りたいって人には導入としていいと思う。

こういう本ではあたりまえだけど、最低限のプログラムの知識があるのは前提ね。

172 :
>>164 のダンジョン生成のアルゴリズム何だった?
そのうち立ち読みしてみるが…

173 :
>>172
・全ての区画に壁がある状態を始めに作って、
そこから各区画から壁を一枚取り除く
・一つの大きい部屋を半分に区切る。 一方の部屋をさらに半分に区切る。 何回か繰り返す。
区切った時の境界に向かって道を作る

余談だけど、流石にランダム生成ってだけあってMT法の紹介はあった。

174 :
ひょっとしてその2種類だけ?
洞窟風ダンジョンの作り方とかそういうのとか無かったの。

175 :
>>174
ない。 その後は他の話になる。

176 :
するとこのスレ的にはあまり面白くない本かもな

177 :
強いて言えば移動方法かな。
それはどうよ。

178 :
移動方法?
2Dのスプライトをずらして云々とか?

179 :
移動方法ねぇ。 斜め移動は判定を加えないとすり抜けちゃうから気をつけてね、位か。

180 :
穴床
床穴
だったらすり抜けOKだけど
壁床
床壁
だったらすり抜けは不可。
壁床
床穴
だったら・・・・どうしよう?

181 :
>>180
それも、不可だね。

182 :
ダンジョンの仕様次第だな

183 :
171も多分そうだと思うけど敵の移動よ(泣)。
未読だからひょっとすると本当に@の移動かもしれないけど。

184 :
あー。
馬鹿のように@に寄っていくのではなく
ときどきは乱数的に動くとよいとかそういう話か

185 :
>>183
自キャラも敵キャラも扱ってるよ。
トラッキングアルゴリズムを利用して自キャラに近づいたり、体力が減ったら逆に自キャラから離れたり。
ページ数的に何種類も掲載できないのかもしれないし、作者が単に知らないのかもしれない。

186 :
@で話が通じてるこのスレは居心地が良いなw

187 :
>>186
確かに@って普通意味分からないよね

188 :
ぐぐって調べようとしてもまず無理だしな

189 :
@の中の人は a

犯人はヤス

190 :
やっと立ち読みできたけどなんか物足りない。
出だしからRogueのヘビは's'とか書いてあるし、まぁ気持ちは分かる。

191 :
町並み自動生成っぽいもの。
タイトル絵の下のSMALL・MEDIUM・LARGEで別画面JAVAによる自動生成。
ほっておくと、どんどん細かくなる。
http://www.complexification.net/gallery/machines/substrate/index.php
再帰で描画するJAVAソフトのうちの一つの模様らしい。
http://www.complexification.net/gallery/

192 :
町並みに見える模様を描いてるだけにしか見えない

193 :
輪郭線を適当に太らせて道にすれば本物の町並み

194 :
これいいな
でもここまでリアルだと逆に
この無秩序で均等なスプロールぶりが薄気味悪くなってくる
ロボットがあまりにリアルだと逆に薄気味悪くなるのと同じか

195 :
適当に蛇行させてある程度でストップさせればいいかも

196 :
JavaじゃなくてProcessingじゃん
手軽さが素敵よね
このコード自体は、大きさに意味付けしにくそうだよな
ある段階で建物の単位固定して埋め尽くすロジックに切り替えないとゲーム転用は無理かなー

197 :
なんか昔ちょっと作って放置してたやつがあったから
改造して自動生成にしてみた
ttp://www11.axfc.net/uploader/20/so/He_104434.html
pass: @

198 :
徐々に移り変わる様子を眺めるのは楽しいな

199 :
Wizardry系のゲームでこの中を歩きまわったら
楽しいかもなって思ってる

200 :
オートマッピングありでも無意味になるのが、ちょっと楽しそう。

201 :
洞窟系のダンジョンと言うより、
町の中って感じだね。
PC版のAD&D思い出した。なつかすぃ。

202 :
191のやつC#に移植してみたらブラウザより遅くて萎え。
Javaより遅いなんて。
ところで、これで生成された画像を見てて、
ブロックごとに適当な高さを設定して3Dで俯瞰できたら町並みっぽくて面白いんじゃないかと思った。

203 :
あー、斜めに見ている感じで画面を横へ引きのばすのと
色をつけてるところを高さにおきかえて
その高さの分だけ上にずれた場所へプロットするみたいな。
陰線処理ができればできるような

204 :
C#はJavaより遅いのは普通だろ。

205 :
>>202
体感速度に差が出るほど遅いってのは考え難い。
どこが遅いのかプロファイルしてみた?

206 :
MSのサイトからCLRProfilerなるものをもらってきたけどまだ使ってない。
効率とか全然考えてなかったけど、遅いのは多分ピクセル描画かなぁ。α合成毎回計算してるし。
ヒマだったらManaged DirectXででもやってみよう。

207 :
結構いい感じにできたと思うけど、どうじゃろ
ttp://www.tell-me.sakura.ne.jp/dungeon.zip

208 :
あげときます

209 :
パスを掛ける意味が分からない
やましい事でもあるなら別だけど

210 :
すごいです!ソースきれー!(ここまで書くのが普通なのかな?)
家に帰ったら中身をゆっくり見てみます

211 :
---------------------------
dungeon3_d.exe - コンポーネントが見つかりません
---------------------------
d3dx9d_34.dll が見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストールし直すとこの問題は解決される場合があります。
---------------------------
OK
---------------------------

212 :
---------------------------
dungeon3.exe - コンポーネントが見つかりません
---------------------------
d3dx9_34.dll が見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストールし直すとこの問題は解決される場合があります。
---------------------------
OK
---------------------------

213 :
ランタイムはDirectXのページから落として入れればいい

214 :
前に3DCGだったけど、確かcitygenという名前の、都市生成プラグインを見たことがあった気がする。
>>191を見て思い出した。
どこで見たんだったっけかな…
スレチになるけど、humangenとか、3DCGの自動生成プラグインは色々あるみたいだ。

215 :
保守

216 :
libtcod - C/C++ library for roguelike developpers
ttp://jice.nospam.googlepages.com/thedoryenlibrary

217 :
おー、これは萌えだな
ソース読ませてもらうべ

218 :
>>216
アスキーアートなのにグラフィカルでいいな、これwww

219 :
保守

220 :
こんなアルゴリズムをもとに、いろんなタイプを変数だけで作り分けられるよう考えてみた
(細かい禁則処理は省いて書いてる)
・パターンにより、種を植える
・・通路の種を植える
・・部屋を配置し、その中に通路の種を植え、部屋の周りを壁とする
・通路の種は、自分以外の種が存在するとき、別の種まで芽を伸ばす
・・芽を伸ばすときは、基本的に最短経路
・・芽が壁にぶつかると扉を作る
・・他の通路か部屋にぶつかると芽の成長は止まる
・以上を繰り返す

数値などの設定により
・部屋-通路-部屋のパターンにより、通路が最短経路でなくなり得る
・部屋から出る芽を増やすことによって、ループなどがつくれる
・通路だけがリンクで部屋が袋小路パターンがつくれる
・通路だけで構成された、洞窟型がつくれる (この場合、通路は終点まで貫通する)

221 :
要するに先部屋パターンだべ

222 :
描画までサポートしていて3Dゲームでそのまま使えそうなダンジョン自動生成ライブラリってないですか?


223 :
そんな都合のいい代物があったらテンプレに入っていると思わないか?

224 :
そう思ったんだ
だけど念のため聞かずにはいられなかったんだ
だって街生成とかあるんだからダンジョン生成あってもいいじゃないですか…

225 :
でもFF11のナイズル島見てて思ったんだけど、
WA5の汎用ダンジョンみたいに
部屋のパターンをいくつか作って、それをどう繋げるか、というやり方だったら簡単に出来る気がしてきた

226 :
CEDEC 2008セッションレポート─北陸先端科学技術大学・宮田氏による「プロシージャル技術の動向」
http://www.watch.impress.co.jp/game/docs/20080916/proc.htm
http://www.watch.impress.co.jp/game/docs/20080916/proc32.jpg
http://www.watch.impress.co.jp/game/docs/20080916/proc35.jpg
http://www.watch.impress.co.jp/game/docs/20080916/proc34.jpg
都市自動生成?の画像あった
これなんかあついな

227 :
すげえ、思ってたよりずっとリアルで高度だな
自己増殖を続ける「生きた都市」を探索するダンジョンRPGという電波を受信した
隠しダンジョンとして「シブヤステーション」がどこかに存在するw

228 :
全自動でここまでできたら凄いな

229 :
売り物らしいがCity Engineってのがあるらしいね。
ゲームでの採用実績はまだないっぽいな

230 :
>>229
City Engine、それは現在どういった用途に用いられているのかな?

231 :
プレゼンとかデザイン系で需要有るんじゃね

232 :
区画分けまでなら簡単なルーチンなんだが…
これはそれ以降の分けられた区画の「重さ」までちゃんと計算して出してるな
後は、これだけではわからない区画の破棄をサポートしているかどうか、か

233 :
City Engineって226のことじゃね

234 :
ドラクエ風MAPの方法と似てるな。

235 :
>>2の★D&D用 (英語)
が無くなってるんですが、どこかに移転したのか、どなたかご存知ないですか?

236 :
>>235
今ググってきたけど見あたらない。閉鎖したのかも
とりあえず、文章はInternet Archiveで発掘できる
ttp://web.archive.org/web/*/http://www.aarg.net/~minam/dungeon.cgi
ジェネレーターだけなら、ここにも同じものがあった
ttp://www.myth-weavers.com/dungeon.php

237 :
>>236
ありがとう
ここのが良く出来てたんで、参考にしたかったんよ

238 :
それの JavaScript 版があった
http://www.horaguchi.net/map_generator/map_generator.html

239 :
>>238
おもすれーなこれw

240 :
【レポート】
CEDEC 2008 - コンピュータが知性でコンテンツを自動生成--プロシージャル技術とは
(前編)
ttp://journal.mycom.co.jp/articles/2008/10/08/cedec03/index.html
(後編)
ttp://journal.mycom.co.jp/articles/2008/10/15/cedec04/index.html
後発記事だけあって結構詳しい。

241 :
詳しく書いてあるし、読み物としても面白いな。
# 上で出てる City Engine についての記事は、後編12〜

242 :
ついにコンピュータ上へ知性が宿ったか

243 :
ローグライクを無理矢理3Dにしてみるテスト。(本当に只のテストプログラム)
ttp://shallowblue.blogspot.com/2008/10/3d.html

244 :
Falcon's Eyeがあるやん
ttp://users.tkk.fi/~jtpelto2/nhfeatures.html

245 :
クォータービューを3Dと言って良いのかな
3Dの既成ローグライクだとMac用だけどNetHack3Dがなかなか萌えたなぁ

246 :
2Dで作ってたら2D
3Dで作ってたら3D
クォータービューは表示のさせ方だと思う

247 :
自分や敵の座標がxyだけじゃなくzもあったりすれば3Dってとこかな

248 :
2.5Dっていう変な言葉もあるよ

249 :
3D描画を表すのにもっともな言葉だと思われ

250 :
2.5Dって・・・もっともか?w
いずれ3Dを超えたとか言って πDとかまた訳分からん言葉が出てくるんだろうな

251 :
3Dを2D上に表示してるから
ホントに3Dだっていうなら本当の立体映像じゃないと

252 :
リアルタイムレンダリングなら3D
カメラの動きに応じて奥行きが微妙に変わる
既にレンダリングされたものを表示させるのは2D
カメラを一切動かせないリアルタイムレンダリングも実質これ

253 :
まぁ、所詮平面に表示してるだけ

254 :
Diablo3は3Dローグライクってことになるな
天井に魔法をぶつけて瓦礫を敵の上に落とせるみたいだし

255 :
昔、書籍でWinRogueというのがあったのを思い出した。
FPS視点でターン制はそのままで、文字の的が立体で襲い掛かってきた。
斜め移動ができないのでプレイしづらかったなw
>>254
Titan Questは3DでDiablo 2な感じだた。重かったけどw
あとマップは固定なのでRogue Likeっぽさが少し落ちる

256 :
>>253
Wiz風ダンジョンを立体視で表示するやつを作ってる人がいたはず

257 :
言いたいことは分かるが“FPS 視点”って…^^;
FP は First Person の略なんだから“一人称視点シューティング視点”なんて意味になっちゃうよ

258 :
    __    __
   |;;;;;;;;\  /;;;;;;{,
   );;;;,-=" ̄ ̄""゙丶 ∩_
   /         ヽ〈〈〈 ヽ
  /   | /ヽ ハヘ  〈⊃  }
  |   ノ|/\ ∨ / ゝ . |   |
  /   |  ●`   ● 丿/|   |
▽ヘ  ヽ:::      :::レ. /   !
▽ヽ∨ヘ\ ___・__ノヽ   / <こいつ最高にアホ
 ヽヽ / ̄丶;;;| □ |;;;;;|  >/
<_<____ /;;;;|ム ム|;;;;| /
    / / ;;;;;;;;;;;;;;;;;;;;;;|''
   |  |;;_;;;;_;;;;;;;;;;;;;;;;;|
   (___);;;;;;;;;;;;;;|

259 :
FPにもFPSにも"視点"の意をする単語は入ってないな
>>257バカwwwwww

260 :
ごめんね、First Person だけで十分って言いたかっただけだよ
ちょっとややこしかったかな…^^;

261 :
>>260
気にするな。誰にだって間違いはある。俺にだってあるんだからさ

262 :
でもまぁこういうのを揚げ足取りっていうんだよな

263 :
どっちが?

264 :
確かに揚げ足鳥はおいしいが、やりすぎは精神的メタボになるんだよな。
腹が膨れて頭を下げられなくなると言う。

265 :
Context Freeというソフトで町(の俯瞰図)っぽいのを自動生成
LeaveBehind ≫ Context Free続きの続き
http://gofar2.iobb.net/~htaka/wordpress/archives/856
LeaveBehind ≫ あんな街こんな街
http://gofar2.iobb.net/~htaka/wordpress/archives/877

266 :
ツクール2003にはダンジョン自動生成機能があるらしい
参考にはできないのかな

267 :
XVにもあった気がする

268 :
VXな。つかVXからの新機能じゃなかった?

269 :
>>266 それ論外。ツクーラーの間じゃバグ扱いもイイ所。
Vxのも微妙……。単純なローグ系の奴だった。
しかもなんか完成度が低いというか、人の手直し大前提のモノというか。

270 :
違うよ。

271 :
ローグ系ってなんだ? 分割する方法か?
つかコードでも見たのか?

272 :
コードも何も、実際出来上がるデータ見れば大体分かるだろ

273 :
>>267-268
第14回 「ダンジョンを作ってみよう2」 - RPGツクールVX
http://tkool.jp/products/rpgvx/lecture/14.html
これだな。まー、完全自動というより、補助のものだろうな。
XPからRuby使えるはずだから、スクリプト書けばいけるんじゃね?と思って探してたら、
やってる人がいた。
RPGツクールVXでダンジョン自動生成スクリプトを作ってみた‐ニコニコ動画(秋)
http://www.nicovideo.jp/watch/sm4997902
これの形もまんま初代ローグっぽいが、
スクリプトで書けるってことがわかったから、言い訳できんなw

274 :
ダンジョンの出来具合を評価して下さい
http://www1.axfc.net/uploader/He/so/164759.zip&key=自動生成スレ
Framework3.5とDX9が必要です
右下の[Dungeon]ボタンで生成
パラは ダンジョンの横サイズ、縦サイズ、通路の直進性、通路の割合、部屋数
WASDと矢印キーで移動、スペースでマップ表示です

275 :
どんなアルゴリズム?

276 :
>>275
1.適当な間隔を空けて、マップ中に部屋を配置
2.その隙間に穴掘り法で通路を作る
3.適当に部屋と通路を連結
4.連結しなかった部屋を消し、空いたスペースに部屋を置いたり、通路の行き止まりを繋げたり
こんな感じ

277 :
とりあえず[Dungeon]生成ボタンの下の入力欄はなんだろう?
そこにフォーカスがいくと移動できなくなったりする。
あとこれ書き込むときに起こっている現象だけど、
ウインドウが非アクティブになっても、WASDを押すと
ダンジョン側でもキー拾ってるらしくて移動したりする。

278 :
>>272
あんたついにローグライクのダンジョンを定義付けることに成功したのか
やるな、是非御教授願いたい(笑)

279 :
なんで亀レスまでしてそんなことに絡んでるんだ

280 :
らんらんるー

281 :
なるほど、了解

282 :
そういう考え方は嫌いじゃない

283 :
どんな良スレもツクールが湧いてくるとクソスレ化するという事がよく分かった。

284 :
遅っ

285 :
ツクール使用者は「ユーザー」だからな
プログラマーは「クリエイター」
持ってる技術が違うしな

286 :
Blenderでビルと3Dダンジョンの自動生成
ttp://blender.jp/modules/news/article.php?storyid=2279
このスレ的に見どころあるかどうかは別として

287 :
>>286
俺が見た時はダンジョン生成スクリプトは公開されてなかったけど、
今見ると開放されたようだね。

288 :
うん。なのでまあいいタイミングではないかと
道生成とかのロジックに目新しいアイデアはないけど、
ゲームエンジンのある3Dソフトで動くってのは面白いね
ウォークスルー仕込むだけでもちょっと楽しい

289 :
Blender(禿藁)
あんなのゲームエンジンじゃねえよwwwww

290 :
だれか>>289の笑いのツボを教えてくれ


291 :
嘲笑にはツボはない

292 :
>>290
禿藁を使っている所・・・かな?

293 :
            /                 | ヽー-  ._
.            /                  |     \─`-
           |    /,    / /    |      \
           l/  //′  /   /l. /   ∧ |  \  ヽ
          /  〃 /  _./-ァ' |/  ,' -H.、 !  '.、 ',
          ///' ,/  ///  j/  /   '.| :|l  | ヽ |
           /' |  i´i  /:fr≠=r  | /ァ=ォ !|   |  '.|
  (⌒ー、      /, ´ヽ|. / N!ら、_リ  ,! ' ん, ソ' ! /,ハ ,′    >>289 はいはいワロスワロス
  \  {  __  / l   |/  :| ‘ー‐'   ,  ー-'/N// |/
    l  ∨  y  |   'l.   |>、._  ーー'_ ノ !ル'
    l.  './,  ,ハ  | | ヾミこ彡'ヽ|   ||
    |  .f / ,.'/   ____'.   '. _/ ̄ ̄ ̄¨¨¨丶、__, ' ´ ̄ ̄〉
    /////レ'´,. -‐-'、,ノ´ v         / 7    _/.
   { ( /l/' K「 '´ ̄   ヽ.`)       / /    r'ーf


294 :
Blenderは、モデリングとアニメーションするソフトで
なかに、Bullet物理エンジンが入ってる。
スクリプトでゲームが作れる。
ツクールと同じ感じだ。
かなり簡単にそれなりのもんがつくれるから初心者にはお勧めだとおもうが。

295 :
込み入ったUIの英語ソフトを勧めるのもどうかと思うが
最近はチュートリアルなんか充実してきてるのだろうか

296 :
初心者にはお勧めできないよ
Logic Brickは慣れたら手軽だけど、お世辞にも分かりやすくはない
凝った処理はPython必須だ
サンプルは英語ばかりだし、バージョン変わるのが早いから情報の取捨選択も難しい
配布も躓く人が多め
特にGLSLだと、色々検証しないとコケる人の苦情が多発する
面白い環境ではあるけど、ゲ製的にはプロトタイプ作成ツールと見た方が無難かな

297 :
自動生成関係ないので誘導
Blenderで3Dゲーム作ろうぜ
http://pc11.2ch.net/test/read.cgi/gamedev/1175839591/

298 :
Blender厨がここにも

299 :
Wizスレにこんな物が
http://kasuya666.myura.jp/as/3d_test.html
自動生成らしい。

300 :
http://www.death-note.biz/up/files/46770.exe
とりあえず、途中まで作ってみた。
プログラム的にはけっこう出来上がってて、あとはモンスターとかアイテムのデータを入れる段階。
やっぱり、ダンジョンの自動生成部分がプログラ民具的には一番ムズかったね。
操作方法は…
Zで攻撃、決定
Xでメニュー、キャンセル
Cでマップ表示切替
Shiftで方向を斜めに固定
Ctrlで向きのみ変更
Enterでフルスクリーン切り替え
Spaceでウィンドウ非表示

301 :
取りあえず、いきなりexeってのが怖いんですけど。
せめてZIPで。

302 :
ZIP解凍しても結局exeが出てくるんだから、同じじゃない??

303 :
同感
不安なら実験用に仮想マシンでも用意しておくべき

304 :
http://www.death-note.biz/up/files/46820.zip
では、ZIPでどうぞ。

305 :
同じじゃナイト思うんだけどなぁ。
ダウンロードしたあと、いきなり実行してしまうミスがあった時が怖いのよ。
ZIPなら実行しても関連付けされているアーカイバが立ち上がるだけでしょ?
ウイルス対策ソフトでスキャンもしやすいし、ブラウザに怒られたりもしないし。

306 :
>>302
勝手にEXE認識されるのと、ZIP内をウイルスチェックできるのとでは安心感がぜんぜん違う。
というか、そのうpろだにウイルス仕込まれたら素EXEなんて無防備も良いところだろふ。

307 :
・・・おまいらプログラムとかしたことないの?
どう考えてもzipのほうが解凍とかで別ソフト通すんだから
リスク増えるだろw

308 :
うわー つられたー

309 :
シレン風のダンジョンですね。
良いと思います。
今後、データが増えてくるとどうなるかに期待ですな。

310 :
>>300
なかなかそれっぽく仕上がってて良いね。
まだ未完なので対応していないだけかも知れんが、セーブ→再開時の不具合報告。
・武具以外のアイテムを装備していることがある。
・同じ武具が増殖?して、装備すると増殖したアイテム2つとも装備の付け外しができる。
 (武器、楯をそれぞれ2個づつ計4こ装備することができてしまう。)
応援してるぞガンガレ。

311 :
>309
アイテムとかの兼ね合いってゲームの面白さに直結する部分だから、
プログラム的には簡単でもゲームとしては難しい部分ですよね。
どこで独自色や面白さを出すかはすごく悩んでるというか、正直手探りです。
>310
バグ報告ありがとうございます。
まだソース確認してませんが、こちらでも再現できました。
確かにいきなり巻物を装備してたりして、なんだこりゃって感じですね。
半月でここまで強引作ったのでバグが多そうで怖いです…
ちゃんと完成したらどこかで公開する予定なので、そのときはよろしくです。

312 :
とりあえず実行してないけど、ソースもアルゴリズム解説も何も無いで
このスレ的に価値があるのだろうか
技術議論したいわけじゃないなら、開発状況報告スレにでもいけばいいじゃん

313 :
と、乞食が申しております

314 :
んー、でも出来上がり品が動いてる様子を見るだけでも
いろいろ参考にもなるし見る価値はあるんじゃね

315 :
自動生成関連
725 :デフォルトの名無しさん:2009/05/30(土) 17:45:41
最近、赤本を読み終わったのですがどうも全体的なOpenGLの概観がまだつかめていないらしく、コードをどうかいていけばよいのか曖昧なところがあります。
ゲームを一本通して作りながらOpenGLを学んでいく本は無いでしょうか?英語は読めませんが、洋書大丈夫です。
できれば、少しでもGLSLを使用しているとありがたいです。
726 :デフォルトの名無しさん:2009/05/30(土) 18:06:59
>>725
PixelCityという夜景シミュレータみたいなのがあって、開発工程の説明があるから
おすすめ。プログラム内でビルなどを全部生成しているからゲームとは多少違うが、
その辺を無視してもコードも1万行無いし、色々参考になる部分が多いはず。
ただ、まだWindowsでしか動かないかもしれない。
デモムービー(ここに置いてあるコードは多分古い)
http://code.google.com/p/pixelcity/
ソースコード
http://github.com/skeeto/pixelcity/tree/master
開発工程の説明
http://www.shamusyoung.com/twentysidedtale/?p=2940

316 :
それちょっと前にどこかのブログで見たな

317 :
オーソドックスなローグライクのダンジョンを作ってみました。
http://cid-ee470d7040094ffd.skydrive.live.com/self.aspx/%E5%85%AC%E9%96%8B/MISC/dungeon|_test.zip
Enterを押すたびに$マークが勝手に動き回ります。
よく見るとアラが目立つかと思いますが、とりあえず独立したDLLのサービスとして動くため
3D化してゲームに組み込んでいく予定です。

318 :
アドレスが怖すぎるww

319 :
MSNのファイル共有用オンラインストレージだから、アドレス自体は問題ないだろ
中身は知らんが

320 :
クリックしてみたけどエロ広告バナーだけで何も表示されなかったぞ

321 :
ちゃんとファイルがあって動作したけど、まぁ通りすがりが試してみても
面白いもんじゃないな^^;
面白いゲーム出来るの期待してるぜガンガレ

322 :
>>317
$が通路を往復して、ハマってたぞwww

323 :
>>317
ああ、何回か試したけど、決まった通路の順路で往復するようになっとるんだなw
全部回るわけじゃないのか
あと、ENTER押すのマンドクセw

324 :
最近ローグ系のゲームを作り始めたんですが、いきなり詰まってしまいました。
皆さんはダンジョンをどういうデータ構造で作っているんでしょうか?
最初、ダンジョンの大きさの2次元配列に、床・通路・壁のどれかを入れていこうと思ったのですが、
同じフロア内の敵のみにダメージなどということを考えると、部屋クラスが必要だろうと思いました。
そして部屋クラスを作り、持つデータは部屋の座標・サイズにしたのですが、
風来のシレンでいう、つるはし・大砲・大部屋の巻物などの壁を破壊するものがありますよね。
それを考えると、部屋は長方形とは限らないから座標とサイズを持ってもダメじゃないか?と訳が分からなくなりました。
それに壁を壊したときの、そこは部屋の一部になるのか?部屋と部屋が繋がったときは?など色々な疑問が沸いてきて頭が爆発しそうです。
読み辛い上に長文になってしまいましたが、どうか力を貸して下さい。お願いします。

325 :
いろんな方法があると思うけど
たとえば各マスが「部屋ID」のようなものを持ち
部屋IDが同じマスたちはすべて同じ部屋で
部屋IDがヌル(とか0とかNaNとか)なら通路とか
そういう方法もあるかもね
あるいは同じことだけどIDではなく部屋クラスのオブジェクトへの参照とか
それか逆に部屋クラスの方でその部屋に属するマスのリストを持ってもいい
あとはたとえば各マスに「北と同じ部屋か?」「西と同じ部屋か?」
を表す真偽値のプロパティを持たせるとかいう方法もあるかも
いずれにしても壁が壊れて等のイベントの際にはいちいち判断を入れて
意図通りになるように処理するしかないかと
多分そういうイベントの方が少ないケース(コード量的にも発生頻度的にも)
なのだろうから、一般的なケースが処理しやすくなるような方法にすれば
よいと思うよ

326 :
>>324
俺が昔、ローグライクRPGを作ったときは、
「ダンジョンの大きさの2次元配列」と「部屋クラス」の両方を使ってた。
つるはし・大砲で壁を破壊したときは2次元配列の壁だったところを通路に変更するだけで、
部屋クラスのデータは変更しない。
(壁を壊したとき、そこは通路扱いで、部屋の一部にはならない)
大部屋の巻物を使ったときは、2次元配列を床で埋め尽くして、全部屋クラスを破棄し、
大部屋の示す部屋クラスを1つ作るというようにしていた。
部屋と部屋が繋がっても特になにも処理はしなかったが、問題はなかった。
ちなみに、2次元配列に入れるデータは「(部屋の)床」「通路」「壁」以外に
「壊せない壁」をダンジョンの外周部分に配置しておくと、つるはしでどんどん壁を
壊していって、配列の外に飛び出してしまうことを防げるので便利だった。

327 :
>324
ちょっと前に作ったときは、部屋情報はマップデータとは別に部屋構造体を用意して、
マップ作成時に部屋データもいっしょに作成。
つるはしとか壁を破壊する系は実装しなかったけど、やるとしたら破壊した場所は
全部通路認定。これが一番楽。もし、破壊した場所も部屋認定したいなら、
そもそも長方形以外の形も扱える部屋情報が必要になるからね。

328 :
あんまりやったことないけど、シレンて矩形に広がらないと部屋認定されないんじゃ。
もちろんシレンに合わせる必要は無いけれども。
適当に思いついたことを書くと、部屋はそれぞれ番号を振ってマップにその番号で埋めておく
11111111
11111111
11111111
2222
2222
2222
穴が開く
11111111
11111111
11111111
  1
2222
2222
2222
つながるとどちらかに帰依する
11111111
11111111
11111111
  1
1111
1111
1111

329 :
俺が作ったときはつるはしは面倒臭いので仕様上除外したけど
部屋番号の情報は持たせたな
enum type
{
floor,
corridor,
wall,
}
struct cell
{
int blockNo;
int type;
}
cellで二次元配列作ったので
部屋を識別する所まではできたけど

330 :
>>325-329
皆さんレスありがとうございます。なるほどと思うことばかりです。
2次元配列に部屋ID・通路・壁・壊せない壁を入れる。
壁破壊が起こったときは全て通路にする。(大部屋の処理は別に作る)
これで作ろうと思います。
アドバイス本当にありがとうございました。

331 :
111222333444
111222333444
111222333444
555666777888
555666777888
555666777888
シレン系ってフロアにこんな感じで部屋が割り振られてて、その上に壁や通路があるって仕様じゃね
つるはしで壁を壊すとそこは通路になるとかするとそれっぽくならね?

332 :
ローグライクゲームを作ろうとした奴がすぐにこれだけ出てきたことに驚いた。

333 :
前スレ盛り上がってた頃を思い出すなぁ

334 :
俺のように作ろうとしてまだ手をつけてない奴はその30倍くらいの人数でROMってそうだ

335 :
そういえば、ダンジョンRPGを作ろう、みたいなゲームプログラミングの本が出てますね

336 :
商業誌には期待するな

337 :
>>335
ちらっと見たけどあんまり役に立ちそうになかった
初心者向けのゲーム作成本はとりあえずサンプルそのまんま打ち込んで遊ぶ人向けだと思う
ところで、俺が今作ってたゲーム
ぼちぼち形になりそうなんだけど、ここでテストプレイして貰っても良いだろうか・・・
主にBGMのWAVが体積を取って、容量がCD一枚分弱あるんだけど(やろうと思えば自鯖は建てられる)

338 :
それBGMいらなくね?

339 :
探してみれば分かるけれど
手を加えたら駄目っていう素材屋が多いからじゃね

340 :
ローグライクならここで公開してもいいと思う
違うなら然るべきスレが妥当かな

341 :
テスト用として適当な軽いBGMに差し替えた版を作ってみてはどうかな

342 :
ftp://testerworks.dip.jp/pa_rev0_9.zip
結局、BGMもそのまま公開してみることにしました。400MBくらいあります。
ゲームパッド必須、(たぶん)Direct3D9をハードウェアで処理できるビデオチップ必須です。
DDNS+自宅鯖で公開してます。たまに繋がらなくなるかもしれません。
イーモバでテスト接続したんで、ちゃんと外からも見えてると思います。
公開は一週間くらいで終える予定です。
CPUの種類/クロック数、メモリ容量、ビデオカードの種類、OSの種類と
ちゃんと起動したかどうかを教えていただけると幸いです。

343 :
>>342 どっか別の鯖に挙げてほしい。
桁違いに重い。あと4時間近く・・・・とか、尋常じゃない重さ。

344 :
軽いBGMに差し替えるとか、
BGMは別アーカイブにするとか、
MP3やOGG形式を検討するとか方法はあったはずだが、
ガン無視してそのままうpした理由を聞きたい。

345 :
>>343
ほんの数年前までエロ動画を落とすのにアナログ回線で三日三晩かかっていた俺に謝れw

346 :
>>345 ISDNをずっと使ってたけど、それでも三日三晩はねーよ。
どんだけ高画質なエロ動画求めてたんだよwww

347 :
>>344
発表したいという強い欲望を制御しきれなくて溢れ出したんだなきっと

348 :
BGMは百歩譲って許そう。いや、やっぱ許さん。次から考えろ。
だが以下の入れる必要のないもので90MBも使うのは決して許さない。
・DirectX エンド ユーザー ランタイム
・DirectX エンド ユーザー ランタイム Web インストーラ
・Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ (x86)
アホか!
こんなもんURL提示するだけ・・・いや、ここにいるようなやつは入れてるし、
入れてなくてもすぐ探してこれるよ!
ただでさえBGMのせいで重いのに、こんなもん入れるとか、どんだけ人のこと考えてないんだ・・・。
しかもマニュアルはpdfだし、内容からしてお前、専門生だろ・・・。

349 :
昔はよかったな〜、凄いのやら斬新なのやら
いろんな自動生成公開してくれててよかったな
久々に何か来たと思ったらどうでもいいやつだし

350 :
BGMがWAVだったのは、
学校側か教師から貰ったライブラリがWAVしか対応してなかったとか
そんなオチ臭いなあ・・・。
つーかこれ提出用のパッケージまるまるうpじゃないだろうな・・・。
ゲーム?
ああ動かないよ。

351 :
> ゲーム?
> ああ動かないよ。
吹いたwww

352 :
自分も動かなかった。
音となんやら絵だけでてきたけど、入力を受け付けてないのかそれとも、他の原因かは不明。
ウィンドウを閉じる時も微妙にタイムラグがあった。
あと、再配布なんて入れるぐらいなら最初っからDLLリンクをしな蹴ればいいよ。
参照:ttp://lab.co-conv.jp/blog/2007/08/runtime_error.html

353 :
ウィルスとかっていう発想は無いのか

354 :
>>353
さすがに、チェックはした。

355 :
なんつーか、みんな優しいな・・・ある意味

356 :
起動できるまでがダンジョンです

357 :
warota

358 :
怖いならウイルスよりもろに木馬の可能性だろう

359 :
>>342
CPU Core2Quad 2.83GHz
RAM 4GB
GeForce9800GT
Windows Vista SP1
ちゃんと起動したけど、まだ動作確認の段階だね。
キャラ移動時はスクロールさせた方がいいと思う。それだけで操作感覚が随分変わる。

360 :
BGMがWAVEとかワラオタwwww

361 :
色々と偏ってる変なダンジョンができないようにパラメーターを調整すると
「偏ってないからここらへんにも部屋があるだろう」とか予測されるんだよな。
例えば必ず全体的に部屋や通路が散らばるように設計すると
「右上の空間があいてるから、そこに部屋か通路がある」
と予測されてしまうことになる。
いつも平均的なMAPができるのって、予測される恐れがあることに繋がるから難しいね。

362 :
あ、その辺「集合知プログラミング」って本でいろいろ実例出てる可視化方法論が面白くて色々実験コード書いてる最中だわ
ある程度ランダムな部屋グラフも、交差点除去とかでゲーム的に無難なグラフに解けたりすんだわ。規模間違うとえらい遅くなるけど
CPUリソース余り気味な昨今だし、ゲーム性の方を落とし込みやすくするために多少ややこしいコード費やしてもいいように感じる

363 :
>>361
ゲーム的にはそれでおkかも試練
トルネコ3みたいな構造はいやだなぁおれは

364 :
まさゆき15Fみたいな構造は好きだなぁおれは

365 :
>>361逆に、予測不能だとゲームにならんだろ
単に全部の壁を虱潰しに探索してシークレットドアを探す遊びになっちまう。

366 :
0か1かで考えるなよ。予測しにくいのとか、やや予測しやすいとかあるだろ。

367 :
XY座標上に部屋と通路を展開した「階層ダンジョン」ってのを見直して、
通路を傾斜させて平面上に部屋を造らない「蟻の巣ダンジョン」にしたら複雑度は増しそうだな

368 :
あー、それ考えたことあるわ
しかしプレイヤーが位置関係を把握できなくなってしまうという罠
3Dでも見せ方を工夫しないと・・・

369 :
>>366だからさ、ゲームなんだから予測出来なきゃならんわけよ。
でないと、予測し難い部屋の存在を無意味(訪れても意味が無い部屋)にする(それはそれで意味は無い)か、
全部の壁でシークレットドアを探す遊び(訪れる意味がある「はず」なのに訪れない選択肢を選ぶわけにはいかないが、予測出来ないなら全て探すしかない)になるか、
のどちらかになっちゃうわけ。
CRPGとかの「やり込み派」にとっては全部の壁でシークレットドアを探す遊びで構わんかも知らんが、
普通のゲーマーは予測を行った上で行動を選択するもんだから、予測出来ないってのはそれだけでゲームにならんわけだよ。
>予測しにくいのとか、やや予測しやすいとか
そりゃあるが、それは迷路とかとは別のヒントが何処かにある場合だろ。
ゲーム作る方はDMなんだから、ノーヒントで何とかしろって言うなら前述の通りってことさ。

370 :
どんだけゆとり脳なんだよ

371 :
>>369
お前は自分の考えが少数派だということにさっさと気付くべき
ゆとり以前のレベル

372 :
なんかTRPG系かゼルダ系のMAP作成と思われているようだが
思っている事がこっちと食い違ってるようだ。
自分が>361と>366で言ってるのは
シレン系のダンジョンでの1階層の全体MAPってこと。
で、予測がどうのって言うのは、その全体MAPの形のこと。
必ず全体的にMAP全部を使うようなランダムMAP作成のアルゴリズムにすると
まだ行ってない未探索領域に、通路か部屋が必ずあると予測されてしまう、という問題。

それにしても、なんでシークレットドアにこだわっているか疑問だ。

373 :
階層全体の大きさを決めなければいいんだよね

374 :
>>373が良い事言ったんじゃね?

375 :
>>370-371なにせ超少数派だからな。
昔コンピューターでもゲームを作れる!と思ってプログラマーになったはいいが、
虱潰し系のゲームばかり作らされ、そうじゃないのを作ったら売れず、ゲーム仲間に聞いてみたらみんなTCGに逝ってて
コンピューターでゲームは出来ない(虱潰しはゲームじゃない)から買わないし見もしない、とか言われて、
でももう後戻り出来ない鬱屈を晴らしただけだ。
>>372
>それにしても、なんでシークレットドアにこだわっているか疑問だ。
別にシークレットドアじゃなくてもいいんだが、一番顕著にウザいところだからさ。
あるか無いかわからんから延々と一歩進んでは探すコマンドの繰り返しがな。
それとシークレットドア以外にも、上を通らんとわからんから全ての部屋の中を虱潰しに歩くしか無いとかもウザい。
まあ、超少数派の愚痴だとでも思っててくれ。
で、
>まだ行ってない未探索領域に、通路か部屋が必ずあると予測されてしまう
MAP全部使うアルゴリズムでも、単に部屋(と其処につながる通路)を乱数でゼロ個以上消すというアルゴリズムを加えるだけで済む問題だな。
乱数で消す数を決めるのは、「毎回一つ分は無い」とか予測されるのを防ぐ為だ。

376 :
その気持ちは理解できる。俺だってTRPGも好きだ。しかし俺に文句言うことじゃねぇだろ。
こっちの文中には、虱潰し的な隠し要素の事なんか一つも書いてないんだし。
そしてあくまで議題は「ランダムなMAPを自動生成する時にバランス重視しすぎるとプレイヤーに予想されるよね」って事だ。
「重視しすぎたらダメだよね」という内容だからさ
>MAP全部使うアルゴリズムでも、単に部屋(と其処につながる通路)を乱数でゼロ個以上消すというアルゴリズムを加えるだけで済む問題だな。
のような「バランス重視を緩めたらいい」って事もこっちは理解してるよ。
1行だけ見たら会話は成り立ってるけど、話全体から見ておかしい返答してるぞ。

あと、俺も虱潰しゲーは大嫌いだ。

377 :
>>376いやいやスマソスマソ。基本八つ当たりなんだから理不尽に思うのも当然だな。その点は堪忍してくれw
>こっちの文中には、虱潰し的な隠し要素の事なんか一つも書いてない
それはそうなんだが、そうでないなら「プレイヤーに予想される」ことを問題視する理由が無いと思ったんだ。
例えばMAPの半分が空き領域なら「ここには何かある」は当然考えることでそ
で、シークレットドアでないなら既探索領域の情報から未探索領域があることは自明(開いてないドアがあるとか、
罠があるから進むのを諦めた通路があるとか)なはずだから、空き領域か否かに関わらず予測可能であって問題は無い、と思うわけさ。
だから>>365でいきなりシークレットドアだと思い込んで脊髄反射でレスするに至った。
>議題は「ランダムなMAPを自動生成する時にバランス重視しすぎるとプレイヤーに予想されるよね」って
それはもしかしたら、逆にバランスが取れてないんじゃないかと思うんだ。
その予測推測が出来る根拠ってのは、他の場所が「みっちり詰まって」る(←部屋が詰まってるってのも変だがw)から、「みっちり詰まって」ない場所にも何かがあるはずだ、ってことでそ?
「みっちり詰まって」るって状態を作るのは既にバランスが取れてないと思うんだよ。建築物の間取りじゃあるまいし。
狭いマップになるべく沢山詰め込みたい(=効率重視)のかも知らんが、詰まってない部分が適度に入ってないってのは効率追求し杉のような希ガス
まあこの辺はモレの鬱憤晴らしの思い込みって可能性も多分にあるから何とも言い難いんだが。

378 :

こっちの言うバランスは「シレン系MAPでの壁と空間の密度バランス」の事。
みっちり詰まってる設定ではないぞ。適度に壁で適度に空間があるバランスで。
(第一みっちりが悪かったら板壁のWIZ系MAPは全部バランスが悪い事になる)

なんか相手の言いたいことを、微妙にずれて勝手解釈する人だなぁ。
プログラマーって書いてたけど、仕事仲間との打ち合わせがうまく行ってるか心配だ。

379 :
鬱屈のあまり判断力が鈍ってるのか、虱潰しゲー憎しで思考が固まってるのか。

380 :
別に >>365 の人が、それほど
おかしなことを言っているようには見えない。
なんで少数派ということにして追い出したいのかな?
「各々が知っている&想定しているゲームの形は違う」
ことを前提にして、互いに
基本的な所から話を始めないと噛み合わないよね。

381 :
ていうかこのスレで話すことなのだろうかーという感じの話題だ
興味ないから目がすべる

382 :
俺も読み飛ばしてる
最初の1、2レスだけ真面目に読んでたけど
どうせ読んでもつまんないと思った

383 :
>>380
365の人はそれだけなら変なことを言ってるわけじゃないけど
突然シークレットドアが出てきたりして話が飛躍するのよ。
指摘の通り361の説明不足も一因なんだけど。

384 :
「ゲームはこうあるべきだ」なんてのは開発者のエゴ
好きで作ってるならそれも許されるけど、それならそれで人に押しつけずに一人でシコシコやってろ
要するにスレ違いだから帰れ

385 :
こんな時間にリプライが……!
ちょっと補足。
>>383
シークレットドアについては、>>365 氏は Rogue のことを
言っているのだと思う。
二人とも、考えているマップ系は「シレン」で、ここに相違はない。
Rogue Clone II for Win32
ttp://www.vector.co.jp/soft/win95/game/se124569.html
このゲームでは、階によっては、次に進む階段の部屋と、
それに続く通路・扉が秘匿されている場合がある。
マップの空き領域に部屋が作成されると「予測」できなかったら、
それこそ「虱潰し」で、既知の部屋の内壁を探索することになる。

386 :
まだ続けるつもり?

387 :
>>378
>相手の言いたいことを、微妙にずれて勝手解釈する人だ
ずれる理由は>>377で書いた通り
>>そうでないなら「プレイヤーに予想される」ことを問題視する理由が無い
と思ってるからだし、そう考える理由(=根拠)もまた>>377で書いた通りだ。
で、シークレットドアではない=問題は無いはずなのに問題であるのなら、
実は虱潰しゲーを作るつもりなのに嘘を吐いているか、モレにとって未知の問題が存在することになる。
そしてこの「モレにとって未知の問題」というのは「喪舞にとっては既知の問題」なのかも知れないし
「喪舞にとっても未知の問題」なのかも知れない。
喪舞は問題だから大変だねって話をしたい。モレはそれは問題じゃないという話(別のところに問題があると思っている=問題になる理由に関する話)をしたい。
それがずれる原因だ。まぁ、モレが最初に横槍八つ当たりモード満載な決め付け煽りレスを入れたのが悪いんだがな。
せっかくなんで先の三通りに関して、
「嘘を吐いている」場合ってのはそのまんま虱潰しゲーを作る為に問題視してるんだがモレがアンチ虱潰しゲーレスを入れたもんだから引くに引けなくなってしまった場合だな。
この場合は論点をずらして誤魔化して、何とかしてモレを追い出そうとせにゃならん。実はそんなことせんでも虱潰しゲーマンセーとか言えば捨て科白残して消えるんだがなw
「喪舞にとっては既知の問題」の場合は、その問題の理由を説明してくれてモレが納得すれば、モレは一方的に満足して消えることになる。
その程度もわからんス素人に教えてやる気はねぇ!  って思って説明する気にならんかも知らんがね。
「喪舞にとっても未知の問題」の場合ってのは単なる学術的興味の場合だな。漠然と予測されるってのは問題なんじゃないかと思っただけとか、問題になるかも知れないね程度とか、
完璧なアルゴリズムを目指すならその方がいいだろうとか。その場合はモレは「その問題が何かは知らんが虱潰しゲー以外なら解決する必要は無い」と主張していることになる。

388 :
>>379虱潰しゲー憎しで空気が読めてないんだよw
>>380ということで>>387の通り書いてみた。
>>381-382アルゴリズムや手法にしか興味無い人には多分つまらんと思う。脊髄反射レスから始まったもんだからスレ違いな方向に流れて・・・
とりあえず、虱潰しゲーの是非とか不毛な論争にはならんはずだから堪忍して・・・

389 :
お互いの知識や論理展開はきっと間違ってないんだろうけど、
前提となる共通認識に齟齬があるんだと思う
というか>>380のとおりなので、
会話を最初からやりなおしたほうがいいと思う
で、結論として>>384になるかもしれんけど

390 :
>>387は反論のための反論であり、完全に不毛な論争をしているように見えるのだがねぇ。

391 :
”自論を貶されると相手を黙らせるまでウザイ自論を展開し続ける”
これが誰の事を指していて、どれ程回りに迷惑をかけているか当人が分かってない内は
当事者以外は静観していた方が良い。

392 :
>>389-390こちらとしては>>361
>「偏ってないからここらへんにも部屋があるだろう」とか予測される
ことが問題になるのは「虱潰しゲー」だけだ=非虱潰しゲーなら問題にはならない、と主張してるんだ。
積もり積もった鬱屈から脊髄反射で顔を真っ赤にして虱潰しゲー叩きしちまったのは悪いと思うが、虱潰しゲー叩きをしたいわけじゃない。
むしろモレとしては、何故に372が争点となっている>>377の前半を>>378でヌルーして、別のところを指摘した挙句に
>プログラマーって書いてたけど、仕事仲間との打ち合わせがうまく行ってるか心配だ。
とか人格攻撃みたいなことを始めたのかが不思議なぐらいだ。
>>391そういうことなんで、悪いけどもう少々我慢してね。

393 :
なるほど、なるほどなあ

394 :
>>392
スレ違いの長文はいいかげんにしてほしいんであえて聞くけど
虱潰しゲーとかいうのを叩くのが目的じゃないなら何が目的なの?

395 :
>>>391そういうことなんで、悪いけどもう少々我慢してね。
自覚あるならさっさと消えてくれ

396 :
>>394とりあえず目的は段階的に二つあって、
一つは虱潰しゲー以外なら「プレイヤーに予想されないようなマップ」を作ること自体が無駄だということを理解してもらうこと。
もう一つは、それが無駄でない=モレが間違っているなら、「プレイヤーに予想される」ことを問題視する理由を(それが虱潰しゲーだからという以外の理由があるのなら)知ること。
虱潰しゲーを作りたいと思ってるってんなら虱潰しゲー叩きして冷静になったところで話が終わったんだが、
虱潰しゲーを作りたいわけじゃないってんなら「プレイヤーに予想されないようなマップ」を作ること自体が>>377で書いた根拠に基づいて無駄である。
逆に「プレイヤーに予想されないようなマップ」を作ると、簡単に虱潰しゲーになっちまう。
虱潰しゲーでないなら、予想に基づいて「あえてその領域を探索しない」んだから「予想出来るマップ」を作らなきゃならんわけだからな。
それを理解してもなお「プレイヤーに予想される」ことを問題視するなら、それが虱潰しゲーであるか、モレの考えが誤っているかのいずれかだ。
「それが虱潰しゲーである」のなら、虱潰しゲー憎しの八つ当たりはもう終わったから「そうかそうか」って言ってモレが消えるだけだ。
そして「モレの考えが誤っている」のなら、どう誤っているのか知りたい。知ることが出来たら「有難う」って言ってモレは消える。
ただこれにもやはり第三のケースがあって、「問題になるような希ガス」るだけであって「モレの考えが誤っている」か否かすらわからんって場合も有り得る。
その場合は、モレは「前述の通り無いと思うょ」と言って消えるわけだ。

397 :
三行で

398 :
>>396
よしよし、お前が全面的に正しい。
満足したか?
消えろ。

399 :
>>396
ここはダンジョンや迷路の自動生成技術に関するスレだ。
それが使われるのは迷路だ。
迷路とは予想を裏切られおおくの経路を歩かされることを目的とした遊びだ。
ようするにこのスレはお前の言う『虱潰しゲー』を作りたい人のためのスレなんだよ。

400 :
>>399
違う、もっと幅広い
スレタイと>1を再確認してくれ

401 :
>>400
お前は>>365のご高説をこれ以上聞かされたいのか?

402 :
持説が正しいって認めて貰えたんだから、もう来ないだろ。

403 :
>>397
虱潰しゲー以外なら「プレイヤーに予想されないようなマップ」を作ること自体が無駄だ。
無駄じゃないって言うなら無駄じゃない理由を説明してくれよ。
いきなり叩いたのは悪かったよ。虱潰しゲーを作りたいと思ってるんならそう言ってくれ。
>>398喪舞・・・頭悪いだろ
>>399一瞬納得しかけたが、
>予想を裏切られおおくの経路を歩かされることを目的とした遊び
純粋な迷路遊びならそうだろうが、それ以外にも迷路を使うことはあるだろ。
>>402自説が正しいと信じてるからわざわざ認めてもらわなくても結構。虱潰しゲー叩きはもう終わったわけだしなw
と言うかむしろ(モレの)自説が間違ってるという根拠があるなら是非それを知り、知識欲を満足させたい。
ちなみに、正しい(と思ってる)からこそこうして自説を展開してるわけだから、それを正しいと認めたら逆に図に乗るだけだぞ。

404 :
数字も数えられない奴相手にするだけ無駄だな

405 :
>>404そうだな、数字を数えようとするような香具師相手するのも馬鹿馬鹿しいしな。

406 :
前半部分をスルーした理由をようやく理解いただけたようで、良かった良かった。

407 :
長いコピペだったな
お疲れ

408 :
あれ?  もしかして逃亡宣告だと思われた?

409 :
>>408途中から主語を抜くからわけわかんなくなるんだ
お前
(隠し部屋・通路の位置や数が)予想できないマップ
→これは虱潰しゲーになるだろう。俺もそう思う
他の人
(その階に行くまでは部屋の数やサイズや位置とかが)予想できないマップ
→これは虱潰しゲーにはならんし、これを作るのが無駄ならこのスレも無駄

410 :
>>406
誰を敵視してるんだ?
自覚してるなら良識を持ち合わせている間に消えてくれよ
それと、
>喪舞 モレ
2chでも死語の域だぞ
恥ずかしいからヤメレ

411 :
>>409その「他の人」のマップはローグ系のマップを指してるわけでそ?
あえて改めて説明するが、そもそもは>>361
>「偏ってないからここらへんにも部屋があるだろう」とか予測される
のを問題にしてるのを見てモレが突っ込んだのが始まりだ。
モレの認識では
  1)シークレットドアが無ければ、到達可能な部屋があることは自明なので
    部屋があるか否かは偏っていようがいまいが関係無く予測可能
    =>>361の問題は杞憂
  2)シークレットドアがあり且つ(その階に行っても)部屋の数やサイズや
    位置とかが予想できないマップならば、虱潰しゲーになる
という再三説明した前提に基づいて、また>>361の問題が「ローグの1フロア分のマップ」を
前提とした話だと判断し、これは虱潰しゲーになると考えて>>365の突っ込み方をした。
もしも>>361が「ローグの1フロア分のマップ」の話ではなく「ローグのダンジョン全体」の話であり、
例えば「このフロアには通路が一本通ってるだけだから」とか言う理由で「このフロアには他に部屋があるはずだ」と
予想されることを危惧しているのなら、喪舞の指摘通りモレの壮大な勘違いだ。
>>410もしかしてアンカー間違ってないか?

412 :
>>411
361は俺じゃないから間違ってるかもしれんが
シークレットドアが無ければ、到達可能な部屋があることは自明
これはあってると思う。
でもその通路の先にいくつ部屋があるのかとかは自明じゃないよね?
平均的なら広いからこの先に四部屋ぐらいあるに違いないとかの予測を>>361は裏切りたいんだと思う


413 :
なんでどっちでもいいことに熱くなってんだ
どっちがいいかはプレイヤーが決めることやし好きなようにしたらいいやん

414 :
専ブラって便利だな
スゲースッキリ

415 :
>>412うーむ・・・なるほど。予想を上手く裏切ることはエンターテインメントとして重要だもんな。
でも頻繁に裏切るようだと予想する意味が無いわけだから、そのうち予想しなくなって結局虱潰しゲーになっちまう。
だから飽くまで「上手く裏切る」んでなきゃならんと思うわけだが、自動生成で「上手く裏切る」のは難しいと思う。
いや頻度を落とせばいいだけか?  10フロア中の2フロアだけとか?
とにあれ、モレは過去に自動生成で「上手く裏切る」方向性は諦めた人間だから、色々やってみたが難しかったよとしか言えん。
虱潰しゲーにならんようにガンガってくれ。
しつこく長居して色々とスマソかった。

416 :
世の中には、「意見をぶつけ合うことで互いの疑問点を解消し、知識を得たい」
人と、そうでない人がいる。
365 は、もう少し文章を簡潔にまとめることを覚えないと。
「おかしい奴を罵るのは当然」な人達には伝わらないよ。

417 :
>>416簡潔にまとめて、そういう香具師が読めるように書くと誤解して何度も見当違いな揚げ足取りを熱心に繰り返すからな。
心配は有り難いが、読解力の無い人間や議論する気の無い人間をフィルタリングしてるようなもんだ。
毛色が違う香具師はとりあえず罵ろう、以外に何も考えられない香具師にはモレとしても用が無いわけだからさ。

418 :
>>413
どっちでもいいことかなぁ?まぁ何がどっちなのかもわかんないけど。
A.361の意見
「部屋を平均的に配置すると全体の構造を予想される。均等にしすぎるのも考え物だ」
B.375の意見・376で同意
「Aの問題は配置をわざと不均等にすることで解決される」
C.365・369の意見
「ただしシークレットドアを採用している場合はBの手法を使ってはならない。
 何故なら存在するかもどうか分からない部屋を求めて延々壁を叩いて回ることになるから」
D.369の俺解釈・Cの一般化
「プレイヤーに行動を選択させるにあたっては、何らかの取っ掛かり・ヒントを与えるべきである。
 完全なランダムは、その取っ掛かりとはならない」
何とか理解できたのはここまでだが、いずれも重要な示唆・知見であるように思えた。

419 :
素直にまとめる言語能力が無いっていいなよ。
みんな分かってるんだからさw
あと読みにくかったり喧嘩腰なのはフィルタだって言い張る連中たくさん見てきたけど、
ほとんどがスレを荒らすだけ荒らして、ロクな決着着かなかったよ。
他人に理解してもらう努力を放棄した議論なんて、ただの口喧嘩なのにねえ。

420 :
>>418重要だと思ってるから長々とレスしたわけだからな。ただ、作らない人には重要な話じゃないんだよ。
>>419長い=読み難いでなく、読み難いか?
議論だし誤解されるのも嫌だから、略さない=読むのが面倒な書き方になってはいるとは思うが、
論理構成はまとめてるつもりなんだがな。

421 :
>>410もしかしてアンカー間違ってないか?
自覚あんだろ?いい加減にしろや

422 :
>>421もう終わったよ。

423 :
ここまで俺の自作自演でした

424 :
>>418
まとめ乙

425 :
361から物語風全レスつくった俺涙目

426 :
>>418
訂正どれでもいいだな
ここは技術を語るスレで遊ばせ方っていうのかな
ゲーム内容を語るスレじゃないと思ってた
技術的には誰でも作れる話なのでどうでもいい

427 :
珍しくスレ伸びてるから、なんか投下されたと思ってワクテカしたのに…(´・ω・`)

428 :
技術スレでは良くある痛い子w

429 :
なんか伸びてると思ったらこんな馬鹿騒ぎで百レスも…
半年ぶんのスレ容量をくだらないことに使った奴は
どれだけ自分が恥ずかしいかよく考えてみろ

430 :
>>429
フル勃起で同意
せっかく面白いネタだと思ったのに、糞つまらん話ばっかりR

431 :
つーかこのスレ、こんなに人がいたんだなぁ

432 :
ゲーム作る上で、マップを生成するってのは、かなり広いジャンルに通じるネタだし、
なんか興味深いネタがたまに出てくると面白いね、って感じでROMってた

433 :
とりあえず手っ取り早く元の流れに戻すために無理矢理質問ひねり出してみるけど、
逆にまず探索する側の行動をシミュレートして、それに基づいたマップを生成するアルゴリズムってないの?
もしくは現在のマップでの行動を解析して、それを次のマップ生成へ反映させるような手法とか

434 :
逆にまず、とりあえず手っ取り早く探索する側の行動をシミュレートして、
それを次のマップ生成へ反映させるようなアルゴリズムってないの?
もしくは現在のマップでの行動を解析して、
それに基づいた元の流れに戻すために無理矢理質問ひねり出してみるけど

435 :
何いってるかわかんねーよ
しばらくおとなしくしとけ

436 :
左右に分かれてて、片方が先に進めて片方が行き止まり。
最初に右を選ぶとMAPを書き換えて、右が行き止まりで左を正解にする
最初に左を選んだらその逆に書き換え。だったらストレスが溜まりそうだ。

437 :
その法則が全てに当てはまるなら、一歩だけ右を選んでから左に行けば、常に正解を引くことができるんじゃね

438 :
ああああ
今日ずっとコーディングしてるのに
ぜんぜん自然なダンジョンができねえぇぇぇ

439 :
>>438
いっそ、構築する行程・手順・アプローチを別のものにしてみたら?

440 :
設計の問題なのか
調整するパラメータの問題なのか
そういった切り分けをしてみるとか

441 :
もうパラメータを調整するのにも飽きちゃった
本当に細かいパラメータの調整が必要な繊細なアルゴリズムって
そもそもアルゴリズムとして劣っている気がしてきたよ

442 :
そのアルゴリズムとかいうものがなんなのか非常に気になるな

443 :
>>433
イメージだけど、あらかじめマップを生成してから探検させるのではなくて
未知の部屋に踏み込んだ時点で初めてその部屋を生成するみたいな?

444 :
1)とりあえず無難な1フロア分のマップ生成
2)@がそのフロアを探索
3)探索した様子を解析し、虱潰しゲーを好みそうなプレイヤーか365みたいなプレイヤーか判断
4)次のフロアのマップ生成する時に、前者なら虱潰しゲー用のマップを、後者ならゆとり用のマップを生成
5)(2)に戻る

445 :
>>444
3が恐らく大問題
相容れない分岐で好みじゃない判定されたら、ハマるどころか早々に飽きられる

つかさ、XYの最大値を固定した配列の中に、通行可能なビットフラグ立てるっていう
マップの作り方を変えた方がいいんじゃないかと
例えば部屋二つに通路一本で繋がってるフィールドを作ろうとすると、
部屋は二つ、通路は一つとした構造体作るだろ
通路に関しては曲がるならその数だけ作る
部屋{
 位置X,Y,
 サイズX,Y,
 接点1X,Y,
 接点2X,Y,
 ...
}
通路{
 位置X,Y,
 長さL,
 接点1X,Y,
 接点2X,Y
}
こうする事で固定フィールドじゃなくする事も可能な訳だよ
そして、これが本題なんだが、プレイヤーが見る事が出来る「マップ」ってやつはフィールドサイズを教える事になったり、
空き地を示唆させちまう要素があるからそれも見直すべきなんじゃないかと
長文すまない。

446 :
日本語おかしいな
×相容れない分岐で好みじゃない判定されたら、ハマるどころか早々に飽きられる
○相容れない「ルーズ探索派」と「しらみ潰し派」の分岐判定で好みじゃない判定されたら、云々

447 :
要するに>>373ってことか

448 :
シレン系は序盤と終盤とで探索方法も変わるんだけどな。
序盤は虱潰しでアイテムを全部確保して終盤に備えて
終盤の敵が強い時は階段を下りれるならすぐ降りたほうがいい状況になる。
フィールドサイズの自由化は難易度を上げたい時にいいかも。
簡単にしたい時も通路を短くして探索しやすくできるし。

449 :
>>443
そうそう
ゼビウスの難易度調整機能と言ったら例えが悪いかもしれないけど、あんな感じ
探索させまくるか否かの両極端じゃなくて、ある程度ファジー的に推移させていくような
普通のプレイヤー(の定義も難しいけど)がやると中間に収束していくように調整、
もしくは判定自体をプレイヤーの行動に応じて学習し変更させるとか

450 :
>>445
>3が恐らく大問題
多分人工知能(もしかしたら強い方)の研究分野に入るんじゃないかと思うしな
>プレイヤーが見る事が出来る「マップ」ってやつは
スクロールさせれば何とかなるんじゃないかな?

451 :
長文レス厨は自分の頭の中に寄生してる虱を潰したほうがいいよ。

452 :
部屋やMAPの極端さも難易度に関わりがあるな。
3×3のモンスターハウスで、自分が中心で後は全部モンスターとか泣ける。

453 :
其処まで極端だとそういう遊びなんだろうとしか思えないな。

454 :
2LDKダンジョンやモンスターマンションは(ry

455 :
「おかえりなさい、先に毒矢にする?それとも落とし穴?それとも、あ・た・し?」とモンスターが(ry

456 :
最近roguelike作り始めたんだけど、ふと思いついてマップのサイズを無制限にしてみたので載せてみる。
http://www28.atwiki.jp/hogedungeon/pages/13.html (要Flash10)
別に上で議論しているからってわけでもないけど……まあネタだね。
ゲームそのものはまったくできていないよ。

457 :
MAPが小さくて実感できないぞ

458 :
>>457
それは画面上の表示が小さいってこと?
生成されたダンジョンが小さいってこと?

459 :
生成ダンジョンの方。無制限っていうからどこまでもMAPが
広がってるのかと勘違いした自分も悪いが。

460 :
世界地図自動生成機能を作ってみました
http://yabumi.jp:8000/acchanpage/cgi-bin/up/up/up6514.zip
まだ波の浸食とかのアルゴリズムはないので、海岸線がギザギザなので、
次の課題にしてみようとおもいます。
生成サンプル画像
http://yabumi.jp:8000/acchanpage/cgi-bin/up/up/up6515.jpg

461 :
6!

462 :
鑑識が採取したうんこの写真かと思った

463 :
ソース無いのかよ

464 :
いいね。小さい島というか岩礁を削ってからが勝負だな。

465 :
さすがにウンコっぽいなーと自分でも思いましたので、
岩礁削るついでに色々手を加えてみました
■改善内容
・岩礁、小さすぎる島を取り除く
・小さすぎる湖や入り江を取り除く
・左右ループ構造にしてみた(上下はつなげていません)
・高度が一定以下の陸地は緑色にした(そのため、地図全体が熱帯のようなイメージになっています)
・陸地と水域の輪郭を強調
・水域と陸地の比率が常に一定になるようにした(陸地3:水域7)
実行ファイル
http://yabumi.jp:8000/acchanpage/cgi-bin/up/up/up6519.zip
サンプル画像
http://yabumi.jp:8000/acchanpage/cgi-bin/up/up/up6520.jpg
■次の課題
・気候を計算するアルゴリズムを設定する
・川を作成するアルゴリズムを作成する
・上記に基づき、各地形に植生を設定するアルゴリズムを設定する
・植生に基づき、陸地の描画色を変更する


466 :
必然的になんだろうけど長崎県やギリシャみたいな沈降地形を想起させるね

467 :
ああいうのは沈降地形と言うのですか
地質学的な計算はあまりやっていないのですが、
もしかしたら近似しているのかもしれないですね。
作ってて思うのは、今の地球の地形の多様性の多さですね。
やっぱりプレートテクトニクス的な計算やらないといかんのかなー
勉強不足です><

468 :
【沈降地形】 
土地が沈降して、山地にできたV字谷まで海が入り込むと、複雑に入り組んだ海岸線ができます。
リアス式海岸(*6)と呼ばれます。このような入り江の奥では津波の被害を受けやすいので注意が必要です。
山頂付近だけのこして水没すると、瀬戸内海や松島のような地形になります。多島海と呼ばれます。(*7)

あーなるほど
地形を作ってから水を流し込んでいるので、
まさにこういう作り方してますね。
なるほどなぁ



469 :
あーうん、そうそうそれそれ
>>467
俺も道路網の自動生成をしようとか考えたことあるけど
その前提になる都市の発達をシミュレートしたいとか、
そのためには川などの自然地形を生成してとか
きりがなくなって投げ出してしまったよ
うまいモデル化ができればいいんだろうけど

470 :
無責任に言うけど、
川の3作用(侵食・移動・堆積)を再現するだけでも
だいぶもっともらしい地形ができそうじゃないかな
そのための初期値になる地形をどのように用意するか
という問題はあるけれども

471 :
>>469
どこかで諦めないといけないでしょうね
そうしないとビッグバンからシミュレートすることにw
>>470
川の生成については、ちょっと前に文献を読んだことがあるので、応用ができそうなイメージを持っています。
海に水を流し込む前に陸地に水滴を1粒づつたらして行く感じですね。
で、水が低いマスに向かって流れる瞬間に、現在のマスの高さを削って流れ込んだ先のマスを高くする(侵食と堆積)
そんなようなモデルです。
これをやると意外と河川の移動も再現できるような気がするので、今度やってみますね

472 :
>>471
あーうんうんそういうイメージ
期待するお

473 :
ハイトマップ化して3Dで見てみたい

474 :
>>471
>川の生成については、ちょっと前に文献を読んだことがある
なんて名前の論文か教えてほしい。興味がある。

475 :
小さい島だけじゃなくて、小さすぎる池も削ったほうがいいと思うよ。
あとは、谷でも山でも、とがった部分から丸くなっていくから
急すぎる凸凹角を滑らかにしたらいいかも


■■■■


■■
■■■■
こんな風な補完とか。

476 :
>>473
すんげー擬似な3Dならできるかなー
>>474
えーと論文名は以下です
"Ignacio Rodriguez-Itrube and Andrea Rinaldo, Fractal Rivar Basins (Cambridge University Press, Cambridge, 1997)."
もっとも自分は英論文探して読みこなす能力は無いので(馬鹿ですいません><)、
複雑な世界、単純な法則(マークブキャナン著)という書籍で要約を拝見しただけなんですが。
>>475
まさに、水滴たらして流す方法でそれができそうです
水の位置エネルギーは落差が高いほど大きくなりますので、土地を削る力も強くなりますしね

477 :
>>476
ありがとう。
大丈夫俺もないorz

478 :
自動生成じゃねーけど、タクティクスオウガのHERMITってどうなってんのあれ?

479 :
想像ですけど、高さデータ持ったメッシュ配列(1D)と2Dマップ使って、計算は3Dでやってるんじゃないでしょうか
マップの表現自体は画面奥側のマス(四角形の頂点)から高さに応じた柱を1マスづつ置いていっているんじゃないかなー

480 :
>>479とほとんど同じことを書いてしまうけど、
・「高さ」データや、「パネルの種類」データ(水とか地面とか)、はデータで持っている
  (マップ自体は自動生成ではない)
・上記データをもとに、
 例えば隣接したパネル(マップチップ)がどちらも「水」で高さが違うなら、
 「高いところから低いところへ水が流れている」と解釈し、
 水の流れのグラフィックを自動生成
って感じかな
例えはものすごくテキトウなので、水の流れはもっとシンプルな方法だったりするかも
ほかの自動生成の例をちょっと思いつかなかった
「HERMIT "自動生成" マップ」でぐぐると、描画について考察してるpageがみつかる

481 :
ワールドマップが自動生成されるゲームって実際にあるの?
どんなゲーム性なのか想像つかないけど……

482 :
ティルナノーグとローグライクは?
後者は全世界じゃなくてダンジョンだけなのと細部パーツが決まってるので除外ってこと?

483 :
>>481
シムアース

484 :
>ティルナノーグ
調べてみたらワールドマップどころかシナリオまで自動生成なんだね。興味深い
でもシリアスなシナリオを自動生成しても、何回か遊んだら飽きそうだな。
せっかくならバカっぽいシナリオで笑いをとりにいく方が飽きないかもね。
ローグライクはたいていダンジョンだけなので別ってことで。
>シムアース
RPGみたいなの考えてたから思いつかなかった。じゃあシヴィライゼーションもそうか。
要は465のような仕組みをRPGではどう応用していくのかな、という話。

485 :
ティルナノーグ ってPC98でお使いするだけの作業ゲーだった気がするが、いまは違う?w

486 :
ルナティックドーンもそうだけど、そういうのは基本的に自動生成お使い+ビルドインのメインシナリオになっちゃいますね
というか、仕方ないけど

487 :
アートディンクのアトラスを挙げようとしたらレス書いてる間にルナドンが来たか
変なところにアメリカを発見したりするんだよな

488 :
>>481
ヴァーチャル・ハイドライド
マップが自動生成されるだけでシナリオは変化しないけど、代わりスコアがあるので、
スコアアタックを楽しむデザインになってる。
ローグのワールドマップ版みたいな感じかな?

489 :
SPOREっていうゲームの惑星は自動生成?

490 :
勉強がてら3D表示をできるようにしました
スムージングなんてしてないのでカクカクですが
サンプル画像
http://yabumi.jp:8000/acchanpage/cgi-bin/up/up/up6529.jpg
実行ファイル
http://yabumi.jp:8000/acchanpage/cgi-bin/up/up/up6528.zip


491 :
>>490
なんかえらい尖ってるね。
高さは、高い箇所を決定した所から(数値を変動させて)傾斜を作ったほうがいいかも。

現実の凸凹は陸地(平面)を無理矢理押し込んで盛り上がったりめり込んだりした結果の事だから、大陸プレート作ってシミュレートしたほうがいいのかなぁと思ったりした時期もあった。

492 :
隆起と侵食についてパラメータ調整すればいいのかな

493 :
http://ja.wikipedia.org/wiki/フラクタル地形
とか読んでて思ったんだけど、
491や492、470あたりでで言ってるような大陸プレートとか川の3作用、侵食なんかのシミュレートって必要なのかな?
中点変位法ってやつだけでも意外なほど自然な地形ができるみたいだけど。

494 :
必要かどうかは「やってみて」ってことじゃないかなあ
机上で「必要だ」「いや必要ない」とか言っても意味がないと思う

495 :
>>493
中点変異法だと自然な山岳地形しかできないよ
河川のネットワークとかは表現しきれない

496 :
http://roguebasin.roguelikedevelopment.org/index.php?title=Roguelike_Dev_FAQ
Roguelikeの基本的な作り方が一通り載っているのでメモ。

497 :
Rogueと[V]bandは昔ソース読んだわ。

498 :
そうすか

499 :
>>497
だから何?

500 :
>>497
何か技術的な感想とかないと話題が広がらんね。
俺はへんぐばんど(←なぜか変換できない)のコードを読んでみたんだけど、
ダンジョンのひと区画を表す構造体の名前が cave_type だった…
なんかもう少しマシな名前はなかったのかな。
496のページでは tile と呼んでたけど、普通はなんて呼ぶんだろ?


501 :
>>500
>なんかもう少しマシな名前はなかったのかな。
完成品を仕上げることの出来ないヘタレPGの癖に
重箱の隅を突付く様なマネは止めなさい

502 :
cave_type ってなんで駄目なの? 洞窟の型式 ってことでしょ?

503 :
500は壁タイプと読んだに一票

504 :
>>503
なるほど。だからtileと対応させてたのかw

505 :
ちょww

506 :
えっ
ちょっとまって
これ面白いw

507 :
よかったな話が広がって

508 :
噴いたw
なんかありがとうw

509 :
>>501
そりゃ誰だって最初はいい加減な名前つけることもあると思うけど
ヘタレPGの俺でも開発の過程でリファクタリングくらいするよってことだよ。
重箱の隅どころか、ソース全体で頻繁に使われる構造体だよ?
>>503
ちょwwそんなわけあるかwwww


510 :
>>509
マジでわからん
cave_typeで何が問題と思うのか教えて

511 :
>>502
洞窟内に洞窟が並んでいるんだぞ?地表でも洞窟なんだぞ?
まあこのわかりづらさはソースを実際見て感じて頂くのが一番かも。
他にも名前の酷さでいえば object_type なんて構造体もあるよ。
grepしたらこれも全体の半数くらいのソースファイルで名前が出てくる、
ゲームのシステム上でも重要な構造体なんだけど、
さていったい何の構造体でしょうか?
>>507
頑張って話を拾ったから497が喜んでくれてますように。

512 :
caveって穴っていうかリアルの洞窟において一個一個の膨らんでる箇所のことだろ
「洞窟」っていう訳語にとらわれて日本語思考をしているから変に感じるんだろう

513 :
>>512
俺愛用の辞書だとこんな感じだなあ。膨らんでる箇所って?
cave ke?iv
【1-名-1】洞くつ、ほら穴、横穴洞穴◆開口部が地上にあるものを指す。
【1-名-2】〔ワインの〕地下蔵、セラー
・One of the advantages of storing and aging wine in a cave is the constant, cool temperature. 地下蔵でワインを貯蔵して熟成させる利点の一つが安定した冷たい温度にある。
【1-名-3】洞くつに似た場所、窓のない部屋
【1-名-4】〈卑〉=<→vagina>

514 :
caveってconcaveとかも言うように
えぐられたり掘られたり等によって空洞ができてる箇所、
洞(どう)っていうか
まあ俺も英語のネイティブってわけじゃないから
ニュアンスを強く主張するつもりはないけど
そしてあんまやるとスレ違いになるしな

515 :
>>ID:qdPyyc4O
変愚はAngbandっていうダンジョンしかないゲームから大改造されてZangbandってのがつくられ、そのZangbandを更に大改造した物
だから地形の構造待命が cave_type なのはダンジョンしかなかったソースを引き継いでる歴史的経緯
いい加減な名前を付けたって話とは全然違う
リファクタリングしろって言うかもしれんが何年間も複数人が関わってるプロジェクトだと伝統的に使われてる構造体名は変えない方が普通だと思う
半端に変えると変愚で書いたコードを他のヴァリアントに移植などしたい時も不便しか起こらない

516 :
>>515
地上なのに cave なのはそのとおり歴史的経緯だと思う。俺は言いすぎかw
>リファクタリングしろって言うかもしれんが
俺はたまたま読んだ変愚の名前を出したけど、
リファクタリングしとけばよかったのにね、っていうのは
変愚の今のソースコードについてというより、Angband や、さらにその前の Moria についてかな。
そして俺の指摘の主旨はむしろ、新しく Roguelike を書くならみんな名前に気をつけろ、
早い段階でも名前を変えるリファクタリングぐらいしておくと後々開発が楽だよ、ということかな。
>変愚で書いたコードを他のヴァリアントに移植などしたい時
という状況になってから名前変えようとしようとしても手遅れだからね。
その手遅れの例が cave_type とか object_type じゃないか?というわけ。
もう手遅れだから「リファクタリングしとけばよかったのに」とは言うけど
「今リファクタリングしろ」とは言わないよ。
ウチは台風だ。大雨きたらダンジョンって大丈夫なのかな?
水没したら水生モンスター以外全滅だよな……
むしろ川から水引いてダンジョンに流し込めば混沌のサーペントとか倒せるんじゃね?

517 :
>>516
>変愚の今のソースコードについてというより、Angband や、さらにその前の Moria についてかな。
ダンジョンだけのゲームでリファクタリングする理由がないだろう
改造プロジェクトに合わせてリファクタリングもありえない
だいたい構造体名がお前の気に入らなくても開発は難しくならないだろw

518 :
>>513
>俺愛用の辞書だとこんな
つまり、お前の辞書に無いと駄目な訳?
頼むからお前はソース見ないでくれないか?

519 :
俺の言ってるのは、変愚では cave_type という名前は変、ということではなくて、
Angband や Moria の時点で cave_type という名前はすでに変だろう、ということ。
variantのために名前を変えろ、ということじゃないよ。変愚の名前を出したのがマズかったな。
あと地上が…とかいったのも俺のミス。
>ダンジョンだけのゲームでリファクタリングする理由がないだろう
俺はリファクタリングする理由がないのは書き捨てのプログラムだけだと思うな。
(名前が適切だという理由以外で)ホントにリファクタリングする理由はないと思うなら、
もうこの話題全部聞き流してくれw
>だいたい構造体名がお前の気に入らなくても開発は難しくならないだろw
最初から開発を続けている開発者はね。
困るのは主に新参の開発者とか、しばらくお休みしていて開発に復帰した人とか、
俺みたいにソースを読んでみようという酔狂な奴かなw
ツール使えば10秒もかからないのに、どうしてこんなになるまで放っておいたんだ!ということ。

520 :
>>518
それは、不適切な名前だと思ったのは俺の知識では cave にそんな意味はないから、ってこと。
名前って単なる記号だけじゃなくて、役割を伝えるためにもあるからさ。
俺の辞書にないから他の奴もわからんだろ、とまでは思いあがってはいないよ。
cave という単語はもちろん洞窟を格子に切り分けてた一部のことだろ、
ってみんなが一発でわかるなら、この名前は適切で俺が間違ってるな。
で、511 でも言ったけど object_type が何の構造体か一発でわかるか?
もちろんわかるっていうなら俺はもう黙るよ。
名前に突っ込まれるのそんなに嫌かw
514 みたいなコメントはなるほどと思うけど、
揚げ足とるな、みたいに言われてもw

521 :
プログラマーのローカルルールの話なら他所でやろうか、そろそろ

522 :
>ツール使えば10秒もかからないのに、どうしてこんなになるまで放っておいたんだ!ということ。
変えてもデメリットしかない上に誰も困らないからに決まってるのに、非常に悪いことでも放置してるように言うなよ
お前が言うobject_typeの方が被りやすい上に曖昧で駄目だろw
大体、ちゃんと動いてるプログラムをやたらリファクタリングしたがるのは
お前が優秀なんじゃなく、落ち着きがないだけだってw

523 :
オープンソースのゲームにつきものの話だな
面白くなければ誰もソースを読もうとしないし、面白いとわかった後では手遅れ
そういう事は作った本人に言ってくれ
本人なら「そっちの方がわかりやすかったな」と受け入れられても、
第三者にしてみれば「あいつDQNネームだよなwww」と言ってるのと同じ

524 :
>>521
ごめんなさいwww
>>522
というわけで返事したいけどごめんwww

525 :
スレが進んでるなと思ったらこれだよ・・・

526 :
ベナール対流って奴の考えを応用してプレートテクトニクスを再現できるかもしらんので、ちょっとやってみるわ。
オイラー方程式とかはちょっと手に負えないので、
セルオートマトンで近似してみようと思う
基本的にセル毎にランダムな熱勾配の分布が温度が高いほうから低いほうに向かって移動することによって
プレートを自己組織化すればいいわけだからいけそうだぞ

527 :
>>526
単に魚の鱗みたいな図形が出現して絶望しそうな予感

528 :
>>527
それでおkなんだよ
実際のプレートもでっかい六角形してるし(ベナール対流の特徴)
その六角形のプレートの対流に従って、
別途用意した(この前うpしたようなやつ)地形を移動・変形させれば、
なんかかなりちゃんとしたものになりそう

529 :
>>528
ああ、ランダム生成した地形をベナール対流で動かして幾らか自然に見えるようにしたいってことか

530 :
この前の手法でランダムに生成した地形は自己相似性があるから、だいぶ自然なんだけど、
プレートテクトニクスを組み込むことにより地形に「地球っぽさ」を表現できるんじゃないかと思うんだよね
気候の処理組み込んでないからまだまだだけど、
気候も地形(と緯度)にある程度依存しているものだし、これは後からでもいいかな
大域的な気候もなんだかベナール対流しているみたいだしね(地球の大気が地域ごとに別々に対流しているのはそのためだとか)

531 :
ここってRPGのシナリオ自動生成の話はスレ違い?

532 :
>>531つ【>>108-163】別にいいんじゃね?

533 :
話しようよ〜
自分はちんぷんかんぷんですけど

534 :
シナリオの話も面白そうだがスレ分けた方が良くない?
共通する手法が少ないし

535 :
河川の生成でちょっと調べたんだけど、個人における人間同士のネットワークコネクタ(誰と誰が知り合いかとか)の数も
河川の大小の分布と同じく正規分布ではなく対数分布になっているらしいよ。
まぁ、あまり関係ないか

536 :
何年か前に流行ったスモールワールドだな

537 :
世界がもし100人の村だったらっていうやつ?

538 :
>>537
違う違う
60億の人間は平均6回くらい知り合いを辿ればつながってて
これは極端に知り合いが多い人間が多数への中継点になってるのがキモであるとか、そんな話
興味があったら グラフ理論 知り合い の2単語でぐぐってみて

539 :
>>538確か二十年ぐらい前にアメリカで
任意の二人のそれぞれの知り合いが互いに知り合い同士である確率が約1/3である
とかいう研究発表があったそうだが、それのことかな。
他にも、よくある名前の人の方が珍しい名前の人に比べて倍以上成功者になり易いとかの統計発表もあったな。
これは多い順に並べただけだから対数分布じゃなかったが・・・

540 :
>>539
>任意の二人のそれぞれの知り合いが互いに知り合い同士である確率が約1/3である
うん これも無関係じゃない
こういう話自体は1960年代後半あたりから論文があったんだが、
たしかインターネットのネットワーク構造との絡みで、グラフ理論が何年か前にちょっと流行したんだよ

541 :
あ、念のためグラフ理論自体は二百数十年の歴史がある
最近ってのはインターネットのネットワークとの対比などね

542 :
60年代のはミルグラムの実証的な実験で、原因は不明ってことで注目されなかった
(ランダムな人間から自分(ミルグラム)に手紙を知り合いを通して送ってもらう実験 わずか6ステップで届いた)
90年代後半にワッツとストロガッツによってグラフ理論によりこれが数学的に証明されて研究が盛んになった

543 :
島の自動生成をした後のことだが、街を作るのも
不自然な場所にあるよりは、ここならできると思える場所はあると思うんだ。
水辺、農業できる平坦な土地、木材の取れる森、鉱物の取れる山岳
ぐらいかと思うが、他に何か条件はあるかな?
・・・書き出して思ったが、カタンのルールっぽいwww

544 :
シチュエーションによるでしょ
ある程度の技術を持った入植者が殖民するのか、
原始的な人類がそこで文明を発達させるのかでも
随分と経緯が異なってくると思う
前者の場合、その文明の技術レベルと、その土地の資源価値によって
開発される入植地は異なってくるし、
後者の場合は食糧生産に不可欠な河川と平野と周囲に家畜化・栽培のための品種改良が可能な
動物や植物がどの程度あるかで決まってくる。
当然密林や寒冷地では平野の確保が難しいので、文明は発生しにくい

545 :
なるほど、そういう観点から見ると、今度は例の文明発展ゲームっぽい感じになるな。
どういうゲームを作るかで変わってくるわけだ。

546 :
おっぱいも自動生成して下さい

547 :
リファクタリングの話が出てたのか。基本的にリファクタリングはテスト書かないだやるもんじゃないぞ。スレ違いだがこれだけはいいたくて

548 :
Tortchlightなる$20のangbandみたいに町1個メインダンジョンのゲームが出たんだが、
(クリア後に無限階のダンジョンが増える)
道中、パーツの組み合わせのランダムマップが多々あるんだが、
似たようなところばっか、行き来させられたw
入り口から次の階段までの出口を探索したら次の階は、
同じような構造の出口から入り口までを探索させられた、
何を言っているかわからねーだろうが(ry
まあ、この辺の作りこみは予算の都合もあるんだろうが。

549 :
個人的な意見だが、3Dのランダムマップは全体が把握しにくいので、2Dのランダムマップよりも
「どれも似たような構造だと思ってしまう感」が強くなる気がする

550 :
把握しにくいからそれほど広げられなくて
広さがないから似たようなのしかできなくて
という理由もありそうだ。

551 :
このスレの住人はDungeonCrawlをやってみた方が良い。
http://crawlj.sourceforge.jp/
まず部屋の概念が無い。
そして、ダンジョンが繋がっていないことが多々ある。
自動生成パターンは8つ程度だがそれぞれ異なった地形になり大変参考になるぞ。

552 :
http://www3.wind.ne.jp/DENZI/diary/  (DENZI部屋)
ここのドット絵はかなりオススメ。
幼稚くさくないのがいい。
現代や未来的なものが無いから抗議する必要があるけども。

553 :
>>552
それって宣伝乙なの?晒しageなの?

554 :
晒しage宣伝乙だろ

555 :
プログラミングのうち3割ほどは、関数や変数などの名前を考えている時間と言われています
もし適切な名前をつけることが出来たのなら、適切に機能分散できたということです

556 :
>>552
Roguelikeにつかえんこともないが・・・

557 :
RTSの自動マップ生成機構を作ってる最中なんだが
・全マップチップを移動可能地形で塗る
・ランダムな位置に10個くらい円形の移動不可地形を置く
・スタート地点を2箇所決める
・一方から出て、もう一方への方向±乱数の角度をとって一定距離進む、をもう一方に着くまで続ける
・↑の1ステップごとに座標を記録
・スタートとゴールを逆にしてもう1回やる
・それぞれ記録した経路に沿って移動不可地形を移動可能地形で掘る
これで両陣営の侵攻ルートが2通りできる

558 :
>>522
DangeonCrawlやSlashEMのタイルのサイトがどうかしたの?
自動生成とは無縁だが。

559 :
本人の宣伝だろ
スレチな場所に貼るなよ

560 :
そっち方面では名の知れてる人だし
たぶん自演というよりはにわか信者の宣伝だろう

561 :
本人も目立ちたがりみたいだし微妙ね

562 :
>>557
RTSだと人が作ったマップの方が面白くない?
スタート地点を数ケ所あらかじめ決めておいて離れた位置同士になるようにランダムに選択がベストな気がするなー
特に対人だとプレイしてくにつれて糞マップのが全貌が明らかになったショックは異常

563 :
人が作ったmapの面白さに自動生成でどれだけ近づけられるかってことじゃないか?
人が作ったmapだと数に限りがあるので、地形をすでに知ってるmapでプレイすることが避けられないので、
探索の意味がかなり薄れるからね

564 :
RTSのRise of Nationsは基本的な構造を指定して、実際の細かい地形はランダムだったな。確か。
参考:Rise of Nations Garden - データ:マップ
http://frogman.s20.xrea.com/rondata/maps.html

565 :
追記
C言語かC++でお願いします。

566 :
↑すみません誤爆

567 :
どうやったら追記を誤爆するのだw

568 :
誤爆警報のない専ブラもある

569 :
自動生成弾幕もある意味、自動生成の迷路になるが
ABAさんとこでほぼ完成されちゃってるんだよなぁ。

570 :
なんか、逆の発想で、自動生成を手動で生成することを楽しむゲーム
のようなものはできないだろうかね
パラメータをうまく調整することで、よりよいダンジョンやら地形やらができるとか
あ、それってシムアースか…

571 :
自動生成弾幕やBulletMLは、ある程度の目標は達成できてるね
課題は、ある水準以上の高品質の難度バランスを実現できないことだけど、
そこはもう手でやるしかないところだろうね
そして、ABA gamesではそこは割り切って切り捨てているところ
原因として、
rogue系なら一見無茶くさい高難度の局面においてもじっくり考えれば多様な正答のなかのどれかが見つかるが、
STGなどアクション性の高いものにおいてはそれが難しく、ついてゆけるプレイヤーが減る(間口が狭くなる)
というものがある
自動生成されたものを手で剪定して品質を向上、ってのは面白そう
課題としてはそういったUIを作るための手間が大きく、なんらかの対策をしないと割に合わないことか

572 :
手で剪定する部分は、遺伝的アルゴリズムの技法を応用して何とか出来ないものだろうか。

573 :
陳腐だけど、いわゆるボンバーみたいな緊急回避機能を付けておいて、それが使われたら
弾幕が難しすぎたと判断して剪定、とか?

574 :
それはプレイヤーの腕とかボンバー使う閾値に大きく左右されすぎるじゃん
あとプレイヤーは絶対に「ボンバー使って難易度さげれる」みたく悪い意味の学習をするぞw

575 :
バトルガレッガだなw

576 :
>>574
総量一定で、一か所が易しくなればほかがきつくなるようにすればいいんじゃね

577 :
>>576それだと、弾幕系最大の楽しみである
「学習して出来なかったことが出来るようになる」
の「学習」の部分が抜け落ちちまうんじゃね?

578 :
>>575
あれはマジでプレイヤー側のバッドノウハウで楽しむゲームだったな
ボスと相打ちになって難易度下げるとかもう・・・・wwwwwww

579 :
>>577
もはや弾幕ゲーとは違うジャンルの楽しみ方をするゲームだからいいんじゃね?

580 :
弾幕はスレの趣旨と異なると思うが

581 :
ゴメン俺が悪かった。剪定の時点でスレの趣旨とズレている
自動生成に戻りつつSTGの話をするなら、むしろグラディウスやR-TYPE、ダライアスの地形、
はたまたザナックやスラップファイトの地面などを自動生成してみるってほうが
スレの趣旨に近いかも

582 :
いや、抜け道を見つけるという点で共通点があるかと。
動的に変化する迷路と考えてもいいと思うぞ。
ボスを自動生成するフリゲーとかいうのもあるしな。

583 :
厳格なことを言えばスレ違いだと思うけど、
話の流れ上でのこの程度の話題なら、俺はぜんぜんいいと思うけどけね
超過疎スレだし
でも、スレ違いでうっとおしいと思う人間がいる以上やめるべきなんだろね

584 :
「せっかく面白い話が出てきたのに水をさす奴がいてうっとおしい」
と思う人間もいるわけで
そもそもこのスレは自動生成ということをキーワードに
ダンジョンから都市とか地形とかいろいろ広がってきた経緯もあるわけだし
まるっきりスレ違いというわけでもあるまい

585 :
>>「せっかく面白い話が出てきたのに水をさす奴がいてうっとおしい」
どっちか言うと、俺もこう思ってる方だが、2つの対立する見方がある場合、ルールに従わない方が折れるべき
経緯の結果、話の流れでスレ違いになることはよくあること
というか、この話題がスレ違いだw

586 :
それよりも、動的な迷路という見方が斬新で気になる。
時間軸を加えた三次元の強制スクロール迷路ってことになるんだよな。
自機の移動能力分の余裕を考えた球が廊下を移動するという。

587 :
パズル仕立てにしたいなら
シレンみたいに自分が一歩動けば、弾がそれぞれの方向に動くみたいな方法もありだな。

588 :
おお。
弾幕シューといえば当然リアルタイムだと思っていたけど
たしかにそれはありかもな

589 :
ActionScript 3.0
・不思議のダンジョン自動生成
http://wonderfl.net/code/7e84025c3e1af625a2601f9e9245e622a8c05dad
・不思議のダンジョン(ダンジョン自動生成&移動&戦闘)
http://wonderfl.net/code/949f969330a8e35d63702482a5d8ec954376f9ff

590 :
rogueの簡易版か
B3くらいまでゆけたのを確認した

591 :
>587
形としては、静止状態で弾の方向と距離が表示されてて
自分の移動範囲が自機を中心に円で表示されている。
円内をクリックするとそこへ移動すると同時に弾幕が一斉に動く
移動終了後に停止し、次のクリックを待つ。
という感じかな?

592 :
アルゴリズムを考えてみました。
まだ開発中ですが、よければ試してみて。
http://ux.getuploader.com/corsica10/download/3/HidingHole0002.zip

593 :
あげ

594 :
どうでもいいけどInsertキーがないキーボードなのでメニューが開けない

595 :
ゲ製作板でキーが無いからキーコード送れないとかぬかすバカが居る

596 :
>>595
お前こそ何言ってるんだ? ゲ製作板だからダメなんだろうが・・・

597 :
そんなキーボードあるんだー
というかNumLockかなんかでどうにかできるんじゃねーの

598 :
IMEのソフトキーボード機能とか使えないのか

599 :
Mac Parallelsとか完全スルー対象だろうがなに調子くれてんの

600 :
ゲーム作るのにMacってなにごとだよ

601 :
>>597-598
おまえらはゲームするときにそれらを使うのか
って話なんじゃないの?

602 :
日本語キーボードには付いてない事は無いからな
押し方を知らないか、出所も分からないキーボードか
後者ならそれなりのスキルあるだろうが
前者ならオイオイってレベル

603 :
まずはどうやってもInsert送れないないのかはっきりすることだな
たぶん送れるんだろうけど
で、やりたいのはアルゴリズムについての検討なわけで、その点で、
遊びやすさなんかは後回しでいいわけだ
これも、あまりにおかしなキーであることについて、「あとでちゃんとします」という認識が
あれば、の話だけどね。そのままリリースとかしないよね、っていう

604 :
>>594-597
HHKLite2なんでうちもInsertキーないけど、Fnキー+\キーでおせるようになっとるぞ。
押せないってことはないだろうw

605 :
第一、HHKLite2はDeleteキーはおろか、HomeやEnd、PgUp、PgDnもなければ、ファンクションキーすらないよ。
(HHKProの方はもっとひどいと思うけどさ)
それでもFnキーの組み合わせで上で出たのは押せるんだから、さすがに何か押す方法あるだろう。

606 :
多分、自己解決してるけど予想通りの結果なんで恥ずかしくて出てこれないんだろう。
さもなくば、とっくにキーボードの型番などの情報が出てくるはず。

607 :
Insert無いキーボードってあるんだね。
まあ、メニュー開くボタンがInsertだけってのは確かにお粗末くんなので、
別のキーもあてるほうがいいですね。

608 :
insertキーに割り当てるって発想はどっからくるの?

609 :
ネトゲその他キー使いまくるゲームなら結構使う
これからどんどん機能拡張される伏線なんだよ!

610 :
フルキーボードでNumLock解除した状態だと、
テンキーの「0」の部分が「Ins」になります。(少なくとも自分のだと)
で、その位置のキーが妙に押しやすかったんで、そのままInsertになったわけ。

611 :
テンキー前提のはなしになってるけどパソコンライトユーザーはテンキーなんてまず使わないよ。
てかテンキーないキーボードなんてよくある

612 :
まぁ、なんだ、とりあえずスレタイを音読しようか

613 :
すげえ
俺キーボードや配列系のスレいくつか巡回に入れてるから全然違和感なく見てたけど
よく見たら超スレ違い

614 :
http://iiaccess.net/upload/view.php/002378.swf
プログラミング全然わからないけど作ってみた。
単純に棒倒し的にやってるからつながらない場合もある

615 :
バージョンアップしましたので再うpです。
http://ux.getuploader.com/corsica10/download/5/HidingHole0100.zip

616 :
おー、いいね

617 :
テスト

618 :
例えばの話。
画面に自分が中央にいるだけで、あとは何も表示されて無い状態。
キーで自分が上下左右に動くという事が判った時。
普通、どっちに動こうとする?
ゲームの慣れ不慣れでも違うんだろうけど、心理学的な面で考えた場合
どっちなんだろう?そしてそれを迷いやすい迷路生成に利用できないだろうか?
と考えた次第。

619 :
どこへのレス?
問いかけなのか自問自答なのかどっちだ。

620 :
考えたことなかったけど、実際にそういう場面になったら自分は左かな。
左はx座標の0の方向というぐらいの理由だが。

621 :
右手法で脱出出来ないようにとかは考えた方がいいかもな。
棒倒し法だと脱出できてしまうから。

622 :
最初動くとするなら「キャラの向いてる方向」
最初から右向きに配置されてたら右に、上方向(背中を見せている)だと上方向に進むな。

623 :
どっちの方向に動いたかを記録していって、以降のダンジョン生成の参考にするというのは?
このプレイヤーは最初は上に動くことが多いとか、曲がり角では左に曲がりやすいとか。

624 :
それやると、今度はプレイヤーが学習して行動が補正されることで
その補正された行動を元にさらに自動生成するわけだから
結局、特徴のない無難なデータになるんじゃね?
たとえば左に曲がる癖のあるプレイヤーにたいして左の方角に罠とか行き止まりを
確率的に多く配置するシステムだったとすると、それを繰り返すうちに
プレイヤーは無意識にまたかとおもって右に行くようになるって感じで。

625 :
複数プレイヤーの行動を参照にってのは面白いかも。
少数決で正解が決まる迷路とか。
>624
その場合、特徴が無くなるんじゃなくて、収束しないデーターになるのでは?

626 :
迷い易いってのを無理矢理作るなら、
プレイヤーがキャラクターを操作するごとにその道を不正解として生成して、
正解を最後に生成する様にすれば良いんじゃないの?
これをやると、何をどうあがいてもマップを全踏破しないとクリアできないようになるけど。
プレイヤーからしてみれば、カラクリを知らない内は「迷ってる」事になるよね。

627 :
●見えていない場所は作成しない。
●迷わせたい場合は進行方向を適度な距離で袋小路に
●ある程度迷わせたら出口を用意
シングルならこれでいいんじゃねえかとおもいますよ?

628 :
適度な
ある程度
を物理量で表してくれれば作れるよ

629 :
それだとある程度迷わないと抜けられない&ある程度迷いさえすれば抜けられるって事になる。
けどそういうのがちょっと混ざってると面白いかも。

630 :
629は627氏へのレスね。

631 :
不思議なダンジョン系なら迷わす意味はあんまりないよな。

632 :
そもそも強制的に迷わされるダンジョンって楽しいのか?

633 :
迷いの森はうざい要素だろ

634 :
>>632
なぜ強制的に迷わせているとユーザーがわかるのでしょうか。
明示してないのであれば無理でしょう。
また乱数を用いて迷わせる時間に幅を持たせればよいかとおもいますね。

635 :
論点ずれてるぅ〜よ
迷わす要素ってゲーム的に楽しいのか?って話なんだから、
ユーザーが作り手に迷わされてる事を知ってるか否かは関係ない話だよ。

636 :
>>627
プレイヤーを長く拘束 or 一定の踏破率を強制したいだけなら、リアルタイムにマップを生成する必要などない
マップ上に(見えない)スイッチを幾つか用意して、最後のスイッチが出口になるようにすればいい
>>631
1,2Fで大迷路とか出たら俺なら即リトライするな

637 :
出口があっても、未探索エリアを探索してから出たい俺には、
たいした問題ではないな。
むしろすぐ出口がある方が悩めるだろ。

638 :
面倒臭がりとしてはオートクロール機能は必須

639 :
どんな機能ですかそれ?ぶつかるまで進む機能の事?

640 :
未探索エリアが埋まるまで自動的に移動してくれる機能。
途中で敵やアイテムなんかと遭遇したら解除される。
隠し通路なんかで到達できてないエリアはスルーされる。
こんな感じ。

641 :
ゲームを他人にさせてながめとけばいいね。

642 :
ニコニコ実況プレイ最強じゃん

643 :
矩形の領域で迷わせるタイプだと、強制的に迷わされているのがプレイヤー側に悟られやすい
サイズ不定の非矩形領域で迷わせるとプレイヤー側に飽きられやすい
スレの趣旨的にプレイヤーの挙動からリアルタイムで作るのは論点ずれてるかなと
おれは思う

644 :
ゲームとして考えた場合、ダンジョンの広さが不定だと、
リソース(例えば回復アイテムや魔法使用回数)をどう分配していいか分からなくなるよね。
ゲームとしてはある程度推測ができた方が面白いのかもしれない。
でも、現実的に考えると入った事もないダンジョンの広さを推測できるのは変だという。
(現実にある炭坑なんかは良い例かも)
色々難しいもんだなとふと思ったw

645 :
>644
一回もぐるだけだと考えたらバランス取るのは難しいだろうけど
即地上に帰れるアイテムがあれば、限界まできたら帰るを繰り返して
だんだん深くへ潜っていくタイプになるから、バランスはそこそこになると思う。

646 :
ところでさ、今現在はどんな自動生成が多いの?
っていうか自動生成は何が一番求められてるの?
もしかして需要がないのか?と思ったもんで。

647 :
>>645
ポータル系か。
つかなんおリスクもなくドコデモドアですぐ変えれるゲームはどうよ?
緊迫感とかそういう物だいなしじゃね?

648 :
持ち帰りの巻物つきでも、シレンの深層ダンジョンはドキドキするぜ。

649 :
事故死があるからな

650 :
>>646
よく見るのは分割式かな
一番求められるのはバランスもしくは意外性。
>>647
世界観によるんじゃね?
魔法とか発達してれば知ってる場所に安全に帰還する方法なんかはまっさきに開発されるだろうし。
戦略の無い移動行動は単なる作業だからそれを続けさせるとプレーヤーは飽きるよ。

651 :
世界観とゲーム性は切り離して考えるべきだと思う。
まずゲーム性ありきで作って、世界観なんて後付けする方向でいかないとゲームは成り立たないよ。

652 :
通過した階のモンスターが有限で倒されても製造されないならば、
ポータルがないと行き返りがとってもめんどうだよね。
ローグはどんどん沸いてくるけど、ディアブロは有限だったしね。

653 :
>>647
DiabloやDiablo2は大ヒットしたじゃないか
本当にやばいときはタウンポータル出してもモンスターに邪魔されて上手く入れなかったり結構スリルあるよ

654 :
>>653
そもそもあのポータルは殲滅した安全圏に置いとくもんだけどなw
でもその緊迫した状況はターン制ゲームには通用しない手法だとおもうけどな。

655 :
>>654
ターン制でも問題ない気がするけどな。
ポータルの発動に3ターン必要とかにすればもんだいなくね?
緊迫した状況で発動までの時間稼ぎをどうするかで戦略性がでるんじゃね?

656 :
例えばターン制でもモンスターがポータルの上に陣取ったりとか、工夫は幾らでもできそうだな
まあ発想力の問題か

657 :
ポータルガーディアンか

658 :
>>641
ローグライクをやったことないの?

659 :
何かと思ったら二か月前のレスか

660 :
あqげ

661 :
あげ

662 :
逆に迷いにくいダンジョンを

663 :
FF13

664 :
生成時に仮想のキャラを歩かせて足跡を自動生成

665 :
痕跡で何かあったか想像させるのは面白そうだ。
曲がり角で急に歩幅が広くなったと思ったら
血しぶきが広がってたとか。
そして気づくと背後でうなり声

666 :
5.1chサラウンド必須か

667 :
>>665
それ、フロムがつくったゲームで実装済みじゃなかった?

668 :
次世代の自動生成ダンジョンとしては、地形だけじゃなくそんなストーリーを感じさせるものまで生成できたらすごいね

669 :
それなんてティルナノーグ

670 :
そこまでされたら萎えるわ。
ストーリーは自分で作るもんだ

671 :
ストーリーも自動生成するんですか?

672 :
ストーリーを自動生成するADVも日本で生産されたことがあるぜ。

673 :
ストーリーの自動生成って、似たようなストーリーばっかりになるか、カオスなストーリーになるか
のどっちかという気がすごくする。

674 :
お使いルートを変える以外に何か方法あるの?

675 :
目的を変えてたな。結局文言が違うだけで、倒したりたどり着いたりするだけなんだが。

676 :
ソードワールド思い出した

677 :
ブロップの31要素とかを使ってストーリーを自動生成するのがあったような
昔好きだったゲームサークルの人なんだけど今も活動してるんだろうか

678 :
その手の技法使ってストーリーの骨子作ることは出来るんだけど
ゲームの肉付け部分である、世界観・キャラの魅力・演出・独創性が自動生成できないからなぁ。
やはりデザイナーとか作家が物語に命を吹き込んでるだとおもう

679 :
同じあらすじを渡されて1本小説書いたとして、自分が人気小説家と同じレベルのものを書けるかどうか考えれば
そのへんの生成やっても詰まらないものしかできないのはわかるよな

680 :
確かにおつかい部分の細かいのはいいけど
世界の根源に関わるような話はそうそうできないな。

681 :
十本とか二十本つくらせて、人間がいいのを選ぶ
それを繰り返すことでパラメータを学習させていくとか

682 :
教師あり学習というやつか

683 :
ローグライク風自動生成MAPのレイトレFPSフリゲ
レイトレとか突っ込みどころ満載(いい意味で)
アイテムの概念ないからつまんなかったけどね
http://www.youtube.com/watch?v=r7GqtKyW4To

684 :
神!!!!

685 :
なんだこの卑猥な画面はw

686 :
山岳形状の作成サンプル
ttp://amadela.web.fc2.com/misc/mountain.png
実行ファイルはこちらから
ttp://amadela.web.fc2.com/misc/mountain.html

687 :
オーソドックスな奴だね中点なんとか法

688 :
作り方は?

689 :
>>688
少しくらい自分で調べろっての
http://nis-lab.is.s.u-tokyo.ac.jp/nis/CG/cgtxt/cg5/cg59.htm

690 :
欠点としては>>688もそうだけど、
分割数をかなり多くしないと、「三角形の面」が目立つこと

691 :
描画後にぼかせばいいのかな?

692 :
法線マップ使えばええんや

693 :
ディスプレイスメントマップでもええで

694 :
これを利用してベクターグラフィックを落とし込めるかね。
情報量がおおくなってだめかな?

695 :
>>686
バイナリじゃなくてソースをお願いします

696 :
泥棒する気満々の乞食とかw

697 :
ちょっとバージョンアップしてみました。
ttp://amadela.web.fc2.com/misc/mountain2.png

698 :
>>697
おっ!なめらか
何を変えたんだ?

699 :
三角形を描画する際に与える法線ベクトルを、面ごとではなく頂点ごとに変えました。
ぬるっとしてて、威厳が損なわれたような感じもしますが、まだ実験中です。
ちなみに実行ファイルは>>686のリンク先に置いてあります。

700 :
へー頂点ごとかーφ(`д´)メモメモ...

701 :
方向ごとに変えれば中途半端に積もった雪山みたいのが出来そうね

702 :
アルゴリズム公開して下さい

703 :
地形の生成は中点変位法です。
地形生成としては一般的なアルゴリズムなので、
>>689 で案内されているリンク先が参考になります。

704 :
控えめに、雪っぽいテクスチャを張ってみました。
ttp://amadela.web.fc2.com/misc/mountain3.png
>>701
試しに雪原と岩肌のテクスチャを用意して、三角形の傾斜を基準に切り替えてみたら、
三角形の海苔がかかったふりかけご飯みたいになったので、ペンディング中です。
雪山の表現をするためには、単純に斜面の方向で塗り分けるのではなくも、
真面目に積雪、吹き溜まりのシミュレーションをしないといけないような気がします。

705 :
ttp://amadela.web.fc2.com/misc/mountain4.png
(実行ファイルは ttp://amadela.web.fc2.com/misc/mountain.html から)
テクスチャを、思い切って雲模様にしてみました。
地形との関連はまったくありませんが、こっちのほうが雪山っぽく見える
かもしれません。
もちろん、雪模様も自動生成です。
生成アルゴリズムはこちらを参考にしました。
ttp://freespace.virgin.net/hugo.elias/models/m_clouds.htm

706 :
白と茶色の組み合わせだとどうしても感覚的に
こういう積もり方はおかしい気がする、という部分が見えてくるから
茶色なら茶色、白なら白で、色系を統一したまだら模様にさせた方がいいかも。

707 :
描いた地図から3Dダンジョンを再現できるダンジョン用マッピングソフト「Mapic」
http://www.forest.impress.co.jp/docs/review/20110121_421898.html

708 :
>>707
おお
3D表示するとき、自分の立ち位置が「マスの中央」ではなく
「マスの手前の辺の中央」なのがちょっと気になるけど、
マッピングの機能自体はわかりやすくていいな
ダンジョンが自動生成でないゲームのダンジョンを作るとき
にも便利そうだ
自動生成でも、これのファイル形式で書き出すようにすると
実際に歩けていいね

709 :
細い通路や12又に別れる交差点を含む事が出来るマップを作るには、マスを細分化するしかないかな?

710 :
そこまでやるならマスとか考えずに3Dポリゴンで生成したらどうだろう?

711 :
正12面体は正5角形で構成される。
ぱっと見、空間を正12面体で隙間無く埋め尽くせそうだが
できなかったような気がする。
関係ない話かもしれないけど。

712 :
>>710
ポリゴン自動生成は熱そうだな。
今までの平凡なダンジョンに
飽きて来た所だ。
夢のある変化に富んだものが
作りたいな。

713 :
キマイラなボスの自動生成にあこがれる

714 :
スーパーメトロイドやドラキュラなどの探索系ARPGなどの自動マップ作成が出来ればかなりよさげなのだけど技術的にはむずかしいのかなぁ
自分的にはまずスタートとゴールを決めて、能力A、B、CがあってA能力を得るまでいけない範囲を作って、Aの能力を得るとBの能力を得るまでいけない範囲を作ってを繰り返せば出来るのかなぁ?

715 :
自動作成系の技術には非常に興味があります!
武器や防具の自動作成は結構あるけど、敵キャラの自動作成は少ないですね…
基本の形状を100パターンぐらい作って、角を付けたり、鬣を付けたり、牙を付けたり、爪を長くしたりで、
バリエーションを作って、パーツごとに特殊能力を付けたりすればいいのかな?

716 :
なにこの気持ち悪い奴

717 :
え・・・まさか自演なのか? 実際に遭遇するのは初めてだ

718 :
715は713に安価し忘れてるだけなんじゃないかとマジレスしてみる

719 :
すいません、そういうつもりじゃないです…
ただ、一気に書きそびれただけです
シナリオの自動作成は確か天国から来た男かあったかな?

720 :
変な奴はプログラミングできないのに妄想を語ってる臭がきついな

721 :
自動生成といったらローグライク系だろ常考

722 :
てかID:JWGLokajてローグライク界隈で迷惑かけてる馬鹿だろ

723 :
>>719
spore関連の論文とか読んだか?
モンスターの自動生成語るなら外せないと思うんだけど
それ以前にここはダンジョンやマップの地形に関する自動生成スレであって
プロシージャル技術全般に関する話題を語るスレじゃないと思うんだがな

724 :
プロシージャル技術系のスレってないよな?
メガデモあたりだと楽曲やテクスチャー、3Dオブジェクトあたりは話題に上がってるときがあるけど。
こっちはダンジョン(地形含む?)だもんね。
スポアの論文ってどこにあるの??

725 :
>>724
ttp://www.google.co.jp/

726 :
>>3 の参考がプロシージャルだから問題ない

727 :
でも単にランダムでモンスター生成するだけならこのスレの話題には薄いよなー
目標とする特徴があって、それに特化したのを自動生成するぐらいじゃないと。

728 :
まあ的確な目標を立てられる人間ならあんなバカっぽい文章は書かないし

729 :
昔作ったローグライクのスクショとってみた
アイテムとかの設定のあたりで放置したんだよなーこれ
ttp://bbs.2ch2.net/freedom_uploader/img/1221745526/0181.jpg


730 :
ダンジョン良い感じじゃん

731 :
中身を作りこむのに挫折したよ
今やってるの終わったらもう一度挑戦してみようかな・・・
でもやっぱコンシューマライクなローグって、グラフィック用意するのが大変すぎて
個人製作には向カないなぁ

732 :
そこで@ですよ

733 :
>>732
コンソールだとやっぱわかってる人しかやってくれないから
タイル8方向アニメーションにしたのがまずかったな
気合が戻ってきたらもうちょっとラクな設計にしてやってみるか
ttp://loda.jp/news/?id=350.jpg
ttp://loda.jp/news/?id=351.jpg

734 :
主人公一人VS敵多数のゲームだから、敵の向きは戦略に関係なく、
1方向の向きだけ用意して足踏みだけさせる手もあろうけど、
やはり絵がいいと遊ぶモチベーションは変わってくるね。
とりあえず下向きだけ用意して、他の向きの所にも下向きのを書いておいて、
絵ができ次第入れ替えていけばいいかも。

735 :
長い通路ばかりになるのがなぁ
それをどうにかしようとしても今度は部屋ばかりになるか、1階が狭くなるかだし・・・

736 :
そういうときは操作面でごまかすとかじゃないかな
「分かれ道まで自動歩行」みたいな操作を採用するとか

737 :
隠し通路も自動生成とか

738 :
そんなの簡単であろう。

739 :
隠し通路があったとしても
宝があるとは限らない…

740 :
シレンの隠し通路って初代シレン以外であったっけ?

741 :
知れんがな(´・ω・`)

742 :
>>741

743 :
「楽しさ」まで自動でデザインですって
http://japanese.engadget.com/2012/03/22/angelina/

744 :
AIが作ってAIがテストしてAIが遊ぶのか
人間の出る幕がないなw

745 :
それちょっと遊んだけど操作性とかいまいちだった
俺の趣味はAIの趣味とは違うらしい

746 :
おるかー!?

747 :
ネタ無いだけやー!

748 :
しょうがないなー!

749 :
自動的に色々な木を生やすのがあるなら
自動的に色々な動物作るのないんかー?

750 :
みたことないクリーチャーでいっぱいの惑星ができそうだな

751 :
後のマインクラフトである。

752 :
>>750
自動生成じゃないけどsporeがそれに近いかも

753 :
自動生成じゃないなら駄目

754 :
L-systemを用いて自然っぽい形状のダンジョンを自動生成する論文があった。
あと、河川形状を自動生成するのも。
東京工科大学 メディア学部 ゲームサイエンスプロジェクト
2010 年度学部卒業論文一覧
http://www2.teu.ac.jp/aqua/GS/2010/
ダンジョン形状の自動生成に関する研究
http://www2.teu.ac.jp/aqua/GS/2010/Paper/Narita_H_2010.pdf
モルフォロジーを用いた河川形状の自動生成モデリング手法の提案
http://www2.teu.ac.jp/aqua/GS/2010/Paper/Matsui_2010.pdf

755 :
自然地形から村や街を生成できないか?と考えている。
周囲の土地の利用できるものや、近隣の村との交易関係で
繁栄したり衰退したりする。
利用できるものによって農業地区や交易都市や鉱山村ができると思う。

756 :
>755をちょっと考えてみた
1. ランダムに人を配置
2. 人は近くの資源に集まる
3. ある程度集まると村ができる
4. 近くに村があると交易をしてより大きくなる
ここまで考えたけど、これだと交易都市ができないな
それにいい感じに資源を配置するのも難しそうだ

757 :
交易都市の条件は
・地面の交通
・水の交通
・近隣に農業地区や鉱山村がある
とかかなぁ

758 :
・防衛に有利な地形
・治安のよさ。都市内のみならず流通経路の安全度
防衛に有利→周囲を制圧→貿易額上昇 とか
プレイヤーに伝わりにくいかな?

759 :
家単位のドット分布で考えたほうがいいかなぁ?
まずはランダムに家が立って、取れる物資により職種が決まる
農家、漁師、木こり、羊飼い、狩人、鉱人。でも同職の家が近すぎると消滅。
その内、一次職の近くに加工職系の家が建ち始めて、一次職の効率を上げる。
食料加工、綿羊、木工、鍛冶、石細工
ここでやっと流通系の商人が出始めて交易が始まる。
そこからやっと軍隊などの防衛要素が出てくる。
待てよ、そうなると二次職に犯罪職のマイナス要素が必用か?
しかしここまでやるとなると決め打ちしすぎだな。

760 :
流れに関係ないけど昔作った3Dダンジョン自動生成
ttp://www.dotup.org/uploda/www.dotup.org3691331.png
やってることはローグライクのダンジョンを3Dにしただけだけど

761 :
いいね!
移動方法とかゲームシステムはどうなるんだろう

762 :
あーシンプルだけどこういうの見るとワクワクするわ

763 :
これをどうしてやろうかって気分になるな

764 :
>761
作ってみただけだから移動とかは考えてない

765 :
こういう3Dダンジョンに突入して脱出する
Descentっていうシューティングがあったよ。全方位自由移動3Dゲーだった

766 :
宇宙空間なら自然だな

767 :
CUBEという映画があってだな・・・

768 :
最近、また新作できたんだっけ?

769 :
精神的な悩みを自動生成してそれを解決する方法を探すというゲームが出来ないかと考えたら
悩みを迷路にする時点でチョコボの不思議なダンジョンでやっていた。

770 :
何そのゆとり思考

771 :
自動でRPGのフィールドマップを生成できる「ワールド マップ自動生成」
ttp://www.forest.impress.co.jp/docs/review/20130410_595188.html

772 :
これをそのままフィールドとして利用することは出来ないなぁ

773 :
3D向けフィールドのフレームワークとして使えそうだけど
2Dに関しては駄目駄目だな

774 :
山が無いからマップには見えないな

775 :
age

776 :
バイリニア補間の画像重ね合わせで何で地形になるんだろ?

777 :
>>776
パーリンノイズ

778 :
パーリンノイズは地形っぽいデータにはなるけど
実用的なものはなかなか出ないよね。

779 :
ドラクエモドキの方が使えそうだなぁ

780 :
そういやテラリアみたいな重力が画面下方向にあるタイプでの自動生成って今まで出てきた?

781 :
マインクラフト

782 :
>>780
横から見たダンジョンってことだろうけど、記憶にないな
テラリアやマインクラフトの洞窟ってどれくらいリアルなんだろ
実際に洞窟がどうなってるのか良く知らないけど、あまりリアルじゃなさそうだ

783 :
薄い板で作ったアリの観察箱みたいだから結構リアルなんじゃない?

784 :
マイクラもテラリアも地形豊富だと思う
ブロック単位の地形がリアルかどうかって言われたらしらんけど

785 :
>>782
情弱

786 :
で、どうやってあのそこそこ均一な凸凹感を出すかだが。

787 :
ローパスフィルタやハイパスフィルタをかけるとか(言ってみただけ

788 :
CubeWorldも自動生成が凄いことになってる

789 :
マイクラもテラリアもリアルじゃないだろ
蟻の巣じゃなくて洞窟なんだから
地層の生成や水の浸食をシミュレートすればリアルな洞窟になるだろうけど、ゲームとしては面白くなさそうだな

790 :
ゲームなんだからリアルは「っぽい」まででいいよな。
楽しく遊べる方が大事。

791 :
完璧にやろうとしたら惑星ってか宇宙そのものをシミュレートしなきゃならん。

792 :
>>789
>マイクラもテラリアもリアルじゃないだろ
>蟻の巣じゃなくて洞窟なんだから
日本語でおk
あと面白くなさそうってことは調べもプレイもしてないんだな

793 :
・板名を100万回お読み下さい。
・特定ゲームの批評はおやめ下さい。
・vip931のはこの板では不適切です。vipにお帰り下さい。
・本当にこのスレに必要なレスなのか書き込む前にご確認下さい。

794 :
>>792
>>782「テラリアやマインクラフトの洞窟はリアルじゃない」
>>783「蟻の巣に似てるからリアルだ」
>>789「蟻の巣と洞窟は形が違うので、巣に似ていてもリアルな洞窟とは言えない」

795 :
どこかで話題になってた
ttp://davesmapper.com/
人間が作った大きめの部品をたくさん用意しておいて
ランダムに張り合わせることによって生成する方式

796 :
節子、それはシャッフルダンジョンや。

797 :
シャッフルダンジョンゲーをテストプレイしたら
いきなりボスクラスの敵とあたってコンティニューしても意味なし状態に。
しかし順番に弱い順に出てくる仕様もドキドキ感が無くてつまらない。

798 :
ダンジョンの半分ぐらいを歩かないとゴール部分を確定させない方法もあるな
ランダムで1/4から1/2の間位が良いのかな

799 :
今話題のクッキーゲームの人、早くも次回作ということで
ダンジョン自動生成をやってるらしいな
ttp://orteil.dashnet.org/experiments/dungeongenerator/

800 :
来年の大河ドラマは軍師黒田官兵衛。
備中高松城の水攻めを羽柴秀吉に献策したのは黒田官兵衛とのこと。
大河ドラマにちなんで備中高松城の水攻め復元模型を製作した。
http://mirai660.net/castle/

801 :2013/09/22
へー
興味深いけどでもスレ違いのような…
TOP カテ一覧 スレ一覧 2ch元 削除依頼
Macでゲームを作るスレ(2) (618)
【初心者】ステフと一緒にゲーム製作part10【歓迎】 (840)
【時は】3時間以内で一本ゲーム作るスレ【金なり】 (263)
【時は】3時間以内で一本ゲーム作るスレ【金なり】 (263)
世界観・キャラをメインにシナリオを語るスレ (642)
C++でFC版ドラクエっぽいRPGを作る Lv4 (597)
--log9.info------------------
【五輪】GACKTが実践するテコンドーとは【武道】 (215)
●●● 大山倍達は大嘘つき (414)
★★リョートを見て寸止め空手部を辞めました2★★ (125)
【京都最大級】京空会【空手団体】 (187)
●●● 極 真 イカサマ海外進出の手口 その2 (155)
大山倍達 談 「日本人が勝つとクソーと思う」 (452)
剣道日本一の警察官が児童ポルノ違反で逮捕 (282)
●●●マイクタイソンvs八巻健二 (822)
「美味しんぼ」が路上戦闘マンガだったら (530)
●●● 極真は段位を金で売っていた その4 (224)
★ゼロレンジ★零距離戦闘術★コンバット★ (859)
極真手塚グループ仙台 (655)
【虎拳】上地流唐手のスレッド3【半硬軟】 (295)
●●● 急所ガラ空き極真カラテ その26 (170)
女性史上最強の剣道家 (175)
柳生心眼流 (582)
--log55.com------------------
【剛健ノ】京都産業大学ラグビー部34【意気高ラカニ】
対抗戦Bを語ろう
三菱重工相模原ダイナボアーズ
【一手一つ】天理大学ラグビー部【日本一】
ラグビーアイルランド代表
摂南大学ラグビー部 【A昇格】★2
岩手の高校ラグビー
帝京ラグビー部が隠蔽した無免許ひき逃げ-2