CoronaSDK開発の魅力

33,229 views
34,035 views

Published on

2012/6/14秋葉原での発表内容。CoronaSDKの紹介と実演を通じて「Coronaって簡単にゲーム作れそうだなぁ」と思ってもらえれば幸いです

0 Comments
39 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
33,229
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
56
Comments
0
Likes
39
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • CoronaSDK開発の魅力

    1. 1. CoronaSDK開発の魅力本日は25分で、CoronaSDKの紹介と実演を通じて「Coronaって簡単にゲーム作れそうだなぁ」と思ってもらえれば幸いです 株式会社ニジボックス ソーシャルゲーム事業部 寺井周平 trick7 sterai
    2. 2. 自己紹介&開発の経緯• Flashエンジニア、デザイナー• リクルートMTLから現ニジボックスに出向してソーシャ ルゲームの企画開発• 2010年よりPC用、ガラケー用ソーシャルゲームをリ リースし、2011年10月よりスマホアプリ開発• 現在Corona歴半年、5月からUnity勉強中• 弊社「ニジボスマホ部」でCorona関連の記事更新中
    3. 3. 開発ツールの選択 1日程度の調査での第一印象• CoronaSDK:Flasherに親和性高そうだ• Unity: モデリングに時間がかかりそうだ• Cocos2DX: C系言語は僕には難しそうだ• Flash(AIR): アプリサイズが大きくなっちゃうのが• Phonegap: WebViewメインの開発環境なのかな?• Titanium: ツール系アプリ向き( 動きの演出は不得手?)
    4. 4. CoronaSDKとは• Android/iOS用ビルドができる開発環境• 元AdobeのFlashLiteチームが開発• ゲーム開発だけなら無料SDKで実機確認までできる• 両PFでストア公開するならライセンス契約が必要• Lua言語を使用• SDKにはAndroid/iOSシミュレーター同梱• サンプルファイルも付いてて参考になります
    5. 5. ライセンス契約• 両PFで$349/年 ※個別ライセンス購入ならAndroid:$199、iOS:$199• ストア提出が可能になる• ビルド時間が5倍短縮• Daily Build版が利用できる(最新機能をいち早く使える)• 購入ユーザーのみ閲覧できるユーザーフォーラム• Corona透かしの解除
    6. 6. プレビューとビルド• luaや画像ファイルを更新すると、横に置いたシミュレー ターで即時プレビューできる• 実機プレビュー/ストア提出用のapk作成はメニュー>ビル ドすることで可能になる(AndroidはDebugKeyがあるの でより気軽にテストビルドできます)• 解像度設定、中断時の処理やVer情報といったアプリ設定 に関わる項目はconfig.luaとbuild.settingに記載する• ビルドには少し(1分程)時間がかかる→Dropbox共有し て隣のマシンでビルドしておくと凄く気持ちいい
    7. 7. おすすめ動画リンク• Corona SDK 3min紹介動画 コード記述量の少なさと物理エンジンを簡単に使える様子が見れる• Making a game in 8 minutes 風船をタッチして割るゲームを作る動画• Dr.Hdez氏のチュートリアル動画集 シリーズ化され、各回ごとにいろんな機能を紹介• Angry Birds in 30 minutes (src) セミナーでの講演。ものを引っ張って飛ばしてブロックを崩すところまで• その他Corona関連ビデオ
    8. 8. 僕の作例
    9. 9. 作例1: Cat A Lot• Android/iOS対応の2Dパズル ゲーム(apk:13MB)• CoronaSDKの勉強を並行し、 ゲーム企画からリリースまで 4ヶ月• 1名で全行程を制作
    10. 10. • 「さめがめ」的ゲームロジックは3日ぐらいで完成した• ステージの実装に5日程度(API調査含め)• 高解像度端末にも対応• Openfeint対応は1日作業(別途登録待ち時間がかかる)• デザインは期間中継続して手入れしていた• 背景画像はロイヤリティフリー素材を加工• 鳴き声は自作、BGMはLogicProの付属音源を活用• Facebook連携は最後の2日で実装
    11. 11. 作例2: MoveNIJIBOX• 弊社移転の案内の賑やかし用に制作 した無料アプリ• ダンボールを目的地まで飛ばし、ハ イスコアを狙うゲーム• 企画からデザイン&プログラム、ス トア提出まで6日• AngryBirds的サンプルを改造し、 コンプ要素を追加
    12. 12. • 標準機能のPhysicsAPIを利用すればAngryBirds的ゲーム も簡単に実装可。※Box2Dエンジンが搭載されています• コンプの記録はFileAPIを使ってテキスト形式で管理
    13. 13. 作例3: テンビリオン的ゲーム• 1日で完成 →Coronaでのモック開発の速さ!• 難しすぎ&権利も心配で開発中止 テンビリオン(wikipedia) 1980年に任天堂が発売した、 のような 形状をしたパズルタイプの玩具である。 発案者は横井軍平。
    14. 14. CoronaSDKのよさ• 好きなテキストエディタで開発できる• 即プレビュー反映• デバイスフォント/ダイナミックフォントが使える• コード記述量が少なくすむ• 高解像度対応• 消費メモリ管理が比較的楽ちん• 機能追加ペースが早い(※DailyBuild版)
    15. 15. ゲームのための機能が豊富• 画面遷移(例:タイトル→ゲーム→ゲームオーバー→...)• ハイスコア保存や達成バッジ機能(File, Openfeint)• マスタ等でのDataBase利用(SQLite3)• 物理エンジン(Box2D)• SpriteSheetアニメーション• Tween ex: transition.to(obj, {y=40,time=500,delay=100})• In App Purchase(現在AndroidはDaily Buildのみ)• Facebookウォール投稿(SSO:シングルサインオン)• 音楽ライブラリを鳴らしたままにしておく(audioSession)
    16. 16. いくつかをピックアップ
    17. 17. 画面遷移に役立つ機能
    18. 18. Directorクラス• 各シーンごとにluaファイルを作成する(scene1.lua,..)• 遷移時のアニメーション演出が手軽に設定できる• シーン内で1つ、localGroupというグループを作成し、 シーン内で使うオブジェクトは全てlocalGroupにinsertす る。※グループ化したオブジェクトをinsertすることも可• director:changeScene()で次画面に遷移するタイミング で、シーン上のlocalGroup内包オブジェクトを破棄してく れる
    19. 19. menu.lua game.lua gameover.lua localGroup localGroup localGroup タイトル 背景 リスタートボタン スタートボタン キャラ タイトル画面へ ランキングボタン 敵キャラ メニュー ゲーム ゲームオーバー• 各シーン(lua)内で都度localGroupをnew Group()する ※変数や関数は各lua内でlocal宣言することで管理する
    20. 20. Storyboard• Ansca社本家が用意したシーン管理機能• Directorと同様、各シーン毎luaファイル、グルーピングに よるオブジェクト管理、遷移時の演出可能• シーン初期化/開始/退出の各タイミングでの処理を実装で きる• 前のシーンをメモリ上に残す/残さないを細かく指定でき る
    21. 21. 物理エンジン(Box2D) (実演)
    22. 22. Tween(トゥイーン) (実演)
    23. 23. ハイスコア保存 (実演)
    24. 24. 開発中に悩んだこと• タイマーとトゥイーンの消し忘れによるメモリリーク (管理用テーブルを用意してまとめて消去する方法があ る)• 縁取り文字や影文字の実装が力技だった• Androidでダイナミックフォントが表示されなくて困っ た(最終的にはできた)• GooglePlayのapkアップロードエラー(諦めずに何回も やるとアップできた)
    25. 25. CoronaSDKの課題点?• 割とフルスクラッチで作ることになる →演出やUI等を自在に作り込みたい開発者向き• UnityのAssetStore的なサービスがない →逆を言えばネット上のリソースは無料公開されている• ユーザーが少ない →とにかく本家リファレンスとフォーラムを見れば良い →日本Coronaの会のGoogleGroupもあります
    26. 26. ゲーム企画について• いろんなゲームをプレイし、面白要素、快感を感じる瞬 間、夢中になれる仕掛けなどを探る。• 縦型ゲーム→地下鉄で片手でプレイできるちゃんとヒットできたら発表する• コンボ→気持ち良さ• ステージ数→お金を払う価値を感じさせる• 質感高いグラフィック→インストールUUのため• リスクとリターンを考慮する→ゲーム性
    27. 27. まとめ• 一人で全部手がけたい個人が、アプリを大量リリースする のに凄く向いてる• 2Dゲームのモック制作にすごく向いている• 即時プレビューできるので演出のトライ&エラーが存分に できる• ファイル構成は画像データと.luaテキストなのでバージョ ン管理しやすい• カジュアルゲームだけでなく、流行のカードゲームも充分 作れる
    28. 28. おまけTIPS ※時間があれば発表します• プロジェクトディレクトリに不要な素材を置くと、その分 アプリサイズも重くなります• ツールバーから、作業&Sandboxディレクトリの確認がで きます• 消費メモリの確認方法• @2x指定を使った画像の高解像度画面対応• デバッグのために、Corona Simulatorではなく、Corona Terminalの方を起動しよう
    29. 29. Unityがアツいよね• 2Dと3D、どっちのゲームを遊ぶことが多い?• 3軸あるからオブジェクトを回転させるにも苦労するよ• フォント周りが大変だよ• Coronaならゲーム以外のツールアプリも作れるよ• 結局C#を書くことになるかもね• 作り込んでいくと結局WYSIWYGじゃなくなっていく• 一人でやろうとするとそれなりに時間かかりそうだー ※そりゃCoronaとUnity両方できるのが一番いいけど
    30. 30. ありがとうございました 株式会社ニジボックス ソーシャルゲーム事業部 寺井周平 trick7 sterai

    ×