総合発表&雑談スレッド

このエントリーをはてなブックマークに追加
415名前は開発中のものです。
http://www.smozzie.com/fracas.html
のようなマップを自動で生成するゲームを作ろうと思っています。
↓画面イメージ
http://doodle.at.infoseek.co.jp/gfx/040120_03.png
土地生成のアルゴリズムを探しているのですが、ローグ系の閉鎖型やランダムな地形属性の生成ぐらいしか見つかりませんでした。
何か有名なアルゴリズム、有効なアルゴリズムがありましたら教えてください。
416大サービス:04/02/23 11:24 ID:x+380LDA
ほい。3Dが主だけど、ある閾値で陸と海に2値化すれば、お望みのものが得られるでしょう。
http://www.google.com/search?num=50&hl=ja&ie=Shift_JIS&q=Fractal+Landscape+Generation
417415:04/02/23 23:33 ID:A+96gJfW
>>416
大サービスありがとうございます。
大陸生成に使えますね>LandScape

あと、領土分割のよいロジックはないでしょうか?
教えて房で申し訳ないですが。
418名前は開発中のものです。:04/02/24 00:31 ID:TZgBH8vF
ああいう分割のアルゴリズムって有名なのあるのかな?聞いたことないや。

以下適当に考えるたアルゴリズム
(1)領土の種をランダムに陸地上に配置
(2)種(から伸びた領土)に隣接した土地をランダムにひとつ選んで領土を広げる
(3)すべての種に対して(2)を1回ずつ行う
(4)すべての領域が埋まるまで(2)〜(3)を繰り返す

試してないからうまくいくかどうかは和歌らん。
419415:04/02/26 02:18 ID:Z8UiQ2Vz
>>418
塗りつぶしみたいな感じでしょうか?
調べて見ましたが、壁にぶつかるまで横に走査し続けると
いうタイプのものが多く見つかりました。

過去にメガデモで、紙が焦げ拡がって行くエフェクトで
フェードアウトしていく、というエフェクトを見たことが
あります。
焦げ拡がりを外の領土にぶつかるまで続けていけばそれらしい
形になりそうですが...検索語を思いつきません。
なんかいい検索語はないでしょうか?
# ここ見ろ、ってページがあれば一番なんですが
420名前は開発中のものです。:04/02/26 03:58 ID:ndX7y4rW
市町村合併でいいんでない?
最初は全部1かける1の1ブロックで、ランダムに選んだ隣のマス目と合体を繰り返すのは?
でかすぎるのができないように、ある程度大きくなったら自分から合体しないようにとかすれば
大きさもだいたい同じぐらいになると思うし。
421418:04/02/26 12:20 ID:JzMbijQ8
>>419
>>418で言わんとしていることは>>420と同じことだよ。
適当に考えたやつなんで、検索語とかいわれても困りますな。
というか、アルゴリズムを書いたんだからそのまま実装してくれればいいと思うんだが…

…ということで、興味もあったので自分で作って試してみたよ。
こんな感じに分割された。
http://gamdev.org/up/img/260.png
ソース
http://gamdev.org/up/img/259.zip
422415:04/02/27 01:53 ID:MLEgfZ41
>>421
雇われの身なのでまとまった時間が取れるまで悶々と考えるタイプなのです。
助言即実行に移せなくて申し訳ない。
んで、がんばって実装してみました。
http://gamdev.org/up/img/261.png
土地の広げ方が悪いのかバラツキがありますね。
# 海もあるし
423名前は開発中のものです。:04/02/27 07:02 ID:BVUF43EH
最大土地数とか細長く土地を伸ばさないとか、調整が必要そうだね。

それと、まず海なしで分割して、海と重ねるのが良いんじゃないかとか
思ったんだけどどうだろう?(土地が全部海の国は消滅)
424名前は開発中のものです。:04/02/27 20:46 ID:8MIJ2gnR
>細長く土地を伸ばさないとか

三方向が別の土地ならランダムで隣にあけ渡すとか?
425名前は開発中のものです。:04/02/27 23:00 ID:7D/ASzYF
海と陸を >416 の方法で作ってから
普通に四角くマス目分けして、境界線を
フラクタルでクネクネさせるとかは、どう?
426415:04/02/28 05:02 ID:x4qq5Ekl
今日の成果
http://gamdev.org/up/img/265.png

>>423
土地の広がり方を均等になるように調整しました。
順番に1,2,,,,nマスずつ確保を試みるようにしました。
海と重ねる方法は離島が増えるので有効ではありませんでした。
領土をタップするのである程度の広さが確保できないと困るのです。
距離制限は、実装難しそうですね(感覚で書いてます)。

>>424
それっぽいことをして見ましたが、領土のど真ん中をえぐられてしまう
ケースがありました。
あまり効果的ではないです。

>>425
時間が足らず、試してません・・・。