Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
フライングゲットガチャ セミナー資料
Next
Download to read offline and view in fullscreen.

Share

[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”

Download to read offline

Presentation slide at CEDEC2014.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”

  1. 1. Copyright Drecom Co., Ltd. All Rights Reserved. 1 モバイルゲームにおける 社内基盤開発と“実録” 株式会社ドリコム 川上  知成 ⽊木元  将輝 市川  毅明
  2. 2. Copyright Drecom Co., Ltd. All Rights Reserved. 2 会社概要 社名:   証券コード:   本社:     電話番号:   社員数:   設立年月日:   資本金:     事業内容:             株式会社ドリコム   3793 東証マザーズ   〒153-­‐0064   東京都目黒区下目黒1丁目8-­‐1 アルコタワー17F TEL:03-­‐6682-­‐5700 FAX:03-­‐6682-­‐5711   239名 (正社員・契約社員のみ) 2001年11月13日   1,124百万円     ソーシャルゲーム事業   ソーシャルラーニング事業   アドソリューション事業    
  3. 3. Copyright Drecom Co., Ltd. All Rights Reserved. 3 ⾃自⼰己紹介 •  株式会社ドリコム SG事業本部  開発部  マネージャー 川上  知成(ともふさ) •  Role: –  ネイティブ/ゲーム開発管理理 基盤統括 •  Ability: –  Web(App〜~Middle)  /  PM –  ゲーム(国内サッカー系) –  料料理理
  4. 4. Copyright Drecom Co., Ltd. All Rights Reserved. 4 Game  .?
  5. 5. Copyright Drecom Co., Ltd. All Rights Reserved. 5 iOS ? Android A B C A B C
  6. 6. Copyright Drecom Co., Ltd. All Rights Reserved. 6 Bisque
  7. 7. Copyright Drecom Co., Ltd. All Rights Reserved. 7 ⽬目次 1.  発表の前に 2.  フレームワーク開発と事例例紹介 –  Bisque開発の経緯と設計 –  クロスプラットフォーム対応 –  設計事例例 3.  基盤機能開発と事例例紹介 –  抽象化設計 –  難読化アルゴリズムについて –  運⽤用の柔軟性を実現するアーカイブ実装 –  対応プラットフォーム 4.  まとめ
  8. 8. Copyright Drecom Co., Ltd. All Rights Reserved. 8 ⾃自⼰己紹介 •  株式会社ドリコム SG事業本部  開発部  アーキテクト ⽊木元  将輝 •  Role: –  ゲーム基盤開発 •  Ability: –  コンシューマゲーム開発 –  ゲーム(FPS系) –  PCゲーム
  9. 9. Copyright Drecom Co., Ltd. All Rights Reserved. 9 ■  Bisque開発の経緯と設計  
  10. 10. Copyright Drecom Co., Ltd. All Rights Reserved. 10
  11. 11. Copyright Drecom Co., Ltd. All Rights Reserved. 11
  12. 12. Copyright Drecom Co., Ltd. All Rights Reserved. 12 「神縛のレインオブドラゴン」   Web  +  NaGve   ハイブリッド  
  13. 13. Copyright Drecom Co., Ltd. All Rights Reserved. 13 iOS Android それぞれのプラットフォームに対する開発   開発コスト   運用コスト   クオリティ   開発コスト   運用コスト   クオリティ  
  14. 14. Copyright Drecom Co., Ltd. All Rights Reserved. 14 iOS Android クロスプラットフォーム化へ   開発コスト   運用コスト   クオリティ  
  15. 15. Copyright Drecom Co., Ltd. All Rights Reserved. 15 ゲームエンジンへの期待   クロスプラットフォーム
  16. 16. Copyright Drecom Co., Ltd. All Rights Reserved. 16 クロスプラットフォーム ゲームエンジンへの期待   実装/修正 学習コスト
  17. 17. Copyright Drecom Co., Ltd. All Rights Reserved. 17 クロスプラットフォーム ゲームエンジンへの期待   レスポンス 低スペック 実装/修正 学習コスト ロード時間
  18. 18. Copyright Drecom Co., Ltd. All Rights Reserved. 18 クロスプラットフォーム ゲームエンジンへの期待   実装/修正 学習コスト 小さく、軽く Android  2.x
  19. 19. Copyright Drecom Co., Ltd. All Rights Reserved. 19 既存ゲームエンジンを採用した独自フレームワーク   クロスプラットフォーム対応フレームワーク アプリケーション iOS Android 既存ゲームエンジン
  20. 20. Copyright Drecom Co., Ltd. All Rights Reserved. 20 Cocos2d-­‐xを既存ゲームエンジンとして採用   クロスプラットフォーム対応フレームワーク iOS Android アプリケーション
  21. 21. Copyright Drecom Co., Ltd. All Rights Reserved. 21 採用の基準   クロスプラットフォーム開発が可能 独自に実装、修正が可能 ※   学習コストを低く抑える事が可能 ※  
  22. 22. Copyright Drecom Co., Ltd. All Rights Reserved. 22 ■クロスプラットフォーム対応  
  23. 23. Copyright Drecom Co., Ltd. All Rights Reserved. 23 Bisqueでのクロスプラットフォーム対応   Bisque  
  24. 24. Copyright Drecom Co., Ltd. All Rights Reserved. 24 Bisqueでのクロスプラットフォーム対応   Bisque   OpenGL   抽象化レイヤー   OS固有   抽象化レイヤー
  25. 25. Copyright Drecom Co., Ltd. All Rights Reserved. 25             描画システム   Bisqueでのクロスプラットフォーム対応   Bisque   OpenGL   抽象化レイヤー   OS固有   抽象化レイヤー
  26. 26. Copyright Drecom Co., Ltd. All Rights Reserved. 26             固有機能               描画システム   Bisqueでのクロスプラットフォーム対応   OpenGL   抽象化レイヤー   Bisque   OS固有   抽象化レイヤー
  27. 27. Copyright Drecom Co., Ltd. All Rights Reserved. 27             固有機能               描画システム   Bisqueでのクロスプラットフォーム対応   OpenGL   抽象化レイヤー   Bisque   OS固有   抽象化レイヤー
  28. 28. Copyright Drecom Co., Ltd. All Rights Reserved. 28 Bisque   Bisqueでのクロスプラットフォーム対応   Android Implement iOS Implement JNI ObjecGve-­‐C++  
  29. 29. Copyright Drecom Co., Ltd. All Rights Reserved. 29 Bisqueでのクロスプラットフォーム対応   Bisque   アプリケーション
  30. 30. Copyright Drecom Co., Ltd. All Rights Reserved. 30 Bisqueでのクロスプラットフォーム対応   Bisque   C++インターフェース アプリケーション(C++)
  31. 31. Copyright Drecom Co., Ltd. All Rights Reserved. 31 Bisqueでのクロスプラットフォーム対応   ・View   ・タッチ   ・課金   ・通知   ・ファイル   ・ネットワーク   ・データベース   ・サウンド   ・ライブラリ拡張   ・ツール拡張   ・組み込み   プラットフォーム毎に実装/拡張   Bisqueにて抽象化  
  32. 32. Copyright Drecom Co., Ltd. All Rights Reserved. 32 ■設計事例  
  33. 33. Copyright Drecom Co., Ltd. All Rights Reserved. 33   ・UIとタッチ制御の拡張 ・カスタムフォントの装飾   ・端末間の描画サイクル ・スレッド間制御   ・環境設定とビルドスクリプト ・WebView   ・外部ライブラリの拡張 ・端末間のスクリーンサイズ   ・Cocos2d-­‐xのバージョン差異 ・Bisqueのアップデート   Bisqueでのクロスプラットフォーム対応   iOS/Androidのクロスプラットフォーム対応での問題  
  34. 34. Copyright Drecom Co., Ltd. All Rights Reserved. 34   ・UIとタッチ制御の拡張 ・カスタムフォントの装飾   ・端末間の描画サイクル ・スレッド間制御    ・環境設定とビルドスクリプト ・WebView   ・外部ライブラリの拡張 ・端末間のスクリーンサイズ   ・Cocos2d-­‐xのバージョン差異 ・Bisqueのアップデート   Bisqueでのクロスプラットフォーム対応   iOS/Androidのクロスプラットフォーム対応での問題  
  35. 35. Copyright Drecom Co., Ltd. All Rights Reserved. 35 Bisqueでのクロスプラットフォーム対応   Bisque  
  36. 36. Copyright Drecom Co., Ltd. All Rights Reserved. 36 Bisqueでのクロスプラットフォーム対応   Bisque   アプリケーション
  37. 37. Copyright Drecom Co., Ltd. All Rights Reserved. 37 Bisqueでのクロスプラットフォーム対応   Bisque   アプリケーション 致命的な問題
  38. 38. Copyright Drecom Co., Ltd. All Rights Reserved. 38 Bisqueでのクロスプラットフォーム対応   Bisque   アプリケーション OK iOS     performSelectorOnMainThread   dispatch_sync,  dispatch_async
  39. 39. Copyright Drecom Co., Ltd. All Rights Reserved. 39 Bisqueでのクロスプラットフォーム対応   Bisque   アプリケーション OK Android     runOnUiThread   Handler,  AsyncTask   ※queueEvent(GL)
  40. 40. Copyright Drecom Co., Ltd. All Rights Reserved. 40 Bisqueでのクロスプラットフォーム対応   ネットワーク サウンド その他 iOS Android GL メイン(UI)スレッド   Cocos-­‐2d-­‐x   Cocos-­‐2d-­‐x   メイン(UI)スレッド  
  41. 41. Copyright Drecom Co., Ltd. All Rights Reserved. 41 Bisqueでのクロスプラットフォーム対応   ネットワーク サウンド その他 iOS Android GL メイン(UI)スレッド   Cocos-­‐2d-­‐x   Cocos-­‐2d-­‐x   メイン(UI)スレッド   これらのスレッドからCocos2d-xの描画に関する 処理を呼び出す事で問題が発生
  42. 42. Copyright Drecom Co., Ltd. All Rights Reserved. 42 Bisqueでのクロスプラットフォーム対応   Bisque   アプリケーション ?? OK
  43. 43. Copyright Drecom Co., Ltd. All Rights Reserved. 43 Bisqueでのクロスプラットフォーム対応   Bisque   アプリケーション Main  or  GL OK BQHandler   OK
  44. 44. Copyright Drecom Co., Ltd. All Rights Reserved. 44 ・ビュー   ・タッチ   ・課金   ・通知   ・ファイル   ・ネットワーク   ・データベース   ・サウンド   ・ライブラリ拡張   ・ツール拡張   ・組み込み   プラットフォーム毎に実装/拡張   Bisqueにて抽象化   Bisqueでのクロスプラットフォーム対応  
  45. 45. Copyright Drecom Co., Ltd. All Rights Reserved. 45 ⾃自⼰己紹介 •  株式会社ドリコム SG事業本部  開発部  アーキテクト 市川  毅明 •  Role: –  ゲーム・汎⽤用基盤開発 •  Ability: –  サーバー・クライアント開発 –  ゲーム(バイオハザード系) –  釣り
  46. 46. Copyright Drecom Co., Ltd. All Rights Reserved. 46 Bisque  基盤  
  47. 47. Copyright Drecom Co., Ltd. All Rights Reserved. 47
  48. 48. Copyright Drecom Co., Ltd. All Rights Reserved. 48 アプリケーション Cocos2D-­‐X 内製ライブラリー 抽象化レイヤー 各プラットフォーム
  49. 49. Copyright Drecom Co., Ltd. All Rights Reserved. 49 Bisque  基盤開発の経緯   Cocos2D-­‐xの下回りのパフォーマンスが芳しくなかった   OSSライセンス周りの問題   弊社アプリで必要とされる機能の補い  
  50. 50. Copyright Drecom Co., Ltd. All Rights Reserved. 50 Cocos  からの独立  
  51. 51. Copyright Drecom Co., Ltd. All Rights Reserved. 51 抽象化設計  
  52. 52. Copyright Drecom Co., Ltd. All Rights Reserved. 52 One  and  Half  設計
  53. 53. Copyright Drecom Co., Ltd. All Rights Reserved. 53 柔軟な上部   (ライブラリー層) 強靭な設計の根元   (抽象化レイヤー)
  54. 54. Copyright Drecom Co., Ltd. All Rights Reserved. 54 サウンド用I/F OpenAL OpenSL /dev/audio Xaudio2 下回りの実装は最適 なAPIを選択   アプリ開発者にはプラッ トフォームを意識させな い  
  55. 55. Copyright Drecom Co., Ltd. All Rights Reserved. 55 難読化アルゴリズムについて  
  56. 56. Copyright Drecom Co., Ltd. All Rights Reserved. 56
  57. 57. Copyright Drecom Co., Ltd. All Rights Reserved. 57 運用の柔軟性を実現するアーカイブ実装  
  58. 58. Copyright Drecom Co., Ltd. All Rights Reserved. 58 アプリ開発者に #ifdef  (プラットフォーム)  を書かせない
  59. 59. Copyright Drecom Co., Ltd. All Rights Reserved. 59 read() 通常のファイル 難読化ファイル ネットワーク アーカイブ 裏では・・・ I/Fは同じ
  60. 60. Copyright Drecom Co., Ltd. All Rights Reserved. 60 難読化  +    アーカイブされたテクスチャー CCFileUGl  (Cocos)のread() 難読化モジュールのread() アーカイブモジュールのread() 透過的な難読化とアーカイブ からの読み込みを実現
  61. 61. Copyright Drecom Co., Ltd. All Rights Reserved. 61 アプリ SQLite 難読化モジュールの   read/writeコール ほぼI/Oフックで実現
  62. 62. Copyright Drecom Co., Ltd. All Rights Reserved. 62
  63. 63. Copyright Drecom Co., Ltd. All Rights Reserved. 63 初期データ 増分 増分 増分 増分
  64. 64. Copyright Drecom Co., Ltd. All Rights Reserved. 64 初期データ 増分
  65. 65. Copyright Drecom Co., Ltd. All Rights Reserved. 65 HTTP  圧縮   2,733,615  byte   サーバー上のサイズ   2,737,328  byte
  66. 66. Copyright Drecom Co., Ltd. All Rights Reserved. 66 ブロック暗号はgzip(LZ)と、とにかく相性が悪い!  
  67. 67. Copyright Drecom Co., Ltd. All Rights Reserved. 67 アーカイブ 難読化 圧縮 プレーン アプリに都合の良い形式で自 由にデータが作成出来る
  68. 68. Copyright Drecom Co., Ltd. All Rights Reserved. 68 対応プラットフォーム  
  69. 69. Copyright Drecom Co., Ltd. All Rights Reserved. 69 Bisuqe Cocos2D-­‐x 別エンジン
  70. 70. Copyright Drecom Co., Ltd. All Rights Reserved. 70 弊社非Cocosアプリ PC向け内製ツール類 Bisque スレッド アーカイブ 難読化 ネットワーク ライブラリールーチンとして   Bisque基盤を使用  
  71. 71. Copyright Drecom Co., Ltd. All Rights Reserved. 71 サーバー(Ruby) クライアント bisque  難読化モジュール bisque  難読化モジュール 全く同じコードから生成されるので   完全互換のデータ持ち回りを実現
  72. 72. Copyright Drecom Co., Ltd. All Rights Reserved. 72 72     Bisque  WorkstaGon  EdiGon(PC版)   かくして、単一ソースツリーから3つのエディションが誕生 Bisque Bisque  Datacenter  EdiGon(サーバー版)
  73. 73. Copyright Drecom Co., Ltd. All Rights Reserved. 73 ・Windows  Phone  8   ・iOS   ・Android   対応プラットフォーム(2014/09  現在) スマートフォン PC系 ・Windows  Vista以降   ・Windows  RT   ・Solaris  8以降   ・Linux  (kernel  2.6.32以降)   ・MacOS  10.5以降   ・OpenVMS  (VAXは無理)   ・*BSD  
  74. 74. Copyright Drecom Co., Ltd. All Rights Reserved. 74 現段階で独自に実装した物   サウンドエンジン(バックエンドはOpenAL、OpenSL、Xudio2)   スレッド、I/O、低レベルソケット、高レベルネットワーク   アーカイブ   難読化アルゴリズム  x  4   簡易高速圧縮アルゴリズム   GPS、ジャイロ等のスマホ特有機能の抽象化  
  75. 75. Copyright Drecom Co., Ltd. All Rights Reserved. 75 まとめ   設計しよう、あたなは世界を作るのです  
  76. 76. Copyright Drecom Co., Ltd. All Rights Reserved. 76 私達の作る社内フレームワーク「Bisque」と いう名前に込めた意味として、 お皿・陶磁器・基盤そのもの があります。 お皿がどんなによく出来ていようとも、 綺麗にできていても…、
  77. 77. Copyright Drecom Co., Ltd. All Rights Reserved. 77 美味しい料理が乗らなければ、 お客さまに召し上がっていただけない。 つまり、面白い・楽しいゲームが 作れてはじめて評価される
  78. 78. Copyright Drecom Co., Ltd. All Rights Reserved. 78 これからも 美味しい料理が作れるように、 魅力的な外部技術を取り入れ、 弊社独自の技術を組み合わせ、 より柔軟で強固な基盤開発を実施したい
  79. 79. Copyright Drecom Co., Ltd. All Rights Reserved. 79 まとめ •  フレームワーク開発と事例例紹介 –  Bisque開発の経緯と設計 –  クロスプラットフォーム対応 –  設計事例例 •  基盤機能開発と事例例紹介 –  抽象化設計 –  難読化アルゴリズムについて –  運⽤用の柔軟性を実現するアーカイブ実装 –  対応プラットフォーム
  80. 80. Copyright Drecom Co., Ltd. All Rights Reserved. 80 ご清聴ありがとうございました
  • understeer

    Oct. 8, 2014
  • aromamymori

    Oct. 3, 2014
  • t3oi3e

    Sep. 28, 2014

Presentation slide at CEDEC2014.

Views

Total views

2,922

On Slideshare

0

From embeds

0

Number of embeds

45

Actions

Downloads

20

Shares

0

Comments

0

Likes

3

×