3. シンラ?テクノロジーでの担当
? Shinra Community SDKの開発、サポート、普及
?2014 Shinra Technologies, Inc. All Rights Reserved.
4. 今日の内容
1.クラウドゲームの用語整理
2.スペース?スゥイーパーの設計
3.スペース?スゥイーパーの同期に関する詳しい話
4.Shinra Community SDK(仮称)の予定について
?2014 Shinra Technologies, Inc. All Rights Reserved.
16. シンラ?システムで推奨する基本3パターン
1:1 (Stand-alone model) 1:N (MC model)
?2014 Shinra Technologies, Inc. All Rights Reserved.
インターネット
game
Viewer
Viewer
Viewer
Viewer
Viewer
インターネット
game
game
game
game
game
Viewer
Viewer
Viewer
Viewer
Viewer
backend
インターネット
game
game
game
game
game
Viewer
Viewer
Viewer
Viewer
Viewer
インターネット
game
game
Viewer
Viewer
Viewer
Viewer
Viewer
backend
N:N (Virtual MMO model)
ゲームプレイ空間
M:N (参考)
2. スペース?スゥイーパーの設計
17. インターネット
1:N とN:N
?2014 Shinra Technologies, Inc. All Rights Reserved.
game
Viewer
Viewer
Viewer
Viewer
Viewer
インターネット
game
game
game
game
game
Viewer
Viewer
Viewer
Viewer
Viewer
backend
1:N (MC model) N:N (Virtual MMO model)
?ゲームプロセスは1個
?複数のレンダリングターゲットに描画
?ネットコード一切無し
?少人数向けならこれが鉄板
?これが多人数向けにも使えたら。。(誰か!)
?ゲームプロセスは多数
?ネットコードは必要
?多人数向けにはまだ必要
?もっと簡単にできないか? (誰か!)
2. スペース?スゥイーパーの設計
28. バックエンドとの通信(VCE)
ssproto.txt
ssproto_sv.cpp/h
gen.rb
ssproto_cli.cpp/h
変換
?2014 Shinra Technologies, Inc. All Rights Reserved.
realtime_sv
database_sv
game.exe
link
link
2. スペース?スゥイーパーの設計
38. 作業の進み方
1. game.exe通信量や内容を気にせず送る
2. 気づいたら30Mbpsになっていた。
ネットワーク用にCPUを使いすぎていた。
3. 敵の数を減らしたくないので、同期頻度下げ圧縮も使
う。簡単な調整で3~4Mbps程度に削減。
?2014 Shinra Technologies, Inc. All Rights Reserved.
3. 同期の詳細
39. ゲームデータの概要
Player Project
Project
Project
?2014 Shinra Technologies, Inc. All Rights Reserved.
Field
Milestone
Research
Fortress
PowerGrid
ResourceNetwork
Friend
Friend
3. 同期の詳細
?2014 Shinra Technologies, Inc. All Rights Reserved.
40. 同期送信の比率
? 敵の移動50%
? 地形セルの変化40%
? PCの移動5%
? 音、エフェクト4%
? メッセージとかこまごま1%
?2014 Shinra Technologies, Inc. All Rights Reserved.
3. 同期の詳細
41. チャンク
?2014 Shinra Technologies, Inc. All Rights Reserved.
チャンクサイズ: 16x16セル
サイズ: 16KB, 圧縮1.5KB
3. 同期の詳細
?2014 Shinra Technologies, Inc. All Rights Reserved.
42. ?2014 Shinra Technologies, Inc. All Rights Reserved.
全体サイズ: 2048x2048セル
チャンク数: 65536
サイズ: 128MB
見えてる範囲: 15x10チャンク
Player 1
Player 2
3. 同期の詳細
?2014 Shinra Technologies, Inc. All Rights Reserved.
47. Project単位のLockもある
PC1 PC2
1秒の異常終了を確実に検知
?2014 Shinra Technologies, Inc. All Rights Reserved.
3. 同期の詳細
?2014 Shinra Technologies, Inc. All Rights Reserved.
48. 敵キャラの同期
? 決定論的運動するもの: 出現時のみnearcast
? 動的なもの: 0.5~2秒に1回、位置、速度、目的位置
をnearcast (48bytes)
? Kill : channelcast
?2014 Shinra Technologies, Inc. All Rights Reserved.
3. 同期の詳細
50. 4. Shinra Community SDK (仮)
?2014 Shinra Technologies, Inc. All Rights Reserved.
51. Shinra Community SDKの目的
? シンラ?システムを極限までチューンしないような
ゲームを、高速にプロトタイプ、テスト、パブリッ
シングできるようにすること。
?2014 Shinra Technologies, Inc. All Rights Reserved.
4. Shinra Community SDK
52. 1. 普通にgame.exe を作る
2. ZIPに箱詰めする3. Shinraクライアントにドロップ
ShinraPack.exe
?2014 Shinra Technologies, Inc. All Rights Reserved.
入力映像と音声
開発用マシン
シンラ?テクノロジーサーバマシン
Launcher server
VM
4. ランチャーに送られる
5. VM起動,インストール
6.game.exeやバックエンドサーバを
必要に応じて起動
User database
4. Shinra Community SDK
VisualStudioなどを利用
53. できること(予定)
1. ローカルでゲームを作成し、
2. ストリームテストし、
3. Packし、
4. 本番サーバに上げてテスト?パブリッシングまで
?2014 Shinra Technologies, Inc. All Rights Reserved.
4. Shinra Community SDK
54. 内容物(予定)
? ローカルレンダリング版fake DLLセット
? ストリームViewer
? スペース?スゥイーパーのgame.exe, サーバのソー
ス全体
? その他サンプルプログラム
? Shinra Packer
?2014 Shinra Technologies, Inc. All Rights Reserved.
4. Shinra Community SDK
55. 技術サポート体制(検討中)
? モントリオールと日本のエンジニアがチームで対応し
ます。
? 日本のチームには私も含まれます。
? 詳しい窓口などについては現在調整中です
? 個別の相談が可能です
?2014 Shinra Technologies, Inc. All Rights Reserved.
4. Shinra Community SDK