Mais conteúdo relacionado
Semelhante a 全世界135か国に配信したレーシングゲーム『ACR DRIFT』の制作秘話と技術基盤の構築について (20)
全世界135か国に配信したレーシングゲーム『ACR DRIFT』の制作秘話と技術基盤の構築について
- 8. © CROOZ,Inc. 8
Racing category #1 88ヶ国
Game category #1 50ヶ国
Best New Games 全135ヶ国
Main Banner 欧州を中心に13ヶ国
AppStore ランキング / Feature
- 9. © CROOZ,Inc. 9
TECMO KOEI CANADA
「My Monster Rancher」(iOS/Android)
「トロイ無双」(PS3/XBOX360)
「無双OROCHI」(PSP)
コーエーテクモゲームス
「真・三國無双 Online」(Windows)
「真・三國無双」シリーズ(PS2)
セガ
「エターナルアルカディア」(Dreamcast)
「あつまれ!ぐるぐる温泉」(Dreamcast)
「サクラ大戦2」(セガ・サターン)
など
蛭田 健司
SAP事業本部
ゼネラルマネージャー
khiruta@crooz.co.jp
講演者紹介
- 49. ACR DRIFT
開発Kick Off
Unity 本格導入
Unity 試験導入
© CROOZ,Inc. 49
CROOZのネイティブアプリ開発史
2014/2/20
ACR DRIFT
Release
ACR DRIFT
テスト開始
2012年 2013年 2014年
- 50. Unity 導入の方針決定
Unity 本格導入
© CROOZ,Inc. 50
CROOZの開発体制変革の歴史
Unity 試験導入
開発者有志によるネイティブ自主勉強会開始
有志による日曜プログラミング会開始
Unity 統括部 新設
技術統括本部に統合
2012年 2013年 2014年
- 52. © CROOZ,Inc. 52
Unity を選定した理由
• ゲームエンジン単体だけでなく、統合開発環境
としての完成度が極めて高い。
• 整備済みの部品が多く、製造スピードが速い。
⇒長年独自で整備しているコンシューマ業界へのキャッチアップが容易
• GUIが充実しており、時間のかかる調整系作業を非エン
ジニアでも容易に行える。
• マルチプラットフォームに対応しており、ネイティブエ
ンジニアに求められるスキルセットを一本化できる。
職種関係なくゲーム制作のみに専念できる
- 53. © CROOZ,Inc. 53
Unity を選定した理由
Unity を全社導入を行う上での課題
• Unity を使いこなせる人員の教育体制。
• Native Code (特にAndroid) でどうしても記述しないと
実装できない部分の開発・保守体制。
• 統制および開発平準化のしにくさ。
⇒自由度が高い長所を生かしながらどのように規約を整備し守らせるか。
- 54. © CROOZ,Inc. 54
Unity を選定した理由
長所 自社における課題
・ IDEとしての完成度が高い
・ 立ち上げスピードが速い
・ 製造スピードが速い
・ スキルセットの一本化が可能
(ソフトウェア原価を下げれる)
・ 人員教育体制
当時はサーバエンジニアからのスキル転換
が中心であったために発生。
・ Native 固有(Android)実装
発生頻度が低く工数も短いが、スペシャリ
ストは必ず必要。
・ 統制および平準化
自由度、生産性を落とさずに平準化できる
仕組みが必要。
- 55. © CROOZ,Inc. 55
Unity を選定した理由
課題への対応方針
• Unity導入を加速するために、 Unity開発者の育成、開発
ルールなど整備する専門部門を新設。
• 上記部門内で生産性向上、開発平準化を目的としたフ
レームワーク『Native Venus』を整備。Native固有部分
についてもフレームワーク内で隠ぺい化。
• 現場は『Native Venus』を利用し、プロダクト開発のみ
に専念できる体制を整備。
- 56. © CROOZ,Inc. 56
現在の開発体制
SAP事業本部 技術統括本部
Native Framework
グループ
Web Framework
グループ
開発支援
グループ
Team
Zeus
(インフラ)
各
プ
ロ
ダ
ク
ト
チ
ー
ム
各
プ
ロ
ダ
ク
ト
チ
ー
ム
各
プ
ロ
ダ
ク
ト
チ
ー
ム
Team Venus
※2014年4月7日 時点
- 57. © CROOZ,Inc. 57
現在の開発体制
SAP事業本部 技術統括本部
Native Framework
グループ
Web Framework
グループ
開発支援
グループ
Team
Zeus
(インフラ)
各
プ
ロ
ダ
ク
ト
チ
ー
ム
各
プ
ロ
ダ
ク
ト
チ
ー
ム
各
プ
ロ
ダ
ク
ト
チ
ー
ム
Team Venus
※2014年4月7日 時点
プロダクトを企画開発し
売り上げを上げることに
特化したTeam
CROOZのビジネスを加速
させるための技術基盤を整
備するスペシャリスト集団
- 59. © CROOZ,Inc. 59
現在の開発体制
Native Framework Group
• 『Native Venus』の要求ヒヤリングおよび開発、導入サポート。
• ビジネスロジックの共通化。
• 各プロダクトTeamでは解決できない高度な技術課題の対応。
• Native エンジニア職種間の会議体の運営。
• Unity β バージョンの評価。
- 61. © CROOZ,Inc. 61
現在の開発体制
開発支援 Group
• プロジェクト管理、ソースコード管理ツールの運用。
• 各ゲームエンジンのシェア調査&レポーティング。
• 『Venus』の問い合わせおよび実装サポート。
• 社内開発ツールおよび体制の研修実施。
• エントリーレベルのエンジニア向けのスタートアップ研修実施。
- 64. © CROOZ,Inc. 64
第8回テックヒルズ
Games on the Cloud! 〜ゲームシステムをクラウドで〜
世界を代表するクラウドベンダー4社(AWS, IBM, Google, Microsoft)
が各社サービスの強や世界戦略の方向性、合わせてゲーム関連事例の
紹介を致します。
このイベントにCROOZの創業メンバーの一人でもあるTeam Zeusの
田沢が「クラウドベース世界配信ゲームの理想と現実」について登壇
致します。
詳細は「テックヒルズ」で検索!
- 67. © CROOZ,Inc. 67
現在の開発体制
SAP事業本部 技術統括本部
Native Framework
グループ
Web Framework
グループ
開発支援
グループ
Team
Zeus
各
プ
ロ
ダ
ク
ト
チ
ー
ム
各
プ
ロ
ダ
ク
ト
チ
ー
ム
各
プ
ロ
ダ
ク
ト
チ
ー
ム
Team Venus
※2014年4月7日 時点
事業のレポートライン
Nativeエンジニア
サーバサイドエンジニア
職能のレポートライン
Native Framework
グループ
Web Framework
グループ
マトリクス型の体制とすることで開発スピードと品質を両立
- 70. © CROOZ,Inc. 70
開発高速化を実現するための基本コンセプト
• 共通部品化
ゲームジャンル共通のものはユーティリティレベルからビジネスロジック
レベルでも関係なくフレームワークで共通化し、継承して利用する。
• 固有ロジックの隠ぺい化
iPhone固有、Android固有のものなどプラットフォーム間で異なるものは
すべてフレームワーク内で隠ぺい化、利用側では意識させない。
自社フレームワーク 『Venus』 の紹介
- 71. © CROOZ,Inc. 71
開発高速化を実現するための基本コンセプト
• コードを書かない
基本ゼロから書かない。継承、オーバーライドして使う。
マルチプラットフォーム、マルチリージョンリージョン対応はプロパティ
変更のみでできるようにするなど。コーディング量を減らす。
• 平準化
上記3つのコンセプトと組み合わせて開発スタイルを平準化し、人的
スケールアウトを容易に実現することで “オモシロカッコイイ” プロダク
トづくりにリリースぎりぎりまでこだわれる。
自社フレームワーク 『Venus』 の紹介
- 72. © CROOZ,Inc. 72
プロダクトラインナップ
自社フレームワーク 『Venus』 の紹介
Venus
Native Venus
Native Platform
PHP ベースのWebフレームワーク
最新版は Version 4.4.9
Unity ベースのアプリフレームワーク
最新版は Version 1.2
Native共通 Web Service 群
最新版は Version 1.2.2
- 73. © CROOZ,Inc. 73
〜 WebベースのPHPフレームワーク 〜
【最新バージョンの紹介】
• プラガブル設計
• 高生産性
• Apps to Server 間のトラフィック圧縮
• DAO / Model のコーディング量の大幅な削減を実現
• ソース最適化による大幅なパフォーマンス向上
自社フレームワーク 『Venus』 の紹介
Venus
- 74. © CROOZ,Inc. 74
自社フレームワーク 『Venus』 の紹介
0 50 100 150 200
ゲームE (Venus 4系)
ゲームD (Venus 3系)
ゲームC (Venus 3系)
ゲームB (Venus 2系)
ゲームA (Venus 2系)
57 行
94 行
101 行
150 行
123 行
【参考】1ファイルあたりのコーディング行数比較
約39~43%削減
〜 WebベースのPHPフレームワーク 〜Venus
- 75. © CROOZ,Inc. 75
自社フレームワーク 『Venus』 の紹介
0 行 100 行 200 行 300 行 400 行 500 行
Venus 4系
Venus 3系
189 ms
433 ms
【参考】200アクセス/秒×10回ループ時の平均応答時間 (ミリ秒)
約56.4%の応答性能を向上
Version 平均値 中心値 最小値 最大値 スループット
Venus 3.0 433 [ミリ秒] 470 [ミリ秒] 74 [ミリ秒] 3,173 [ミリ秒] 160.9 [件]
Venus 4.0 189 [ミリ秒] 190 [ミリ秒] 50 [ミリ秒] 677 [ミリ秒] 211.1 [件]
〜 WebベースのPHPフレームワーク 〜Venus
- 77. © CROOZ,Inc. 77
〜 Unityベースのアプリフレームワーク 〜
自社フレームワーク 『Venus』 の紹介
Native Venus
import
Unityの持つIDEとして完成された優れた生産性を損なわず
更なる生産性とデバイス固有ロジックを隠ぺい化した
アプリフレームワーク
Native Venus
・共通機能の部品化
・Native固有処理の隠蔽
neptune.unitypackage
- 78. © CROOZ,Inc. 78
〜 Unityベースのアプリフレームワーク 〜
自社フレームワーク 『Venus』 の紹介
Native Venus
【主な機能】
〜コアシステム〜
• シーンロード
• メモリ管理
• ローディング
• ステート管理
• デバッグログ実装
• ほか
- 79. © CROOZ,Inc. 79
〜 Unityベースのアプリフレームワーク 〜
自社フレームワーク 『Venus』 の紹介
Native Venus
【主な機能】
〜SNS・通信・クラウド連携〜
• twitter 連携
• facebook 連携
• Web Socket 通信
• コネクション制御、通信圧縮
• iCloud
• ほか
- 80. © CROOZ,Inc. 80
〜 Unityベースのアプリフレームワーク 〜
自社フレームワーク 『Venus』 の紹介
Native Venus
【主な機能】
〜デバイス固有〜
• Movie
• 課金
• バイブレーション
• ゲームボード
• GPS
• ほか
- 81. © CROOZ,Inc. 81
〜 Native共通 Web Service 群 〜
Native アプリの運用に共通で必要となる機能を提供する
Web Service
【主な機能】
• 事前登録API
• データ引継ぎAPI
• NGワード監視API
• API管理機能
自社フレームワーク 『Venus』 の紹介
Native Platform
- 82. Native Platform
© CROOZ,Inc. 82
〜 Native共通 Web Service 群 〜
【連携イメージ図】
自社フレームワーク 『Venus』 の紹介
Native Platform
ゲームサーバ
実機 各アプリLP
Browse
<リリース前>
事前登録API
API呼出
リリース通知画面
・ リリース情報
・ バージョンアップ
・ 情報提供
・ 監視ワード設定
リリース案内メール送信
実機
Browse
<リリース後>
Apps Apps
Push通知
通知
データ引き継ぎデータ
受け渡し
NGワード監視監視結果
送信
外部
委託会社データ連携
Native
Venus Venus
NGワード監視
Service側 Back Office側
エンドユーザ
エンドユーザ
- 84. © CROOZ,Inc. 84
今後の計画
Venus
Native Venus
Native Platform
Guardian
Zeus
• クラウド上での動作を見据えた更なる動作の軽量化。
• Web Socket 関連機能の整備。
• Apple feature 関連の実装。
• Unity 4.6および5の評価及びフレームワークへの反映。
• Sand Box の整備。
• デバイス情報配信APIの整備。
• ジョブ実行監視機能の整備。
• デプロイ統制機能の整備。
• 全世界同時対戦を前提としたインフラ基盤の構築。
• 各クラウドサービスの検証およびサービスへの活用。
自社の高度な技術力と未来を見据えた技術基盤の整備により
事業の阻害要因を排除し、ビジネス成長を加速させていきます