関連サイト
本書の関連ページが用意されています。
内容紹介
ゲーム開発者が直に教えてくれる! cocos2d-xの技とノウハウ
あのゲームの開発者が講師! 他では聞けない現場直伝のcocos2d-xのテクニックやTipsが学べる豪華誌上セミナーの開講です!
cocos2d-x(ココスツーディーエックス)は、2Dゲーム開発に強いフレームワークで、これを使えばiPhone、Androidどちらのアプリも同時に開発できます。日本でも普及が進み、開発事例が増えつつあります。
本書は、cocos2d-xによって開発されたスマートフォンゲームの開発実例や、開発現場で重宝するノウハウを扱っています。現在、日本国内外で活躍していらっしゃるゲーム会社各社の代表ゲーム事例を複数集め、開発者自らの手で、ていねいに解説しています。ゲームジャンルも、カジュアルゲームから本格的なソーシャルゲームまで、幅広くカバー。内容的にも、cocos2d-xの開発ノウハウやTipsにとどまらず、ゲームコンセプトや企画、UIデザインなど幅広く実践的な情報を盛り込んでいます。
講師陣は以下の方々です。
- 清水 友晶(TKS2、日本cocos2d-xユーザー会)
- 有賀 之和・桜庭 洋之・堅田 瞬(フルセイル)
- 尾崎 慎一・深野 真人(Goodia)
- 杉山 浩・小林 伸隆(エイリム)
- 木内 智史(BEFOOL)
Chapter1は「ゲーム開発とcocos2d-xの概要」。cocos2d-xの概要やトレンド、他のフレームワークとの比較を解説します。
Chapter2はフルセイルのゲーム事例を取り上げます。「えとえとウォーズ」「忍者ハコ丸」「返信ください」の3本を元に、ゲームに使われているアニメーションのテクニックやスクロールアニメーション、アプリ内データの使い方などのノウハウを教えます。
Chapter3はグッディアの事例。「鬼とび」「こたつねこ」「鬼よけ」「乱闘甲子園」「鬼ノック」「イライラお化け屋敷」といったカジュアルゲームの事例を元に、キャラクターの動きの制御や当たり判定、サウンドエフェクト、レベルのデザインなど、ゲームプログラミング時に知っておきたいネタを多数紹介します。
Chapter4はエイリムの大ヒットゲーム「ブレイブ フロンティア」を元に、開発者が本ゲームでの画面演出や操作へのこだわり、描画の高速化など、とっておきのテクニックを伝授してくれます。
Chapter5はTips編。アニメーションからHTTP通信、物理エンジン、動画の再生、Lua言語、JS Binding、CI(Continuous Integration)など、開発の現場で知っていると必ず役立つネタを精選しました。
スマートフォンゲームアプリ開発現場の企画・開発職の方だけでなく、これからゲームアプリ開発を始めようと考えていらっしゃる学生や、一般のアプリ開発者の方々にもわかりやすいよう、具体例を交えて解説しました。開発者自らが語るからこそ得られる生のテクニックとTipsを、ぜひ手に入れてください!
書誌情報
- 著者: 八反田 智和(HatchUp)(編著), 清水 友晶, 有賀 之和, 桜庭 洋之, 堅田 瞬, 尾崎 慎一, 深野 真人, 杉山 浩, 小林 伸隆, 木内 智史(著)
- ページ数: 282ページ(PDF版換算)
- 対応フォーマット: PDF
- 出版社: マイナビ出版
対象読者
著者について
八反田 智和(HatchUp)
HatchUp代表。スマート・ソーシャル業界の仕掛人として、様々な有力モバイルゲーム企業のプロジェクトを支援。2012年、バンダイナムコスタジオ事業アドバイザー。業界メディア連載執筆多数。日本coco2d-xユーザ会 発起人・副代表。TechBuzzPublishプロデューサー。
清水 友晶
cocos2d-x.jp代表、株式会社TKS2代表取締役。主にiOS・Android・Windows Phone 8アプリを開発。日本cocos2d-xユーザー会「cocos2d-x.jp」代表。東京を中心に、名古屋・福岡・鹿児島など各地でcocos2d-x勉強会やハンズオンセミナーの講演を開催している。
有賀 之和
株式会社フルセイル代表取締役。アスキー、ライブドア、楽天、ベンチャー企業立ち上げ等を経て2011年7月株式会社ベーシックに入社しスマートフォンアプリやアドネットワーク関連サービスを担当。2012年8月にリリースしたアプリ「マッチに火をつけろ」はiOS/Android合計で400万、全アプリ合計では1200万ダウンロードを達成。
桜庭 洋之
株式会社フルセイル CTO。個人でアップローダやホスティングなど多くのサービスを開発。Webサービス運営会社を経て、2010年ベーシックへ入社。フルスタックエンジニアとして、インフラ構築、スマートフォンやWebのアプリ開発を担当。
堅田 瞬
株式会社フルセイル アプリエンジニア。株式会社フルセイルにてアプリエンジニアを担当。主に「マッチに火をつけろ」「返信ください」などのカジュアルゲームの開発に従事。
尾崎 慎一
Goodia Inc.所属、ゲームプログラマー。ゲーム開発の傍ら、Android講師などもしています。C++/JAVAが主言語。
深野 真人
グッディア株式会社代表取締役。これまでにカジュアルゲームを中心に200本以上のスマートフォンアプリをリリースし、累計DL数は2700万DLを超えるアプリデベロッパー「Goodia(グッディア)」の代表。
杉山 浩
株式会社エイリム所属エンジニア。コンシューマ系のゲーム開発、携帯アプリの開発を経て、エイリムに参加。エイリム1作目となる「ブレイブ フロンティア」では、企画の立ち上げ、メインエンジニアとして開発に携わる。
小林 伸隆
株式会社エイリム所属エンジニア。コンシューマ系のゲーム開発、ソーシャルゲームの開発を経て、エイリムに参加。「ブレイブ フロンティア」では持ち前のcocos2 d-xの技術で、ゲーム全般をカバーし、チームをサポートする。
木内 智史
株式会社BEFOOL代表取締役。長くソーシャルアプリ開発業界に身を置いていたが、ネイティブ開発への移行でUnityではなく、cocos2d-xを選択。
目次
Session 1 【基本編】ゲーム開発とcocos2d-xの概要(講師:清水 友晶(TKS2))
- 1-1 ゲーム開発のターゲットOSと開発環境
- 日本におけるスマートフォンのOS別販売シェア
- ゲーム開発の問題
- クロスプラットフォーム開発
- 1-2 cocos2d-xと他のゲーム向けミドルウェアの比較
- cocos2d-x、Corona SDK、Unityの比較概要
- 価格
- 開発言語
- 開発環境
- UIエディタ
- 公式サポート・日本語コミュニティ
- 対応プラットフォーム
- 1-3 cocos2d-xのメリットとデメリット
- cocos2d-xを利用した時のメリット
- cocos2d-xを利用した時のデメリット
- 1-4 cocos2d-xのトレンド
- cocos2d-xの国内トレンド
- cocos2d-xの海外トレンド
Session 2 【事例編】カジュアルゲーム開発に見るcocos2d-x活用テクニック(講師:有賀 之和・桜庭 洋之・堅田 瞬(フルセイル))
- 2-0 cocos2d-xの魅力
- cocos2d-xを導入してみて
- 開発者の視点
- 今後の戦略
- 2-1 事例1:アニメーションによる演出方法
- フレームアニメーションにおけるテクスチャアトラスの利用
- テクスチャアトラスおよびデータファイルの作成方法
- フレームアニメーションの実行方法
- オープニングのアニメーション
- テキストの表示
- キャラクターの登場
- 干支の玉が飛んでいくアニメーション
- 2-2 事例2:背景絵のスクロールアニメーション
- 背景のスクロールアニメーション
- 背景スプライトの作成
- 背景スプライトのアニメーション
- 移動にもっと臨場感をもたせる
- 無限にループさせる
- 2-3 事例3:アプリ内データの使用方法
- オブジェクト同士のデータ管理
- 広告の配信方法
- アプリ内のデータ保存
- 2-4 終わりに:cocos2d-xに期待すること
Session 3 【事例編】カジュアルゲームで学ぶcocos2d-xゲームプログラミングテクニック(講師:尾崎 慎一・深野 真人(Goodia))
- 3-0 cocos2d-xの魅力とアプリ制作ワークフロー
- cocos2d-xを選んだわけ
- cocos2d-xを導入してみて
- 今後の戦略
- Goodiaでのアプリ実装の流れ
- 3-1 プレイヤーの動き(操作)
- タップ
- ボタン
- スワイプ
- フリック
- センサー
- ジョイスティック
- 3-2 自キャラクターの動き(移動)
- cocos2d-xの関数を使った処理
- スケジュールを使った処理
- 3-3 障害物と敵キャラクターの動きについて
- 敵キャラクターの動きについて(近づく)
- 敵キャラクターの動きについて(遠ざかる)
- 敵キャラクターの動きについて(上下運動、左右運動)
- 3-4 プレイヤーの動き(ジャンプ)
- cocos2d-xの関数を使った処理
- スケジュールを使った処理
- 3-5 オブジェクト同士の当たり判定
- 自キャラクターと敵キャラクターの幅、高さを使った当たり判定
- 自キャラクターと敵キャラクターの距離を使った当たり判定
- 特殊な当たり判定について(複数の当たり判定)
- 3-6 サウンドエフェクト、アニメーション、背景スクロール
- サウンドエフェクト
- アニメーション(基礎)
- アクション速度を変える
- メニューにアニメーションを設定する
- キャラクターに連動しないスクロール(流れる雲背景)
- キャラクターに連動するスクロール(ビルの背景)
- 3-7 レベルデザイン
- スプライトを回転させた場合の当たり判定
- 3-8 その他
- ベジェを利用した曲線運動
- ランダムを応用した組み合わせ
Session 4 【事例編】ブレイブ フロンティアに学ぶcocos2d-x「演出」テクニック (講師:杉山 浩・小林 伸隆(エイリム))
- 4-0 ブレイブ フロンティアのリリースと反響
- 日本での状況
- 海外での状況
- 4-1 ブレイブ フロンティアの開発体制について
- 開発期間について
- 開発メンバーについて
- 4-2 cocos2d-xの魅力
- cocos2d-xを選んだわけ
- cocos2d-xを導入してみて
- 開発中に苦労した点
- 使用ツール
- 4-3 ブレイブ フロンティアのこだわり
- バトルはとにかく派手に!
- 通信を少なく!
- 今後の戦略
- 4-4 TIPS1:戦闘時のタッチ、長押し、スライド処理
- 4-5 TIPS2:画面演出
- 4-6 TIPS3:描画の高速化
- 4-7 TIPS4:通信
Session 5 【Tips編】制作を効率化! cocos2d-xの基本&実践Tips(講師:木内 智史(BEFOOL))
- 5-1 アニメーション エトセトラ
- アニメーションの種類
- Sprite操作系のAction
- 変化を操作するAction
- アニメーションの再生を制御するAction
- 5-2 アニメーションGIFに関して
- アニメーションGIFとは?
- ImageMagickのインストール
- パターン1 Animation::addSpriteFrameWithFileを活用する
- パターン2 Animation::addSpriteFrameを活用する
- 5-3 タップ処理に関して
- タップ処理事始め
- 単純なSpriteタップ判定
- ふたつ以上重なる場合のSpriteタップ判定
- ロングタップの判定
- ダブルタップの判定
- 5-4 ドラッグ アンド ドロップを実装してみる
- つかむ
- 落とす
- 5-5 HTTP通信に関して
- HttpRequest
- 画像ファイルの保存
- JSONを扱ってみる
- XMLを扱ってみる
- 5-6 Loading Barを実装してみる
- HttpRequest編の応用
- ローディングバー部分の実装
- 実装したローディングバーの活用
- 5-7 変数の永続化に関して
- 変数の永続化とは?
- プリファレンスによる保存
- ValueMap(旧Dictionary)による保存
- SQLiteによる保存
- 5-8 物理エンジン
- 物理エンジンとは?
- 重力場の設定
- 物体の設定
- ジャンプ
- 衝突
- PhysicsBodyに設定できる項目
- 5-9 Spine(ボーンアニメーション)
- Spineとは?
- ボーンセットアップ
- ボーンアニメーション
- cocos2d-xからアニメーションの初期化
- アニメーションの呼び出し
- ボーンの操作
- アニメーションからのイベント通知を受け取る
- 5-10 動画の再生
- cocos2d-xでの動画再生手段
- iOS向けの自前実装
- Android向けの自前実装
- ui::VideoPlayerを先取りする
- 5-11 WebViewの導入
- WebViewとは?
- GREE Platform SDK for Cocos2d-x
- Androidへの対応
- 注意点
- 5-12 Luaの利用
- Luaとは?
- Luaで開発するメリット
- Luaで開発するデメリット
- サンプルから学ぶ、cocos2d-xとLuaの連携
- C++からLuaへのアクセス
- Luaスクリプトの難読化
- 5-13 JS Binding
- JS(JavaScript)とは?
- JavaScript Bindingで開発するメリット
- JavaScript Bindingで開発するデメリット
- サンプルから学ぶ、cocos2d-xとJavaScriptの連携 265
- 5-14 CI(Continuous Integration)
- CI(Continuous Integration)とは?
- TDD(Test Driven Development)という手法
- テストを書く準備
- テストを書く
- Travis CIを利用してCIを実践する