(カジノ)ブラックジャック
ランダムマップ的ななにか
RPG制作だといまいちネタが…。
さておき本日の一枚。

フィールドにランダム配置されるマップのひとつ。まぁ休憩所みたいなもの。冒険者と商人がいて、回復したりお買いものしたりできる。なお陳列される商品はランダム生成。
本当はこの拠点マップみたいなのも全部自動生成できるといいんだけど、妥協してマップ自体は事前に作っておいたものからランダムに表示してます。シレンのシャッフルダンジョンみたいなもの。
とはいえマップファイルをいくつも作っているわけではなくて、マップに入ったときにマップチップ&イベントを総書き換えしています。
マップデータをCSVに保存・読込するコモンイベントを作ったので、それを利用。1マスごとにレイヤー1~3のチップ番号とイベントIDを、片っ端からデータベースに登録するだけ。読み込む際はデータベースに戻してから、片っ端から書き換え。
処理に若干時間はかかるけど、マップファイルをいくつも作るよりは衛生的なんではないかと思います。
参考までに。はい。
余談:そういえば素材のメドが立ったので、解像度を640×480に変更しました。きれいさが段違いですね。
さておき本日の一枚。

フィールドにランダム配置されるマップのひとつ。まぁ休憩所みたいなもの。冒険者と商人がいて、回復したりお買いものしたりできる。なお陳列される商品はランダム生成。
本当はこの拠点マップみたいなのも全部自動生成できるといいんだけど、妥協してマップ自体は事前に作っておいたものからランダムに表示してます。シレンのシャッフルダンジョンみたいなもの。
とはいえマップファイルをいくつも作っているわけではなくて、マップに入ったときにマップチップ&イベントを総書き換えしています。
マップデータをCSVに保存・読込するコモンイベントを作ったので、それを利用。1マスごとにレイヤー1~3のチップ番号とイベントIDを、片っ端からデータベースに登録するだけ。読み込む際はデータベースに戻してから、片っ端から書き換え。
処理に若干時間はかかるけど、マップファイルをいくつも作るよりは衛生的なんではないかと思います。
参考までに。はい。
余談:そういえば素材のメドが立ったので、解像度を640×480に変更しました。きれいさが段違いですね。
セルオートマトンの可能性!
久しぶりに記事書いた気がします…。
崖のデバッグ作業もまだ残ってるんですが、それだけだと心がすさむので片手間に新しいことを始めたりしてます。
以前どっかの記事で呟いたとおり自動生成でダンジョンやらフィールドやら作ってみたいと思っていて、その熱が冷めないうちに適当にぽちぽち作ってみました。

そのいち。フィールドマップ風。初期状態なので主人公代理はウルファール氏に一任。

そのに。砂漠みたいな感じ。

そのさん。鬱蒼とした森。

そのよん。妖精の森的ななにか。
全部、自動生成です。
自動生成コモンをつくるにあたって、実際に自動生成でフィールドをつくってるゲームを思い浮かべてみた。
代表的なところだとシレン、なにげにすごいと思うのはDQM2イルルカの異世界。PS以降ならまだしも、ゲームボーイ版でよくあんなことができたなぁと思う。どんなアルゴリズムなのか興味があって調べたけど、見つかりませんでした…。
さておき、フリーゲームなら悠遠物語がけっこうハイクオリティなフィールドを自動生成してた気がする。参考にと思ってやってみたところ、フィールド生成中のロード画面には「ヘジェ曲線」やら「ラプラシアンフィルタ」やら謎の言語が登場しすぎて\(^o^)/って感じでした。
結局自分でいちからアルゴリズムを考える羽目に。
いろいろ考えた結果、崖のダンジョン生成アルゴリズムに柔軟性をもたせた感じで「空間分割+セルオートマトン」のアルゴリズムなるものを思いつきました。
手順は実に簡単。
・適当な大きさに空間をいくつかに分割。
↓
・分割した空間のそれぞれに特定の点を決め、隣り合った空間同士の点と点を結ぶ。ここまでで、ぐるっと一周できる一本道の通路ができあがっているはず。
↓
・できあがった通路をセルオートマトンを使って拡張。とりあえず壁+天井部とフィールド部の二元配置にする。
↓
・適当に整地して、壁+天井部に壁と天井をつくる。
↓
・適当にオプションを配置。
正直こんなのでうまくいくとは思ってなかったんだけど、想像以上に自然っぽい地形が出来上がりました。セルオートマトンの可能性は計り知れない。ちなみに、上の画像では一枚目の土の部分とか各画像の水路の部分とかもすべてセルオートマトンで作った地形です。遺伝的アルゴリズムとかセルオートマトンとか、この手のアルゴリズムをPCに使わせると可能性が無限大ですね。
…なんかこれだけで満足しちゃった感が出てるけど、一応ゲーム作り中です。
ウディタの仕様(ゲーム中に新しいマップを作れない、上書きチップはマップ移動すると消える)上、全自動生成みたいなのは絶対無理だしバランスも悪くなるので、まぁせいぜいダンジョン部をこのアルゴリズムに一任するくらいかな~。
追記:マップチップの素材はねくらさんから丸ごとお借りいたしました。感謝です!
崖のデバッグ作業もまだ残ってるんですが、それだけだと心がすさむので片手間に新しいことを始めたりしてます。
以前どっかの記事で呟いたとおり自動生成でダンジョンやらフィールドやら作ってみたいと思っていて、その熱が冷めないうちに適当にぽちぽち作ってみました。

そのいち。フィールドマップ風。初期状態なので主人公代理はウルファール氏に一任。

そのに。砂漠みたいな感じ。

そのさん。鬱蒼とした森。

そのよん。妖精の森的ななにか。
全部、自動生成です。
自動生成コモンをつくるにあたって、実際に自動生成でフィールドをつくってるゲームを思い浮かべてみた。
代表的なところだとシレン、なにげにすごいと思うのはDQM2イルルカの異世界。PS以降ならまだしも、ゲームボーイ版でよくあんなことができたなぁと思う。どんなアルゴリズムなのか興味があって調べたけど、見つかりませんでした…。
さておき、フリーゲームなら悠遠物語がけっこうハイクオリティなフィールドを自動生成してた気がする。参考にと思ってやってみたところ、フィールド生成中のロード画面には「ヘジェ曲線」やら「ラプラシアンフィルタ」やら謎の言語が登場しすぎて\(^o^)/って感じでした。
結局自分でいちからアルゴリズムを考える羽目に。
いろいろ考えた結果、崖のダンジョン生成アルゴリズムに柔軟性をもたせた感じで「空間分割+セルオートマトン」のアルゴリズムなるものを思いつきました。
手順は実に簡単。
・適当な大きさに空間をいくつかに分割。
↓
・分割した空間のそれぞれに特定の点を決め、隣り合った空間同士の点と点を結ぶ。ここまでで、ぐるっと一周できる一本道の通路ができあがっているはず。
↓
・できあがった通路をセルオートマトンを使って拡張。とりあえず壁+天井部とフィールド部の二元配置にする。
↓
・適当に整地して、壁+天井部に壁と天井をつくる。
↓
・適当にオプションを配置。
正直こんなのでうまくいくとは思ってなかったんだけど、想像以上に自然っぽい地形が出来上がりました。セルオートマトンの可能性は計り知れない。ちなみに、上の画像では一枚目の土の部分とか各画像の水路の部分とかもすべてセルオートマトンで作った地形です。遺伝的アルゴリズムとかセルオートマトンとか、この手のアルゴリズムをPCに使わせると可能性が無限大ですね。
…なんかこれだけで満足しちゃった感が出てるけど、一応ゲーム作り中です。
ウディタの仕様(ゲーム中に新しいマップを作れない、上書きチップはマップ移動すると消える)上、全自動生成みたいなのは絶対無理だしバランスも悪くなるので、まぁせいぜいダンジョン部をこのアルゴリズムに一任するくらいかな~。
追記:マップチップの素材はねくらさんから丸ごとお借りいたしました。感謝です!