すごろくの自動生成について考える 4/5

ずいぶん時間空いたけど、すごろくの自動生成を考える第四回。
実はここまでは以前に出来ていたんだけど、多分記事書いている途中にPCを壊してしまったので遅くなってしまった。

このシリーズの関連記事

すごろくの自動生成について考える 1/5
http://d.hatena.ne.jp/tsugehara/20130103/1357227114


すごろくの自動生成について考える 2/5
http://d.hatena.ne.jp/tsugehara/20130104/1357270438


すごろくの自動生成について考える 3/5
http://d.hatena.ne.jp/tsugehara/20130105/1357353691


すごろくの自動生成について考える 5/5
http://d.hatena.ne.jp/tsugehara/20130225/1361791529

デモ

1ヶ月以上前の話なので正直あんまり覚えてにないんだけど、デモがアップしてあったのでそれベースで。
http://tsuge.sub.jp/sugoroku/blog/branch_alpha.html
実は不思議のすごろくのすごろくシーンデモにも、これと同じプログラムが使われている。


なんかいろいろ直してるけど、BPerっていう数値が追加されているので、そこが枝道生成の確率。数値が大きい程枝道が多くなる。
生成をすると、緑色の道が出来ることがあると思うけど、それが枝道。


ソースコード的には、genBranch、_genBranch、isConfluenceという辺りが枝道処理用に追加されている。
それぞれ、実際に枝道を作る処理と、通路の合流判定。
中身は、あんまり覚えてないから解説省略しちゃおう。考察記事なのに省略しちゃ意味ないんだが、覚えてないんだからしょうがない。。

現状の問題点

枝道が導入されると、時々どうしても通路が2マスになってしまう問題が発生する。
こういうケース。


後の方の画像は3マスになってしまってる。
これは一つ一つの枝道の処理としては正しいんだけど、複数の枝道が合流した場合に2マス以上になってしまうというケースがあるため。


ただ、これは問題なのかというのをよく考えた結果、不思議のすごろく的にはこれはこれで別にいいかなと思ったので枝道についてはこれで完成と考えることにした。
他のすごろくで問題になる場合は直さないといけないけど、問題になるのかというのがちょっとなんとも。

マス生成

とりあえず普通の道と枝道が出来たので、次はいよいよマス内容の生成。
マス内容については今回不思議のすごろくで使う想定の内容で作るけど、これをいろいろ差し替えればこのエンジンですごろくゲームの種が一応自動生成できることになる。


すごろくって「振り出しに戻る」とか「一回休み」とか「3歩進む」とかのマスの集合体で成り立っているので、通路があってマス内容があってスタート地点とゴール地点があればもう完成なのだ。
もう一歩ですな。

続く

ということで次はマス自動生成をやって、これまでより少し丁寧にソースを解説してこのシリーズもおしまい予定。
生成エンジンの利用例がイメージしやすいよう、不思議のすごろくのデモシーンも合わせてアップデートしようかと思います。