ISBN 9784774170558
cocos2d-xではじめるスマートフォンゲーム開発 [cocos2d-x Ver.3対応] for iOS/Android
概要
cocos2d-x Ver.3 と C++11 でスマートフォンゲームを一から実装する
想定読者
C++ の基礎があり、iOS または Android 向けゲームを実際に作りたい開発者
こんな人には向いていない
- Unity や Godot など主流エンジンをすでに習得しており、ゲームエンジンの選択肢を広げる目的がない人
- プログラミング未経験者。本書は C++11 の言語機能(ラムダ式、スマートポインタ等)を前提に進む
- cocos2d-x の最新バージョン(Ver.4 以降)や Cocos Creator への移行を検討している人。本書は Ver.3.2 時点の情報であり API の変更に注意が必要
読了後にできるようになること
- cocos2d-x Ver.3 の参照カウント方式メモリ管理と Node-Scene グラフの仕組みを理解できる
- カジュアルゲーム、物理エンジンゲーム、パズルゲームの 3 種類を通じてゲームアルゴリズムの実装パターンを習得できる
- Tiled Map Editor と Cocos Studio を使ったステージ設計ワークフローを身につけられる
- ADX2 LE を使ったインタラクティブミュージック等、高度なサウンド制御の基礎を学べる
- iOS/Android 両対応のクロスプラットフォームビルド設定と解像度対応の考え方を理解できる
- C++11(ラムダ式・コンテナ・範囲 for)を cocos2d-x 開発で活用する具体的な書き方を習得できる
本書のキー概念(章解説)
- 第 1 章 cocos2d-x の概要と Ver.3.x の特徴
- 第 2 章 開発環境の構築(iOS/Mac、Android/Windows・Mac)
- 第 3 章 フレームワークの基礎: C++11、参照カウント、ノード・シーン・シーングラフ — メモリ管理とシーン設計の理解に直結する章。後続の実装演習を読む前に押さえておく価値が高い
- 第 4 章 カジュアルゲーム『Kawaztan Catch!』の実装: 背景・プレイヤー・落下物・スコア・音声・UI — cocos2d-JS への移植記事が Qiita で公開されるなど、応用範囲の広い章。最初の完成物として達成感を得やすい
- 第 5 章 物理エンジンゲーム『Kawaztan Jet!』: Tiled Map Editor・衝突判定・ステージ進行・パーティクル
- 第 6 章 パズルゲーム『Kawaztan Crash!』: Cocos Studio・コンボ連鎖・ADX2 インタラクティブミュージック — ADX2 LE を使った高度なサウンド制御を扱う。著者が別途 Qiita で解説記事を書いた技術領域で、本書との相互補完が効く
- 第 7 章 クロスプラットフォーム最適化: 複数解像度対応・条件処理・コーデック切替
ハイライト
- ゲームを作ったことがない Web プログラマが 4 章を参考にブラウザゲームを作った記録として、cocos2d-JS へ移植する際の C++ との API 差異を詳細に比較した記事が公開されており、本書の章構成が他フレームワーク学習の足がかりとして活用されている。(Web 系開発者が本書を起点に cocos2d-JS へ応用した事例。4 章の構成が実践的であることが端的に示されている)
- 基礎をしっかり学ぶことで、作りたいゲームのイメージ、アイデアを練って形にできるノウハウが習得できます。(本書のねらいを端的に示す記述。3 種のサンプルゲームを通じた段階的学習構成の意図が表れている)
外部からの言及
- Web 系開発者が本書 4 章を参考に cocos2d-JS(JavaScript 版)への移植を試みた記事が存在し、フレームワーク間の API 差異の詳細な比較に本書の実装例が活用されている。本書の実装がコード単位で他環境へ応用できるほど具体的であることが示されている(qiita)
- cocos2d-x 関連書籍・情報をまとめた記事(2014 年末)で、本書は国内 cocos2d-x エコシステムの一冊として紹介されている。当時の書籍ラインナップの中で Ver.3 対応・C++11 活用を打ち出した点が差別化要素として挙げられている(qiita)
編集メモ
本書を直接参照する Qiita 記事は確認できた範囲で 1〜2 件、累計 likes も 100 未満。cocos2d-x タグ全体の Qiita 記事数は 268 件以上あるが、本書への言及は限定的。2015 年刊で Ver.3.2 対応のため、最新環境での採用は慎重な判断が必要な位置づけ
読む前に押さえておきたいこと
- C++ の基礎構文(クラス、継承、ポインタ)の理解
- iOS 開発の場合は Xcode のインストールと Apple Developer Account の準備
- Android 開発の場合は Android SDK と NDK のセットアップ経験
学習のコツ
- 3 章(フレームワーク基礎)はメモリ管理とシーングラフの理解に直結するため、実装章(4〜6章)に入る前に必ず読む。ここを飛ばすと retain/release エラーの原因が追えなくなる
- 4 章のカジュアルゲームはもっとも完成しやすく達成感を得やすい。環境構築後の最初の目標として 4 章完走を優先し、5・6 章は取り組みたいジャンルに応じて選ぶ読み方が効率的
- 6 章の ADX2 連携は著者が Qiita にも補足記事(前編・後編)を書いており、本書と並読すると理解が深まる
- 7 章のクロスプラットフォーム対応は iOS・Android の実機テストを開始してから再読する構成が推奨。最初から通読するより「問題が起きたら参照する」用途に向いている
出版社による内容紹介
本書はゲーム開発の基本や設計からcocos2d-x Ver.3から利用可能になったC++11を使ったコーディング、メモリ管理、ゲームエンジンの仕組みやゲームアルゴリズム、クロスプラットフォーム化など開発の核となるテクニックや知識を丁寧に解説しています。基礎をしっかり学ぶことで、作りたいゲームのイメージ、アイデアを練って形にできるノウハウが習得できます。
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。