Mais conteúdo relacionado
Semelhante a [CEDEC2014]モバイルゲームにおける社内基盤開発と“実録” (20)
Mais de Drecom Co., Ltd. (15)
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
- 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. Copyright Drecom Co., Ltd. All Rights Reserved.
3
⾃自⼰己紹介
• 株式会社ドリコム
SG事業本部 開発部 マネージャー
川上 知成(ともふさ)
• Role:
– ネイティブ/ゲーム開発管理理
基盤統括
• Ability:
– Web(App〜~Middle) / PM
– ゲーム(国内サッカー系)
– 料料理理
- 7. Copyright Drecom Co., Ltd. All Rights Reserved.
7
⽬目次
1. 発表の前に
2. フレームワーク開発と事例例紹介
– Bisque開発の経緯と設計
– クロスプラットフォーム対応
– 設計事例例
3. 基盤機能開発と事例例紹介
– 抽象化設計
– 難読化アルゴリズムについて
– 運⽤用の柔軟性を実現するアーカイブ実装
– 対応プラットフォーム
4. まとめ
- 8. Copyright Drecom Co., Ltd. All Rights Reserved.
8
⾃自⼰己紹介
• 株式会社ドリコム
SG事業本部 開発部 アーキテクト
⽊木元 将輝
• Role:
– ゲーム基盤開発
• Ability:
– コンシューマゲーム開発
– ゲーム(FPS系)
– PCゲーム
- 13. Copyright Drecom Co., Ltd. All Rights Reserved.
13
iOS
Android
それぞれのプラットフォームに対する開発
開発コスト
運用コスト
クオリティ
開発コスト
運用コスト
クオリティ
- 17. Copyright Drecom Co., Ltd. All Rights Reserved.
17
クロスプラットフォーム
ゲームエンジンへの期待
レスポンス
低スペック
実装/修正
学習コスト
ロード時間
- 18. Copyright Drecom Co., Ltd. All Rights Reserved.
18
クロスプラットフォーム
ゲームエンジンへの期待
実装/修正
学習コスト
小さく、軽く
Android
2.x
- 19. Copyright Drecom Co., Ltd. All Rights Reserved.
19
既存ゲームエンジンを採用した独自フレームワーク
クロスプラットフォーム対応フレームワーク
アプリケーション
iOS
Android
既存ゲームエンジン
- 20. Copyright Drecom Co., Ltd. All Rights Reserved.
20
Cocos2d-‐xを既存ゲームエンジンとして採用
クロスプラットフォーム対応フレームワーク
iOS
Android
アプリケーション
- 21. Copyright Drecom Co., Ltd. All Rights Reserved.
21
採用の基準
クロスプラットフォーム開発が可能
独自に実装、修正が可能 ※
学習コストを低く抑える事が可能 ※
- 24. Copyright Drecom Co., Ltd. All Rights Reserved.
24
Bisqueでのクロスプラットフォーム対応
Bisque
OpenGL
抽象化レイヤー
OS固有
抽象化レイヤー
- 25. Copyright Drecom Co., Ltd. All Rights Reserved.
25
描画システム
Bisqueでのクロスプラットフォーム対応
Bisque
OpenGL
抽象化レイヤー
OS固有
抽象化レイヤー
- 26. Copyright Drecom Co., Ltd. All Rights Reserved.
26
固有機能
描画システム
Bisqueでのクロスプラットフォーム対応
OpenGL
抽象化レイヤー
Bisque
OS固有
抽象化レイヤー
- 27. Copyright Drecom Co., Ltd. All Rights Reserved.
27
固有機能
描画システム
Bisqueでのクロスプラットフォーム対応
OpenGL
抽象化レイヤー
Bisque
OS固有
抽象化レイヤー
- 28. Copyright Drecom Co., Ltd. All Rights Reserved.
28
Bisque
Bisqueでのクロスプラットフォーム対応
Android
Implement
iOS
Implement
JNI
ObjecGve-‐C++
- 30. Copyright Drecom Co., Ltd. All Rights Reserved.
30
Bisqueでのクロスプラットフォーム対応
Bisque
C++インターフェース
アプリケーション(C++)
- 31. Copyright Drecom Co., Ltd. All Rights Reserved.
31
Bisqueでのクロスプラットフォーム対応
・View
・タッチ
・課金
・通知
・ファイル
・ネットワーク
・データベース
・サウンド
・ライブラリ拡張
・ツール拡張
・組み込み
プラットフォーム毎に実装/拡張
Bisqueにて抽象化
- 33. Copyright Drecom Co., Ltd. All Rights Reserved.
33
・UIとタッチ制御の拡張 ・カスタムフォントの装飾
・端末間の描画サイクル ・スレッド間制御
・環境設定とビルドスクリプト ・WebView
・外部ライブラリの拡張 ・端末間のスクリーンサイズ
・Cocos2d-‐xのバージョン差異 ・Bisqueのアップデート
Bisqueでのクロスプラットフォーム対応
iOS/Androidのクロスプラットフォーム対応での問題
- 34. Copyright Drecom Co., Ltd. All Rights Reserved.
34
・UIとタッチ制御の拡張 ・カスタムフォントの装飾
・端末間の描画サイクル ・スレッド間制御
・環境設定とビルドスクリプト ・WebView
・外部ライブラリの拡張 ・端末間のスクリーンサイズ
・Cocos2d-‐xのバージョン差異 ・Bisqueのアップデート
Bisqueでのクロスプラットフォーム対応
iOS/Androidのクロスプラットフォーム対応での問題
- 38. Copyright Drecom Co., Ltd. All Rights Reserved.
38
Bisqueでのクロスプラットフォーム対応
Bisque
アプリケーション
OK
iOS
performSelectorOnMainThread
dispatch_sync,
dispatch_async
- 39. Copyright Drecom Co., Ltd. All Rights Reserved.
39
Bisqueでのクロスプラットフォーム対応
Bisque
アプリケーション
OK
Android
runOnUiThread
Handler,
AsyncTask
※queueEvent(GL)
- 40. Copyright Drecom Co., Ltd. All Rights Reserved.
40
Bisqueでのクロスプラットフォーム対応
ネットワーク
サウンド
その他
iOS
Android
GL
メイン(UI)スレッド
Cocos-‐2d-‐x
Cocos-‐2d-‐x
メイン(UI)スレッド
- 41. Copyright Drecom Co., Ltd. All Rights Reserved.
41
Bisqueでのクロスプラットフォーム対応
ネットワーク
サウンド
その他
iOS
Android
GL
メイン(UI)スレッド
Cocos-‐2d-‐x
Cocos-‐2d-‐x
メイン(UI)スレッド
これらのスレッドからCocos2d-xの描画に関する
処理を呼び出す事で問題が発生
- 43. Copyright Drecom Co., Ltd. All Rights Reserved.
43
Bisqueでのクロスプラットフォーム対応
Bisque
アプリケーション
Main
or
GL
OK
BQHandler
OK
- 44. Copyright Drecom Co., Ltd. All Rights Reserved.
44
・ビュー
・タッチ
・課金
・通知
・ファイル
・ネットワーク
・データベース
・サウンド
・ライブラリ拡張
・ツール拡張
・組み込み
プラットフォーム毎に実装/拡張
Bisqueにて抽象化
Bisqueでのクロスプラットフォーム対応
- 45. Copyright Drecom Co., Ltd. All Rights Reserved.
45
⾃自⼰己紹介
• 株式会社ドリコム
SG事業本部 開発部 アーキテクト
市川 毅明
• Role:
– ゲーム・汎⽤用基盤開発
• Ability:
– サーバー・クライアント開発
– ゲーム(バイオハザード系)
– 釣り
- 49. Copyright Drecom Co., Ltd. All Rights Reserved.
49
Bisque
基盤開発の経緯
Cocos2D-‐xの下回りのパフォーマンスが芳しくなかった
OSSライセンス周りの問題
弊社アプリで必要とされる機能の補い
- 54. Copyright Drecom Co., Ltd. All Rights Reserved.
54
サウンド用I/F
OpenAL
OpenSL
/dev/audio
Xaudio2
下回りの実装は最適
なAPIを選択
アプリ開発者にはプラッ
トフォームを意識させな
い
- 60. Copyright Drecom Co., Ltd. All Rights Reserved.
60
難読化
+
アーカイブされたテクスチャー
CCFileUGl
(Cocos)のread()
難読化モジュールのread()
アーカイブモジュールのread()
透過的な難読化とアーカイブ
からの読み込みを実現
- 70. Copyright Drecom Co., Ltd. All Rights Reserved.
70
弊社非Cocosアプリ
PC向け内製ツール類
Bisque
スレッド
アーカイブ
難読化
ネットワーク
ライブラリールーチンとして
Bisque基盤を使用
- 71. Copyright Drecom Co., Ltd. All Rights Reserved.
71
サーバー(Ruby)
クライアント
bisque
難読化モジュール
bisque
難読化モジュール
全く同じコードから生成されるので
完全互換のデータ持ち回りを実現
- 72. Copyright Drecom Co., Ltd. All Rights Reserved.
72
72
Bisque
WorkstaGon
EdiGon(PC版)
かくして、単一ソースツリーから3つのエディションが誕生
Bisque
Bisque
Datacenter
EdiGon(サーバー版)
- 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. Copyright Drecom Co., Ltd. All Rights Reserved.
74
現段階で独自に実装した物
サウンドエンジン(バックエンドはOpenAL、OpenSL、Xudio2)
スレッド、I/O、低レベルソケット、高レベルネットワーク
アーカイブ
難読化アルゴリズム
x
4
簡易高速圧縮アルゴリズム
GPS、ジャイロ等のスマホ特有機能の抽象化
- 76. Copyright Drecom Co., Ltd. All Rights Reserved.
76
私達の作る社内フレームワーク「Bisque」と
いう名前に込めた意味として、
お皿・陶磁器・基盤そのもの があります。
お皿がどんなによく出来ていようとも、
綺麗にできていても…、
- 77. Copyright Drecom Co., Ltd. All Rights Reserved.
77
美味しい料理が乗らなければ、
お客さまに召し上がっていただけない。
つまり、面白い・楽しいゲームが
作れてはじめて評価される
- 78. Copyright Drecom Co., Ltd. All Rights Reserved.
78
これからも 美味しい料理が作れるように、
魅力的な外部技術を取り入れ、
弊社独自の技術を組み合わせ、
より柔軟で強固な基盤開発を実施したい
- 79. Copyright Drecom Co., Ltd. All Rights Reserved.
79
まとめ
• フレームワーク開発と事例例紹介
– Bisque開発の経緯と設計
– クロスプラットフォーム対応
– 設計事例例
• 基盤機能開発と事例例紹介
– 抽象化設計
– 難読化アルゴリズムについて
– 運⽤用の柔軟性を実現するアーカイブ実装
– 対応プラットフォーム