チワ裏

とあるゲーム作りたい人のチラシの裏

開発日記 その2 迷路の生成アルゴリズムとゲームデザイン

第二回です。
今回は迷路を生成するアルゴリズムとか今考えてるゲームデザインとかについて書いていきます。

再帰分割法

今回のゲームでは再帰分割法というアルゴリズムをうまく使っていきたいなーーと思っております。

参考元
Buckblog: A Better Recursive Division Algorithm


このアルゴリズム良い所は、マップを分割しながら作っていくというところですね。
参考元のサイトの迷路生成のアニメーションをぜひ見てもらいたいです すごくえっち...

ゲームデザイン

今回のゲームでは迷路にRPG要素をぶっこんでいきたいのです。
なので、こんな感じに
f:id:tiwaluna:20171203143407p:plain

分割されたマップ(エリア)ごとに色々と処理を加えていきたいと考えています。
上図では、エリアごとに敵のレベルを分けています。

あと、純粋な迷路生成では邪道?なのかもしれませんが、迷路にループを取り入れたいですね。
なにも考えずにループさせると迷路の複雑さがバラバラになるので、ある程度作為的に制御できるような形にしたいところです。

そのほかに今回のゲームではスタート地点とゴール地点の位置は固定にしようかなと思っています。
RPGなので、目的地に向かう途中によ寄り道したりする要素と、迷路をさまよいながら進む要素を合体できたらなーというのが理想です。

実現性?

んなこと知るか

上で色々と述べたんですが、このアルゴリズムが自分には難しいので実装できるかどうかわからんのですね。
結局実現したいことは「迷路をエリアごとに分けること」、「迷路の形状をコントロールできること」なので、再帰分割法でなくてもいい気もしてます。

正直、アルゴリズムがカッコイイという理由のみで決めています。
なので、ちょっとやって無理そうだったら、ランダムに領域を分ける処理と他の迷路生成でどうにか賄うことも考えてます。

最後に再帰分割法で作った30*30サイズの迷路の動画↓

結構30*30のサイズでも大きく見えますね。
キャラクターの移動速度をいい感じに調整して、可能な限り大きな迷路を作ったらやりごたえのあるゲームになるかもしれません。

ただ、N*Nの平面だとゲームオブジェクトの量がとんでもないことになりますね。
このへんの解決策も考えついてはいるんですが、実装が間に合ってないので次回に紹介します。