ダンジョン自動生成at GAMEDEV
ダンジョン自動生成 - 暇つぶし2ch2:名前は開発中のものです。
02/07/19 22:09
rand()

3:名前は開発中のものです。
02/07/19 22:30
マップを1000個作っておいてランダムに選択。いじょ。

4:名前は開発中のものです。
02/07/19 22:31
rogue のソースでも読んだら。

5:名前は開発中のものです。
02/07/19 22:38
迷路の自動生成って結構奥深いよな

ところで生成って変換できねーよ

6:名前は開発中のものです。
02/07/19 22:42
シレンって、ランダムとかいいながら
同じような(多少サイズが違うだけ)のマップしか作って無いじゃん。

7:名前は開発中のものです。
02/07/19 22:46
スレリンク(gamedev板)l50
こんなスレッドがありますがどうでしょ?

8:名前は開発中のものです。
02/07/19 22:47
何かのアルゴリズム関連の書籍に載ってたような気がする。

9:名前は開発中のものです。
02/07/20 00:11
>>1
キミの好きなようにやればいい。
唯一の正しい解答がないのが、この手のゲーム向けアルゴリズムの醍醐味。

10:あぼーん
あぼーん
あぼーん

11:名前は開発中のものです。
02/07/20 02:14
とことんシレンを研究したらそれなりにわかると思うんだけど・・・・・・。

12:名前は開発中のものです。
02/07/20 09:58
    ハハハ                             イキデキネーヨ
   ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ハライテ-       ゲラゲラ
.  ( ´∀`) < あほか          ∧_∧       〃´⌒ヽ       モウ カンベン
.  ( つ ⊂ )  \_______   (´∀` ,,)、     ( _ ;)        シテクダサイ >>1
   .)  ) )   ○   ∧_∧      ,, へ,, へ⊂),    _(∨ ∨ )_     ∧_∧ ○,
  (__)_) ⊂ ´⌒つ´∀`)つ    (_(__)_丿      し ̄ ̄し     ⊂(´∀`⊂ ⌒ヽつ
          タッテ ラレネーヨ
           ワハハハ

13:名前は開発中のものです。
02/07/20 14:25
ローグやネットハック等のソースを読みなさい。

14:名前は開発中のものです。
02/07/20 22:20
Nethackや*band(angband, hengband等)はソースが公開されているから参考にしたらどうかね。
あと、ここのDungeons and Mazesあたりが参考になる
URLリンク(web.archive.org)

15:名前は開発中のものです。
02/07/23 12:28
Roguelike News、いつの間にかサイト消えてるけどどうなったん?

16:8
02/07/23 22:04 2KkjetHw
迷路の自動生成なら「C言語によるアルゴリズム辞典」という本に載ってます。
↓サポートページ
URLリンク(www.matsusaka-u.ac.jp)
↓サンプルコード(src/maze.c)
fURLリンク(ftp.matsusaka-u.ac.jp)

17:名前は開発中のものです。
02/07/24 11:35
で、あの伝統的迷路生成アルゴリズムをroguelikeで使う気? 勘弁してよ。

18:名前は開発中のものです。
02/07/24 19:03
>>15
オレもよく覗いていたのに、いつのまにか消えてた。
悲しい。

19:sage
02/07/26 01:47
>>3

正解。
1000回遊べるというキャッチコピーは、あらかじめツールで生成した
1000個のダンジョンデータを持っているという事だったみたい。

20:名前は開発中のものです。
02/07/26 10:52
>>19
手作業で1000個もマップ作ってたら大変だろ。
自動生成だと思うぞ。生成機能がツール側にあるのかも知れんが。

21:名前は開発中のものです。
02/07/26 11:37
自動生成させたマップでテストプレイさせ、面白かったマップ1000個に使用した
乱数種を保存ということか?

22:名前は開発中のものです。
02/07/26 11:39
それではまるでPB-100のRPGみたいじゃないか。

23:名前は開発中のものです。
02/08/08 23:13
>>22
懐かしい。
俺、3行で迷路作るプログラム書いたぞ。

24:名前は開発中のものです。
02/09/01 05:02
rougelike newsはY.A.R.N.S.になりましたでつよ

URLリンク(yarns.felis7.civ.pl)

25:名前は開発中のものです。
02/09/16 19:16
うちの父親は本当にトルネコ1を1000回遊んでたなあ・・・

ごめんなさい板違いデス(つД`) 

26:名前は開発中のものです。
02/10/17 18:35
漏れら極悪非道のageブラザーズ!
レス50以下は強制的にageてやるからな!
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧   ∧_∧    age
 (・∀・∩)(∩・∀・)    age
 (つ  丿 (   ⊂) age
  ( ヽノ   ヽ/  )   age
  し(_)   (_)J


27:名前は開発中のものです。
02/10/17 21:42
1.まず要素として、部屋と通路を作成させる。もちろん一定の範囲内で行う。

2.始めの部屋を一つ作り、四方に通路の口を付ける。ない場合もあり。
3.部屋同士重ならないように次々部屋&通路の口を作成。
4.全ての通路を、通路の口から部屋にぶつかるまで一マスづつ伸ばす。
5.通路の先端同士が隣接したらそこで止める。範囲から出てももちろん止める。

※部屋のサイズや部屋同士の間隔、部屋の形、通路の口の数、通路を止める条件、通路の伸び方などはアレンジ次第。


28:名前は開発中のものです。
02/10/18 00:12
これってシレンよかnethackのが元祖だよねぇ

29:名前は開発中のものです。
02/10/18 11:00
>>28
「ローグライク」という単語でぐぐるのだ
シレンやトルネコ自体、ローグを元にしてるって開発者が言ってます

30:名前は開発中のものです。
02/10/18 13:08 6sYAokDb
何の変哲もないRoguelikeダンジョン。

1. 最初の部屋をランダムな位置に配置
2. 部屋の壁を「掘れる場所」としてマーク
3. マークした場所のどっかからランダムに部屋か通路をホリホリ、ホリススム~♪
  ・部屋を掘るスペースがなければキャンセル
  ・通路は適当にぐにょぐにょ曲げて、どっかの空間に出たら掘るのやめ
4. 掘った部屋か通路の壁を「掘れる場所」としてマーク
5. 3に戻る

ま、大筋では>>27と同じことかな。原理はアホみたいだけど調整がかなり面倒です。
たぶん最初はまともなダンジョンは生成されないので、いろいろと試行錯誤しましょう。

でぃーがちゃ~んす♪ 地底の(以下略)

31:あぼーん
あぼーん
あぼーん

32:あぼーん
あぼーん
あぼーん

33:あぼーん
あぼーん
あぼーん

34:名前は開発中のものです。
02/11/19 01:05
angband ならソースコードに丁寧なコメント有り。
(ヴァリアントによって違いが有るので比べてみるのも面白い)

Omega は他のローグライクに比べると、自然な形のダンジョン生成を行う。


35:あぼーん
あぼーん
あぼーん

36:あぼーん
あぼーん
あぼーん

37:あぼーん
あぼーん
あぼーん

38:あぼーん
あぼーん
あぼーん

39:あぼーん
あぼーん
あぼーん

40:あぼーん
あぼーん
あぼーん

41:あぼーん
あぼーん
あぼーん

42:名前は開発中のものです。
02/12/04 17:05 suGIP1VX
************************* *は壁です。+は柱です。
* + + + + + + + + + + + * 各柱から上下左右のどちらかに
* + + + + + + + + + + + * 柱を増設してください。
* + + + + + + + + + + + *
* + + + + + + + + + + + * あとは自分でしろ
* + + + + + + + + + + + *
*************************

43:あぼーん
あぼーん
あぼーん

44:あぼーん
あぼーん
あぼーん

45:名前は開発中のものです。
02/12/09 09:22 OAPbFwbF
┏━━━━━━━━┓
┃ ageモナー   .         .. HP>>∞┃
┠────────┨
┃                        ┃
┃                        ┃
┃         ∧_∧.            ┃
┃        ( ´∀`)<age      ┃
┃        (    )          ┃
┃        | | |           .┃
┃        (__)_)           ┃
┃                        ┃
┠────────┨
┃【モナー系】          攻>>∞..┃
┃                  防>>∞..┃
┃特殊 >>1のクソスレを浮上させる .  . ┃
┃    スレ削除依頼で撃破.        ┃
┃レア度>>D                ┃
┗━━━━━━━━┛
***********************************************************
                    浮  上
***********************************************************
      スレリンク(saku板)


46:あぼーん
あぼーん
あぼーん

47:bloom
02/12/10 19:13 1aFvmu5d

URLリンク(www.agemasukudasai.com)

48:あぼーん
あぼーん
あぼーん

49:あぼーん
あぼーん
あぼーん

50:あぼーん
あぼーん
あぼーん

51:名前は開発中のものです。
02/12/16 16:02 GihUI/H8
>>5
"せいせい"ダヨ

52:あぼーん
あぼーん
あぼーん

53:あぼーん
あぼーん
あぼーん

54:あぼーん
あぼーん
あぼーん

55:あぼーん
あぼーん
あぼーん

56:あぼーん
あぼーん
あぼーん

57:名前は開発中のものです。
03/03/17 22:49 Odh3Hm+m
>>21-23
こち亀の会話みたいだとおもった。

58:名前は開発中のものです。
03/03/17 22:53 njQL4J5S
             ∩
        ∧_∧   | |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       (  ´Д`)//  < 先生!こんなのを発見シマスタ!
      /       /    |
     / /|    /      \  URLリンク(saitama.gasuki.com)
  __| | .|    |         \
  \   ̄ ̄ ̄ ̄ ̄ ̄ ̄\     \_____________
  ||\             \
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
  ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
     .||              ||

59:名前は開発中のものです。
03/03/17 23:31 zX79YLSY
このスレは個人的にとても興味があるんだけど、あんまり人気ないなぁ。
もっと参考ネタ出ないかな。

60:名前は開発中のものです。
03/03/18 00:42 Byhy9Wq5
だって教えたくないからさ。

61:ところでさ
03/03/19 08:31 d9qjX+iw
次の階のマップが今の階で歩いた歩数によって決まるっていうのは分かってるよな。だから1000歩以上歩けないわけ。

62:bloom
03/03/19 10:08 FZZHkcEC
URLリンク(www.agemasukudasai.com)

63:名前は開発中のものです。
03/03/19 10:46 v87ug0+M
見てみ
URLリンク(homepage3.nifty.com)

64:名前は開発中のものです。
03/03/19 17:11 q4DdUaD+
>>61
それ説得力あるな。本当のことは知らないけど。
もしかして「ダンジョン自動生成」とは言ってなかったのか。
自分で簡単なやつ作ってるんだけどなんかうまくいかない。
階段のある部屋同士がつながらないか、通路がめちゃくちゃ大量生産されちゃうんだな、これが。

65:あぼーん
あぼーん
あぼーん

66:あぼーん
あぼーん
あぼーん

67:あぼーん
あぼーん
あぼーん

68:あぼーん
あぼーん
あぼーん

69:あぼーん
あぼーん
あぼーん

70:あぼーん
あぼーん
あぼーん

71:名前は開発中のものです。
03/04/03 16:00 1uX8wUSJ
                  __           __
                  / age_ヽ         /.. age_ヽ
                 ( ・Д・)         ( ´Д`) <ひでえな、この糞スレ立て逃げだ。
                 ( ヽ ;~;;⌒⌒~⌒ヽノ.ノ y )   でも何で誰も削除依頼出さないんだろ?
                 .人 3━━━し人  Y
                 し'(_)          し'(_)


72:名前は開発中のものです。
03/04/05 13:46 nZalBSVE
          ☆ チン     マチクタビレタ~
                         マチクタビレタ~
        ☆ チン  〃  Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ヽ ___\(\・∀・) < この糞スレいつ削除されるの~?
             \_/⊂ ⊂_ )   \_____________
           / ̄ ̄ ̄ ̄ ̄ ̄ /|
        | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
        |    age     .|/


73:名前は開発中のものです。
03/04/08 21:30 f7Nb2d0t
                             >>1
                          __↓
                         /    ̄ ̄ー―-_
         ▲               )           /
        /ハハハ\             |\|\|\___イ
.     /      \            | /\  /\lllll|
   /   _   _  \          | /・\ /・\ |
.   |   ⊂⊃ ⊂⊃  |          |   ̄/、  ̄ ̄  )
  (|    ∴  ∪ ∴ |             |    ̄     /
   \      <=>  /           ヽ  <三>  /
    \____/               ヽ    /
          ∧               /| \/
  ,r‐‐‐‐‐‐‐‐‐'´ `゙‐‐‐‐‐‐‐‐‐‐、r‐‐‐‐‐‐'´ `゙‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐、
 |  立て逃げか。        |  そんなに卑怯者、卑怯者と |
 i  やっぱり君は卑怯者だな。i  言わないでくれよ~(泣    i


74:名前は開発中のものです。
03/04/11 06:38 3Xra/4RK
おっと、この糞スレをage忘れるとこだった
            ∧_∧
     ∧_∧  (´<_`  )
     ( ´_ゝ`) /   ⌒i   削除されてないんだから
    /   \     | |  誰かが使う予定のあるスレなんだろうよ、兄者。
    /    / ̄ ̄ ̄ ̄/ |
  __(__ニつ/  FMV  / .| .|____
      \/____/ (u ⊃


75:名前は開発中のものです。
03/04/15 07:24 JCosnwsE
     ∩
     |∧∧     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     (  ,)∩  <  クソスレ浮上!!
     丿  ノ    \________
    ~  .つ
     し~

   彡

 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     |||  ガリ
     |||    ガリ
     ∩  .|||
     |∧∧ |||   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     (TД)∩  < 立てた1は反省しる!!!
     丿  ノ    \______________
    ~  .つ〟
     し~


76:名前は開発中のものです。
03/04/18 16:03 iWfrvixr
    ||
    ||  ハニャーン!! ハニャーン!!
    ((∧糞   サクジョサレタクナイヨー!!
    ( >O<) ))
    (/)~~~つ ))
  ~( ,(ヽ、∧_∧
   (( (ノ \`    ) よいしょ
        ヽ  ○)
        ( ( (
        (__)_)


    ||
    ||
    l∧糞:: …シゥゥゥゥゥ……
    ::(#゚;;p。)::
    ::(/)~~(`
  ::~(,;∴;l::       .∧_∧
    ::U゙;ヾ)::       ( ・∀・) 糞スレには削除依頼を出そう!!
      ゙’;。       (    )
   ∬ 'i゚;、        人  Y
   .,,;∴;"、,.      (__(__)
   "゙ ;` ' ゛

77:bloom
03/04/18 17:10 EecAlKL2
URLリンク(www2.leverage.jp)

78:名前は開発中のものです。
03/04/18 18:36 f2gawB+r
DelphiならRPGスレにシレン風のサンプルがある。

79:名前は開発中のものです。
03/04/19 09:31 69F/wryj
ダンジョン自動生成どころか、2ちゃん自動カキコに
苦しんでいるわけだが

80:動画直リン
03/04/19 09:39 uRI4tDpp
URLリンク(www.agemasukudasai.com)

81:名前は開発中のものです。
03/04/19 11:19 LuLmbfXG
>>79
適当な2chブラウザであぼーん汁

82:名前は開発中のものです。
03/05/11 01:19 YmPX9X07
作ってみた。適当に作ったヤツだから適当な時間で消す。

URLリンク(www.bj.wakwak.com)

83:名前は開発中のものです。
03/05/11 01:30 M76Y+Zjc
>>82
すごい!ローグ系じゃなさそうですけど。
よかったらソース見せてもらったりできませんか?

84:82
03/05/11 12:38 YmPX9X07
ソースはグチャグチャだから勘弁してくれ。
ローグやネットハックみたほうがいい。
漏れは勉強の意味でわざわざ車輪を再発明しただけ。

85:名前は開発中のものです。
03/05/12 19:13 hNDPVSqI
      / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
      | ようやく糞スレへの削除依頼が出されましたわよ
      \_____  _______________
             //

        ∧_∧         ∧__∧
       ( ´∀`)        ( ・∀・)
        〉   <、  n       ,> 〈
      イ´γ  、ヽ ,||、    ,,ノ,_i⌒)  __/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
      (⌒r´⌒y/ f々)   (;:..(..:::;ノ /   \  よくやったわ。
       ハ::,;、::::ノ〈//`´   (二二ノノ     |  その調子で残りの糞スレも始末しなさい…
       |ノ:::::::〈\./      (_ミ:::〈      \_________________
      ィf::::::::::;ヽ、        〈;::::::;::ヽ
      (ミ:::;;:::;;:::::}         〉;;;::::)::)
      人;;;;;y;;;;;;ノ       /^i;;:イ;;;ノ
        | / /       / /| /
        `y /       〈 <  | |
        || |        ヽ `ヽ| i
         | ト.、        \`ヾ:|
         | |/^〉        ノ ^〉|
        ノ__.|ヘ;|        しヘ;|_ 〉
       ∠_ノL!         ∠_ノL! 

86:名前は開発中のものです。
03/05/14 16:22 fXAsAsg2
          ☆ チン     マチクタビレタ~
                         マチクタビレタ~
        ☆ チン  〃  Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ヽ ___\(\・∀・) < この糞スレいつ削除されるの~?
             \_/⊂ ⊂_ )   \_____________
           / ̄ ̄ ̄ ̄ ̄ ̄ /|
        | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
        |    age     .|/

87:名前は開発中のものです。
03/05/14 17:55 iws0NpBH
ソースキボンヌ

88:名前は開発中のものです。
03/05/14 19:25 SyAU8exc
いくらでも転がってるだろ。

89:名前は開発中のものです。
03/05/14 20:08 9Ln7VPCO
DVDSHOP YUIS 新装オープン!!
URLリンク(www.dvd-yuis.com)
豊富な品揃え!新品アダルトDVDが税込み900円~!
URLリンク(www.dvd-yuis.com)
最速発送!!すぐ届く!!
URLリンク(www.dvd-yuis.com)
よろしくね!!!

90:__
03/05/14 20:11 sRtxD0L1
  ∧_∧
 ( ・∀・)/< こんなのみつけたっち♪
URLリンク(www.hiroyuki.zansu.com)
URLリンク(hiroyuki.zansu.com)
URLリンク(www.hiroyuki.zansu.com)
URLリンク(hiroyuki.zansu.com)
URLリンク(www.hiroyuki.zansu.com)
URLリンク(hiroyuki.zansu.com)
URLリンク(www.hiroyuki.zansu.com)
URLリンク(hiroyuki.zansu.com)
URLリンク(www.hiroyuki.zansu.com)
URLリンク(hiroyuki.zansu.com)

91:名前は開発中のものです。
03/05/19 03:00 PodEWIVm
|  >>1が糞スレ立てたの
|  なんでだろ~♪
\____  _______________
        V     |
               |  なんでだろ~♪
             \_____  _____
                      V
       _,ヾゝー'"'"'"ー、,;    ,.:-‐―‐-.、_
      ,ラ   、_    ヽ,、 /       \
      イ  r-'ー゙ "ー‐、,  ミ/          ヽ
      i!  ,!       i! ミi   ,ハ        i
      ,j i /ニ=、  ,r==、i ,,ハ ,ノヽi! ゙'レ>ヾ-、 ,!r'
      i V <(・)>i i!(・)>゙!,i  !!イ(・)) <.(・)>゙ i /!i
      ゙!ji!   ., j .i_   /j   i  。 。,      ト-'
      ,ィi:.  ;" ー-‐'   ト'   .!   ,.=、     / ̄ ゙̄ー-、_
    __ノ !ハ    : 0 ;  ,/ _,.-‐''\ ゙=''  ,/
  /   \\   ̄ ,//     ゙ー-‐‐"
/       \.゙ー-イ ,/
  _____∧_______________

|  そして立て逃げ
|  なんでだろ~♪
\_______________∧_____
                /
                 |  なんでだろ~♪

92:名前は開発中のものです。
03/05/25 03:10 zZrEN2dj
迷路自動生成
URLリンク(www.campus.ne.jp)


93:名前は開発中のものです。
03/05/27 15:03 0amolFEw
Roguelikeでこんな古典的迷路作られても困ると思うが(w

94:名前は開発中のものです。
03/05/30 02:28 EwvzCZ9n
    ∧_∧        / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  |\´ー`)/|  < どれどれ、あの糞スレはまだあるのかな?
  ○  \/ζ ○   \__________
  |   |旦 |
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
  | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ |
  |                   |

    ∧_∧  ビリーー  / ̄ ̄ ̄ ̄ ̄
  |\ΦДΦ) /| < っざけんな!浮上だゴルァ!
  ○  >  ζ > ○   \_____
  | <   旦 <  |
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
  | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ |
  |                   |

95:名前は開発中のものです。
03/06/05 03:11 PO3Vgv4I
        タテニゲ ネタスレ~♪
              (アチョイサ)

        糞∧    (( (ヽ∧糞
      (( (ヽ゚ワ゚*)っ ))   ゙l i*゚ー゚)
       ヽ ,へ ノ     ヽ (( と)
   ((( ~(__人)    . ((( (^) ノ
        c_ノ         (ノ

      ミコミノナイ プロジェクト~♪
               (アソーレ)

      (( ∩糞∧ /) ))   ∧糞「「/`,、 ))
        ヽ(゚ー゚*)/    (*゚ワ゚)/)-ー"
         ヽ  ノ   (( ⊂  ノ
         ) と_)~     `y )つ ))
         ヽ)  )))     ヽ)   )))


    糞スレには削除依頼!!
     ∧_∧                  シィィィィーーーーーーーッ
     ( ・∀≡ミ ─= ___─  _ 、;λ糞,;'.糞∧,。;.
  rー-ノ _彡"´゙ヽ、) 三 ≡ 二 ≡ ≡三 三 ~~━;゚Q゚ξ━;>q<;、━>
  し-、__,イ ノ    ===   ̄ __ ====´;'(/`∵';つとノ‘'`;
      (__) ブンッ              と_O~;`O、 ノ~; ’
                                  (ノ

96:名前は開発中のものです。
03/06/08 02:39 P21vx1bu
>>92
それは迷路んぽ自動生成であって不思議系ダンジョンの自動生成ではないと思われ。

97:名前は開発中のものです。
03/06/08 18:09 34Lpq1Lp
ー糸冬了ー

98:感動した!!
03/06/23 23:35 FiE/1N/y
>>82
>>92
僕は82と92でオ○ニーしました。
気持ちよかったです。
ありがとう。


99:感動した!!
03/06/23 23:46 FiE/1N/y
>>92
適当に作ったとは思えないほど、すごくいい。
素朴な出力結果だけど、RPGっていう感じが充分に伝わる迷路だよね。

100:快傑ズバット ◆S/GGRxT0w2
03/07/06 12:01 h8XoQ2Wv
____________
|                      |
|                      |
|         _,,.、 -ー''''フ   .|
|    ―==二,,,__   /    |
|          /   / こ |
|   極      /   /  の  |
|   悪  .___,/′ /  ス . |
|   ク   \     \  レ  |
|   ズ    /  .,ー---    |
|   ス  ./  ./          |
|   レ  /   /         |
|    / /   /______    |
|   ・ /    ._,,.,、---″  . |
|   ./--‐''''^゙ ̄        |
|                     |
|                     |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

101:名前は開発中のものです。
03/07/06 19:34 9x9g4sJ5
あなたが探してるのってこれだよね?この中にあったよ♪
URLリンク(alink3.uic.to)

102:名前は開発中のものです。
03/07/09 12:58 K3gy2NT0
◆◇◆◇ 海外サイトだから安心無修正 ◇◆◇◆
URLリンク(upbbs.s2.x-beat.com)

 ↑ 
ココは丸見え! 今ならまだ消されてないよ。たぶん・・・

103:(・∀・)
03/07/09 16:56 vWjTVIFg
IE6.0でMicrosoftのゲームが出来るイースターエッグ発見
IEの製作スタッフが遊び心で入れたもののようだ
やり方は簡単、IEを開きアドレスのところに
c:\aux
と入れるだけ。IEにAUDと出てきたらスペースを押してスタート!

操作方法
上 カーソルキー↑
下 カーソルキー↓
左 カーソルキー←
右 カーソルキー→
ジャンプ A
しゃがみ Z
攻撃   X

現在の最高得点 53600点アメリカ人の模様
2ちゃんねるから1位を出すぞ!(゚Д゚)ゴルァ!!


104:>>103通報しますた
03/07/11 04:26 vuPizfxe
Internet Explorer 6が「c:\aux」でフリーズするバグ

Internet Explorer 6(IE6)のアドレスバーに「c:\aux」と入力して実行すると
IE6がフリーズしてしまうバグがあることが7月8日までに分かった。
URLリンク(www.zdnet.co.jp)

105:名前は開発中のものです。
03/07/11 23:11 oB0pX3ji
美少女のワレメが丸見えなサイトがありましたでつ!
マジでつよ。す、すごい… (*´Д`)ハァハァ…
URLリンク(plaza16.mbn.or.jp)


106:名前は開発中のものです。
03/07/16 04:55 WRWu/qqX
1はどうした。
早く迷路の自動生成プログラム公開しろよ。

107:名前は開発中のものです。
03/07/16 18:32 qOtGqSdH
1はどうした。
早く迷路の自動生成プログラム公開しろよ。


108:ここみろよ
03/07/21 14:11 g9ms6C2X
URLリンク(www.informatics.tuad.ac.jp)

ここにアルゴリズムのってるから勝手につくれよ はげども 2秒でつくれるだろ

109:名前は開発中のものです。
03/07/21 15:10 8kL0amIX
>>108
そういう形の迷路じゃない気がする。
ローグ風のだよね。

110:ここみろよ
03/07/21 15:29 ED0R2RwZ
それもはいってるから マジではげだな

111:名前は開発中のものです。
03/07/22 01:21 AgLHKOrw
docファイルなんぞ紹介されても読めん。

112:名前は開発中のものです。
03/07/22 07:59 tMKl5V9G
俺もDOCファイル読めない。
せめて"はげ"にも読めるフォーマットにしてください。

113:名前は開発中のものです。
03/07/22 11:11 Re+xfTHB
しかも上を辿るとどうやら大学のゼミのサイトか?
普通htmlかpdfだろう。何考えてるんだか。

114:名前は開発中のものです。
03/07/22 16:56 j4H/uE1m
誰か>>108をコンバートしてうぷ汁!!

115:名前は開発中のものです。
03/07/22 21:01 9tZKk9Qy
docなんて冗談だけにしてくれよ・・・

116:名前は開発中のものです。
03/07/22 21:06 72/8UPZ6
オフィスくらい入れれ

117:名前は開発中のものです。
03/09/05 20:36 xlXF3Rvt
保守

118:82
03/09/08 02:24 DGIb+Ofg
久々に来てみた。まったく進展していないな・・・。というかこのスレまだ残ってたのか。
すっかり忘れていたんだが、そろそろ消してもいいか?

119:名前は開発中のものです。
03/09/08 06:00 1vyVKrgh
URLリンク(user.auctions.yahoo.co.jp)

120:412
03/09/22 23:02 rNdSiZ4B
消した。漏れの作った基本アルゴリズムだけ書いておく。

1.部屋数決定
2.各部屋のサイズと位置の決定
3.最初の部屋から通路の敷設
4.他の部屋と接続
5.次の部屋から通路を延ばす(以後繰り返し)
6.全ての部屋がひとつになっているか確認。ダメなら最初から
7.適当に行き止まりや余分な通路を作って完成。

他にもイロイロと細かく小手先のこと(自分の部屋に戻る進路はやり直しとか)を
やってるが基本は1~7。



121:82
03/09/22 23:02 rNdSiZ4B
しまった。別スレの名前が残ってた。スマソ

122:名前は開発中のものです。
03/09/22 23:07 Pk1G8jz2
>>120
6の手順をスッキリさせないと時間メッチャかかりそうだけど

123:82
03/09/23 00:49 H87naM88
6よりも3と4がキモ。ここをどれだけ練れるかで、時間がかなり変化する。
間違えると自分の部屋に戻ってくる行けない部屋のあるダンジョンになってしまう。
ちなみに6の判定そのものは、すぐに出来る。
漏れの場合は左下にリトライカウントを表示してたけど大体1発で出来てた。
たまにやり直すくらい。


124:名前は開発中のものです。
03/10/09 18:15 gloYt7es
 1、通路全体を作る。
 2、通路の上に部屋同士が重ならないように配置する。

 これでどう?


125:名前は開発中のものです。
03/10/09 18:29 s4Tn1OFh
124の考えでいいと思う。

問題は通路の作り方だ。

126:名前は開発中のものです。
03/10/09 18:47 gloYt7es
通路の作り方は通路の上に通路が重なるように配置する。
重ねる通路は、直線やL形や四角形などを使う。

何度か通路を重ねれば大きくて複雑な通路が出来る。


127:82
03/10/09 22:35 WP88aGMf
>>124
なにも考えずに部屋を置くと部屋の形が四角に見えない可能性がある。
それでも良ければ構わないけど、漏れはトルネコのような部屋の形が長方形から
崩れないように注意した。

■□□□■□□□□□
■■■■■□□□□□
■■■■□□□□□□
□■■■■■■■■■
□■■■■□□□□□
□■■■■□□□□□
□■■■■■■■□□
□■■■□□□■□□

こんな部屋の形を許すかどうかだね。


128:名前は開発中のものです。
03/10/09 22:54 PD96naDp
実際作ってみてるわけじゃないので、間違ってたらスマン。

細かいルールになるが通路の長さや部屋の大きさ、配置の座標を奇数で統一すれば、
部屋の形を綺麗にすることは可能だと思う。


129:名前は開発中のものです。
03/10/10 02:58 YAvlPDIa
わざわざアルゴリズム考えなくても、Rogue Clone II とかのソース読めばわかるやん。

130:名前は開発中のものです。
03/10/10 05:14 x+Z90lGG
フラクタルかなんかで岩盤を作って、そいつを腐食させれば天然の洞窟。
同じく鉱脈を作ってカクカク掘っていけば鉱山。

131:82
03/10/13 08:53 wevhMUAZ
>>128
その制限が許されるなら簡単にはなる。問題はそれでいいかどうか。
論点としては>>124と同じだね。

漏れは>>1にシレンとあったので不思議のダンジョン系のダンジョンを基点として考えただけ。

ところで、漏れ以外にも誰か書いてくれよ。

132:名前は開発中のものです。
03/10/13 09:41 bbfkqWDB
アリンコが巣をつくるアルゴリズムを応用できないか?
とりあえず仲間の匂いがする(仲間が多くいる)箇所を彫る
んだけじゃなかったっけ?なんでそんなルールで複雑な巣穴
が生成されんだか…

133:名前は開発中のものです。
03/10/13 11:31 bV77mRDF
>>132
boidみたいに、できるといいね

134:132
03/10/13 13:20 bbfkqWDB
自分でプログラミングするまでの気力が生じないので、似たようなモノを探してみた。

アリの巣作り(画像紹介のみ)
URLリンク(acolyte.t.u-tokyo.ac.jp)

巡回セールスマン問題を「アリのフェロモン」をシミュして解くアプレットらしい。
URLリンク(uk.geocities.com)

ズバリのものは見つけられんかった。自分で作るしかないか…

135:名前は開発中のものです。
03/10/14 11:56 0sl2OLkJ
1.部屋生成
2.通路は((奇数ブロック*i)進んだら曲がる)*n
3.1に戻る
を任意数繰り返したら終了、ってのでやってみた。最初と最後の部屋には階段もつけてみた。
たしかに>>82みたいにきっちりやろうとすると大変だけど、「ダンジョンらしきもの」を自動生成させるのはそれほど難しくはないね。
初めてやってみたけどこれ面白いわ。もちっとがんばってみる。

136:82
03/10/24 23:55 LUG2pqu0
135に期待して保守

137:名前は開発中のものです。
03/12/03 22:01 zSvX83Rw
URLリンク(www.infoseek.livedoor.net)

138:名前は開発中のものです。
03/12/04 00:54 z1sAcz/m
俺が昔つくったやつは
1 X*Yの外壁をつくる。中は全部床。これをダンジョンと呼ぶ。
2 ダンジョンの中にX個の壁を置く。位置はランダム。
3 ダンジョンの中にX*Yの部屋をZ個作る。部屋は外周が全て壁で中が全て床。
4 入り口をランダムで一つ作る。
5 入り口から深さ優先の探索で床に深度を付ける。
6 深度の最大値がXより小さかったら、一番深い床に接してる壁を一つ床に変えて4に戻る

パラメータをうまく与えてやればそれらしいものが出来たよ。
ゲーム作成には挫折したが。


139:名前は開発中のものです。
03/12/04 00:56 z1sAcz/m
× 4に戻る
○ 5に戻る

140:名前は開発中のものです。
03/12/04 22:39 kq3KaFzw
>138

すまんが何がどうなのかさっぱりわからん。
なんで全部床なところにさらに床と壁を作るのか?
1~3と6にあるXはどこまで同じものなのか?
深度がなにを意味しているのか?


141:名前は開発中のものです。
03/12/05 00:12 w85YOxE1
>>138
まず、xとかyとか同じものを違う意味で使うのは止めたほうがよいと思った。

142:名前は開発中のものです。
03/12/05 01:35 ltjJGjMd
わかりにくくてスマン。
しかも深さ優先じゃなくて幅優先の探索だった。

深度は入り口からその床までの最短歩数。
Xは全部別物。

スゲー単純に言うとある程度の深さになるまで壁→床、床→壁を適当に繰り返してるだけ。
部屋を作って通路で繋ぐという考え方ではないので
ここで議論してるのとは全然違うものでした。


143:名前は開発中のものです。
03/12/06 17:18 DPzBMAwq
だからさ。5,6が全然分からない。

・幅優先・・なんのこと?
・最短歩数・・なんのこと?直線じゃなくてもいい?

あと、結局どんなダンジョンになるかわからん。




144:名前は開発中のものです。
03/12/06 20:27 gsVF3sa2
ソースをUPだ。それで全て解決する。

145:名前は開発中のものです。
03/12/06 22:34 uezX5CzB
(´Д`) えーと。

1.部屋数を一定数+乱数に決定
2.壁で埋め尽くされたマップに部屋を重ならないように配置
3.開始地点・終点をどこかの部屋の中に指定
4.開始地点から終点までの通路を1+乱数個作成

とまぁ、言うのは簡単なんだが
アルゴリズムにしろってーと難しいな・・・(´Д`)ハァ。

146:名前は開発中のものです。
03/12/06 23:51 pqhCLOb0

部屋
部屋 987
部屋   6
部屋 345
部屋12

深度ってこんな感じか?でも廊下が巻いたらどうするんだ?
9から下に行って右に行ったら?
同じ部屋についた場合とか廊下が交差したりすぐ隣を通って広くなったりで
これだけだとあまり廊下っぽくならない気がするぞ。



147:138
03/12/07 04:08 SbSpMvxn
探索のアルゴリズムは一般的なものだと思ってた

>>144
ソースはPC98を物置から引っ張り出さないとならないから面倒
でも面白そうだから、暇なときにでもサルベージします。


>>146の例の空白が壁を現しているなら
0がダンジョンの入り口だったとして下のようになる。

54
43 987
32   6
21 345
1012


148:続き
03/12/07 04:08 SbSpMvxn
深さ9では狭いと判断してランダムで床/壁を微調整時したとき、
9の下、9の左下が壁から床になると

54
43 567
3234 6
21 345
1012

になる。

書いてて思い出したが、6の「一番深い床に接してる壁を一つ床に変えて」は記憶違い。
ランダムで床を5個置く、壁を5個置く、とかやってたような気がする。

俺の作ってたやつは部屋の概念が無かったので、
床がたまたま四角く残ってたら部屋って感じ。
イベントの位置は深度で決定してた。

全然ローグ系じゃなくてゴメンネ

149:名前は開発中のものです。
03/12/07 10:16 Jd1VJ/+b
確かにローグ系というより、アリの巣っぽいものができそうだ。
でも、参考になったよ。おかげで下の方法を思いついた。
138と比較するとローグ系の廊下は一マスごとに方向をランダムに決めているんじゃなくて
他の部屋を目指した直線的なランダムってことだろうな。

A:掘り始めの部屋と行き先の部屋をランダムに決める。
B:XとY、どちらかを先にあわせるか決めて廊下を延ばす。
C:一方が合えばもう一方を合わせる方向へ。
D:数十回に一回、進行方向をランダムに変える。
E:別の廊下と繋がったらそこで終了。

まだ欠点はあるだろうけどたぶんこんな感じか?

150:名前は開発中のものです。
03/12/17 19:26 Og4NARii
大昔こんな感じで作った気がする
作りたいタイプによってアルゴリズムを変えてた

迷路風
 アルゴリズム辞典に出ているようなやり方で
 所々壁を消したりしてアクセントを付けてみたり
ローグ風?
 部屋を適当に配置し、適当に通路でつなぐ
 行き止まり通路を作ってみたり
洞窟風?
 適当に掘り進んで、適当に太らせる

151:名前は開発中のものです。
03/12/23 16:22 wQ1mOr30
>>150
その適当って個所のアルゴリズムを書けよアホ

152:名前は開発中のものです。
03/12/23 17:22 bY3OxSod
「大昔」に作ったやつだから忘れちゃったんだよ。きっと

153:名前は開発中のものです。
04/01/13 23:46 8aDUcohE
150が思い出すのを期待して保守

154:名前は開発中のものです。
04/03/18 05:26 mbXIiubf
なんとなくage

155:名前は開発中のものです。
04/05/03 20:45 6fzYU4+4
>>17 >>93
Nethack ではダンジョンの深い所では古典的な迷路が(いっぱい)出現します。
ミノタウルスも(いっぱい)いるよ。
とってもつらいけど、神様がくれた試練なので頑張ろうと思いました。


156:名前は開発中のものです。
04/05/30 09:02 4+hrirdE
テス

157: ◆wvM6C8VLoU
04/06/09 23:07 WBlL48ys
>>151
超亀レスで別人だが自分が昔考えたアルゴリズムは

1.適当な部屋を選択
2.その部屋から一番近く部屋を探す。
3.それぞれの部屋から縦横に直線状に通路掘る
をすべての部屋に通路が繋がるまで繰り返す。
   □


つまり上の場合(□は部屋)
   □
   ↓
□→X
矢印方向に通路を掘っていけばX地点で通路が繋がる。
例外的な場合として、下みたいな場合があるが、書くまでもないので省略




158: ◆wvM6C8VLoU
04/06/09 23:09 WBlL48ys
あと掘る方向は」

159: ◆wvM6C8VLoU
04/06/09 23:11 WBlL48ys
  ←□
↑ 

でもかまわない。
その他細々したものがあったと思うが思い出したらまた書く。

160:名前は開発中のものです。
04/06/10 16:16 v++dte4d
nethackのランダムマップは
マップが重要じゃなくてランダムイベントを#でつないでるんだよな

だから面白いんだと思った

161:名前は開発中のものです。
04/06/13 12:09 rkW7K1R1
>>157
それだけだとこのように孤立したエリアができる可能性がある。

  □ □
  ┃ ┃
□━┛ ┗━□

すべての部屋に通路は繋がっているが、部屋同士が繋がっていることにはならない。
厳密にやるなら、すべての部屋が繋がったかどうかのチェックが必要

あと「部屋から部屋へ通路を伸ばす」のではなく「部屋Aからの通路と部屋Bからの通路を繋げる」というアルゴリズムならば、その合流点Xをどう求めるのか気になる

162: ◆Mn5mzn8hAQ
04/06/13 19:51 SVTy+FtY
俺はあんましシレンとか好きでないので
内容がよくわからんというか
思いっきり忘れたんだが
こういう感じのマップを自動生成できたら
結構イケテルか?
教えてくれろ。

□□□□□□□□□□□□□□□□□□□
□■■■■■□□□□□□□□□□□□□
□■■■■■■■■■■■■□□□□□□
□■■■■■□□□□□□■□□□□□□
□■■■■■□□□□□□■□□■■■□
□□□■□□□□□□□□■□□■■■□
□□■■■■■■■■■■■■■■■■□
□□■□□□□□□□□□■□□■■■□
□■■■■□□□□□□□■□□□□□□
□■■■■□□□□■■■■■□□□□□
□■■■■■■■■■■■■■□□□□□
□■■■■□□□□■■■■■□□□□□
□□□□□□□□□■■■■■□□□□□
□□□□□□□□□□□□□□□□□□□
場所とってしまってすまんね~

163:名前は開発中のものです。
04/06/13 21:03 UiqEecMu
意外と出来ないんだよな
トルネコタイプ

164:名前は開発中のものです。
04/06/13 21:10 nOFtOGzx
いや、トルネコはRogue起源な訳で、NetHack起源な訳で、、

つまりNetHackのソースでも見ればいいだろ(´д`)

165:名前は開発中のものです。
04/06/13 21:18 QEF1CnCV
いきなりNethack読むと軽く死ねると思う

166: ◆Mn5mzn8hAQ
04/06/13 21:28 SVTy+FtY
とりあえずローグのソース読んでたが寝れる。
死ねるというか寝れる。
>>162はどうかいな?

167:名前は開発中のものです。
04/06/13 21:34 nOFtOGzx
そうなのかー、かー。読んだ事無かったから、スマソ
162は悪くないけど全ての部屋にほぼ直通で行ける状態はどうかと。
ある程度の回り道を要求する方がいいと思いますた。

168: ◆Mn5mzn8hAQ
04/06/13 21:43 SVTy+FtY
>>167
さようか一筋縄ではいかんな。
ソース読んだ方が早いかな。

ちなみにローグの生成部分のソースファイルは1000行未満で
ほんとに関係あるのは
そのうち一部分だけなので実はたいしたことがない。
でもコメントついてねぇし。。orz..ぐぅ

169:名前は開発中のものです。
04/06/13 23:22 9y2POLbC
じゃあ、みんなでソースを読み進める勉強会なんてしませんか?

170: ◆Mn5mzn8hAQ
04/06/13 23:34 SVTy+FtY
>>169
いいこと言うなぁ。
仕切ってくださいくださいください

171:名前は開発中のものです。
04/06/14 03:47 kvXypjdH
迷路生成の部分だけ抜き出して
貼ってちょうだい

172: ◆Mn5mzn8hAQ
04/06/14 04:32 0lapHs9H
>>171
貼り付けられるほどは短くないジョ。。。

ソース付ウィンドウズ版ローグクローン2
URLリンク(www.freak.ne.jp)
のRogue Clone II

部屋生成の理屈はわかったが
通路つなぎの部分で苦戦中。

173: ◆Mn5mzn8hAQ
04/06/14 05:09 0lapHs9H
んでもってローグに関する
(厳密にはローグクローン2系)の
我輩が読んでみた限りの情報提供しようとおもふ。
参考になるかわからんが(読み間違えてるかもしんないし)

AppMain.cがエントリポイントを含むソース
(Win版でない人は多分Main.c)
135行目のfor(;;)ループの部分の
make_level();が生成の関数。
level.cで定義されている。
これ以外で生成にからんでくるファイルは
room.cとrogue.h位だがちょっと参照する程度。
<つづく>

174: ◆Mn5mzn8hAQ
04/06/14 05:13 0lapHs9H
生成は非常に大雑把に言うと
①3x3に分けたエリアのうち8箇所に部屋を設置する
②一定の法則で対となる部屋を決める
③3回方向転換しながら通路を結ぶ
という段取り。
<つづく>

175: ◆Mn5mzn8hAQ
04/06/14 05:24 0lapHs9H
①と③はそれとなくなんとなくわかったような気分。
しかし②の部分がまだ理解不能。
>>157 で指摘している繋がりチェックを省いて
華麗かつスマートなアルゴリズムで選定するんだろう。
寝ぼけた脳みそでは理解できんねぃ。朝になっちゃったねぃ。
ぐぅ。
他いろいろ気づいたことあるんですが長くなったのでさやうなら。
<つづかない>

176: ◆Mn5mzn8hAQ
04/06/14 05:53 0lapHs9H
ごめん上の>>157ての>>161の間違いです脳はすでに睡眠しています

177:名前は開発中のものです。
04/06/14 08:05 Fu2wy2cA
>>108の穴掘り法は、3次元の迷路も作れそうだな。
というかこのページ、迷路ゲームの面白さへの考察まで書いてある。
なかなかいい大学だな。

178:名前は開発中のものです。
04/06/14 09:28 c4NXluee
>>161の問題は最初の部屋から最短経路探索、領域拡張法でいいで解決しない?

179:名前は開発中のものです。
04/06/14 09:47 5+/Otxjs
で、もまいら具体的なソースはできたのかい?

180:名前は開発中のものです。
04/06/14 11:25 HxZhdP5q
思っていたより厄介なソースだなぁ、コメント少ないし。

get_rand(x, y);
xからyまでの範囲の乱数値を得る

例)
get_rand(5, 2);
5から7までの間の乱数値

181:名前は開発中のものです。
04/06/14 11:26 HxZhdP5q
coin_toss();
0か1の値をランダムに返す

182: ◆Mn5mzn8hAQ
04/06/14 12:04 0lapHs9H
>>180
なるほど、ここで判明した関数かきだして
リファレンスみたいにすれば
みんなで読めるね

と、get_randの説明がおかしいある・・

get_rand(5, 2)なら2~5の乱数を返す
get_rand(5, 7)なら5~7の乱数を返す だわいね

乱数に関する関数はrandom.cに入っております。

>>178
最短経路探索、お、と思ったけどローグのソースはなんか違う気がしる

>>179
他のしとは知らんけど俺はまだ読むばかりなり。アンタも読むなり。


183:2時間しか寝てませんよ? ◆Mn5mzn8hAQ
04/06/14 12:19 0lapHs9H
画面ORマップまわりの重要な定数(Rogue.h)

#define ROW1 7
#define ROW2 15
#define DROWS 24/*縦の最大*/

#define COL1 26
#define COL2 52
#define DCOLS 80/*横の最大*/

※~1、~2は
マップを3x3の領域にきりわける際に利用している


184:2時間しか寝てませんよ? ◆Mn5mzn8hAQ
04/06/14 12:54 0lapHs9H
●rm = room・・・部屋を表現する構造体。
Y2、X2、Y1、X1、door[4], is_room で構成される
is_roomはR_NOTHIN、R_ROOM、R_MAZE、R_CROSSなどの定数が入り、
部屋の種類をあらわす。

●door = dr・・・ドアに関する情報をつめこむ構造体
ペアになる部屋番号、ペアのドアのY、ペアのドアのX、X、Yで構成される

一つの部屋は最大4つのドアをもっていて
しかもペアになる部屋のドアの座標ももっており
かつ部屋ではなく通路になったりもする、と。

185:名前は開発中のものです。
04/06/14 13:08 HxZhdP5q
>>183
まだ読みかけだから間違っているかもしれないけど補足すると・・・

部屋の最大数は9で、80x24の空間をを9個に分割して
部屋を配置しているっぽい。

例外はBIG_ROOM。空間内に一部屋だけという状態。部屋のサイズは画面内でランダム。
これはゲーム中、いずれかの階に一度だけ かつ 1/100の確率で出現する。


186:名前は開発中のものです。
04/06/14 13:09 HxZhdP5q
>>185
あ、0lapHs9H氏の書き込みみると、9個じゃなくて8個なのかな。

187:2時間しか寝てませんよ? ◆Mn5mzn8hAQ
04/06/14 13:17 0lapHs9H
>>185
あ、ほんとだ部屋の数9だね
for WonderWitchのソースはなぜか8ですた

#define MAXROOMS 9(rogue.h)

100分の1の確率なのか、なーる

188:2時間しか寝てませんよ? ◆Mn5mzn8hAQ
04/06/14 13:24 0lapHs9H
ぶっちゃけてしまうが
風来のシレン月影村の怪物インターネット版の体験版
を画面キャプチャしながら4階層遊んでみたが
今わかっている時点だけであきらかにRogueと
生成方法が違いますケドw


189:名前は開発中のものです。
04/06/14 14:21 CyVM64I2
rogueのソース読むのもいいけど自分で書いちゃった方が早いし面白いんじゃないかなあ


190:名前は開発中のものです。
04/06/14 16:11 5+/Otxjs
そうして、他人のソースを読まずに突き進んできた奴があwqせdrftgyふじこlp;

191:名前は開発中のものです。
04/06/14 17:06 rnOPv/om
せっかくだから斬新な自動生成段ジョンを開発しようぜ

192:名前は開発中のものです。
04/06/14 19:04 HxZhdP5q
ダラダラと別のことしながらローグIIのソース読んでる。
部屋生成について補足。make_level()から呼び出される、make_room()は以下の通り。

画面を3x3に分割して、その分割された領域内に矩形を作ることで部屋にしている。
サイズはランダムで、領域内の左上からの位置もランダム。この時、他の領域には
踏み入らないように計算しているので、部屋の重なりをチェックする必要はない。

必ず9個の部屋があるわけでない。条件によって部屋のあるなしが決められる。
条件は単なるランダムではなく、ある程度の法則性がある。
これはゲームバランス的なものだと思うので詳しい説明は省略。
1/2の確率で縦に3部屋並ぶ構成になる・1/2の確率で3種類の部屋の並びになる、
一つのフロアには、少なくとも3つの部屋が生成される、とか。

部屋のあるなしを決定したら、フロアマップに部屋の構成を記録すると同時に、
部屋の位置やサイズを別に記憶しておく。


193:名前は開発中のものです。
04/06/14 19:18 HxZhdP5q
おっと、一部読み間違えた。

>部屋の位置やサイズを別に記憶しておく。
サイズではなく、左上の座標と右下の座標っぽい。

あと、条件チェックで部屋がないと判断されても、先に計算した部屋の位置・・・
つまり、小領域内での左上と右下の座標値を保存している。どうやら通路?を
生成する時に利用しているっぽい。

194:ぐぅ ◆Mn5mzn8hAQ
04/06/14 19:40 0lapHs9H
だいたいわかったんだが、
わからないのが
ペアの部屋を選定するコード。

add_maze/make_maze。
add_mazeは>>193の「部屋ではなく通路にする」場合の処理で
座標を保存して範囲を限定することで
どこまでも無駄に通路を延ばしてしまうことを避け
るためと読んだ。
月曜日は面白いテレビ番組がなくて退屈である。


195:名前は開発中のものです。
04/06/14 19:42 HxZhdP5q
部屋を作ったら、次は迷路の作成らしい。通路ではない。

9個の小領域内に、ある条件を満たしたら、迷路を作る。
基点は先の部屋を作成した時に保存した左上の位置から、掘り進む。
1回(1文字)掘るごとに1/3の確率で進行方向を変える。
掘り進む方向+1と、その左右方向(画面の左右ではなく進行方向に対して)、
それから、掘り進む方向+2を調べて、すでに掘った通路があったら迷路作成終了。
掘る範囲は先にランダムに決定した部屋サイズ内なので、小領域を出ることはない。

迷路が生成される条件はゲームバランス的なので詳しい説明は略。
最初の階では絶対に迷路がない。16階以降は階を増やすごとに迷路が作られる確率が高まる。
迷路は1つの階につき1つっぽい。


196:名前は開発中のものです。
04/06/14 19:45 HxZhdP5q
>>195は、make_maze()の処理内容です。


197:名前は開発中のものです。
04/06/14 19:49 HxZhdP5q
>>195
また読み違えた。

> 掘る範囲は先にランダムに決定した部屋サイズ内なので、小領域を出ることはない。

掘る範囲は少領域内。
基点が、部屋サイズ内。

198:ぐぅ ◆Mn5mzn8hAQ
04/06/14 19:52 0lapHs9H
ははぁなるほど。
するってぇと通路への変更は別のコードか。


199:名前は開発中のものです。
04/06/14 19:57 HxZhdP5q
>>198
関数名だけみると、通路&ドア作成は、connect_rooms()内っぽいですよ。


200:名前は開発中のものです。
04/06/14 20:12 HxZhdP5q
迷路を作ったら、hide_boxed_passage()を実行してる。

処理内容は、作った迷路をところどころHIDDEN属性にする。
つまり、先に迷路を掘ってから迷路の一部をHIDDEN化してる。
このルーチンは、迷路だけでなく、通路作成時にも呼び出されてる。

隠し処理は3階以降にしか発生しない。あとはゲームバランス的な条件で。

201:名前は開発中のものです。
04/06/14 20:14 HxZhdP5q
というわけで、add_mazes()もおしまい。

>>197は間違いで、やっぱり掘る領域は部屋サイズだったけど、まぁいいや。

202:ぐぅ ◆Mn5mzn8hAQ
04/06/14 20:16 0lapHs9H
>>199
ああ、通常の部屋同士の通路掘りはそれなんだけど、
229行で部屋でも迷路でもないものははじかれるから
それ以外に部屋を通路にするロジックがあるのではないかと
おもて。

R_CROSSという定数がアヤシイ・・
fill_out_level()とfill_it()がアヤシイ・・
とかおもてました。
最後に調整してるんかな、とか。
でもなんか違う気もするし・・
まぁ割と瑣末な部分なので
この時点で突っ込まないでもいいのかもしれんが。

203:ぐぅ>腹ペコ ◆Mn5mzn8hAQ
04/06/14 20:29 0lapHs9H
>>200
ほほぅ。そうなんだ。ソース読むの早いなぁ。

部屋同士を接続するアバウトなしくみの見当ついた。
012
345
678
とわかれているエリアで
ランダムに部屋を選んで、(ここでは仮に0とすると)
1,2,3,6のエリアの部屋に接続に行く。
選んだ部屋が4だったとすると5と7に接続にいく。
実は6にも接続に行ってしまうが、
connect_roomsで実際に接続する際、行か列のいずれかがあっていないと
処理を終了するので結局6には接続しない。
これをランダムな順番で0~7について行う(8はイラン)
つまり、
右、さらに右、下、さらに下の4箇所に接続に行く。
非常にアバウトだが、
これが接続先選定のアルゴリズムであった。タブンネw
夕飯買ってきてそれからそれからもうちっと読んでみます。


204:名前は開発中のものです。
04/06/14 21:06 HxZhdP5q
連続投稿制限に引っかかって、ふてくされてた。

3x3の領域内に部屋と迷路を作ってから、迷路の部分隠しをしたあとは、
mix_random_rooms()で3x3の小領域の情報を10回ほどシャッフルしてるっぽい。
領域単位での入れ替え。

・・・すでに部屋とか迷路をdungeon[][]内に書き込んでるけど、
そんなことしていいのか?どこか読み違えてるかも。

というわけで、そろそろ通路の処理に入りそうなんだけど、ここからが面倒っすね。
とりあえずアミュレットは26階以降にでるっつーことで。

205:ぐぅ>腹ペコ ◆Mn5mzn8hAQ
04/06/14 21:29 0lapHs9H
>>204
そうそう、mix_random_rooms()でしっちゃかめっちゃかと俺も悩んだw
でも冷静によむと、
mix_random_rooms()はrandom_roomsをシャッフルするだけで
肝心のroomsはいじられないので大丈夫だったりしる。
random_roomsはランダムに部屋選ぶのに参照しるだけの配列にゃり。

部屋同士の接続はこれまたアバウトにいうと
部屋の出入り口を向かい合わせにつくって(dirとrevに向きを設定)
通路を延ばして途中で向きかえて座標をあわせて再度通路をのばして
ドッキングしてるだけ

というか、細かい話抜きにしると
これでほぼ全容はわかったことになるんだなぁ。


206:名前は開発中のものです。
04/06/14 21:53 MkSJwU7k
ソースに 日本語コメントつけてうぷ汁

207:ぐぅ@満腹 ◆Mn5mzn8hAQ
04/06/14 21:59 0lapHs9H
>>206
なんかくれるか?

208:名前は開発中のものです。
04/06/14 22:10 HxZhdP5q
>>205
なるほど、そっちだったか~。
深読み&変数名勘違いのトラップひっかかってました。


209:ぐぅ@凍結 ◆Mn5mzn8hAQ
04/06/14 22:35 0lapHs9H
隣り合っていても部屋と部屋を繋ぐ通路がなかったりしるのは
どのような理屈であろうか。

210:名前は開発中のものです。
04/06/14 23:18 HxZhdP5q
>>200の続き。
部屋と部屋をつなぐ処理・・・は>>203ですが、ちょっと補足。

1つの小領域につき1度、右とその右、下とその下の4箇所の
小領域(にある部屋)に対して通路を作成する。

connect_rooms();
まず、向かい合わせになっているそれぞれの部屋の壁に対して、
ランダムな位置に扉を作成する。そこから通路を延ばす。

draw_simple_passage();
通路は2回曲がるように作成される。スタート地点の扉から
ランダムな長さまで直線をひいて、進行方向を変えて、そこからゴールの扉の
縦座標(or横座標)まで直線をひいて、進行方向を扉の方にして、
そこからゴールの扉まで直線をひくだけ。進行方向を変えるとかいうのは90度向きを...
とかではなく、部屋の位置関係が上下であれば、下にひいて、右か左にひいて、また下ひく
という、ただの条件分岐と線をひくためのfor()ループ三回。

211:名前は開発中のものです。
04/06/14 23:28 HxZhdP5q
通路を作成したら、12%の確率で通路の一部を隠す。
迷路作成時に呼び出した、hide_boxed_passage()と同じ。
そうそう、小領域をまたぐ場合...つまり、>>200の図でいうと、0から2とか、
0から6へ通路を作成した場合には、その中間の小領域(1 or 3)には、
R_CROSSという部屋扱いになるけど・・・これが何を意味するのか、今はわからない。
もちろん、1と3に部屋があったら、通路は作成されない。
あとは、is_all_connected()とfill_out_level()を読んだらオシマイ。


ナゾというか、勘違いかもしれないけど、隠し扉ってなかったっけ?
あれっていつ作ってるんだろう?

212:ぐぅ@凍結 ◆Mn5mzn8hAQ
04/06/14 23:42 0lapHs9H
R_CROSSは
R_ROOMでもR_MAZEでもR_NOTHINGでもないエリア(というか部屋)
connect_rooms()の最初の条件文ではじかれるエリア、
はやい話、通路を延ばせない場所でいいんでないかと。
十字路ってみかけないものな。

put_door()の最後の方の
if ((cur_level > 2) && rand_percent(HIDE_PERCENT)) {
dungeon[*row][*col] |= HIDDEN;
は隠しドアとは違うの?ちゃんと読んでないからわからんけど。

213:名前は開発中のものです。
04/06/14 23:46 HxZhdP5q
通路を一本作成したら、全ての部屋がつながっているかを調べる。

is_all_connected();
9つの小領域分用意された、部屋訪問フラグをクリアする。同時に、部屋が
あるかどうかを調べて、あれば、その部屋の番号を覚えておく。(starting_room)
その部屋から訪問調査する。

visit_rooms(roomnum);
roomnum部屋の訪問フラグをオンにする。
roomnum部屋にある4つの扉に対して・・・
扉から接続されている別の部屋の扉を調べて、
その部屋に対してvisit_rooms()する。再帰呼び出しですよ。
※先に書き忘れたけど、部屋に扉と通路を作成する時に、どこの部屋の
扉につながっているのかを記録してあるので、それを参照している。
また、一つの部屋には最大で4つの扉が設置される。上下左右の壁に一つずつ。

全部屋訪問フラグがONになっていれば、全部屋が接続されているとみなされる。
なぜか、
if ((rooms[i].is_room & (R_ROOM | R_MAZE)) && (!rooms_visited[i])) {
部屋だけでなく、迷路も部屋と同じ扱いになってる。

214:ぐぅ@氷解 ◆Mn5mzn8hAQ
04/06/14 23:51 0lapHs9H
おおお、謎がほぼすべて解けた
ヽ(`Д´)ノ うぉ~

あれ、部屋が通路になってしまう仕掛けはいったい・・

215:名前は開発中のものです。
04/06/14 23:51 HxZhdP5q
>>212
隠し扉それです、ThanX!

>>209
その1 ... 隠し扉
その2 ... is_all_connected();が真の場合、通路作成のfor()ループをbreakしてます。
つまり、ぐるっとまわって別の部屋へつながっている場合、直通路は作成されないのだと思います。


216:名前は開発中のものです。
04/06/14 23:59 HxZhdP5q
fill_out_level()ながーい!休憩。

217:ぐぅ@氷解 ◆Mn5mzn8hAQ
04/06/15 00:02 f1MiYXar
make_room()内の
if ((rn != r1) && (rn != r2) && (rn != r3) && rand_percent(40)) {
goto END;
}
の処理、必須の3部屋でなければ40%の確率で
通路に変貌すると見た。つぅか既出だったっけかな・・


218:ID変わっちゃった
04/06/15 01:58 aIwm2r1B
fill_out_level()はよくわからない。
部屋に扉がない場合(どこにもつながってない壁がある)、
行き止まりの通路を作成してる?
まぁ、ローグの部屋と通路の作成方法はこれでわかった、ということでいっかな。

このアルゴリズムのキモは“空間を3x3に分割する”ということに尽きますね。
これで部屋の重なりを防げるし、ある程度のばらつきを保証できるわけです。


219:ぐぅ@氷解 ◆Mn5mzn8hAQ
04/06/15 02:25 f1MiYXar
>>218
ウンウン
おれっちも3X3が肝とおもふさ~
あと、再帰して繋がりチェックしるやつ
あれないと全部の部屋がつながってしまうわけだけど
ランダムな部屋から通路つくるから絶妙に無駄な通路ができたりする。
必ずしも最低限の通路ではないちうとこもよくできてる。

まとめでもアップしようと思ったけど(カッタルイからw)やめて
このアルゴリズムの簡易版でも作ってアップしようかな。

ID変わっちゃったさんありがとう
おかげでかなりスムーズに解析できた。
というわけで、とりあえずどもおつかれさました~

220:名前は開発中のものです。
04/06/15 16:40 vSxhBobb
ローグのソース解析お疲れさんです
労をねぎらう意味で、
Delphianで人気の「Delphiゲームプログラミングのエッセンス」
からロジックを転載します。

フロアを3×5のブロックに分ける
1ブロックは、10×10のマス
          部屋番号
 □□□□□ 0~4
 □□■□□ 5~9
 □□□□□ 10~14

部屋の数は、5~10として、最低3個は偶数の部屋番号に配置する
1ブロックには、最大9×9マスの部屋が作られる。
(1マス分は通路に充てる。)
1ブロックには、必ず部屋か通路が存在する。ただし■は何も無し。
2と12(■の上下にあるブロック)はどちらかを必ず両隣とつなぐ。
2と12を隔てて左右のフロアで各6ブロック毎に部屋や通路を作成する。
そのとき通路を繋ぐロジックは、絶対に繋がっていない部屋を作らないこと。

これが基本。
3×3のブロックに分けるロジックよりは、ダンジョンっぽい造りになると思う
後は、部屋を迷路状にしてしまうとか、ブロックをまたいだ中部屋をつくるとか、
隣り合わせのブロックに向かう通路を必ず作るとか(円形のフロアになる)、
適当に部屋や通路を加工していけば面白くなるかもね。

221:ぐぅ@夜更かし ◆Mn5mzn8hAQ
04/06/16 03:10 wguEk+iT
このようなものを生成できるようになりました。
らしくなってるじゃろうか?

URLリンク(namihei.zone.ne.jp)
URLリンク(namihei.zone.ne.jp)



222:名前は開発中のものです。
04/06/16 06:49 4vCvzbx3
>>221
おおっ、トルネコっぽい。グッド。

223:名前は開発中のものです。
04/06/16 17:06 wxXigfIi
>>221
いい感じだね。
しかも、ローグのソースをもとにちょこっと拡張しました?

せっかく結果も出てきたことですし、
ここらで、ダンジョン自動生成のルールを決めたらどうでしょうか?
とりあえず、たたき台
1.「風来のシレン」を習い、1フロアの面積を50x30とする
2.1フロアの情報は、部屋・通路・壁の3種類として、出力を区別する
3.サンプル出力は、画像とし、2パターン以上提出する

意見等あればどうぞ。

224:名前は開発中のものです。
04/06/16 18:17 E0t6wJPT
いや、技術的な話は、もう特にないんだよ。
ここまでくるとあとはゲームバランスになってしまう。
1フロアに部屋をいくつ配置するのかっていうのは、
腹の減り具合とか、敵の強さとかに依存するし。


225:ぐぅ@腹ペコ ◆Mn5mzn8hAQ
04/06/16 18:30 wguEk+iT
>>222
さんくすこ
究極的ダンジョン生成エンジンを開発して
それはもう愉快なローグ系携帯アプリを作るのが夢ですの。
もちろん主人公はカシワモーチですわ。

>>223
現状1フロアは64x48。
4x3のエリアにわけて生成。
部屋を配置して通路でつないでるだけ。

ここまできて気づいたのだが
俺っちには今のところ
「どんなマップを生成したいのか」という具体的なビジョンがない。
究極的てなんやねん、て話。
夕飯買いに逝ってきます。

226:名前は開発中のものです。
04/06/16 19:21 7o6/4sW2
ローグ系アルゴリズムが落ち着いたところでこんなものを放り出してみるテスト
URLリンク(www.aarg.net)

227:ぐぅ@アイスクリーム ◆Mn5mzn8hAQ
04/06/16 19:31 wguEk+iT
>>226
むぅ
それすごいね。
それで生成したマップで内容がシレンだったら面白いのだろうか。

228:名前は開発中のものです。
04/06/16 19:37 7o6/4sW2
もともとD&D用だからシレンよりWizとか3D系の方が相性がいいだろう。
シレンとかはフィールドを巡るって感じだけどWizは部屋を漁るって感じだから。

229:名前は開発中のものです。
04/06/16 19:52 umWV/n6X
うむ、それみると、自動生成でWiz作れそうだね
よさげだ

230:名前は開発中のものです。
04/06/16 20:07 6hhIabkQ
URLリンク(www.vector.co.jp)

231:ぐぅ@満腹 ◆Mn5mzn8hAQ
04/06/16 20:24 wguEk+iT
そうか自動生成でウィザードリ~。
なるほど・・・

232:名前は開発中のものです。
04/06/16 21:20 MyHIRJr2
自動生成でWizといったらヘルドアか
RPGツクールだけど

233:223
04/06/17 09:19 gyW9IQUR
>>225
>現状1フロアは64x48。
だったか、スマソ 適当に書いたのが悪かった

ただ、ここは自動生成スレだし、いろんなロジックを考えるのは無駄じゃないと思うんだが・・・
シレンにしろ、明らかにひとつのロジックで書かれていないでしょ?
まぁ、いいけど( ゚Д゚)y─┛~~

234:ぐぅ@D言語研究中 ◆Mn5mzn8hAQ
04/06/17 14:17 loWtexz3
>>233
なんで謝ってるのかわかんないジョ
俺もいろんなロジックを考えるのは無駄じゃないと思うジョ

235:名前は開発中のものです。
04/06/17 17:10 ItiRVkb7
ローグ系のダンジョン自動生成だったら作ったことがある。実際やるかどうかはともかく考えてみる
ブロック単位で生成させるなら三次元のダンジョンも応用で出来そう
ただ完全にベクターというか、アリの巣のようなダンジョンを作るのはもうどうやったらいいのかわからん

236:223
04/06/17 18:09 gyW9IQUR
>>234
あ、うむ、読み返してみるとなんか変だ。
議論ばっかじゃあれなんで、漏れもなんか造ってみる

237:ぐぅ@裸ネクタイ ◆Mn5mzn8hAQ
04/06/18 18:00 q/zHUwKW
シレンにならって
①通路をなるべくグネグネしない
という方針で
マップ生成アルゴリズムに手を加えてみますた。
意見きかせてくださいまし
Javaアプレットで、クリックするたびに新しいマップを生成しる。
URLリンク(namihei.zone.ne.jp)


238:ぐぅ@裸ネクタイ ◆Mn5mzn8hAQ
04/06/18 18:01 q/zHUwKW
①と書いてあるのに②がないのは気のせい( ´_ゝ`)

239:名前は開発中のものです。
04/06/18 19:26 1IDEdqU+
>>1

それならツクール2003で作れ
ダンジョン自動作成機能あるぞw

240:名前は開発中のものです。
04/06/18 19:56 oZgvjvN9
>>239
物事の仕組みがどうなっているかを知ろうとしない奴にはプログラミングの素質はない。一生ツクールやってろ。

241:名前は開発中のものです。
04/06/18 20:22 A6zOKkuB
>>237
おーすげー。

けど、「ローカを極力直線的にする」という方針のせいで
「同じようなマップばかり」感が出来てしまっている気もしまつ

242:名前は開発中のものです。
04/06/18 22:10 Gazkyfw7
そういやトルネコ3では長方形以外の小部屋も生成されてたな
角が丸くなってるのとか

 □□□□
 □□□□
   □□

243:ぐぅ@裸エプロン ◆Mn5mzn8hAQ
04/06/18 23:35 q/zHUwKW
>>241
>「同じようなマップばかり」感が・・
了解。
それは俺っちも感じてたので現在調整中。

>>242
なるほど部屋自体もバリエーションがあると・・
それはあまり考えてなかったカモ。
あとで考えてみる。

マップ生成のイメージができあがったので
もう一息で完成しる予定。

244:名前は開発中のものです。
04/06/19 01:47 eD4/Os/T
こういう自動生成型のダンジョンは、ローグ系以外にも使っていきたいね
でも具体的な使い方が思いつかない orz

245:ぐぅ@夜這い中 ◆Mn5mzn8hAQ
04/06/19 02:59 YWlxQVDJ
>>244
生成アルゴリズム学習の効能を考えてみた。

●うぃざ~どり~タイプ(>>229-230参照)
●Quakeなどの3Dアクションゲームのステージ
●各種ゲームの一場面にスパイスとして
●パズルゲームとして
●電流イライラ棒のステージとして(゚Д゚)ハァ?
●追いかけっこ、レースゲームなど
ステージを巡回することに意味があるゲームすべて

使えそうな場面てイッパイありそうだね。ららら。

246:名前は開発中のものです。
04/06/19 09:16 VrZX8wM9
ランダムなカルドセプトなんか面白そうだ

247:名前は開発中のものです。
04/06/19 16:54 TP5uiroQ
普通のRPGでやられるとどこ行っても変わり映えしないで飽きるだろう

248:名前は開発中のものです。
04/06/19 20:27 zNSAKAYY
ギリギリのバランスにしないと、単に面倒なだけのダンジョンになるよね。

249:名前は開発中のものです。
04/06/19 21:21 CFVCgowp
237とは違うアルゴリズムで作ってみた。
これだと通路がごちゃごちゃになりやすい罠。

URLリンク(namihei.zone.ne.jp)
窓用バイナリです。マカやウニな方すいません。
Rで再生成。起動時にオプションに"-nowait"付けるとウェイト無しになります。

250:ぐぅ@ディープブルー ◆Mn5mzn8hAQ
04/06/19 22:25 YWlxQVDJ
>>249
生成してる様子が見れて面白いねヽ(´ー`)ノ
んでアルゴリズムを想像してみた。
穴掘り系のアルゴリズムで(見たまんまだがw)
再帰的に通路を延ばして
既存の部屋や通路と重ならないことを条件に
部屋を配置しているとみた。

通路の問題と部屋の数とマップの大きさの
制御ができれば究極かもね~とおもた。


251:名前は開発中のものです。
04/06/20 10:48 IVN9/P8p
GBのドラクエモンスターズシリーズは、RPGで自動生成ダンジョンつかってたな。
ダンジョンに飽きが来る前に、あまりの作業ゲーっぷりに飽きたが。

252:249
04/06/21 19:22 Yt6BBulP
URLリンク(namihei.zone.ne.jp)
バージョンアップしてみたよ。
主な変更点は、
通路を作る時に周囲の壁比率を調べて、壁が多い方に向かって掘り進む様にしてみたぐらい。
起動オプションの内容が変わってるので一応readme読んどいて。

>>250
マップのサイズは一応引数で指定できる様になってまつ。
通路の問題も少しはよくなったはず。かな? 部屋の数はとりあえず放置。
とりあえずマップ生成はこの辺で中断して、
簡単なローグライクな物体を作ってみようかと思ってます。

253:名前は開発中のものです。
04/07/08 00:08 cqJ2IUqs
t

254:名無しさん@そうだ選挙に行こう
04/07/11 14:17 N5viEg7j
うわーん、おとせねー

255:名前は開発中のものです。
04/07/13 02:42 jJo7FGn+
自作ゲーム評価スレ
スレリンク(gamedev板)l50
ここの323が迷路自動生成のRPGつくってるよ

256:名前は開発中のものです。
04/08/01 15:21 usbW8wJj
今作ってるけど以外と難しいなこれ
通路2本がこんがらがったりしてる

257:名前は開発中のものです。
04/08/27 18:39 6G59GEgA
ダンジョン補修

258:名前は開発中のものです。
04/09/01 00:10 lhDgMKCu
220の書いてくれたロジックでとりあえず部屋作るまでは出来た。

URLリンク(gamdev.org)

259:名前は開発中のものです。
04/09/01 00:28 Gy9xIV4C
頑張ってるのは褒められることだが
おまいこんなただの白黒画像をJPGにすんなよ。
GIFのほうがよっぽど容量少ないぞ。


260:名前は開発中のものです。
04/09/01 01:02 lhDgMKCu
>>259
ゲムデヴのトコ、jpgで上げてるヒト多かったんで・・・
以後気を付けます。


261:名前は開発中のものです。
04/09/01 01:34 IwX3QeYN
しかもただの二色なのに、jpgつかうから劣化しちゃっているし。
むしろtxtでも良いくらいだ。

俺も現在作成中。廊下が上手くうごかん。

262:名前は開発中のものです。
04/09/10 15:25:48 BWQ15nVC
誰か面白いダンジョン生成アルゴリズム開発してない?。
このスレで挙げられたようなのとは違うやつ。

263:名前は開発中のものです。
04/09/10 16:20:26 TY6UsWtD
現在出ていた生成されるダンジョンタイプの種類は
1.単純な棒倒し法、穴掘り法等をそのまま利用した迷路のみのダンジョン
2.nethack、rouge等の部屋と通路に分けられるダンジョン

面白いアルゴリズムって言ってもなあ…

264:名前は開発中のものです。
04/09/10 16:54:00 +r9mwvZc
今考えてるのは円形のダンジョン
何重もの円を書いて適当にブッタ切る
そして内側の円から外側の円に向けて通路をわたす

265:名前は開発中のものです。
04/09/10 17:08:05 0YuGbAcl
手作業で作られた既存のダンジョンっぽいのを自動生成で作れるようになるには、
アルゴリズムというよりは様々な細かい要素を組み込むことが必要なのかな

266:名前は開発中のものです。
04/09/10 17:09:05 CkYRmAwD
まずは面白いダンジョンというのを定義したまえ

267:名前は開発中のものです。
04/09/10 19:14:10 FL6ftGDh
半裸の女の子が出てくるダンジョン

268:名前は開発中のものです。
04/09/10 19:27:32 oQTQ81fi
フォントデータを
ダンジョンデータにコンバートする
どの文字かはランダム
プレイヤーは予測しながら進む

269:名前は開発中のものです。
04/09/10 20:07:04 sRVfUITO
>>267
半裸の女の子を生成しないといけないわけか、今までのアルゴリズム
では確かに解決できないな…

期待させてもらいます。

270:名前は開発中のものです。
04/09/10 21:02:44 BWQ15nVC
実際に手作業でダンジョン作ってる人の、
指針というか、作り方がわかれば、自動生成にも応用できそうなんだけどね・・。

271:名前は開発中のものです。
04/09/10 21:05:40 u8u8k9wk
ぬるぽ堂
URLリンク(f25.aaacafe.ne.jp)

272:名前は開発中のものです。
04/09/11 00:07:12 qXK5hJcc
かわいい女の子の白黒ドット絵を
そのままダンジョンにコンバートしたらいい


273:名前は開発中のものです。
04/09/12 00:09:09 csUOVR/a
とりあえずダンジョン全体の構造とギミックは分けて考えようぜ。
このスレで重要なのは構造の方だよな。
例えば1つのフロアでもタクティクスみたいに山あり谷ありにするとか。

274:名前は開発中のものです。
04/09/12 00:14:29 6giDMfAq
構造を再現するためにギミックがあるんだから分けても分けれないと思うんだけどなー。
山アリ谷アリんを作るとしたら・・・
まったいらの床にてきとーに縦軸の起伏の最大値を設定して段々と・・・よくわかんね

275:名前は開発中のものです。
04/09/12 00:51:56 7YwXfMXJ
PSのアザーライフアザードリームスがローグライクで地面にブロック単位で高さがあったよ。
一定以上段差があると通行できない。

276:名前は開発中のものです。
04/09/12 04:11:27 5jJEqSKa
タクティクスオウガやFFTAのはごくわずかなパラメータからなかば自動生成のように山あり谷あり作れるシステムだと
どこかで見たおぼえがある

277:名前は開発中のものです。
04/09/12 16:27:13 DirlIiFv
今なにげにGems見てたが、ダンジョン自動生成載ってるな。
3ページくらいだけど・・・。

278:名前は開発中のものです。
04/09/13 01:02:22 /TWcsktV
オートメーション化によって生成されたダンジョンよりも、
職人デザイナが丁寧に作り上げたダンジョンの方がいいよ。

プログラマにできることは前者なんだけどさ。

279:名前は開発中のものです。
04/09/13 01:12:33 4vmv6GkS
職人デザイナががんがろうと思えるようなエディタを作ることもできる



・・・あれ?

280:名前は開発中のものです。
04/09/18 13:11:14 kb7Apco/
巧みなジャンジョンマップのサンプルを多数拾ってきて
そこから共通点を見つけ出し、アルゴリズム化…
うん、俺はやらない

281:名前は開発中のものです。
04/09/18 13:37:59 xT0CmM48
おまえにはムリだよ( ´_ゝ`) プッ

282:名前は開発中のものです。
04/09/27 18:01:27 4SFuLUec
ここの住人にできる人はいないらしい

283:名前は開発中のものです。
04/09/27 18:12:21 mSnDxcyL
そんなことはないぞー!!





・・・。

284:名前は開発中のものです。
04/09/28 00:22:03 GU2B02zv
人間の行動心理学を利用してワナにはめるダンジョンを作ってみたい
いや、そういうダンジョンを作って遊びあうのも面白そうだ。

・・・しまった、確か前にナムコが似たようなの出してた。

285:名前は開発中のものです。
04/09/28 04:45:49 Sc/T2jjq
右回りに出口を配置するとか?

286:名前は開発中のものです。
04/09/28 18:00:05 ofbRvjxB
出入り口の1歩先とか、2つの出入り口の最短ルート上とか、宝箱や階段の周囲なんか。
でもそういうところに罠が多いと覚えられたら逆に攻略が簡単になる罠。

287:名前は開発中のものです。
04/09/28 22:33:54 UcoBfAAY
プレイヤーの行動パターンを学習して一番効果的なポイントを割り出すとか

288:名前は開発中のものです。
04/09/29 19:45:00 376p4p/M
入口から必ず一歩踏み出すのを学習して罠配置

289:名前は開発中のものです。
04/09/29 21:02:10 gBf9GxrK
はじめっからイカサマで 一歩一歩調べてる時は出現させず 走り出した足元に罠生成

290:名前は開発中のものです。
04/09/30 14:32:14 0ISGzMLp
ダンジョンコンセプト設定
想定襲撃者設定
予想攻略順路設定
クライマックスシーン設定
くらいは内部で考えてほしいやん

291:名前は開発中のものです。
04/09/30 20:01:00 OuTCYL2U
スレを一通り読んだ。>>172からのRogue Clone IIの解析が熱いね。
この解説があれば簡易roguelikeを作って遊べるかな?
>>226のWiz風小部屋cgiもすごそう。

292:名前は開発中のものです。
04/10/03 23:00:30 QZ2qsdxk
現実世界見ても、ダンジョン(地下牢じゃなく)ってそんなに実在するわけじゃないからなあ。
遺跡に面倒な迷路作ったりしねーし、洞窟だってRPGに出てくるようなのとは全然違うし。

探鉱なんかは割とそっくしっぽいかな。

293:名前は開発中のものです。
04/10/03 23:15:43 8EPrF2Db
本物の鍾乳洞なんて、そこらのラストダンジョンよりも1億倍むずかしいつくりしてるからなぁ

294:名前は開発中のものです。
04/10/04 05:47:00 0YxQ3kRH
まず最初に、三次元だしな。右手法とか、すでに無力。

無計画に建て増しを重ねた家とか、ダンジョンっぽいけどね。
うちの大学の法経本館って建物が、まさしくそんな感じだった。

295:名前は開発中のものです。
04/10/04 08:08:55 KgUV+MGE
やったことある人間なら分かるが
三次元迷路の難しさ(作る方じゃなくて解く方)は並大抵じゃない
無重力だったら更に難易度アップ

296:名前は開発中のものです。
04/10/04 09:19:42 uBXpC+20
TV局もお客さんが迷うように出来てるよな

297:名前は開発中のものです。
04/10/04 09:44:56 tjHvNagT
視聴者が殴りこんできたときに目的地にたどりつけないようにするためという噂もあるが。

298:名前は開発中のものです。
04/10/05 00:05:27 yY4LedyX
>>295
昔、無重力三次元の迷路にハマってたことがある。解く方ね。

マス目状でできている限りは、三次元右手法というのを使えば
一応解けるか、または出発点に帰って来れるのだけど…。

299:名前は開発中のものです。
04/10/05 23:11:17 HWPrXU8U
ケイブダイバー万歳

300:名前は開発中のものです。
04/10/10 18:52:00 ztmRv9+O
>>298
詳細キボンヌ

三次元右手法でぐぐったらこのスレが一番上だった。

301:名前は開発中のものです。
04/10/10 21:51:28 hLLwP255
>>300
googleの検索ロボットって優秀だよなw

302:名前は開発中のものです。
04/10/11 00:16:28 yRIcbrcS
>>300
そういうときって、かなり鬱になるよな。
さらに 先が真っ暗にw

303:名前は開発中のものです。
04/10/11 14:19:33 JIBMCEks
ワロタ

304:名前は開発中のものです。
04/10/12 01:50:59 INg1LVSW
三次元右手法の解説まだ~? チンチン

305:名前は開発中のものです。
04/10/12 02:35:23 sUyOixh1
つーかなんなんだ、そのエロそうな方法は。

306:298
04/10/12 15:39:49 qEbFSq6q
えー、三次元右手法とか、リア工のときの漏れが勝手につけた名前だからなあ。

じゃあ長文になるけど書くよ。


そもそも右手法って何のためのものかって言えば、交差点でどっちへ進むかを
指し示すものなんだよね。で、この時肝心なのは、「今は北に向いてるから…」とか
考えなくても、目の前の情報だけから判断して行く方向を決めれるということ。

通常の右手法では、現在の進行方向と、伸ばしている手とに従って、交差点では
「手の側」「直進」「手の反対側」「戻る」というこの4方向を、この順に優先して選ぶ。

手の側が空いていればそっちへ、だめなら直進、それもだめなら手の反対側へ、
それもだめなら戻るという具合で。


ところで、三次元の迷路では、体の向きというのは「進行方向」だけでは決まらない。
たとえば同じ「北行き」でも、足元が地面方向のこともあれば、足元が東とか、西とか
天の方向になっていることがあるから。

307:名前は開発中のものです。
04/10/12 15:40:13 qEbFSq6q
で、それをふまえて結論だけど。
まず、常に一方の壁面に足をつけて歩くのと、片手を上げて歩いてることが前提で。

交差点で進行方向を選ぶときの優先順位は次のとおり。
「足元」「手の側」「直進」「頭上」「手の反対側」「戻る」

たとえば、右手を上げながら歩いている人は、まず足元が空いていれば必ず足元へ、
もし右側が空いていればそっちへ、それもだめなら直進、それもだめなら頭上へ、
それもだめなら左側へ、それもだめなら戻る、という具合になります。

それで、足元へ入るとか右へ曲がるとか言っても、曲がった後足元をどっちにするかが
問題になるわけですが、それはこうです。
「優先順位が一つ低かった進行方向が、頭上になるように」。
たとえば、手の側へ曲がるときは、直進方向が頭上になるようにしますから、つまり
今来た方向が足元になることになります。

それから、「手の側」「頭上」「戻る」を使ったときは、上げる手の左右を変えます。

このようにして歩けば、通常の右手法と同様に、ループのない迷路では必ず出口に
行けるし、ループのある迷路でも、最低でも入口に帰ってくることができます。

308:名前は開発中のものです。
04/10/12 23:41:46 anbCpzYg
>>306-307
解説どうも。進む方向をあらかじめ一定順序に決めておくのね。
しかし3Dだとややこしいな。

309:名前は開発中のものです。
04/10/20 15:45:07 OESpaijF
サンプル作ったけど、このスレ生きてるんかしれ・・

310:名前は開発中のものです。
04/10/20 16:09:17 EZg4Amvo
>>309
書き込まないだけでチェックはしてるぞ。

311:名前は開発中のものです。
04/10/20 19:52:07 DmOOtTYD
同じく

312:名前は開発中のものです。
04/10/21 07:49:28 7EH9XTP2
漏れも

313:309
04/10/21 13:57:49 W++eIQEI
俺が作ったのは一見トルネコ式にみえて全然別なやり方で
作ったサンプルなんだけど評価してくれるかい?
こんなもんでゲームに使えるかどーか。

314:名前は開発中のものです。
04/10/21 18:36:05 O9PQK3Ve
>>313
まずはうpよろ

315:309
04/10/21 19:47:21 LRTkBKUo
ここに仮設置済
テキトーにダウンして感想よろん
URLリンク(nanca.hp.infoseek.co.jp)

316:名前は開発中のものです。
04/10/21 20:02:15 O9PQK3Ve
>>315
内部エラーが発生しますた(13)

ヽ|・∀・|ノシ

317:名前は開発中のものです。
04/10/21 20:22:55 aFfvccIw
>>315
同じく内部エラー

318:309
04/10/21 21:27:11 LRTkBKUo
げふんw

319:309
04/10/21 21:38:38 LRTkBKUo
修正版再うp

URLリンク(nanca.hp.infoseek.co.jp)

320:名前は開発中のものです。
04/10/21 22:06:44 aFfvccIw
>>319
黒い三角と白い三角なに?

321:309
04/10/21 22:46:39 LRTkBKUo
上の階からの階段と下への階段です~
形だけできてもゴールできないと意味ないんで~


322:名前は開発中のものです。
04/10/21 23:17:15 YbvLPdmt
>>319
ス(゚д゚)ゲー

長方形じゃなくて角が凹んでたりしてるのがおもしろいかも。
太い通路とか2本通路があったりしてトルネコ3っぽい

できれば簡単な手順を…

323:名前は開発中のものです。
04/10/22 00:00:36 rykU18/g
かなり実用に近いと思った。
・複数の部屋の重なり :0~たくさん
・行き止まりの数 :0~たくさん
などを制御できてもいいかも。
あと、乱数の種を一つ指定して毎回同じ迷路を生成できるようにすれば、シレンシリーズの救助のようなことも。

324:名前は開発中のものです。
04/10/22 07:52:24 mUi+pZkQ
>>319
おー。すごいなコレ。アルゴリズム教えれ

325:名前は開発中のものです。
04/10/22 14:36:32 mA1KySzl
良い感じだな。あとはもうちょっと通路にクネクネ感が欲しいトコ。

326:名前は開発中のものです。
04/10/22 22:44:13 VMSWGRgR
確かにすごいけど一本道が多いような気がする

327:309
04/10/22 22:50:19 CFKkD0NF
>シレンシリーズの救助のようなことも。
スマン、シレンはやったことないから救助の意味がわからん・・・

クネクネと一本道回避かぁ。
修行してきまふ

328:名前は開発中のものです。
04/10/23 00:03:43 L29asmXm
救助は自分が死んだダンジョンとまったく同じダンジョンを他のプレイヤーに遊んでもらう機能
「シレン 救助」でぐぐるといろいろ出てくる
このスレの場合はそれだけでなく
 A いいダンジョンできたよー
 B 俺もそのダンジョン見たい
 A ほれ乱数種
 B 見られたーありがとー
というような用途から有効

329:309
04/10/23 22:33:14 PdomheLF
どうも串死んだみたいなんでラストカキコ
シレンの救助の件、サンクス
今後の開発に活かしますね
以後、自ページに潜伏します。みなさんありがとん!

330:名前は開発中のものです。
04/10/24 14:27:49 BuMdqiGY
>>329
【開発】ヾ(゚∀゚ )ノ=3    ヽ(´Д`;)ノ~マッテー、仕組みオシエテー

331:名前は開発中のものです。
04/11/03 22:28:15 95Rp/siN
トルネコとかシレン系の自動生成のソースってないですかね?

332:名前は開発中のものです。
04/11/03 23:21:17 HyRaP3me
あったら見てみたいな
それまではこのスレのを全部試して
トルネコやシレンに似てない点の報告と
どうやれば似るかの案を出してみたりするとよいか

333:名前は開発中のものです。
04/11/04 22:24:51 wvxk1hpD
>>332
自動的に似てる似てないを判断して係数を調整して
見本(シレンとかトルネコ?)に似たダンジョンが作れるようにするとか…。
まあ、そもそもアルゴリズム的に対応できなかったら、意味ないけど。

334:名前は開発中のものです。
04/11/14 12:06:02 zwJU6Kfx
ダンジョンの自動生成ってなかなか難しいですね。
部屋の配置まではすんなりできたけど、
部屋同士をどうやってうまいこと繋げようかと。
とても悩ましい秋です。

335:名前は開発中のものです。
04/11/14 16:40:15 kcTR4H2p
そうしてもう冬がやってきました
  ○y一~~
 (|,へ
  」 ○| ̄|_

336:名前は開発中のものです。
04/11/14 17:03:35 zwJU6Kfx
うそーん(p_q)
では春までにいっちょまえなダンジョンを目指します。

337:名前は開発中のものです。
04/11/14 22:46:02 kcTR4H2p
いや、むしろ俺も出来てないのよw
最初はドルアーガみたいな棒倒し系にしようかとも思ったけど
面白みに欠けるのでローグライク(シレン系?)っぽい感じに決定。
試行錯誤するがうまく行かないうちに、そろそろ中華マンが恋しい季節になりましたOTL

338:名前は開発中のものです。
04/11/14 22:51:00 kcTR4H2p
レスした瞬間にふと思ったんだけど…
ダンジョンが成長するってのはどうだろう?最初は単純で部屋数も少ないが
クリアされるごとにより広大になったりトラップが増加したり
モンスターの強さがクリア回数によって変わっていったり…


最終的に面倒なだけのダンジョンになりそうな悪寒…○| ̄|_
もしかしてこういう系のゲームって既出かな?

339:名前は開発中のものです。
04/11/15 00:02:32 NDaBfp6i
ファミマのトンポーローマンなんてどうでしょう。

こちらもローグライク系で頑張ってるのですが、
なにせシレンすらしたことがないもんで。うふ。
EZアプリでシレンありましたっけ?

最初のうちは簡単なダンジョンで
徐々に複雑になっていくってのはいいですね。
1ブロックを16x16でdefineして、自動生成関数の引き数に
縦横のブロック数と配置する部屋の数を渡すようにしているんですが、
あまり広くしすぎるとほんのりバランスが悪くなりそうな予感です。

まーお互いちまちま頑張りましょう。

340:名前は開発中のものです。
04/11/15 00:17:07 ZN/ZipLx
>>338
ダンジョン育成ゲームか。
・厳しく進化するタイプ
 足踏みで体力回復してる時間が長いと、次のフロアでは足踏みが不利になるように進化。
 それでも頑張って足踏みするとさらに進化。カモった敵は次のフロアでは減ってたりレベルupしてたり。
・無関係に進化するタイプ
 ランダムその他で
・甘く進化するタイプ
 次のフロアで食料や強い武器が出るような行動がある
どれがいいのかな。というよりバランス良く混ぜるのがいいのか。

341:名前は開発中のものです。
04/11/15 00:29:19 rJ8prcLE
>>340
>足踏みで体力回復してる時間が長いと、次のフロアでは足踏みが不利になるように進化。
>それでも頑張って足踏みするとさらに進化。カモった敵は次のフロアでは減ってたりレベルupしてたり。

これ面白いですね。構造以外にも環境に変化をつけるわけですね。
シレンで例えるならば風の吹くまでのターン数が減少してみたり
敵の初期配置数や出現するまでのターンが変化したり…

ダンジョンの進化の仕方によってはバランスの調整が難しいですね…
あんまり緩い進化だと長く単調になるし、急激すぎると詰まる可能性もあるし


342:名前は開発中のものです。
04/11/15 00:37:38 cKIxt0Ru
わざと空腹にして出る食料を増やす奴が出てくるな。
でも空腹時の食料放出をしないと初心者が苦しいし。難しいところだ。

343:名前は開発中のものです。
04/11/15 13:38:14 o1Vlbcad
理想論を言ってもむなしくなるだけだし、
段階的学習みたいに一番小さいものから順に発展させていくか?

344:名前は開発中のものです。
04/11/16 01:34:57 ipRZtLX5
EZアプリかどうかは忘れたがmobile rogue likeとかいうのが
あったはずだ

345:名前は開発中のものです。
04/11/16 19:54:46 CI9NO0tG
>>344
親切にありがとう。ゲットしましたー。

が、近々BREW端末に機種変する予定なのです(p_q)
auがJAVA ON BREW機を出してくれることを祈りつつ、
ダンジョン自動生成の実現に精進しまっす。

346:名前は開発中のものです。
04/11/16 21:57:42 P9enDA5f
>>343
みんなで作るつもりなのか?ただ、順序を示すだけ?

347:名前は開発中のものです。
04/11/17 14:34:04 IMseoB+W
>>345
BREWで開発しちゃったら勝手アプリは作れないんでないの?
Java on brewなんてもし開発されても配布元がKDDIのCPじゃないとアカンし
開発予定にもあがってないモン期待するんか?
作っても配布出来ないモン作ってどーするねん?あぁ売るのかw

348:名前は開発中のものです。
04/11/17 18:40:58 rA9IV7Dv
>>347
言葉足らずでした。

Java on BREWを望んだのは、
アプリを作ったり売ったりの話ではなく、
Javaアプリで遊びたいってことです。
mobile rogue likeをゲットしたのも束の間、
BREW機に機種変してしまうんで。
あくまで淡い希望です。
最後の1行を前の文とくっつけたんでややこしかったですね。
誤解招いてごめんなさいです。

349:347
04/11/17 23:37:37 UoSgUdN/
あぁ、なるほどね。こちこそ早とちりスマソ。
しかし、互換性がまるで無いっつーのもアレだよな。
お詫びにネタ投下。
URLリンク(www.doblog.com)

350:343
04/11/18 00:08:49 MJQO2PT5
>>346
手順を示すだけです。まぁいいや。なんか適当に作ってみます。

351:名前は開発中のものです。
04/11/20 19:25:46 qm4OblSH
つーわけでBREW端末に機種変してきました。
旧端末も手元に残ったんで一応mobile rogue likeできるっちゃできます。

352:名前は開発中のものです。
04/11/22 15:24:30 YKE/U/zA
機種変ご苦労!
というわけでBREW版トル●コ担当よろりん。


353:名前は開発中のものです。
04/11/22 19:28:33 ZU3vvTqD
えーっマジっすか!?Σ(゜□゜;)!!

BREWどころか、まだアルゴリズムの模索中なんで、
ゲームの体裁すら取ってないっす。
アルゴリズム完成したらEZアプリ(JAVA)でゲームにしよーかなーと。

できるのかな…

354:名前は開発中のものです。
04/11/22 20:11:16 bYbj4rLe
先生!ダンジョン自動生成どころかhello worldしかできません!

355:名前は開発中のものです。
04/11/22 20:35:27 IGs/J4HR
Hello World っていうダンジョンを作成しる

356:名前は開発中のものです。
04/11/22 21:30:17 Q0i9cxFu
トロルさまよう目レプラコーンレプラコーンオーク レイスオークジャイアントラットレプラコーン仔犬

357:名前は開発中のものです。
04/11/23 01:10:55 uQgOaJX3
353
そうやって人間育っていくのですよw

358:名前は開発中のものです。
04/11/23 18:21:14 r5d0JSDL
>356
おしいな。
最初はトロルじゃなくて巨人、そしてオークとレイスの間に幽霊が居る。

359:名前は開発中のものです。
04/11/25 16:53:11 eemIdysM
いまさらながら思うですが自動育成ダンジョン=シレンタイプみたいな
風潮があるような気がしますがそれが一番望まれてるって事なんでしょうか?
それとも難しいからでしょうか?

360:名前は開発中のものです。
04/11/25 19:04:45 bNN/YI6j
ほかにもいろいろ自動生成ものは発売されてるよね。
roguelikeをここまで遊びやすく換骨奪胎したかー、とシレンに衝撃を受けた俺の場合
シレン以外はあまり記憶にないけど。

361:名前は開発中のものです。
04/12/03 14:21:55 Qyr4NTOJ
そして今年も終わっていく…

362:名前は開発中のものです。
04/12/05 00:24:43 zmFRbU8M
343は作ってるんだろうか…密かに期待

363:名前は開発中のものです。
04/12/06 12:45:09 XGqr52Q8
>1
ダンジョン自動生成のところのコーディングを終えたところ。
こんな感じ。

URLリンク(www.geocities.jp)

開発報告スレに載せましたが、こっちのスレの方があってるかなと思って...。

このゲームで使ってるダンジョン生成のアルゴリズムは簡単に説明すると
下記の通り。

1) 2次元配列に適当に部屋を作る
2) 部屋を通路(Path)でつなげる
3) 通路が変になってないかを確認。変なところがあれば直す(例えば通路が
太くなって部屋くらいの大きさになったりしてるところ)
4) つながってない部屋がないかを、Recursive で確認。もしあれば最初から
作り直す

動作確認をしたブラウザは Winows XP の IE のみ。
JVMのバージョンは 1.4.2-b28。

テンキーで移動。斜め移動も可能。デバッグの情報が表示されてるけど
無視しちゃってください。絵は描けないんで、ネットで拾ったやつを使って
ます。

行き止まりの通路は作ってません。リリース版には入れるかも。リリース
予定は早くて2006年の年末くらい。

364:363
04/12/06 13:00:13 XGqr52Q8
訂正:
2006年の年末 -> 2005年の年末

365:名前は開発中のものです。
04/12/06 14:18:10 /tS/nbd7
>>363
Opera 7.5 + Sun Java Runtime Environment version 1.4 では
「Invalid Bytecode」のエラーになりますね。



366:363
04/12/07 11:56:57 NaF5wHrT
最新版の JRE でないと起動できないというバグがありました。
訂正版を今アップしました。Opera 7.5 の環境は持ってない
ので確認はできませんでしたが。

367:名前は開発中のものです。
04/12/07 12:21:39 pHcKCsp7
棒倒し式迷宮自動生成プログラム(Ver0.02)
URLリンク(www.geocities.co.jp)

368:名前は開発中のものです。
04/12/07 13:50:54 TS7A5yv3
>>366
Opera 7.5 で見ました。ちゃんと動いてる様子。

369:名前は開発中のものです。
04/12/07 22:06:04 RerrmthA
スクリーンセーバーにならんかなぁ…

370:名前は開発中のものです。
04/12/10 08:53:30 9nn+RPio
>>367
斬新な生成法ならともかく、棒倒し法なんて迷路生成アルゴリズムの中でも
広く認知されてる方だし、再帰処理無しで実現できるし、ガイシュツだし、
このスレで求められてるのは不思議なダンジョン系の
生成アルゴリズムだし今更ここにそれを貼る意図が判らん。

371:名前は開発中のものです。
04/12/10 08:55:39 oAhBbrDg
>このスレで求められてるのは不思議なダンジョン系の生成アルゴリズムだし
ここ以外は同意

372:名前は開発中のものです。
04/12/10 10:34:07 xXQCTLgm
つまり何をどうしろと?
なんなら俺がローグ系のアルゴリズムを説明しようか?


373:名前は開発中のものです。
04/12/10 10:39:09 YvKdmYqn
1から読め。

374:名前は開発中のものです。
04/12/12 15:35:10 wBr93c4E
>>372
この際ぜひ熱く語ってください

375:名前は開発中のものです。
04/12/12 16:07:27 AcpQbbvN
>>372
頼む

376:372
04/12/13 22:09:33 Rb5wRHew
373にムッと来て解説せんとこおもたけど、
このままじゃ年越せない香具師の為に希望者10人集まったらやったるよ。
あと8人な。
その前に何がわからんのか、解りやすく述べるよーに。
そこ詳しく解説したる。

377:名前は開発中のものです。
04/12/13 23:11:20 ZvpPKfOH
rogueのhack自体はスレの途中で行われているからrogueを作りたい人はそれを読めばよいとして。
トルネコやシレンにみられる、「rogueアルゴリズムだけでは作れないようなダンジョン」
の具体的な内容と、その作成方法、あたりが求められてた時期があったような。

でもrogueダンジョンをちゃんと作るのでもけっこう骨だし、作る途中で壁にぶつかった人のための
rogue解説が非常に有難いのはいうまでもない。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch