Box2D + WinRTでゲームを作る (18) – Boost.MSMで実装を進める

公開:2013-06-24 10:31
更新:2017-09-22 05:40
カテゴリ:boost,シューティングゲーム,c++,windows,ゲーム,box2d + winrtでゲームを作る,ゲーム製作

実装を進めている

お粗末だが今のところできている状態遷移コードをArgoUMLというツールで書いてみた。ここんところ仕事もばたばたしているし、コンフェデ杯もあったのでプログラムに割く時間はあまりなかった。

まあこんなところだ。ゲームの状態遷移はもう少し複雑になる。エディタはまだ全然手を付けていない。

MSMで実装するとコードの書き方が変わる。コード中の状態による分岐処理が激減し、ファンクタが激増する。ファンクタでその状態でのアクションを書いていくのでファンクタそのものは非常に簡素なコードになる。でもそれが激増するのでコードの見通しは悪くなる。しかし実行時の判定処理が減少するのでコードとしては早くなる気がする。気がするというのはあまりまだMSMについて深い知識がないので確証が得られないから。

今はゲームの骨格づくりであるが、昔からこういうコードを書くのが嫌いであった。私が現役のプログラマーであったころもこういうコードを書くのが嫌で過去のゲームのものを再利用させてもらっていた。先輩たちは嫌だったのではなくてこの部分はゲームの内容にあまり関係ない部分なのでどのゲームでもほぼ一緒だから工数を短縮するために再利用していたんだろうけども。