パズルRPGの作り方

 

パズルRPGの作り方
源株式会社 (著),‎ 塚本 淨司 (著),‎ 竹下 和秀 (著)

 

Cocos2d-xは使ったことなかったのと、中古本が400円、送料込みで800円と安かったのでアマゾン経由で購入してみました。
ちなみにこの本は、Amazonレビューで平均で星1.8点という低い評価がついている本です(私が評価するなら星2つぐらい)。

 

全部で300ページ程度のよくある厚さの本なのですが、最初の100ページで企画と開発ツールの準備等について解説した後、残りのページでコード解説をしています。主要なシーンのポイントとなるところを「この部分はこうゆう意図で作っているよ」といった感じで解説するスタイルをとってます。ですが、アマゾンレビューの方で書かれている方もいるように、解説がざっくりすぎて本を読んだだけでは、詳細は分かりません。この本の後半200ページ読んだだけでは、コードの全容が見えてきません。一通り全シーンの解説をもっと詳しくしてやったら、500ページぐらいないと説明しきれない内容なんじゃないでしょうか。

 

そしてこれもすでにアマゾンレビューに書かれてますが、サンプルコードをダウンロードして本と突き合わせながら解読してコードを動かそうとしても、悪い条件が重なった結果、今の環境ではサンプルがまともに動かせなくなっています。

 

サンプルコードを開いて見てみると、.cocos-project.json というファイルに”engine_version”: “cocos2d-x-3.8.1″という記述があるので
このバージョンのcocos2d-x(とcocosStudio)の組み合わせで環境を用意できれば、そのまんまサンプルが動かせそうですが、今の時点で探せたのはver3.10でした。こいつでサンプルを動かそうとすると、警告が出る(作成したバージョンが違うと同じコマンドでも意図しない動作をするおそれがあるよ的な)だけでコンバートも何もしてくれないのでプログラムが走ってくれません。 その為どうしたらいいのか分からないので、私の場合はサンプルを動すのに、ver3.10で新規の空のプロジェクトを起こして、そこにソースを移植して動かす羽目になりました。ボタンとか画像のレイアウトもcocosstudioで一つ一つシーンを作成して、全部移植しました(サンプルは開くだけならできるので)。9章のパズル部分はこれ単独でほぼ独立した存在なので、ここだけやってみていけそうなら、後続の章を進めてみてもいいかもしれません。9章をやってみてこらアカンと思ったら、止めといた方がいいと思います。最後の18章までやってみたら、2週間以上かかりました。

 

以下、この本の良い点と悪い点を列挙しておきます。やるべきか止めとくべきかの参考にしてください。

良い点
・アプリが軽い。完成データは25MB程度だった。
・ノード(Unityでいう空のオブジェクト的なものに近いのかな)の追加や切り離しが分かりやすい。

悪い点
・CocosStudioの開発が終了している。後継ツールとの互換性が乏しいらしい。参考).https://qiita.com/wyamamo/items/5d5857af71f8c3842a81
・本で紹介しているソースを記述する為のエディタが普通のフリーエディタなので、入力支援が期待できない。コピペせずに自力で入力するとスペルミスがどうしても出てくる。
・デバッグ機能が開発ツールに無いので、GoogleChromeのデベロッパー開発画面で行うことになる。
・サンプルコードに、スペルミス、不要なコードの残骸、宣言だけしてあっても実装してない関数や、実装までしてあってもどこにも使われていない関数が散見される点。
・予告なく、ファイル名が変わっている点。変数名の命名にゆらぎがある点。
・これは結果として、おかしな動作になるだろうと予想されるようなコードが目につく点。アマゾンレビューヤーの人が書いていたように、処理が重複してるんじゃ?と思わせるようなところや、バトルシーンのスキル発動の判定部分など初回発動のタイミングを見逃すと、戦闘が終了するまで永遠にスキルが発動できないといったこれは仕様なのか単なるバグなのかよくわかんないコードが出てくるので、悩む点。
・サンプルコードを動かしながら、コードを読解していくのが基本スタイルみたいなので、前述のとおりサンプルがまともに動かない状態では、初学者だとどこから手を付ければいいかが分からないという状態になる点。
・スプライトやテンプレートからロードして作成したキャラクターデータを配列でそれぞれ管理しており、配列の動きをよく理解していればそんなに難解なコードではないのだが、似たような名前の変数がいっぱいあってしばしば混乱しがちな点。
・ウェブのリファレンスを始め、一次、二次ともUnityなどに比べると資料が乏しい。
・Androidに書き出す時の手順がまたややこしい。本に書いてある手順では、Eclipseを併用してることを前提に書いてあるのか、AndroidStudioを使っている場合には、この方法では適用できない点。
・また個人的には、cocos2d-xをインストールすると、Python2系で動作するので、以前レビューで取り上げた「12歳から始めるpython」で使用しているpython3系とバッティングしてしまう。pyコードの実行は2系を優先させるようにしているので、3系で実行したい場合は、いちいち設定を戻さないといけないのがめんどくさい。

 

..後の方はなんか悪口ばかりになってしまいました。

 

この本は、中身をちら見した感じでは優しそうに見えるのですが、以上の理由で初学者には向かないと思います。見た目は「12歳から始めるPython」みたいなんですが(´;ω;`)

コメント

タイトルとURLをコピーしました