スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ローグライクゲームを作ってみよう!  その3 ~ランダムダンジョン生成~

遅くなりました。
ローグライクゲームを作ってみよう!のコーナーです。
-------------------------------------------------------------
※更新が遅い場合はバグが発生して苦戦していると思ってください。
 (記事の貯め置きなどは存在しない!(`・ω・´)クワッ)

 だいたい 週1ペースの更新になりそうである。
 途中で飽きて放り投げることは無いので、そこはどうか更新をお待ちください。(_ _;)
-------------------------------------------------------------


今回は4つ紹介すると言っていた、
ランダムダンジョン生成アルゴリズムの3つ目です。

4つ目は、以前公開した 空間分割 部屋生成法(勝手に命名)なので、
これが実質 最後のアルゴリズムですね。

今回紹介するのは
立体的なランダムダンジョン生成です。
※3D、および3次元配列ではない。


既にあるのかもしれませんが、
以前より、立体的なランダムダンジョン(ローグライクゲーム)って無くね?と思ってたので、
今回 作ってみました。

実行結果画面がこれ↓

【参考画像】
random3.jpg


「■」がプレイヤー、
「H」が階段、
「┣━━━┫」が、つり橋とかロープだと思ってください。

※上記画像では、プレイヤーは1階にいるので、
ロープよりも背面に描画されている
のが分かりますね。


~やり方~
【1】最小固定幅を決める。
【2】(最小固定幅 - 1)×n + 1の長さのマップ作成
【3】最小固定幅2×2ごとに分割、その中で丘を作る
【4】近隣の丘同士を連結
【5】丘の4隅を適切なマップチップに訂正
【6】階段(はしご)を作る
【7】橋(ロープ)を作る


やり方は上記です。
今回のアルゴリズムは、以前紹介したアルゴリズムその2よりも、
綺麗でかつ、ランダム性のあるマップになっている
と思います。

この、ある程度綺麗な区画のマップを作るために
重要なのが【3】です。

とりあえず、順に解説してい行ってみましょう!


~解説~




先にソースコード。
RandomMap3.txt

※今回は主人公を矢印キーで動かせます
 また、Zキーでランダムマップを生成しなおします。



<追記予定!>
スポンサーサイト

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

コメント
コメントの投稿
管理者にだけ表示を許可する



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。