状態遷移の管理人

昨日もチラッと書いたけど各ゲームの状態遷移(シーン)を boost::msm で管理するのと
スクリプトで状態を管理するのを比べると一長一短だと思った。
boost::msm だと全体を通しての管理がすごく楽なんだけど
動的に状態を変更したり追加できないのが難点。


例えば、ゲームのデバッグで、デバッグに関係のない場所を飛ばしたい場合、
(戦闘のデバッグを行いたいなら戦闘シーンだけを永遠行ったり)
スクリプトを使用していれば安易に出来るが、
boost::msm の場合ではソースを書き換えてコンパイルを来なわなければならない。
スクリプトなら企画屋がゲームの流れを編集する事も出来るしね。


うーん、中身は boost::msm で管理しておいて、スクリプトで動的に変更できるようにするのがいいのかな。
しかし、それだとよっぽど作り込まれていないとすごく中途半端な感じになりそう。
最終的に行き着く所はスクリプトでどれだけの事をしたいのかによるのかなぁ。、
小規模→boost::msm
大規模→スクリプト
って、感じになるのかな。


まぁ、boost::msm 自体、どこまで出来るのかがわからないのでもうちょっと調べてみたいところです。
しかし、相変わらず何が言いたいのかよく分からない文章だ。