SlideShare a Scribd company logo
1 of 43
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNA Technology Conference 2017
DeNA内製ゲームエンジンの現状と
目指す未来
株式会社ディー・エヌ・エー
Japanリージョンゲーム事業本部
開発基盤部 部長
惠良 和隆
1
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
自己紹介
■惠良 和隆(えら かずたか/Kazutaka Era) @erakazu
⁃ 2002年 株式会社フロム・ソフトウェア入社
• コンソールゲームの開発(クライアント、サーバー)、共通ライブラリ、フレームワークの開発、
開発環境構築などを担当
⁃ 2013年10月 株式会社ディー・エヌ・エー入社
• ゲームアプリ開発に必要なライブラリやフレームワーク、サービスなどの
基盤開発を行う部門をリード
• ゲーム開発のワークフロー整備
• ゲームシステムのアーキテクチャアドバイザ
• ゲーム開発用内製ミドルウェア、ゲームエンジン等の開発
2
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
アジェンダ
■内製ゲームエンジンLift Engine®とは?
■Lift Engine®の現在
■Lift Engine®が目指す未来
■まとめ
3
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
4
内製ゲームエンジン Lift Engine®とは?
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Lift Engine®とは?
■DeNAでのネイティブアプリ開発への取り組みの1つ
⁃ コンテンツに特化・最適化されたシステムを開発するために
ブラックボックスのない内製ゲームエンジンを開発
■cocos2d-xをベースとする2Dゲーム開発のためのゲームエンジン
⁃ 作り方を意図的に制限し、ゲームシステム設計における迷いを排除
■ゲーム開発に必要な(cocos2d-xに欠けていた)機能の実装
⁃ 独自メモリ管理
⁃ マルチスレッド対応
⁃ 非同期I/O
⁃ ロガー
⁃ etc
5
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
徹底的な最適化を実現
■2D描画に特化したダイナミックバッチング
■マルチレイヤーレンダリング
■独自フォントテクスチャ描画
⁃ iOS/Androidのシステムフォント描画ではなく
FreeTypeによるフォントテクスチャ描画を導入
■OPTPiX SpriteStudioランタイム
⁃ シェーダの最適化、スプライト描画フローの最適化によるパフォーマンスの向上
■内製アニメーション作成ツールAnimationBuilder用の最適化されたランタイム
6
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Lift Engine®採用タイトル
7
・・・
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
8
Lift Engine®の現在
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
9
2Dゲームエンジン
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
10
3Dゲームエンジン
2Dゲームエンジン
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
11
いまさら!?
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
3Dゲームエンジンへ
■なぜ独自の3Dゲームエンジンを作るのか?
⁃ クイックにゲームを作るだけであればUnityで十分
⁃ 一方で、全てを自由に出来るゲーム開発環境も欲しい
■ゲームの仕様に合わせたカスタマイズが欲しくなる
⁃ Unityネイティブプラグインだけでは越えられない壁
⁃ Unityのバージョンアップによる仕様変更の弊害
■ゲーム開発における選択肢を広げる
■タイトル特化型の最適化をゲームシステムだけでなく、コンテンツ
パイプライン、ワークフローも含めて構築したい
12
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
13
話は変わって・・・
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNAにおけるアプリ開発の現状
■選択と集中によりネイティブアプリ開発に対応できた
⁃ 基盤開発による技術力の積み上げ
⁃ ゲーム開発エンジニアとして習得すべきことを絞り込む
■一方で、残された課題も多い
⁃ 効率的な運用が出来ない
⁃ プラットフォーマーの審査だけが問題ではない
⁃ 施策量(=コンテンツ)の増大
⁃ チーム規模の拡大
⁃ 生産性の低下
14
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeNAにおけるアプリ開発の現状
■選択と集中によりネイティブアプリ開発に対応できた
⁃ 基盤開発による技術力の積み上げ
⁃ ゲーム開発エンジニアとして習得すべきことを絞り込む
■一方で、残された課題も多い
⁃ 効率的な運用が出来ない
⁃ プラットフォーマーの審査だけが問題ではない
⁃ 施策量(=コンテンツ)の増大
⁃ チーム規模の拡大
⁃ 生産性の低下
15
この課題をなんとかしたい!!
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Lift Engine® 3D化の要件
■DeNAの目指すゲーム開発の方向性に合致するもの
■何でも出来る汎用ゲームエンジンを求めない
■ゲーム品質向上のためのTry&Errorの回数を増やす
■徹底的な開発効率の向上
⁃ ゲームエンジン、ワークフロー、ツールなどを最適化
■最適化された開発環境を作り易くする
■タイトル毎、必要に応じて部分的な再実装を可能にする
16
便利なものが高効率というわけではない!
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Lift Engine® 3Dの概要
■目的≠ 3Dゲームエンジンの開発
■アプリケーションの仕様にできるだけ制限を与えない基本構造
■レンダリングパイプラインは完全独自なものにする
⁃ より柔軟性の高い仕組みを構築する
■Lift Engine®の立ち位置を再定義
⁃ ゲーム開発のために必要な汎用機能の提供
⁃ プラットフォームAPIラッパー
⁃ 3D化のためのプリミティブな機能を提供
⁃ ゲームシステム実装に対する制限は、Lift Engine®より上のレイヤーで適用する
17
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Lift Engine®とゲームの関係
18
Platform
Lift Engine® 2D
Application(Game)
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Lift Engine®とゲームの関係(2)
19
Platform
Lift Engine® 3D
Application Library
Application(Game)
こ
の
部
分
を
提
供
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Lift Engine® 3Dで新規実装した機能
■新レンダリングパイプライン
⁃ コマンドバッファを採用し、レンダリングは専用スレッドで行う方式に
⁃ メインスレッドで作成したコマンドバッファを使って、次フレームでレンダリング
⁃ 既存の2D描画(cocos2d-xの描画)もコマンドバッファ方式に乗り入れ
20
Main Thread Rendering Thread
Frame #n
Frame #n+1
CommandBuffer
Frame #nで作った
コマンドバッファを描画
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Lift Engine® 3Dで新規実装した機能(2)
■cocos2d-xベースの描画処理も移植
⁃ レンダリングスレッドで任意の処理を実行するための専用コマンドを用意
⁃ RenderTexture / ClippingNodeなどのシーケンシャルな描画処理で利用
■セットアップはメインスレッドで、描画処理はレンダリングスレッドで実行
■パフォーマンスを考え、OpenGLコンテキストの切り替えは極力抑える
■最終的にcocos2d-xベースの描画処理は排除する方向で
21
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Lift Engine® 3Dで新規実装した機能(3)
■3D系の算術関数
⁃ ベクトル、行列演算のSIMD対応(NEON、SSE)
⁃ プリミティブなコリジョン判定
■シリアライズのための仕組み
⁃ クラスオブジェクトを簡単にデータ化するための枠組み
⁃ type_info/type_indexのような情報を扱う独自クラスの実装
■より高速なメモリ管理
⁃ TLSF(Two-Level Segregated Fit)アロケータ
⁃ スレッドキャッシュ
22
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Lift Engine® 3Dで新規実装した機能(4)
■動的Bitmapフォントテクスチャ生成
⁃ cocos2d-xではラベル単位での画像生成
⁃ Lift Engine® 2Dでは複数ラベルのフォントテクスチャを結合してバッチ描画
⁃ FreeTypeを使ったフォント画像生成
⁃ ビットマップフォント用画像もFreeTypeで生成
⁃ レイアウトルールはLabelTTFとほぼ同等
⁃ 2D/3Dレンダリングへの対応
■マウス/キーボード入力ハンドリング
⁃ OSX/Windowsの互換性を担保
⁃ ツール開発用
23
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Application Library層について
24
Platform
Lift Engine® 3D
Application Library
Application(Game)
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Application Library層について
25
Platform
Lift Engine® 3D
Arcana
Application(Game)
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Arcanaとは
■Lift Engine® 3Dの上位に位置するアプリケーションフレームワーク
■ゲームの作り方のルールを規定する
⁃ シーングラフ管理
⁃ リソース管理
■共通レンダリングエンジンの提供
⁃ Lift Engine® 3Dのコマンドバッファを構築
■DeNAの目指すゲーム開発スタイルを実現するための仕組みを提供
⁃ ゲーム開発を効率化するための環境を構築するためのもの
⁃ ツール開発フレームワーク
■汎用だがゲーム仕様に寄ったモジュールの提供
26
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Arcanaが規定するもの
■シーングラフ管理
⁃ 一般的なシーングラフとほぼ同じもの
⁃ ゲームオブジェクトの親子関係でシーンを構成
⁃ 様々な機能を持ったシーングラフノードを組み合わせることで
振る舞いや表示を決定する
⁃ 構成されたシーングラフはシリアライズ可能
■リソース管理
⁃ ゲームが利用する各種リソース(モデル、マテリアル、アニメーション、UIレイアウト、
オーディオ、etc.)の取扱いを統一化
⁃ カスタムクラス等のオブジェクトをシリアライズしたものも同様に扱う
⁃ ゲームだけでなくツールでも同じ仕組みを利用
27
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Arcanaのレンダリングエンジン
■モダンなレンダリングフィーチャーへの対応
■Deferred / Forward Rendering
■Physically Based Rendering
■Image Based Lighting
■HDR
■Screen Space Ambient Occlusion
■Motion Blur
■Shadows(Cascaded Shadow Map, Soft Shadow)
28
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Arcanaのレンダリングエンジン(2)
■技術的には前世代コンシューマ(PS3/Xbox360)と同等水準
■PS4/Xbox ONE世代の技術もそのうち・・・
■想定スペックは、2020年の低性能端末
⁃ PS3/Xbox360レベルのグラフィックスを実装出来る性能?
⁃ 課題はメモリ帯域
■どのような表現技術を使うかはタイトル次第
29
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Arcanaの提供するツール開発環境
■ゲーム開発中はWindows/OSXビルドを中心に行う
■ゲーム実装の大半をDLL(もしくはdylib)に移す
■ゲームやツールの実行ファイルはDLLを動的リンクする
30
ゲーム.DLL
ツール.EXEゲーム.EXE
ゲーム実装(DLL)側で提供する機能はツールでもそのまま利用できる
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Arcanaの提供するツール開発環境(2)
■ゲーム実装をDLL化するメリットはメタデータの共通化
■C++のクラス定義にメタデータの定義を追加
■メタデータ情報を使って出来ること
⁃ シリアライズ・デシリアライズ
⁃ パラメータ表示・編集用のUIコンポーネント(Inspectorなど)
■不必要にファイルフォーマットを増やさずに、様々なゲームデータを扱うこと
が出来るようになる
■ゲーム実装DLLを利用するCUI・GUIツールを作るためのテンプレートも用意
■作業効率を上げるためのカスタムツールの開発を推進
31
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Arcanaが提供するゲーム開発環境(3)
32
Excel
GUI Tool
w/o Preview
Converter
GUI Tool
with Preview
Converter
Game
Game
Game
Debug
Function
Planner / Designer
Planner / Designer
Planner / Designer
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Arcanaが提供するゲーム用モジュール
■Particle Effect
■Post Effect
■Animation Sequence Control
■AI
■Collision
■Cloth Simulation
■…
■タイトル開発で必要になった汎用機能は、Arcana上のモジュールとして追加す
る
33
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
34
DEMO
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
3
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
3
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
37
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
3
Lift Engine®が目指す未来
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Lift Engine®の目標
■開発・運用効率の向上
⁃ 現在は開発効率を引き上げるための仕組み作りのフェーズ
⁃ タイトル開発に合わせて効率向上のためのツール群を積み上げる
⁃ 運用効率が高い状態でタイトルリリースするのがベスト
⁃ 人海戦術に頼らない
■グラフィックスについては選択と集中
⁃ 一般的に表現に注力すると開発工数は増大する
⁃ 表現力は出来る限りシステムで引き上げる
⁃ デザイナー工数を必要なところに集中する
⁃ 自動生成・シミュレーションなども積極活用
39
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
当面の目標
40
Excel
GUI Tool
w/o Preview
Converter
GUI Tool
with Preview
Converter
Game
Game
Game
Debug
Function
Planner / Designer
Planner / Designer
Planner / Designer
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
当面の目標
41
Excel
GUI Tool
w/o Preview
Converter
GUI Tool
with Preview
Converter
Game
Game
Game
Debug
Function
Planner / Designer
Planner / Designer
Planner / Designer
イテレーション周期を極限まで短くする
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
まとめ
■DeNAではタイトル開発効率を向上することを徹底する
■Unityを使った開発だけでなく、独自エンジン開発でよりワークフローの最適化
を推し進める
■面白いゲームを作るためには、品質向上に時間を割くことが重要
42
ユーザーのみなさまを魅了する面白いゲームを開発し、
より楽しく質の高いコンテンツやサービスを提供するた
めにも、効率的な開発・運営体制を整えることに挑戦し
ていきます
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
43
ご清聴ありがとうございました

More Related Content

What's hot

What's hot (20)

ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -
ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -
ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -
 
Unity2018/2019における最適化事情
Unity2018/2019における最適化事情Unity2018/2019における最適化事情
Unity2018/2019における最適化事情
 
DeNAのサーバー"コード"レスアーキテクチャ
DeNAのサーバー"コード"レスアーキテクチャDeNAのサーバー"コード"レスアーキテクチャ
DeNAのサーバー"コード"レスアーキテクチャ
 
【Unite 2017 Tokyo】Unityで楽しむノンフォトリアルな絵づくり講座:トゥーンシェーダー・マニアクス
【Unite 2017 Tokyo】Unityで楽しむノンフォトリアルな絵づくり講座:トゥーンシェーダー・マニアクス【Unite 2017 Tokyo】Unityで楽しむノンフォトリアルな絵づくり講座:トゥーンシェーダー・マニアクス
【Unite 2017 Tokyo】Unityで楽しむノンフォトリアルな絵づくり講座:トゥーンシェーダー・マニアクス
 
ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かすドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす
 
DAUを評価指標から捨てた会社の話 #tokyowebmining
DAUを評価指標から捨てた会社の話 #tokyowebminingDAUを評価指標から捨てた会社の話 #tokyowebmining
DAUを評価指標から捨てた会社の話 #tokyowebmining
 
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLiveDXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
 
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステムAndroid向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム
 
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
 
Mask Material only in Early Z-passの効果と仕組み
Mask Material only in Early Z-passの効果と仕組みMask Material only in Early Z-passの効果と仕組み
Mask Material only in Early Z-passの効果と仕組み
 
インディーゲーム開発の現状と未来 2021
インディーゲーム開発の現状と未来 2021インディーゲーム開発の現状と未来 2021
インディーゲーム開発の現状と未来 2021
 
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろうサーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
 
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazugAzure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
 
個人からトリプル A タイトルのゲーム開発者まで。Azure PlayFab で LiveOps しよう
個人からトリプル A タイトルのゲーム開発者まで。Azure PlayFab で LiveOps しよう個人からトリプル A タイトルのゲーム開発者まで。Azure PlayFab で LiveOps しよう
個人からトリプル A タイトルのゲーム開発者まで。Azure PlayFab で LiveOps しよう
 
それを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイント
それを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイントそれを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイント
それを早く言ってよ〜パフォーマンスを出すエフェクト制作のポイント
 
次世代ゲームにおける自動生成技術
次世代ゲームにおける自動生成技術 次世代ゲームにおける自動生成技術
次世代ゲームにおける自動生成技術
 
アジャイルな見積りと計画づくり勉強会
アジャイルな見積りと計画づくり勉強会アジャイルな見積りと計画づくり勉強会
アジャイルな見積りと計画づくり勉強会
 
UE4を用いたTPS制作事例 EDF:IR 地球を衛る兵士の歩き方
UE4を用いたTPS制作事例 EDF:IR 地球を衛る兵士の歩き方UE4を用いたTPS制作事例 EDF:IR 地球を衛る兵士の歩き方
UE4を用いたTPS制作事例 EDF:IR 地球を衛る兵士の歩き方
 
Riderはいいぞ!
Riderはいいぞ!Riderはいいぞ!
Riderはいいぞ!
 
UE4とUnrealC++について
UE4とUnrealC++についてUE4とUnrealC++について
UE4とUnrealC++について
 

Similar to DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon

Dev camp2012jpn day2special
Dev camp2012jpn day2specialDev camp2012jpn day2special
Dev camp2012jpn day2special
Katsuhito Katoh
 
Daisukei vsug ef
Daisukei vsug efDaisukei vsug ef
Daisukei vsug ef
vsug_jim
 

Similar to DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon (20)

DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方
 
Flex開発を加速するFlash Builder 4新機能紹介
Flex開発を加速するFlash Builder 4新機能紹介Flex開発を加速するFlash Builder 4新機能紹介
Flex開発を加速するFlash Builder 4新機能紹介
 
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
 
Dev camp2012jpn day2special
Dev camp2012jpn day2specialDev camp2012jpn day2special
Dev camp2012jpn day2special
 
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
 
とあるメーカーのRedmine活用事例
とあるメーカーのRedmine活用事例とあるメーカーのRedmine活用事例
とあるメーカーのRedmine活用事例
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
 
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
 
Daisukei vsug ef
Daisukei vsug efDaisukei vsug ef
Daisukei vsug ef
 
3Dリッチコンテンツビジネス活用のご提案ver3.1
3Dリッチコンテンツビジネス活用のご提案ver3.13Dリッチコンテンツビジネス活用のご提案ver3.1
3Dリッチコンテンツビジネス活用のご提案ver3.1
 
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービスマスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
 
Rancherを活用して開発効率を上げる
Rancherを活用して開発効率を上げるRancherを活用して開発効率を上げる
Rancherを活用して開発効率を上げる
 
Unityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechconUnityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechcon
 
Mithril
MithrilMithril
Mithril
 
PHPにおけるRIA事情と開発
PHPにおけるRIA事情と開発PHPにおけるRIA事情と開発
PHPにおけるRIA事情と開発
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
.NET Conf 2017 Japan Keynote ".NET Everywhere!"
.NET Conf 2017 Japan Keynote ".NET Everywhere!".NET Conf 2017 Japan Keynote ".NET Everywhere!"
.NET Conf 2017 Japan Keynote ".NET Everywhere!"
 
ノーツが日本を救う(2002/3/13)
ノーツが日本を救う(2002/3/13)ノーツが日本を救う(2002/3/13)
ノーツが日本を救う(2002/3/13)
 

More from DeNA

More from DeNA (20)

DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
 
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
 
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
 
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
 
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
 
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
 
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
 
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】
 
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
 
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
 
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
 
DeNA の Slack 導入と活用の事例紹介
DeNA の Slack 導入と活用の事例紹介DeNA の Slack 導入と活用の事例紹介
DeNA の Slack 導入と活用の事例紹介
 
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
 
オートモーティブ領域における 位置情報関連アルゴリズムあれこれ
オートモーティブ領域における 位置情報関連アルゴリズムあれこれオートモーティブ領域における 位置情報関連アルゴリズムあれこれ
オートモーティブ領域における 位置情報関連アルゴリズムあれこれ
 
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
 
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
 
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
 
MOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについてMOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについて
 
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
 
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化
 

Recently uploaded

Recently uploaded (7)

Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
 
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアルLoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
 
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
 
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルLoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
 

DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon

  • 1. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNA Technology Conference 2017 DeNA内製ゲームエンジンの現状と 目指す未来 株式会社ディー・エヌ・エー Japanリージョンゲーム事業本部 開発基盤部 部長 惠良 和隆 1
  • 2. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 自己紹介 ■惠良 和隆(えら かずたか/Kazutaka Era) @erakazu ⁃ 2002年 株式会社フロム・ソフトウェア入社 • コンソールゲームの開発(クライアント、サーバー)、共通ライブラリ、フレームワークの開発、 開発環境構築などを担当 ⁃ 2013年10月 株式会社ディー・エヌ・エー入社 • ゲームアプリ開発に必要なライブラリやフレームワーク、サービスなどの 基盤開発を行う部門をリード • ゲーム開発のワークフロー整備 • ゲームシステムのアーキテクチャアドバイザ • ゲーム開発用内製ミドルウェア、ゲームエンジン等の開発 2
  • 3. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. アジェンダ ■内製ゲームエンジンLift Engine®とは? ■Lift Engine®の現在 ■Lift Engine®が目指す未来 ■まとめ 3
  • 4. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 4 内製ゲームエンジン Lift Engine®とは?
  • 5. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Lift Engine®とは? ■DeNAでのネイティブアプリ開発への取り組みの1つ ⁃ コンテンツに特化・最適化されたシステムを開発するために ブラックボックスのない内製ゲームエンジンを開発 ■cocos2d-xをベースとする2Dゲーム開発のためのゲームエンジン ⁃ 作り方を意図的に制限し、ゲームシステム設計における迷いを排除 ■ゲーム開発に必要な(cocos2d-xに欠けていた)機能の実装 ⁃ 独自メモリ管理 ⁃ マルチスレッド対応 ⁃ 非同期I/O ⁃ ロガー ⁃ etc 5
  • 6. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 徹底的な最適化を実現 ■2D描画に特化したダイナミックバッチング ■マルチレイヤーレンダリング ■独自フォントテクスチャ描画 ⁃ iOS/Androidのシステムフォント描画ではなく FreeTypeによるフォントテクスチャ描画を導入 ■OPTPiX SpriteStudioランタイム ⁃ シェーダの最適化、スプライト描画フローの最適化によるパフォーマンスの向上 ■内製アニメーション作成ツールAnimationBuilder用の最適化されたランタイム 6
  • 7. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Lift Engine®採用タイトル 7 ・・・
  • 8. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 8 Lift Engine®の現在
  • 9. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 9 2Dゲームエンジン
  • 10. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 10 3Dゲームエンジン 2Dゲームエンジン
  • 11. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 11 いまさら!?
  • 12. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 3Dゲームエンジンへ ■なぜ独自の3Dゲームエンジンを作るのか? ⁃ クイックにゲームを作るだけであればUnityで十分 ⁃ 一方で、全てを自由に出来るゲーム開発環境も欲しい ■ゲームの仕様に合わせたカスタマイズが欲しくなる ⁃ Unityネイティブプラグインだけでは越えられない壁 ⁃ Unityのバージョンアップによる仕様変更の弊害 ■ゲーム開発における選択肢を広げる ■タイトル特化型の最適化をゲームシステムだけでなく、コンテンツ パイプライン、ワークフローも含めて構築したい 12
  • 13. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 13 話は変わって・・・
  • 14. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNAにおけるアプリ開発の現状 ■選択と集中によりネイティブアプリ開発に対応できた ⁃ 基盤開発による技術力の積み上げ ⁃ ゲーム開発エンジニアとして習得すべきことを絞り込む ■一方で、残された課題も多い ⁃ 効率的な運用が出来ない ⁃ プラットフォーマーの審査だけが問題ではない ⁃ 施策量(=コンテンツ)の増大 ⁃ チーム規模の拡大 ⁃ 生産性の低下 14
  • 15. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DeNAにおけるアプリ開発の現状 ■選択と集中によりネイティブアプリ開発に対応できた ⁃ 基盤開発による技術力の積み上げ ⁃ ゲーム開発エンジニアとして習得すべきことを絞り込む ■一方で、残された課題も多い ⁃ 効率的な運用が出来ない ⁃ プラットフォーマーの審査だけが問題ではない ⁃ 施策量(=コンテンツ)の増大 ⁃ チーム規模の拡大 ⁃ 生産性の低下 15 この課題をなんとかしたい!!
  • 16. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Lift Engine® 3D化の要件 ■DeNAの目指すゲーム開発の方向性に合致するもの ■何でも出来る汎用ゲームエンジンを求めない ■ゲーム品質向上のためのTry&Errorの回数を増やす ■徹底的な開発効率の向上 ⁃ ゲームエンジン、ワークフロー、ツールなどを最適化 ■最適化された開発環境を作り易くする ■タイトル毎、必要に応じて部分的な再実装を可能にする 16 便利なものが高効率というわけではない!
  • 17. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Lift Engine® 3Dの概要 ■目的≠ 3Dゲームエンジンの開発 ■アプリケーションの仕様にできるだけ制限を与えない基本構造 ■レンダリングパイプラインは完全独自なものにする ⁃ より柔軟性の高い仕組みを構築する ■Lift Engine®の立ち位置を再定義 ⁃ ゲーム開発のために必要な汎用機能の提供 ⁃ プラットフォームAPIラッパー ⁃ 3D化のためのプリミティブな機能を提供 ⁃ ゲームシステム実装に対する制限は、Lift Engine®より上のレイヤーで適用する 17
  • 18. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Lift Engine®とゲームの関係 18 Platform Lift Engine® 2D Application(Game)
  • 19. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Lift Engine®とゲームの関係(2) 19 Platform Lift Engine® 3D Application Library Application(Game) こ の 部 分 を 提 供
  • 20. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Lift Engine® 3Dで新規実装した機能 ■新レンダリングパイプライン ⁃ コマンドバッファを採用し、レンダリングは専用スレッドで行う方式に ⁃ メインスレッドで作成したコマンドバッファを使って、次フレームでレンダリング ⁃ 既存の2D描画(cocos2d-xの描画)もコマンドバッファ方式に乗り入れ 20 Main Thread Rendering Thread Frame #n Frame #n+1 CommandBuffer Frame #nで作った コマンドバッファを描画
  • 21. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Lift Engine® 3Dで新規実装した機能(2) ■cocos2d-xベースの描画処理も移植 ⁃ レンダリングスレッドで任意の処理を実行するための専用コマンドを用意 ⁃ RenderTexture / ClippingNodeなどのシーケンシャルな描画処理で利用 ■セットアップはメインスレッドで、描画処理はレンダリングスレッドで実行 ■パフォーマンスを考え、OpenGLコンテキストの切り替えは極力抑える ■最終的にcocos2d-xベースの描画処理は排除する方向で 21
  • 22. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Lift Engine® 3Dで新規実装した機能(3) ■3D系の算術関数 ⁃ ベクトル、行列演算のSIMD対応(NEON、SSE) ⁃ プリミティブなコリジョン判定 ■シリアライズのための仕組み ⁃ クラスオブジェクトを簡単にデータ化するための枠組み ⁃ type_info/type_indexのような情報を扱う独自クラスの実装 ■より高速なメモリ管理 ⁃ TLSF(Two-Level Segregated Fit)アロケータ ⁃ スレッドキャッシュ 22
  • 23. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Lift Engine® 3Dで新規実装した機能(4) ■動的Bitmapフォントテクスチャ生成 ⁃ cocos2d-xではラベル単位での画像生成 ⁃ Lift Engine® 2Dでは複数ラベルのフォントテクスチャを結合してバッチ描画 ⁃ FreeTypeを使ったフォント画像生成 ⁃ ビットマップフォント用画像もFreeTypeで生成 ⁃ レイアウトルールはLabelTTFとほぼ同等 ⁃ 2D/3Dレンダリングへの対応 ■マウス/キーボード入力ハンドリング ⁃ OSX/Windowsの互換性を担保 ⁃ ツール開発用 23
  • 24. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Application Library層について 24 Platform Lift Engine® 3D Application Library Application(Game)
  • 25. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Application Library層について 25 Platform Lift Engine® 3D Arcana Application(Game)
  • 26. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Arcanaとは ■Lift Engine® 3Dの上位に位置するアプリケーションフレームワーク ■ゲームの作り方のルールを規定する ⁃ シーングラフ管理 ⁃ リソース管理 ■共通レンダリングエンジンの提供 ⁃ Lift Engine® 3Dのコマンドバッファを構築 ■DeNAの目指すゲーム開発スタイルを実現するための仕組みを提供 ⁃ ゲーム開発を効率化するための環境を構築するためのもの ⁃ ツール開発フレームワーク ■汎用だがゲーム仕様に寄ったモジュールの提供 26
  • 27. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Arcanaが規定するもの ■シーングラフ管理 ⁃ 一般的なシーングラフとほぼ同じもの ⁃ ゲームオブジェクトの親子関係でシーンを構成 ⁃ 様々な機能を持ったシーングラフノードを組み合わせることで 振る舞いや表示を決定する ⁃ 構成されたシーングラフはシリアライズ可能 ■リソース管理 ⁃ ゲームが利用する各種リソース(モデル、マテリアル、アニメーション、UIレイアウト、 オーディオ、etc.)の取扱いを統一化 ⁃ カスタムクラス等のオブジェクトをシリアライズしたものも同様に扱う ⁃ ゲームだけでなくツールでも同じ仕組みを利用 27
  • 28. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Arcanaのレンダリングエンジン ■モダンなレンダリングフィーチャーへの対応 ■Deferred / Forward Rendering ■Physically Based Rendering ■Image Based Lighting ■HDR ■Screen Space Ambient Occlusion ■Motion Blur ■Shadows(Cascaded Shadow Map, Soft Shadow) 28
  • 29. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Arcanaのレンダリングエンジン(2) ■技術的には前世代コンシューマ(PS3/Xbox360)と同等水準 ■PS4/Xbox ONE世代の技術もそのうち・・・ ■想定スペックは、2020年の低性能端末 ⁃ PS3/Xbox360レベルのグラフィックスを実装出来る性能? ⁃ 課題はメモリ帯域 ■どのような表現技術を使うかはタイトル次第 29
  • 30. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Arcanaの提供するツール開発環境 ■ゲーム開発中はWindows/OSXビルドを中心に行う ■ゲーム実装の大半をDLL(もしくはdylib)に移す ■ゲームやツールの実行ファイルはDLLを動的リンクする 30 ゲーム.DLL ツール.EXEゲーム.EXE ゲーム実装(DLL)側で提供する機能はツールでもそのまま利用できる
  • 31. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Arcanaの提供するツール開発環境(2) ■ゲーム実装をDLL化するメリットはメタデータの共通化 ■C++のクラス定義にメタデータの定義を追加 ■メタデータ情報を使って出来ること ⁃ シリアライズ・デシリアライズ ⁃ パラメータ表示・編集用のUIコンポーネント(Inspectorなど) ■不必要にファイルフォーマットを増やさずに、様々なゲームデータを扱うこと が出来るようになる ■ゲーム実装DLLを利用するCUI・GUIツールを作るためのテンプレートも用意 ■作業効率を上げるためのカスタムツールの開発を推進 31
  • 32. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Arcanaが提供するゲーム開発環境(3) 32 Excel GUI Tool w/o Preview Converter GUI Tool with Preview Converter Game Game Game Debug Function Planner / Designer Planner / Designer Planner / Designer
  • 33. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Arcanaが提供するゲーム用モジュール ■Particle Effect ■Post Effect ■Animation Sequence Control ■AI ■Collision ■Cloth Simulation ■… ■タイトル開発で必要になった汎用機能は、Arcana上のモジュールとして追加す る 33
  • 34. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 34 DEMO
  • 35. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 3
  • 36. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 3
  • 37. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 37
  • 38. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 3 Lift Engine®が目指す未来
  • 39. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Lift Engine®の目標 ■開発・運用効率の向上 ⁃ 現在は開発効率を引き上げるための仕組み作りのフェーズ ⁃ タイトル開発に合わせて効率向上のためのツール群を積み上げる ⁃ 運用効率が高い状態でタイトルリリースするのがベスト ⁃ 人海戦術に頼らない ■グラフィックスについては選択と集中 ⁃ 一般的に表現に注力すると開発工数は増大する ⁃ 表現力は出来る限りシステムで引き上げる ⁃ デザイナー工数を必要なところに集中する ⁃ 自動生成・シミュレーションなども積極活用 39
  • 40. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 当面の目標 40 Excel GUI Tool w/o Preview Converter GUI Tool with Preview Converter Game Game Game Debug Function Planner / Designer Planner / Designer Planner / Designer
  • 41. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 当面の目標 41 Excel GUI Tool w/o Preview Converter GUI Tool with Preview Converter Game Game Game Debug Function Planner / Designer Planner / Designer Planner / Designer イテレーション周期を極限まで短くする
  • 42. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. まとめ ■DeNAではタイトル開発効率を向上することを徹底する ■Unityを使った開発だけでなく、独自エンジン開発でよりワークフローの最適化 を推し進める ■面白いゲームを作るためには、品質向上に時間を割くことが重要 42 ユーザーのみなさまを魅了する面白いゲームを開発し、 より楽しく質の高いコンテンツやサービスを提供するた めにも、効率的な開発・運営体制を整えることに挑戦し ていきます
  • 43. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 43 ご清聴ありがとうございました