SlideShare a Scribd company logo
1 of 34
Download to read offline
HTML5@iPhoneゲーム開発
                                株式会社DeNA
                   ソーシャルメディア事業本部
  ソーシャルゲーム統括部スマートフォン開発グループ
       岸 弘倫<kishi dot hiromichi at dena dot jp>


             DeNA Technology Seminar #3           1
自己紹介
‣ 2009年DeNAに入社
 – モバゲーの3Dアバター関連開発
 – iアプリ開発
 – 子会社のMiniNationにて海外向けのiPhoneアプリ
   開発
‣ 現在
 – iPhone・Androidアプリ開発


            DeNA Technology Seminar #3   2
本日の
         本日の内容



‣ MiniNationからリリースしたiPhoneゲーム
  「Pirate Nation」
‣ HTML, CSS, Javascriptで主に開発
‣ 今日は開発で得たノウハウについて話します。
 – ゲームというよりHTML5でのiPhoneアプリ開発に
   ついてがメインです。
          DeNA Technology Seminar #3   3
Pirate Nationについて



     DeNA Technology Seminar #3   4
Pirate Nation
‣ モバゲー「海賊トレジャー」のiPhone移植版
 – スマートフォンに合わせてデザイン一新
 – 海外ユーザ向けにシステム見直し
‣ 8/30からApp Storeで提供開始
‣ US App StoreのTop Freeで最高3位




            DeNA Technology Seminar #3   5
Web技術でiPhoneゲーム開発
  Web技術でiPhoneゲーム開発
     技術       ゲーム
‣ Pirate NationはUIWebViewを使ってWebベー
  スで開発
‣ UIWebView
 – iPhoneアプリ上でHTMLレンダリングするView
 – 標準で利用可能
 – Mobile Safariと同じWebKit
 – 早い話が俺俺ブラウザをiPhoneアプリで簡単に
   作ることのできる便利なView
 ※AndroidもWebViewという同機能のViewが提供

             DeNA Technology Seminar #3   6
Web技術ベースの
      Web技術ベースのFW/PF
         技術ベース
‣ Titanium Mobile
  – http://www.appcelerator.com/products/titanium
    -mobile-application-development/
‣ PhoneGap
  – http://www.phonegap.com/
‣ Pirate Nationで採用しなかった理由(4月頃):
  – iOS4の規約変更
  – 採用事例の少なさ
  – ゲーム開発向けではない
                DeNA Technology Seminar #3          7
Webサイトとして提供しなかった理由
Webサイトとして提供しなかった理由
   サイトとして提供しなかった
‣ Webベースで開発するならWebサイトとして公
  開すればよいのでは?
                  ↓
‣ アプリを主体に使うiPhoneユーザのスタイル
‣ Mobile Safariだけでは実現できない機能
‣ App Storeという強力な導線


         DeNA Technology Seminar #3   8
Objective-
    Objective-C側で実装した機能
                 実装した機能
                   した
‣   Audio
‣   加速度センサー
‣   ページ遷移のトランジション
‣   リソースのキャッシュ
    – キャッシュ制御のためmanifest未使用
‣ セキュリティ強化
‣ Push Notification
‣ App Storeのアプリ内課金システム
  (In App Purchase)
             DeNA Technology Seminar #3   9
iPhone Web開発



   DeNA Technology Seminar #3   10
HTML5と
                HTML5とCSS3
‣ iPhone(Webkit)に絞ることでクロスブラウザを意識せ
  ずに開発可能
‣ HTML5
  – inputのtypeの追加とValidation
  – ローカルストレージ(今回は未使用)
‣ CSS3
  –   CSSセレクタの追加
  –   角丸、影、グラデーション、透明度などの指定
  –   transform(translate, scale, rotate, skewなど)の指定
  –   CSSアニメーション

                    DeNA Technology Seminar #3         11
CSSアニメーション
       CSSアニメーション
‣ HTML要素をCSSで指定してアニメーションさ
  せる仕様
‣ iPhoneのCSSアニメーションは高速
 – (webkit-transformと組み合わせた場合)
 – iPhone3G対応で活躍
   • DOM操作だとガクガク
   →上記を利用することで滑らかに
‣ アニメーション途中の座標を取得できないの
  で当たり判定のある表現には向かない
           DeNA Technology Seminar #3   12
CSSアニメーション例
          CSSアニメーション例1
             アニメーション
div {
   opacity: 1;
   -webkit-transition: opacity 1s linear;
}
div:hover {
   opacity: 0;
}



                    DeNA Technology Seminar #3   13
CSSアニメーション例
          CSSアニメーション例2
             アニメーション
div {
    -webkit-transition: 1s ease-in-out;
    -webkit-animation-name: anime;
}
// キーフレームでの指定も可能
@-webkit-keyframes anime {
    0%{ -webkit-transform: translate(10px, 10px); }
    50%{ -webkit-transform: rotate(90deg);        }
    100% {      -webkit-transform: scale(2); }
  }


                      DeNA Technology Seminar #3      14
iPhone開発の
        iPhone開発のTips
              開発
‣ clickイベントの検知は遅いのでtouchstart,
  touchendを使う
‣ position: fixedが使えない
 – WindowではなくViewportにfixされるため
‣ iframe内のスクロール方法が異なる
 – 2本指でフリックでスクロール



            DeNA Technology Seminar #3   15
(おまけ)ページの一部を固定する
 おまけ)ページの一部を固定する
‣ iPhone, iPadだとヘッダやフッタを固定するよ
  うなレイアウトの表現が難しい
‣ 「iScroll」
 – http://cubiq.org/iscroll
 – iPhone, iPadでもフリックしたときの動きをシミュ
   レートしてposition:fixedなレイアウト実現
 – オプションも豊富


           DeNA Technology Seminar #3   16
Canvasを使う



 DeNA Technology Seminar #3   17
海賊トレジャー移植の
  海賊トレジャー移植の問題点
    トレジャー移植
‣ 「海賊トレジャー」はFlashミニゲームが特徴
 – 大砲バトル、サルベージ
   ⇒iPhoneはFlash Playerが未搭載
‣ Flashゲームをどう実現するか?
 – 変更の容易性・即時性
                                         大砲バトル
 – 複数プラットフォームへの展開




            DeNA Technology Seminar #3           18
                                         サルベージ
Flash代替案
             Flash代替案
‣ Objective-C(OpenGL)
  ⇒開発コスト、変更コスト、移植性が問題
‣ Flash CS5のiPhoneアプリ変換機能
  ⇒規約変更に伴い選択肢からなくなる
‣ Canvas, SVG
  ⇒調査した結果そこそこのパフォーマンスが出た
   Canvasを採用


                DeNA Technology Seminar #3   19
Canvasとは
          Canvasとは
‣ CanvasとはJavascriptベースでブラウザ上に
  図を描画するための仕様
 – DOM操作と異なりフレーム単位で画面を再描画
‣ 大砲バトルとサルベージをCanvasで実装




          DeNA Technology Seminar #3   20
Demo



DeNA Technology Seminar #3   21
Canvasの
                                   Canvasの性能
                                                    Canvasベンチマーク

                            80.0
                            70.0



         Frame Per Second
                            60.0
                            50.0                                         iPhone3G
                                                                         iPhone3GS
                            40.0
                                                                         iPhone4
                            30.0                                         iPhone4(Viewport修正)
                            20.0
                            10.0
                             0.0
                                   1     10     20     30      40   50
                                                  描画画像数




‣ iPhone4が遅い                                  ※Canvas上に適当な画像を描画するだけのプログラムで計測

  – 原因1:Viewportの設定(表示の拡大処理が遅い)
    ⇒ディスプレイサイズに合わせて画像とcanvasを修正
  – 原因2:Retinaディスプレイの解像度が高すぎる
    →上位機種で必ずしもパフォーマンスが良くなるとは限らない
                                       DeNA Technology Seminar #3                              22
Canvas高速化Tips
         Canvas高速化Tips
               高速化
‣   座標や幅・高さの指定はintにする
‣   parseIntは使わない
‣   new Date()ではなくDate.now()を使う
‣   描画がネックの場合画像の解像度を落とす
‣   HTML要素とCSSアニメーションを併用(後述)




            DeNA Technology Seminar #3   23
CanvasとHTML+CSSアニメーション
 CanvasとHTML+CSSアニメーション
‣ Canvas
  – フレームごとの当たり判定や描画タイミングの制御可能
  – 高レベルなアニメーション指定、画面の一部のみを再描
    画する機能はない
‣ HTML+CSSアニメーション
  – 高レベルな指定方法を提供、高速
  – フレームごとの制御や描画タイミングの指定ができない
‣ 両者の得意な部分を担当する


           DeNA Technology Seminar #3   24
HTML要素とCSSアニメーションを
HTML要素とCSSアニメーションを併用
    要素    アニメーション
‣ 動きのない画像はHTML要素を重ねて表示
 – Canvasへの描画に掛かる時間を減らす
‣ 決まった動きをするものはHTML要素+CSSアニ
  メーションを利用
 – CSSアニメーションで動かすほうが高速
 – 高レベルな動作の指定ができる
‣ その他
 – Canvas要素に動きを指定して画面を揺らす
 – 塗り潰した要素を重ねて画面効果
         DeNA Technology Seminar #3   25
例:動きの少ない部分をHTML要素として表示
   きの少ない部分をHTML要素として表示
        部分     要素として


                      div要素で表現し、値によって
                      webkit-transform: scaleでバーを制御




                 ユーザが画面をタップしたときに

                 Img要素を重ね、webkit-transform: rotateで
                 向きを変えるのみ。

                 方向を回転させる
       DeNA Technology Seminar #3              26
例:CSSアニメーションを利用
  CSSアニメーションを
     アニメーション




              CSSアニメーションのキーフレームを
              使って動きを定義。
              パフォーマンスが良くなる他、
              細かい動きの表現や変更にも強くなる




   DeNA Technology Seminar #3   27
Canvasのメリット/デメリット



     DeNA Technology Seminar #3   28
Canvasの
       Canvasのメリット
‣ 開発環境の準備が楽
 – ブラウザですぐ確認可能
‣ Javascriptなので覚えることが少ない
‣ 既存のHTML要素との併用が容易




          DeNA Technology Seminar #3   29
Canvasの
       Canvasのデメリット
‣ 描画速度がネックで表現に限界
 – フィーチャーフォンのFlashゲーム+αぐらいなら実現
   可能
‣ 世代間のパフォーマンス差が激しい
‣ その他、Android 2.1系のCanvasの基本APIにバ
  グがあり、移植をする上でも問題
            ↓
  総合的に見ると現状はスマートフォン向けゲー
  ム開発の選択肢としてあまりオススメできない
           DeNA Technology Seminar #3   30
Pirate Nationリリースを通して



       DeNA Technology Seminar #3   31
Webベースにして良かった点
 Webベースにして良かった点
    ベースにして
‣ ユーザの反応を見て改良を即座に反映
 – アプリ再申請すると審査が終わるまで1-2週間
   ⇒Webだと即座に更新可能、出しわけ可能
‣ ゲームのバージョンの差異がない
‣ イベントなど新機能追加の容易さ
 – 例:期間限定セール、ハロウィンイベント



         DeNA Technology Seminar #3   32
現在の
         現在の課題
‣ Canvasの描画速度
 – 描画速度がボトルネック
 – アクション性の強いゲーム表現には限界がある
‣ サーバへのリクエストを減らす
 – リクエストのたびにウェイトの発生
   ⇒他のアプリと比べてストレスが大きい
 – 世界的にはネットワークが不安定な環境も多く、
   処理をクライアントに寄せる工夫が必要

          DeNA Technology Seminar #3   33
ご清聴ありがとうございました



     DeNA Technology Seminar #3   34

More Related Content

What's hot

Developers.io.札幌 xamarinってどうよ
Developers.io.札幌 xamarinってどうよDevelopers.io.札幌 xamarinってどうよ
Developers.io.札幌 xamarinってどうよShinichi Hirauchi
 
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターンいまさら学ぶMVVMパターン
いまさら学ぶMVVMパターンYuta Matsumura
 
ゆるふわ Xamarin Tips
ゆるふわ Xamarin Tipsゆるふわ Xamarin Tips
ゆるふわ Xamarin TipsDaiki Kawanuma
 
大学サイトにおけるマルチデバイス対応のポイント + HTML5 CMS - Web Meister
大学サイトにおけるマルチデバイス対応のポイント + HTML5 CMS - Web Meister大学サイトにおけるマルチデバイス対応のポイント + HTML5 CMS - Web Meister
大学サイトにおけるマルチデバイス対応のポイント + HTML5 CMS - Web Meisterxyz corporation
 
Xamarin で今日から始めるクロスプラットフォーム開発
Xamarin で今日から始めるクロスプラットフォーム開発Xamarin で今日から始めるクロスプラットフォーム開発
Xamarin で今日から始めるクロスプラットフォーム開発友太 渡辺
 
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」Yasuhiko Yamamoto
 
この辺でXamarin導入による 効果と限界をしっかり把握してみよう MVP Community Camp 2015
この辺でXamarin導入による 効果と限界をしっかり把握してみよう  MVP Community Camp 2015 この辺でXamarin導入による 効果と限界をしっかり把握してみよう  MVP Community Camp 2015
この辺でXamarin導入による 効果と限界をしっかり把握してみよう MVP Community Camp 2015 Shinichi Hirauchi
 
Xamarin バッドノウハウ大全
Xamarin バッドノウハウ大全Xamarin バッドノウハウ大全
Xamarin バッドノウハウ大全Yoshito Tabuchi
 
初心者でも Windows 10 Mobile アプリを作りたい!
初心者でも Windows 10 Mobile アプリを作りたい!初心者でも Windows 10 Mobile アプリを作りたい!
初心者でも Windows 10 Mobile アプリを作りたい!naba0123
 
20140322 mvvm crossforwindowsstoreapps
20140322 mvvm crossforwindowsstoreapps20140322 mvvm crossforwindowsstoreapps
20140322 mvvm crossforwindowsstoreappsTakayoshi Tanaka
 
.Net技術でこれからも食べていくための技術戦略
.Net技術でこれからも食べていくための技術戦略.Net技術でこれからも食べていくための技術戦略
.Net技術でこれからも食べていくための技術戦略Yuya Yamaki
 
これからのCMSマーケットトレンドとPHP (for fukuoka.php)
これからのCMSマーケットトレンドとPHP (for fukuoka.php)これからのCMSマーケットトレンドとPHP (for fukuoka.php)
これからのCMSマーケットトレンドとPHP (for fukuoka.php)株式会社ミツエーリンクス
 
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~ShinichiAoyagi
 

What's hot (14)

Developers.io.札幌 xamarinってどうよ
Developers.io.札幌 xamarinってどうよDevelopers.io.札幌 xamarinってどうよ
Developers.io.札幌 xamarinってどうよ
 
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターンいまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
 
ゆるふわ Xamarin Tips
ゆるふわ Xamarin Tipsゆるふわ Xamarin Tips
ゆるふわ Xamarin Tips
 
大学サイトにおけるマルチデバイス対応のポイント + HTML5 CMS - Web Meister
大学サイトにおけるマルチデバイス対応のポイント + HTML5 CMS - Web Meister大学サイトにおけるマルチデバイス対応のポイント + HTML5 CMS - Web Meister
大学サイトにおけるマルチデバイス対応のポイント + HTML5 CMS - Web Meister
 
Xamarin で今日から始めるクロスプラットフォーム開発
Xamarin で今日から始めるクロスプラットフォーム開発Xamarin で今日から始めるクロスプラットフォーム開発
Xamarin で今日から始めるクロスプラットフォーム開発
 
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
 
この辺でXamarin導入による 効果と限界をしっかり把握してみよう MVP Community Camp 2015
この辺でXamarin導入による 効果と限界をしっかり把握してみよう  MVP Community Camp 2015 この辺でXamarin導入による 効果と限界をしっかり把握してみよう  MVP Community Camp 2015
この辺でXamarin導入による 効果と限界をしっかり把握してみよう MVP Community Camp 2015
 
Xamarin バッドノウハウ大全
Xamarin バッドノウハウ大全Xamarin バッドノウハウ大全
Xamarin バッドノウハウ大全
 
初心者でも Windows 10 Mobile アプリを作りたい!
初心者でも Windows 10 Mobile アプリを作りたい!初心者でも Windows 10 Mobile アプリを作りたい!
初心者でも Windows 10 Mobile アプリを作りたい!
 
20140322 mvvm crossforwindowsstoreapps
20140322 mvvm crossforwindowsstoreapps20140322 mvvm crossforwindowsstoreapps
20140322 mvvm crossforwindowsstoreapps
 
.Net技術でこれからも食べていくための技術戦略
.Net技術でこれからも食べていくための技術戦略.Net技術でこれからも食べていくための技術戦略
.Net技術でこれからも食べていくための技術戦略
 
パノラマ動画
パノラマ動画パノラマ動画
パノラマ動画
 
これからのCMSマーケットトレンドとPHP (for fukuoka.php)
これからのCMSマーケットトレンドとPHP (for fukuoka.php)これからのCMSマーケットトレンドとPHP (for fukuoka.php)
これからのCMSマーケットトレンドとPHP (for fukuoka.php)
 
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
 

Viewers also liked

Web APIでThriftをシリアライザとして使う
Web APIでThriftをシリアライザとして使うWeb APIでThriftをシリアライザとして使う
Web APIでThriftをシリアライザとして使うh_kishi
 
<Yahoo!プロモーション広告>「iPhone 6」発売後はどうなる? 関連キーワード検索傾向
<Yahoo!プロモーション広告>「iPhone 6」発売後はどうなる? 関連キーワード検索傾向<Yahoo!プロモーション広告>「iPhone 6」発売後はどうなる? 関連キーワード検索傾向
<Yahoo!プロモーション広告>「iPhone 6」発売後はどうなる? 関連キーワード検索傾向Yahoo! JAPAN Marketing Solution
 
「iPhone 6s/6s Plus」発売前後の検索実績からみる、インターネットユーザー動向
「iPhone 6s/6s Plus」発売前後の検索実績からみる、インターネットユーザー動向「iPhone 6s/6s Plus」発売前後の検索実績からみる、インターネットユーザー動向
「iPhone 6s/6s Plus」発売前後の検索実績からみる、インターネットユーザー動向Yahoo! JAPAN Marketing Solution
 
HTML5で作るiPhoneアプリケーション
HTML5で作るiPhoneアプリケーションHTML5で作るiPhoneアプリケーション
HTML5で作るiPhoneアプリケーションだいすけ ふるかわ
 
デブサミ2009: iPhone開発者座談会
デブサミ2009: iPhone開発者座談会デブサミ2009: iPhone開発者座談会
デブサミ2009: iPhone開発者座談会masayoshi takahashi
 
第1回 始めてみよう Web 動画 〜 基礎編 まずは iPhone から
第1回 始めてみよう Web 動画 〜 基礎編 まずは iPhone から第1回 始めてみよう Web 動画 〜 基礎編 まずは iPhone から
第1回 始めてみよう Web 動画 〜 基礎編 まずは iPhone からKatz Ueno
 
Html5で作るiPhoneアプリケーション2010
Html5で作るiPhoneアプリケーション2010Html5で作るiPhoneアプリケーション2010
Html5で作るiPhoneアプリケーション2010だいすけ ふるかわ
 
(エンジニアから見た)
最近のスマートウォッチ事情
(エンジニアから見た)
最近のスマートウォッチ事情(エンジニアから見た)
最近のスマートウォッチ事情
(エンジニアから見た)
最近のスマートウォッチ事情Tomoya Yamamoto
 
Phone Appli「PA Sync」 説明資料
Phone Appli「PA Sync」 説明資料Phone Appli「PA Sync」 説明資料
Phone Appli「PA Sync」 説明資料PA_Hitomi
 
iPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめiPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめHiramatsu Ryosuke
 
C#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouchC#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouchShin Ise
 
Java ScriptでつくるはじめてのiPhoneAndroidゲーム開発体験ハンズオン
Java ScriptでつくるはじめてのiPhoneAndroidゲーム開発体験ハンズオンJava ScriptでつくるはじめてのiPhoneAndroidゲーム開発体験ハンズオン
Java ScriptでつくるはじめてのiPhoneAndroidゲーム開発体験ハンズオン健一 茂木
 
Office for iPad Office for iPhone 企業利用における問題点のまとめ
Office for iPad Office for  iPhone 企業利用における問題点のまとめOffice for iPad Office for  iPhone 企業利用における問題点のまとめ
Office for iPad Office for iPhone 企業利用における問題点のまとめadachiyosuke
 
コンピューター支援言語学習
コンピューター支援言語学習コンピューター支援言語学習
コンピューター支援言語学習Parisa Mehran
 
iPhone 5 の Wi-Fi ちゃんと動いてましたか? #yidev
iPhone 5 の Wi-Fi ちゃんと動いてましたか? #yideviPhone 5 の Wi-Fi ちゃんと動いてましたか? #yidev
iPhone 5 の Wi-Fi ちゃんと動いてましたか? #yidevTomohiro Kumagai
 
非It系総務の社内kintone促進 kintone Café japan
非It系総務の社内kintone促進 kintone Café japan非It系総務の社内kintone促進 kintone Café japan
非It系総務の社内kintone促進 kintone Café japannaoya takata
 
女性はグリー、男性はモバゲーのアプリデザインを支持!! -iphoneアプリデザイン調査-
女性はグリー、男性はモバゲーのアプリデザインを支持!! -iphoneアプリデザイン調査-女性はグリー、男性はモバゲーのアプリデザインを支持!! -iphoneアプリデザイン調査-
女性はグリー、男性はモバゲーのアプリデザインを支持!! -iphoneアプリデザイン調査-CREATIVE SURVEY
 
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12Ryuji Yamashita
 
ニコニコ動画iPhoneアプリの作り方@スマートフォン2011講演資料
ニコニコ動画iPhoneアプリの作り方@スマートフォン2011講演資料ニコニコ動画iPhoneアプリの作り方@スマートフォン2011講演資料
ニコニコ動画iPhoneアプリの作り方@スマートフォン2011講演資料Kentaro Matsumae
 
iPhoneアプリ無料でできるプロモーション15の活動
iPhoneアプリ無料でできるプロモーション15の活動iPhoneアプリ無料でできるプロモーション15の活動
iPhoneアプリ無料でできるプロモーション15の活動Hiromitsu Ishimori
 

Viewers also liked (20)

Web APIでThriftをシリアライザとして使う
Web APIでThriftをシリアライザとして使うWeb APIでThriftをシリアライザとして使う
Web APIでThriftをシリアライザとして使う
 
<Yahoo!プロモーション広告>「iPhone 6」発売後はどうなる? 関連キーワード検索傾向
<Yahoo!プロモーション広告>「iPhone 6」発売後はどうなる? 関連キーワード検索傾向<Yahoo!プロモーション広告>「iPhone 6」発売後はどうなる? 関連キーワード検索傾向
<Yahoo!プロモーション広告>「iPhone 6」発売後はどうなる? 関連キーワード検索傾向
 
「iPhone 6s/6s Plus」発売前後の検索実績からみる、インターネットユーザー動向
「iPhone 6s/6s Plus」発売前後の検索実績からみる、インターネットユーザー動向「iPhone 6s/6s Plus」発売前後の検索実績からみる、インターネットユーザー動向
「iPhone 6s/6s Plus」発売前後の検索実績からみる、インターネットユーザー動向
 
HTML5で作るiPhoneアプリケーション
HTML5で作るiPhoneアプリケーションHTML5で作るiPhoneアプリケーション
HTML5で作るiPhoneアプリケーション
 
デブサミ2009: iPhone開発者座談会
デブサミ2009: iPhone開発者座談会デブサミ2009: iPhone開発者座談会
デブサミ2009: iPhone開発者座談会
 
第1回 始めてみよう Web 動画 〜 基礎編 まずは iPhone から
第1回 始めてみよう Web 動画 〜 基礎編 まずは iPhone から第1回 始めてみよう Web 動画 〜 基礎編 まずは iPhone から
第1回 始めてみよう Web 動画 〜 基礎編 まずは iPhone から
 
Html5で作るiPhoneアプリケーション2010
Html5で作るiPhoneアプリケーション2010Html5で作るiPhoneアプリケーション2010
Html5で作るiPhoneアプリケーション2010
 
(エンジニアから見た)
最近のスマートウォッチ事情
(エンジニアから見た)
最近のスマートウォッチ事情(エンジニアから見た)
最近のスマートウォッチ事情
(エンジニアから見た)
最近のスマートウォッチ事情
 
Phone Appli「PA Sync」 説明資料
Phone Appli「PA Sync」 説明資料Phone Appli「PA Sync」 説明資料
Phone Appli「PA Sync」 説明資料
 
iPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめiPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめ
 
C#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouchC#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouch
 
Java ScriptでつくるはじめてのiPhoneAndroidゲーム開発体験ハンズオン
Java ScriptでつくるはじめてのiPhoneAndroidゲーム開発体験ハンズオンJava ScriptでつくるはじめてのiPhoneAndroidゲーム開発体験ハンズオン
Java ScriptでつくるはじめてのiPhoneAndroidゲーム開発体験ハンズオン
 
Office for iPad Office for iPhone 企業利用における問題点のまとめ
Office for iPad Office for  iPhone 企業利用における問題点のまとめOffice for iPad Office for  iPhone 企業利用における問題点のまとめ
Office for iPad Office for iPhone 企業利用における問題点のまとめ
 
コンピューター支援言語学習
コンピューター支援言語学習コンピューター支援言語学習
コンピューター支援言語学習
 
iPhone 5 の Wi-Fi ちゃんと動いてましたか? #yidev
iPhone 5 の Wi-Fi ちゃんと動いてましたか? #yideviPhone 5 の Wi-Fi ちゃんと動いてましたか? #yidev
iPhone 5 の Wi-Fi ちゃんと動いてましたか? #yidev
 
非It系総務の社内kintone促進 kintone Café japan
非It系総務の社内kintone促進 kintone Café japan非It系総務の社内kintone促進 kintone Café japan
非It系総務の社内kintone促進 kintone Café japan
 
女性はグリー、男性はモバゲーのアプリデザインを支持!! -iphoneアプリデザイン調査-
女性はグリー、男性はモバゲーのアプリデザインを支持!! -iphoneアプリデザイン調査-女性はグリー、男性はモバゲーのアプリデザインを支持!! -iphoneアプリデザイン調査-
女性はグリー、男性はモバゲーのアプリデザインを支持!! -iphoneアプリデザイン調査-
 
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
 
ニコニコ動画iPhoneアプリの作り方@スマートフォン2011講演資料
ニコニコ動画iPhoneアプリの作り方@スマートフォン2011講演資料ニコニコ動画iPhoneアプリの作り方@スマートフォン2011講演資料
ニコニコ動画iPhoneアプリの作り方@スマートフォン2011講演資料
 
iPhoneアプリ無料でできるプロモーション15の活動
iPhoneアプリ無料でできるプロモーション15の活動iPhoneアプリ無料でできるプロモーション15の活動
iPhoneアプリ無料でできるプロモーション15の活動
 

Similar to HTML5@iPhoneゲーム開発

20110212 Silverlight から Bing Maps に触れる
20110212 Silverlight から Bing Maps に触れる20110212 Silverlight から Bing Maps に触れる
20110212 Silverlight から Bing Maps に触れるKenji Wada
 
【Unite 2018 Tokyo】Windows Mixed Reality 最新アプリ開発情報 ~HoloLens からVRまで~
【Unite 2018 Tokyo】Windows Mixed Reality 最新アプリ開発情報 ~HoloLens からVRまで~【Unite 2018 Tokyo】Windows Mixed Reality 最新アプリ開発情報 ~HoloLens からVRまで~
【Unite 2018 Tokyo】Windows Mixed Reality 最新アプリ開発情報 ~HoloLens からVRまで~UnityTechnologiesJapan002
 
MTセミナー2011/2/21 アイデアマンズ株式会社
MTセミナー2011/2/21 アイデアマンズ株式会社MTセミナー2011/2/21 アイデアマンズ株式会社
MTセミナー2011/2/21 アイデアマンズ株式会社Kunihiko Miyanaga
 
インフラジスティックスが提供するクロスプラットフォーム対応データ視覚化コンポーネント
インフラジスティックスが提供するクロスプラットフォーム対応データ視覚化コンポーネント インフラジスティックスが提供するクロスプラットフォーム対応データ視覚化コンポーネント
インフラジスティックスが提供するクロスプラットフォーム対応データ視覚化コンポーネント インフラジスティックス・ジャパン株式会社
 
スマ研第2回レポート
スマ研第2回レポートスマ研第2回レポート
スマ研第2回レポートShinpei Niiyama
 
F-site発表資料「Flashユーザーが今覚えておきたいHTML5」
F-site発表資料「Flashユーザーが今覚えておきたいHTML5」F-site発表資料「Flashユーザーが今覚えておきたいHTML5」
F-site発表資料「Flashユーザーが今覚えておきたいHTML5」Yasunobu Ikeda
 
インタラクティブコンテンツにおけるHTML5とFlash
インタラクティブコンテンツにおけるHTML5とFlashインタラクティブコンテンツにおけるHTML5とFlash
インタラクティブコンテンツにおけるHTML5とFlashYasunobu Ikeda
 
2022.04.23 .NET 6 -7 時代のデスクトップ アプリケーション開発
2022.04.23 .NET 6 -7 時代のデスクトップ アプリケーション開発2022.04.23 .NET 6 -7 時代のデスクトップ アプリケーション開発
2022.04.23 .NET 6 -7 時代のデスクトップ アプリケーション開発Fujio Kojima
 
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?Yuya Yamaki
 
HTML5開発最前線
HTML5開発最前線HTML5開発最前線
HTML5開発最前線yoshikawa_t
 
Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Yuya Yamaki
 
NET MAUI for .NET 7 for iOS, Android app development
 NET MAUI for .NET 7 for iOS, Android app development  NET MAUI for .NET 7 for iOS, Android app development
NET MAUI for .NET 7 for iOS, Android app development Shotaro Suzuki
 
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのかC#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのかYoshifumi Kawai
 
モバイルコンテンツ制作を効 率化するツールを使いこなせ
モバイルコンテンツ制作を効 率化するツールを使いこなせモバイルコンテンツ制作を効 率化するツールを使いこなせ
モバイルコンテンツ制作を効 率化するツールを使いこなせKeisuke Todoroki
 
ネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConViewネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConViewRakuten Group, Inc.
 
Mtddc hokkaido-2010-ideamans-session
Mtddc hokkaido-2010-ideamans-sessionMtddc hokkaido-2010-ideamans-session
Mtddc hokkaido-2010-ideamans-sessionKunihiko Miyanaga
 
Webエンジニアによるスマートフォンアプリ開発
Webエンジニアによるスマートフォンアプリ開発Webエンジニアによるスマートフォンアプリ開発
Webエンジニアによるスマートフォンアプリ開発takeuchi-tk
 
Silverlight Line-Of-Business Applications
Silverlight Line-Of-Business ApplicationsSilverlight Line-Of-Business Applications
Silverlight Line-Of-Business ApplicationsYuya Yamaki
 

Similar to HTML5@iPhoneゲーム開発 (20)

20110212 Silverlight から Bing Maps に触れる
20110212 Silverlight から Bing Maps に触れる20110212 Silverlight から Bing Maps に触れる
20110212 Silverlight から Bing Maps に触れる
 
Silverlight to Next オンライン セミナー
Silverlight to Next オンライン セミナーSilverlight to Next オンライン セミナー
Silverlight to Next オンライン セミナー
 
【Unite 2018 Tokyo】Windows Mixed Reality 最新アプリ開発情報 ~HoloLens からVRまで~
【Unite 2018 Tokyo】Windows Mixed Reality 最新アプリ開発情報 ~HoloLens からVRまで~【Unite 2018 Tokyo】Windows Mixed Reality 最新アプリ開発情報 ~HoloLens からVRまで~
【Unite 2018 Tokyo】Windows Mixed Reality 最新アプリ開発情報 ~HoloLens からVRまで~
 
MTセミナー2011/2/21 アイデアマンズ株式会社
MTセミナー2011/2/21 アイデアマンズ株式会社MTセミナー2011/2/21 アイデアマンズ株式会社
MTセミナー2011/2/21 アイデアマンズ株式会社
 
インフラジスティックスが提供するクロスプラットフォーム対応データ視覚化コンポーネント
インフラジスティックスが提供するクロスプラットフォーム対応データ視覚化コンポーネント インフラジスティックスが提供するクロスプラットフォーム対応データ視覚化コンポーネント
インフラジスティックスが提供するクロスプラットフォーム対応データ視覚化コンポーネント
 
スマ研第2回レポート
スマ研第2回レポートスマ研第2回レポート
スマ研第2回レポート
 
F-site発表資料「Flashユーザーが今覚えておきたいHTML5」
F-site発表資料「Flashユーザーが今覚えておきたいHTML5」F-site発表資料「Flashユーザーが今覚えておきたいHTML5」
F-site発表資料「Flashユーザーが今覚えておきたいHTML5」
 
インタラクティブコンテンツにおけるHTML5とFlash
インタラクティブコンテンツにおけるHTML5とFlashインタラクティブコンテンツにおけるHTML5とFlash
インタラクティブコンテンツにおけるHTML5とFlash
 
2022.04.23 .NET 6 -7 時代のデスクトップ アプリケーション開発
2022.04.23 .NET 6 -7 時代のデスクトップ アプリケーション開発2022.04.23 .NET 6 -7 時代のデスクトップ アプリケーション開発
2022.04.23 .NET 6 -7 時代のデスクトップ アプリケーション開発
 
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
 
HTML5開発最前線
HTML5開発最前線HTML5開発最前線
HTML5開発最前線
 
Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。
 
Silverlightの今
Silverlightの今Silverlightの今
Silverlightの今
 
NET MAUI for .NET 7 for iOS, Android app development
 NET MAUI for .NET 7 for iOS, Android app development  NET MAUI for .NET 7 for iOS, Android app development
NET MAUI for .NET 7 for iOS, Android app development
 
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのかC#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのか
 
モバイルコンテンツ制作を効 率化するツールを使いこなせ
モバイルコンテンツ制作を効 率化するツールを使いこなせモバイルコンテンツ制作を効 率化するツールを使いこなせ
モバイルコンテンツ制作を効 率化するツールを使いこなせ
 
ネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConViewネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConView
 
Mtddc hokkaido-2010-ideamans-session
Mtddc hokkaido-2010-ideamans-sessionMtddc hokkaido-2010-ideamans-session
Mtddc hokkaido-2010-ideamans-session
 
Webエンジニアによるスマートフォンアプリ開発
Webエンジニアによるスマートフォンアプリ開発Webエンジニアによるスマートフォンアプリ開発
Webエンジニアによるスマートフォンアプリ開発
 
Silverlight Line-Of-Business Applications
Silverlight Line-Of-Business ApplicationsSilverlight Line-Of-Business Applications
Silverlight Line-Of-Business Applications
 

Recently uploaded

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (9)

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 

HTML5@iPhoneゲーム開発

  • 1. HTML5@iPhoneゲーム開発 株式会社DeNA ソーシャルメディア事業本部 ソーシャルゲーム統括部スマートフォン開発グループ 岸 弘倫<kishi dot hiromichi at dena dot jp> DeNA Technology Seminar #3 1
  • 2. 自己紹介 ‣ 2009年DeNAに入社 – モバゲーの3Dアバター関連開発 – iアプリ開発 – 子会社のMiniNationにて海外向けのiPhoneアプリ 開発 ‣ 現在 – iPhone・Androidアプリ開発 DeNA Technology Seminar #3 2
  • 3. 本日の 本日の内容 ‣ MiniNationからリリースしたiPhoneゲーム 「Pirate Nation」 ‣ HTML, CSS, Javascriptで主に開発 ‣ 今日は開発で得たノウハウについて話します。 – ゲームというよりHTML5でのiPhoneアプリ開発に ついてがメインです。 DeNA Technology Seminar #3 3
  • 4. Pirate Nationについて DeNA Technology Seminar #3 4
  • 5. Pirate Nation ‣ モバゲー「海賊トレジャー」のiPhone移植版 – スマートフォンに合わせてデザイン一新 – 海外ユーザ向けにシステム見直し ‣ 8/30からApp Storeで提供開始 ‣ US App StoreのTop Freeで最高3位 DeNA Technology Seminar #3 5
  • 6. Web技術でiPhoneゲーム開発 Web技術でiPhoneゲーム開発 技術 ゲーム ‣ Pirate NationはUIWebViewを使ってWebベー スで開発 ‣ UIWebView – iPhoneアプリ上でHTMLレンダリングするView – 標準で利用可能 – Mobile Safariと同じWebKit – 早い話が俺俺ブラウザをiPhoneアプリで簡単に 作ることのできる便利なView ※AndroidもWebViewという同機能のViewが提供 DeNA Technology Seminar #3 6
  • 7. Web技術ベースの Web技術ベースのFW/PF 技術ベース ‣ Titanium Mobile – http://www.appcelerator.com/products/titanium -mobile-application-development/ ‣ PhoneGap – http://www.phonegap.com/ ‣ Pirate Nationで採用しなかった理由(4月頃): – iOS4の規約変更 – 採用事例の少なさ – ゲーム開発向けではない DeNA Technology Seminar #3 7
  • 8. Webサイトとして提供しなかった理由 Webサイトとして提供しなかった理由 サイトとして提供しなかった ‣ Webベースで開発するならWebサイトとして公 開すればよいのでは? ↓ ‣ アプリを主体に使うiPhoneユーザのスタイル ‣ Mobile Safariだけでは実現できない機能 ‣ App Storeという強力な導線 DeNA Technology Seminar #3 8
  • 9. Objective- Objective-C側で実装した機能 実装した機能 した ‣ Audio ‣ 加速度センサー ‣ ページ遷移のトランジション ‣ リソースのキャッシュ – キャッシュ制御のためmanifest未使用 ‣ セキュリティ強化 ‣ Push Notification ‣ App Storeのアプリ内課金システム (In App Purchase) DeNA Technology Seminar #3 9
  • 10. iPhone Web開発 DeNA Technology Seminar #3 10
  • 11. HTML5と HTML5とCSS3 ‣ iPhone(Webkit)に絞ることでクロスブラウザを意識せ ずに開発可能 ‣ HTML5 – inputのtypeの追加とValidation – ローカルストレージ(今回は未使用) ‣ CSS3 – CSSセレクタの追加 – 角丸、影、グラデーション、透明度などの指定 – transform(translate, scale, rotate, skewなど)の指定 – CSSアニメーション DeNA Technology Seminar #3 11
  • 12. CSSアニメーション CSSアニメーション ‣ HTML要素をCSSで指定してアニメーションさ せる仕様 ‣ iPhoneのCSSアニメーションは高速 – (webkit-transformと組み合わせた場合) – iPhone3G対応で活躍 • DOM操作だとガクガク →上記を利用することで滑らかに ‣ アニメーション途中の座標を取得できないの で当たり判定のある表現には向かない DeNA Technology Seminar #3 12
  • 13. CSSアニメーション例 CSSアニメーション例1 アニメーション div { opacity: 1; -webkit-transition: opacity 1s linear; } div:hover { opacity: 0; } DeNA Technology Seminar #3 13
  • 14. CSSアニメーション例 CSSアニメーション例2 アニメーション div { -webkit-transition: 1s ease-in-out; -webkit-animation-name: anime; } // キーフレームでの指定も可能 @-webkit-keyframes anime { 0%{ -webkit-transform: translate(10px, 10px); } 50%{ -webkit-transform: rotate(90deg); } 100% { -webkit-transform: scale(2); } } DeNA Technology Seminar #3 14
  • 15. iPhone開発の iPhone開発のTips 開発 ‣ clickイベントの検知は遅いのでtouchstart, touchendを使う ‣ position: fixedが使えない – WindowではなくViewportにfixされるため ‣ iframe内のスクロール方法が異なる – 2本指でフリックでスクロール DeNA Technology Seminar #3 15
  • 16. (おまけ)ページの一部を固定する おまけ)ページの一部を固定する ‣ iPhone, iPadだとヘッダやフッタを固定するよ うなレイアウトの表現が難しい ‣ 「iScroll」 – http://cubiq.org/iscroll – iPhone, iPadでもフリックしたときの動きをシミュ レートしてposition:fixedなレイアウト実現 – オプションも豊富 DeNA Technology Seminar #3 16
  • 18. 海賊トレジャー移植の 海賊トレジャー移植の問題点 トレジャー移植 ‣ 「海賊トレジャー」はFlashミニゲームが特徴 – 大砲バトル、サルベージ ⇒iPhoneはFlash Playerが未搭載 ‣ Flashゲームをどう実現するか? – 変更の容易性・即時性 大砲バトル – 複数プラットフォームへの展開 DeNA Technology Seminar #3 18 サルベージ
  • 19. Flash代替案 Flash代替案 ‣ Objective-C(OpenGL) ⇒開発コスト、変更コスト、移植性が問題 ‣ Flash CS5のiPhoneアプリ変換機能 ⇒規約変更に伴い選択肢からなくなる ‣ Canvas, SVG ⇒調査した結果そこそこのパフォーマンスが出た Canvasを採用 DeNA Technology Seminar #3 19
  • 20. Canvasとは Canvasとは ‣ CanvasとはJavascriptベースでブラウザ上に 図を描画するための仕様 – DOM操作と異なりフレーム単位で画面を再描画 ‣ 大砲バトルとサルベージをCanvasで実装 DeNA Technology Seminar #3 20
  • 22. Canvasの Canvasの性能 Canvasベンチマーク 80.0 70.0 Frame Per Second 60.0 50.0 iPhone3G iPhone3GS 40.0 iPhone4 30.0 iPhone4(Viewport修正) 20.0 10.0 0.0 1 10 20 30 40 50 描画画像数 ‣ iPhone4が遅い ※Canvas上に適当な画像を描画するだけのプログラムで計測 – 原因1:Viewportの設定(表示の拡大処理が遅い) ⇒ディスプレイサイズに合わせて画像とcanvasを修正 – 原因2:Retinaディスプレイの解像度が高すぎる →上位機種で必ずしもパフォーマンスが良くなるとは限らない DeNA Technology Seminar #3 22
  • 23. Canvas高速化Tips Canvas高速化Tips 高速化 ‣ 座標や幅・高さの指定はintにする ‣ parseIntは使わない ‣ new Date()ではなくDate.now()を使う ‣ 描画がネックの場合画像の解像度を落とす ‣ HTML要素とCSSアニメーションを併用(後述) DeNA Technology Seminar #3 23
  • 24. CanvasとHTML+CSSアニメーション CanvasとHTML+CSSアニメーション ‣ Canvas – フレームごとの当たり判定や描画タイミングの制御可能 – 高レベルなアニメーション指定、画面の一部のみを再描 画する機能はない ‣ HTML+CSSアニメーション – 高レベルな指定方法を提供、高速 – フレームごとの制御や描画タイミングの指定ができない ‣ 両者の得意な部分を担当する DeNA Technology Seminar #3 24
  • 25. HTML要素とCSSアニメーションを HTML要素とCSSアニメーションを併用 要素 アニメーション ‣ 動きのない画像はHTML要素を重ねて表示 – Canvasへの描画に掛かる時間を減らす ‣ 決まった動きをするものはHTML要素+CSSアニ メーションを利用 – CSSアニメーションで動かすほうが高速 – 高レベルな動作の指定ができる ‣ その他 – Canvas要素に動きを指定して画面を揺らす – 塗り潰した要素を重ねて画面効果 DeNA Technology Seminar #3 25
  • 26. 例:動きの少ない部分をHTML要素として表示 きの少ない部分をHTML要素として表示 部分 要素として div要素で表現し、値によって webkit-transform: scaleでバーを制御 ユーザが画面をタップしたときに Img要素を重ね、webkit-transform: rotateで 向きを変えるのみ。 方向を回転させる DeNA Technology Seminar #3 26
  • 27. 例:CSSアニメーションを利用 CSSアニメーションを アニメーション CSSアニメーションのキーフレームを 使って動きを定義。 パフォーマンスが良くなる他、 細かい動きの表現や変更にも強くなる DeNA Technology Seminar #3 27
  • 28. Canvasのメリット/デメリット DeNA Technology Seminar #3 28
  • 29. Canvasの Canvasのメリット ‣ 開発環境の準備が楽 – ブラウザですぐ確認可能 ‣ Javascriptなので覚えることが少ない ‣ 既存のHTML要素との併用が容易 DeNA Technology Seminar #3 29
  • 30. Canvasの Canvasのデメリット ‣ 描画速度がネックで表現に限界 – フィーチャーフォンのFlashゲーム+αぐらいなら実現 可能 ‣ 世代間のパフォーマンス差が激しい ‣ その他、Android 2.1系のCanvasの基本APIにバ グがあり、移植をする上でも問題 ↓ 総合的に見ると現状はスマートフォン向けゲー ム開発の選択肢としてあまりオススメできない DeNA Technology Seminar #3 30
  • 31. Pirate Nationリリースを通して DeNA Technology Seminar #3 31
  • 32. Webベースにして良かった点 Webベースにして良かった点 ベースにして ‣ ユーザの反応を見て改良を即座に反映 – アプリ再申請すると審査が終わるまで1-2週間 ⇒Webだと即座に更新可能、出しわけ可能 ‣ ゲームのバージョンの差異がない ‣ イベントなど新機能追加の容易さ – 例:期間限定セール、ハロウィンイベント DeNA Technology Seminar #3 32
  • 33. 現在の 現在の課題 ‣ Canvasの描画速度 – 描画速度がボトルネック – アクション性の強いゲーム表現には限界がある ‣ サーバへのリクエストを減らす – リクエストのたびにウェイトの発生 ⇒他のアプリと比べてストレスが大きい – 世界的にはネットワークが不安定な環境も多く、 処理をクライアントに寄せる工夫が必要 DeNA Technology Seminar #3 33
  • 34. ご清聴ありがとうございました DeNA Technology Seminar #3 34