5. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
戦魂 –SENTAMA-
戦国時代がモチーフの戦略シミュレーションR
PG。プレイヤーは城主となり、武将達を率いて
戦国の乱世の統一を目指す。
https://www.youtube.com/watch?v=JHXZoIm5gxQ
6. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
戦場、武将ガチャ、訓練を
繰り返すことで部隊が強化され、
ゲームが進行。
戦場
訓練
武将ガチャ
武将をゲット! 金をゲット!
レベルアップ!
訓練した武将を
編成して、戦場へ
ゲットした武将や
強化姫を訓練で合成
手に入れた金で
武将ガチャをまわす
ゲームの進め方
8. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
戦魂の開発
mobage連携なしの iOS/Android アプリ
Unity4.6 を使った初の内製大型タイトル
サーバーサイドはSakashoを利用しクライアント開発に重力を置く
メンバーはネイティブアプリ開発経験者、mobageサーバー開発経験者
、コンソール開発経験者、Unity開発経験者、テクニカルデザイナー、未
経験新卒の混成チーム
9. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Native Plugin
アーキテクチャ
Unity 4.6.X
DeAL Sakasho
SDK
Game
Sakasho
クライアント
サーバー
DnSystemNGUI
WebView, MoviePalayer, その他
10. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
サーバーはSakasho
Sakasho 、Sakasho SDK、Sakasho GM Tool で構成される
Sakasho
Ruby 製の Game Backend as a Service (汎用ゲームサーバー)
Sakasho SDK
ゲームクライアントは、Sakasho SDK の API を利用して
Sakasho と対話する。
Sakasho GM Tool
サーバーの設定や運用のオペレーションは Web 管理ツールから行う
Sakasho について詳しくは、
・第4回ゲーム開発勉強会 Ruby で作る Game Backend as a Service
http://www.slideshare.net/dena_study/game-baas
11. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
非同期処理の画一化
アセットバンドル管理
サウンドインテグレート
グラフィック
技術的なところ・・・
22. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DeALのネイティブプラグイン化
DeALをネイティブプラグインとして組込むための準備
⁃ 「マネージコードからアンマネージコードの呼び出しは、iOS 上で
は高負荷です。フレーム毎に複数のネイティブプラグインを呼び出
さないでください。」(Unityマニュアルより引用)
⁃ 各GameObjectがDeALのサウンド再生関数を直接コールするよう
なアーキテクチャを取る場合ネイティブコールの制御は不可能とな
ってしまう。
⁃ DeALへの関数コールは一旦スタックした後、それらを束ねてマーシ
ャルコピーしネイティブコールを行うようなPluginBundlerを作成
。
マーシャリングコストを削減する必要がある。
そこで・・・
23. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
PluginBundlerの概要
Plugin Bundler
GameObject 2GameObject 1 GameObject 3
① SE1再生命令をスタック
Dispatcher
Unity層
(Managed層)
Native層
(UnManaged層)
DeAL
② Voice1再生命令を
スタック
③ SE2再生命令を
スタック
Result Pool
④ 3つの命令を束ねてネイティブコール
⑤ SE1, Voice1, SE2 の各再生命令
⑥ SE1, Voice1, SE2 の再生結果を
Result Poolに格納
⑦ Result Poolにデータがある場合は取得して
コール元のGameObjectに通知する。