石垣 2020/01/25 17:58

制作日記7

ご支援ありがとうございます。
現在はローグライク風おねショタゲームを制作中です。

最初に前回のハッカトリックスター4号の立ち絵を動かしてみました。
本作での4号はたぶんストーリーの都合上で巨乳化しています。


有料プランの記事では原寸での裸状態でのくらいモーションを2つアップしてあります。

さて現在はゲームの基本的な部分を作っています。
ここからは前回からの続きです。

前回はマップのランダム生成の話の途中まででした。
手順は次の感じでやっています。


1:マップをいくつかの区画に分ける
2:それぞれの区画に部屋を作る
3:部屋から区画の境界に向けて通路を伸ばす
4:区画の境界まで伸ばした通路をつなげる
5:通路をいくつか削除する

前回は4まで書いたので今回は残りの5です。
今回は作ったマップから通路をいくつか削除していきます。
前回までの作業でこんな感じのマップが作れるようになっています。


通路の削除手順は次のようにしてみました。
・5-1:ランダムに選んだ通路1本を仮通行止めにする。
・5-2:仮通行止めの通路を通らずにすべての部屋がつながっているか確認する。
・5-3:すべての部屋がつながっているなら仮通行止めになっている通路を壁で埋めて削除する。
すべての部屋がつながっていなかったなら仮通行止めを解除して5-1に戻る。

順番に見ていきます。
・5-1:ランダムに選んだ通路1本を仮通行止めにする。


通路1本を適当に選びます。
ただし図の右のように「通路が2本の部屋のない区画」につながる通路を仮通行止めにするときは、通路2本を仮通行止めにします。

・5-2:仮通行止めの通路を通らずにすべての部屋がつながっているか確認する。
到達できない部屋があると困るので、すべての部屋が通路でつながっているかを確認する必要があります。
すべての部屋がつながっているかを次の方法で確認します。
5-2-1:すべての区画に0の値を割り振る。
5-2-2:ランダムに選んだ部屋のある区画1つの値を1にする。
5-2-3:値が1の区画と通路でつながっているすべての隣接する区画に対して、区画の値が0なら値を1に変更する。1が通り過ぎた区画の値は2に変更する。

1の値の区画がなくなるまで5-2-3を繰り返しながら、1が通り過ぎた部屋の数を数えていきます。
通り過ぎた部屋の数がマップに作った部屋の数と同じになれば、すべての部屋がつながっているはずです。

ちょっと分かりにくいかもしれませんが図で手順を追うとこんな感じです。


・5-3:すべての部屋がつながっているなら仮通行止めになっている通路を壁で埋めて削除する。
すべての部屋がつながっていなかったなら仮通行止めを解除して5-1に戻る。

無事にすべての部屋がつながっていることが確認できたら、仮通行止めになっている通路は削除しても問題ないことになります。
この作業を何度か繰り返すことで通路を減らしてマップらしくしていきます。
通路を何本削除するのかは、区画の数などに応じてあらかじめ決めておきます。

ここまでの作業で作れるようになったマップをミニマップで何度か確認してみます。

これでおそらくなんとかマップのランダム生成ができるようになりました。
というわけで投稿3回に分かれてしまうとは思いませんでしたがマップ制作の作業についてでした。

【 アニメ公開 】プラン以上限定 支援額:300円

このバックナンバーを購入すると、このプランの2020/01に投稿された限定特典を閲覧できます。 バックナンバーとは?

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

最新の記事

月別アーカイブ

記事を検索