クリエイター魂を刺激する!
シンラが提案する
「ゲームの超進化」ロードマップ
シンラ・テクノロジー・ジャパン株式会社
一條 貴彰 中嶋 謙互
© 2015 Shinra Technologies, Inc. All Rights Reserve...
はじめに 当社のモバイル端末対応について
•現在、スマートフォン対応版は開発しておりません。
• 通信環境の不足: 速度、帯域制限、接続持続性
© 2015 Shinra Technologies, Inc. All Rights Reserv...
さっくり自己紹介
• 一條 貴彰
• ディベロッパー・アソシエイト
• シンラのシステムをさまざまな開発者にご紹介するお仕事
• インディーゲームクリエイターとしてBitSummit, TGSに出展
• 中嶋 謙互
• CCDK開発、技術サポー...
ゲームは
進化するのか?
© 2015 Shinra Technologies, Inc. All Rights Reserved.
(シンラロゴ)
© 2015 Shinra Technologies, Inc. All Rights Reserved.
進化します!
シンラは、
クラウドゲーム
ではありません
© 2015 Shinra Technologies, Inc. All Rights Reserved.
「サーバー上でゲームを動作させて、
描画結果をビデオストリームする」
ので、クラウドゲームと似ていますが….
© 2015 Shinra Technologies, Inc. All Rights Reserved.
新しいエンターテイメント
体験のための
プラットフォーム
です。
© 2015 Shinra Technologies, Inc. All Rights Reserved.
「クラウドゲーム」との違い
•クラウドゲーム
• 従来通りのゲームをサー
バー上で動作させる
• プレイヤー1人に対し
1つのゲームインスタンス
• サーバーに莫大な投資、
月額費用がかかる
•シンラ・システム
• サーバー上での動作を前提とし...
そして法人・個人関係なく
すべてのゲーム開発者が
参入できます
© 2015 Shinra Technologies, Inc. All Rights Reserved.
弱点
© 2015 Shinra Technologies, Inc. All Rights Reserved.
ネットを経由するが故の
遅延
© 2015 Shinra Technologies, Inc. All Rights Reserved.
もちろん
遅延の対策を
しています
© 2015 Shinra Technologies, Inc. All Rights Reserved.
技術的な遅延対策
•GPU・NICのリモートダイレクトメモリアクセス活用
•IPv6網を活用
•サーバーの”超”最適化
岩崎哲史 シニア・バイス・プレジデント
© 2015 Shinra Technologies, Inc. All Right...
一般的なゲーム
すべて同一のマシンで動作する。
© 2015 Shinra Technologies, Inc. All Rights Reserved.
プレイヤー
Internet
いわゆる「クラウドゲーム」
サーバー上の仮想OSなどで動作する。
操作情報 Client
© 2015 Shinra Technologies, Inc. All Rights Reserved.
ビデオストリーム
プレイヤー
シンラ・システム
プレイヤー
描画コマンド
操作情報
ビデオストリーム
DirectX フェイクDLL
GPUマシン
CPUマシン
複数のゲームプロセス間でメモリ・演算結果を共有
AI専門マシン・物理演算専門マシンなどを立てることができる
© ...
それでも遅延あります
(╬ ^ _ ^)
© 2015 Shinra Technologies, Inc. All Rights Reserved.
実際の計測
•東京のテストサーバーへアクセス
• 東京から光、実測70Mbps: RTT 40ms程度
• 富山から光、実測10Mbps: RTT 70ms程度
RTT(Round Trip Time)…
サーバーが、クライアントデバイスから受...
遅延でゲームに何が起こるのか
•高速で厳密な操作がしにくい
• タイミング判定が難しい
• 操作がワンテンポ遅れる
© 2015 Shinra Technologies, Inc. All Rights Reserved.
それに対して、シンラ・テクノロジーの考え方
•未来方向で必ず解決される
• 最近:ADSLの終了、光ファイバー増強、5G回線の研究…。
•今はデメリットより、メリットを感じてくれるように頑張る。
• メリットを生かしたシステムを作るクリエイター...
デメリットに
対処さえすれば
© 2015 Shinra Technologies, Inc. All Rights Reserved.
あらゆるWindows PCで動作する…..!
•必要スペック
• H.264のHD動画を流す環境
• ネットワークは光ファイバー回線が通っていればOK
すべてのWin PCに
モンスタースペックゲームの体験が提供可能
開発者は単一の動作環境に...
ネットワーク対戦・協力ゲームが劇的に作りやすくなる
•同期処理がいらない
• ネットワークプログラミングの知識は必要ない
•クラック対策がいらない
• パケット解析によるチート不可能
• 海賊版サーバー不可能
© 2015 Shinra Tec...
「ローカルマルチ」実装でそのままオンラインへ
• マルチプレイのための仕組みがいらない、ということは
• 現在ローカルマルチができているゲームは、そのままオンライン化
• 画面分割の場合はそれぞれの画面をクライアントに割り当てればよい
開発者は...
過去の例を振り返ると
• ゲームのメディアがカートリッジ(シリコン)から
ディスクに移ったときのこと。
• メリット :大容量!安価!新しいゲーム体験が可能。
• デメリット:シークが発生し、ロードに時間がかかる。
しかし、ディスクメディアにみ...
それを踏まえて
•シンラ・システムの場合のデメリットは遅延。
•遅延が致命的なゲームジャンルは避ける。
たとえば….
© 2015 Shinra Technologies, Inc. All Rights Reserved.
音ゲー:✕
© 2015 Shinra Technologies, Inc. All Rights Reserved.
格ゲー:△
または、フレーム単位での見極めが必要なアクションゲーム
© 2015 Shinra Technologies, Inc. All Rights Reserved.
おすすめゲームジャンル
• ターンバトル、コマンドRPG
• シミュレーション
• アクションゲーム
• スピードが比較的ゆっくり
• 動作やヒット判定がざっくりしたアクションゲーム
© 2015 Shinra Technologies, In...
加えて
新しい土俵で可能になる
ゲームデザインに注目する
© 2015 Shinra Technologies, Inc. All Rights Reserved.
過去の例を振り返ると その2
• たとえば、スマートフォン
• 「タッチパネル」「どこでも遊べる」という特性から、多くの斬新なゲームが生まれた。
• 逆に「1プレイの時間が短い」「だれもが端末を持っている」という制約もあった。
© 2015 S...
シンラ・テクノロジーが提案する
新しいゲームデザイン
© 2015 Shinra Technologies, Inc. All Rights Reserved.
3つの利用スタイル(ゲームアーキテクチャ)
•「1:1 モデル」…従来のPCゲームと同じ
• 1プレイヤーに1サーバープロセス
•「N:N モデル」…従来のMMOタイトルと同じ
• 複数のゲームサーバープロセスがLAN経由で通信し、マルチプレイ...
1:Nモデル
• 同期処理がいらないが故、可能になるもの
• 大量のオブジェクトが動きまわる
• ゲーム内のマップが有機的に変化する
• 物理演算がゲームシステムの中心になっている
© 2015 Shinra Technologies, Inc...
作例:
スペース・スウィーパ
© 2015 Shinra Technologies, Inc. All Rights Reserved.
© 2014 Shinra Technologies, Inc. All Rights Reserved.
北米ベータテスト時の、15人対戦の様子
© 2015 Shinra Technologies, Inc. All Rights Reserved.
© 2014 Shinra Technologies, Inc. All Rights Rese...
実際、開発するときは
© 2015 Shinra Technologies, Inc. All Rights Reserved.
https://github.com/ShinraTech/CCDK
© 2015 Shinra Technologies, Inc. All Rights Reserved.
CCDK: Community Cloud Development Kit
•いまのところfor Windows 7 or 8
• DirectX9 / 11 SDK
• Python 3.4
• Visual Studio 2012 or 2...
現状CCDKと一緒に使えるゲーム開発環境
•DirectX Tool Kit (おすすめ)
•C++用ゲームフレームワーク
•Moyai SDK
•MoaiSDK APIをまねたゲームエンジン
• ゲームエンジンは、まだ非対応
• 現在研究・検...
最新情報:Open GL ES 2.0開発行けそう
• Google ANGLEで動かしてみた
• ANGLEとは: OpenGL ES2.0 APIを
DirectX 9/11 APIに変換するもの
• とりあえずグラフィクスだけはOK
© ...
開発手順
1. CCDKからスケルトンプロジェクトをコピー、開発
(Visual Studio上の標準的な開発)
2. ローカル環境での動作テスト
MCS (Minimal Cloud Set)を使う
3. Shinraが管理するテストサーバー...
おさらい:シンラ・システムの構成
プレイヤー
描画コマンド
操作情報
ビデオストリーム
DirectX フェイクDLL
GPUマシン
CPUマシン
© 2015 Shinra Technologies, Inc. All Rights Rese...
ローカルテスト(Minimal Cloud Set)構成
単一のマシンで動作サーバーとクライアントをそれぞれ起動。
© 2015 Shinra Technologies, Inc. All Rights Reserved.
ローカルテスト時の制限
• 本番環境より遅く、遅延は大きい。(ローカルLANであっても)
• 画質が悪い。
• LANでHD解像度の場合、RTTは200ms以上。
• 理由:ローカルテスト環境は性能的に本番仕様と異なる。
• エンコーダーのハー...
• ローカルマシンからP2P通信
• SSHトンネルを経由してバックドアを開け、ネット経由で接続してテスト。
• この場合、MCSの遅延にネットワーク遅延も加わり、300ms以上に….
• 研究中:Microsoft AzureなどのWindo...
アルファ版ゲームが
ローカルで動き始めたら
© 2015 Shinra Technologies, Inc. All Rights Reserved.
当社のテストサーバーを使う
• Tokyo SVC(Shinra Virtual Cluster)
• 時間貸しの予約制
• 速い動画エンコーダ
• リモートレンダリングで高速に動作
• 遅延も少なく、RTTは30〜80ms程度。
• 想定スペ...
テストサーバーを使うには
• タイトルの申請
• ゲームのアルファ版が完成したら
• https://www.shinra.com/jp/の「Contact US」か、DevJ@shinra.com へ
• 審査フォームの記入、提出。
当社内で...
申請でチェックするところ
•クオリティ
• エンタテインメントコンテンツとして、成立しているか
•エロはアカンのやで
© 2015 Shinra Technologies, Inc. All Rights Reserved.
おさらい:全体的な流れ
• CCDKを使った試作開発、ローカルテスト
• 試作の審査
• テストサーバーで動作テスト
この先は個別対応
© 2015 Shinra Technologies, Inc. All Rights Reserved.
参考:ストリーム動画は調整可能
•ゲーム解像度≒配信動画の解像度
• 解像度が大きくなれば帯域を食う
• 形式はH.264
• タイトルごとに圧縮時の画質調整が可能
• 4Kにしてもいいが、必要な帯域が大きくなりすぎる
© 2015 Shinr...
とりあえず
なんかつくろうぜ!!
© 2015 Shinra Technologies, Inc. All Rights Reserved.
まず我々で何か作るか!!
© 2015 Shinra Technologies, Inc. All Rights Reserved.
ゲームジャム的なミニゲーム集中開発やってみた
•1週間、1日5時間程度
•1:Nモデルのネット対戦ゲームをつくろう
•ふつうは同期処理がやりにくいゲームをさくっと作ろう
© 2015 Shinra Technologies, Inc. All ...
考えたゲームコンセプト:
物理演算で動くアメーバが殴りあうゲーム
© 2015 Shinra Technologies, Inc. All Rights Reserved.
アメーバゲーム「Amoebattle(仮)」
• 従来のシステムでは不可能だったオンラインマルチプレイ
• 物理シミュレーション駆動のゲームデザイン
© 2015 Shinra Technologies, Inc. All Rights Res...
キャラクターイメージ
え: いちじょう たかあき
© 2015 Shinra Technologies, Inc. All Rights Reserved.
完成品
© 2015 Shinra Technologies, Inc. All Rights Reserved.
Youtube動画 https://youtu.be/tVBPKeDkFbY
開発環境
•IDE:Visual Studio
•CCDK
•DirectX Tool Kit
•Chipmunk2D(物理演算)
https://github.com/slembcke/Chipmunk2D
© 2015 Shinra Tec...
開発の大まかな流れ1
• 8/17 月曜
• ミーティング、ゲームアイデアをアメーバゲーに決める。1:1で実装開始
• アニメつきスプライトの実装 (Animated Texture)
• 最初期版をTokyoのシンラテストサーバーでストリーム...
開発の大まかな流れ2
• 8/20 木曜
• 勝敗ルールとマッチングの設計, 1:N組み込み
• 8/21 金曜
• 勝敗ルール実装.マッチングは省略
• 8/24 月曜
• AddPlayer, DeletePlayerを実装。
• キーボー...
1:Nモデル実装について
通常のDirect X開発に何を足せばいいのか
© 2015 Shinra Technologies, Inc. All Rights Reserved.
通常のDirectXゲームプログラム(DirectX Tool Kit)
• 初期化
• デバイス,デバイスコンテキスト,スワップチェイン
• オーディオエンジン, SoundEffect, テクスチャやモデルなど各種リソース作成
• ジョイス...
1:N APIにおけるゲームプログラム(DirectX Tool kit)
• Game初期化
• D3D11CreateDevice
• 物理計算エンジン初期化
• メインループ
• Shinra::GetNextEvent()を呼び続ける。...
なんでも人数分 : Update
void Game::Update(float dt)
{
for(int i=0;i<MAX_PLAYER_NUM;i++) {
Player *pl = GetPlayer(i);
if(pl) pl->U...
なんでも人数分 : Render
void Game::Render()
{
for(int i=0;i<MAX_PLAYER_NUM;i++) {
Player *pl = GetPlayer(i);
if(pl) pl->Render();...
プレイヤーごとにリソースが重複しているのでは?
• そのとおりです。
• リソースの共有は実装中です。将来版でリリース予定
Shinra Game APIの全5関数
SHINRAGAME_API ID3D11DeviceContext* GetPlayerRenderingContext(PlayerID playerID);
SHINRAGAME_API IMMD...
Shinra Tech Blogでソース公開予定
• https://tech.shinra.com/jp
• CCDKを使ったゲームの実装の参考に
• 今後もサンプルは増やしていきたい
© 2015 Shinra Technologies, ...
成果
• 短期間でも「クラウドで動作するマルチプレイゲーム」ができる面白さ
• Shinra APIの組み込みもシンプル。
• SDK同梱のツールでパッケージを作ってテストサーバーに上げるだけ
• ネットワーク関連のコードは一切書かなくてOK
...
シンラ・テクノロジーが目指す未来
© 2015 Shinra Technologies, Inc. All Rights Reserved.
ゲーム「開発文化」の超進化
• 誰でも、手軽に面白いゲームを作り、配信し、みんなで遊べる世界を
• 「コンテンツが動作するプラットフォーム」ではなく、
ゲーム文化が好きなすべての人が集まる「場所」へ
• かつ、クリエイターにしっかりお金が回る世...
さらなるアドバンスドな使い方も
• 物理演算を別プロセスで走らせる
• AIを別プロセスで走らせる
• AIミドルウェアKYTHERA社とパートナー
• 現在研究中
こんな側面からも「ゲームの超進化」を目指す!
© 2015 Shinra Te...
進化の強要ではありません
•シンラ・システム向けと、今までのスタイル両方取りでも
大丈夫です。
• コンテンツの独占はしません
•従来通りのゲームタイトルに付加価値を
• マルチプレイを実現する
• AIをめちゃくちゃ強化する
© 2015 S...
今後の課題
• シンラ・サーバー上でのテストを手軽に
• 開発用、テスト用、デモ用など様々な用途向けの実行環境
• ローカルテストせず、いきなりアップできるとか
• ロビーシステム
• 従来のローカル対戦ゲームを対応させたときのために
• 手広...
やってみたいこと
• コンパニオンアプリ向け開発環境
• シンラ・システム上で実行しているゲームから情報が取れる。
• 観戦アプリなど。
• データ分析ソリューション
• せっかくサーバーで全部やるんだから、ばっちりデータ取っておきたい
© 2...
おさらい
• 手軽にマルチプレイを実装
• ネットワーク関連のコード、同期の実装からの解放
• サーバー開発、運用からの解放
• どんなPCでも同一のプレイ体験
• ハイクオリティーなゲームを手軽に
• 開発者は単一の動作環境に集中できる
• ...
正式サービスは2016年予定
© 2015 Shinra Technologies, Inc. All Rights Reserved.
とにかくシンラ・テクノロジーはオープンになります!
「こんなゲームは動きますか?」
「こういうアイディアは実現可能ですか?」
という発想がありましたら、ぜひご相談ください。
DevJ@shinra.com
© 2015 Shinra Techn...
最後に
クリエイターの皆様に
提案ブン投げ
© 2015 Shinra Technologies, Inc. All Rights Reserved.
ゲームデザイン上の提案
「サーバー上でずっとゲームインスタンスが
起動しているということ」
を生かしたゲームデザインとは?
© 2015 Shinra Technologies, Inc. All Rights Reserved.
質問など
以降、CEDECでいただいた資料を追記いたしました。
© 2015 Shinra Technologies, Inc. All Rights Reserved.
実際の質問1
Q: DirectX12のサポートは行っていますか。
A: 対応検証中となります。
Q: GPUを使うミドルウェア(NVIDIA Physicsなど)はどれを選ぶべきですか。
A: まだ指針はございませんが、お客様のニーズに合わせ...
実際の質問2
Q: D3Dのデバイスはプレーヤーに結びついているという理解ですが、
Physicsなどを利用したいとき、ゲームロジックでD3Dのコンテクストを取り
出すことは可能ですか?
たとえばプレーヤー1と2以外にGPUを利用する別の処理が...
実際の質問3
Q: レーティングはありますか。
A: 現段階ではテストサーバ上に試験的に動かすところまでですので、当
社の判断となります。 R18禁止は当社判断です。本番サービスでのレー
ティングは現在検討中です。
Q: 審査を出した後、サーバ...
実際の質問4
Q: ドッグフードしてますか?
A: 「スペース・スウィーパ」はシンラの中嶋が
開発しています。また、「The Living World」は
シンラのモントリオールチームが開発してい
ます。
Q: 実際のゲームタイトルをシンラ・シ...
実際の質問5
Q: Mac上で開発可能になりますか?
A: Win/Mac対応のゲームライブラリを使っていれば可能です。「スペー
ス・スウィーパ」は描画にMoyai、サウンドにFMODを使うことで、基本的に
Mac上で開発してWindowsに持...
実際の質問6
Q: マルチプレイの際、ユーザーごとに回線速度に違いがあると思います
が、シンラのシステム側で解像度を動的に変えるような仕組みはあります
か?
A: 動的に解像度を変えることはできませんが、現在シンラではクライアン
ト側が描画でき...
Upcoming SlideShare
Loading in...5
×

クリエイター魂を刺激する!シンラが提案する「ゲームの超進化」ロードマップ 20150908

631

Published on

CEDEC2015 プレゼンテーション資料 (2015/8/28)

Published in: Technology
0 Comments
10 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
631
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
10
Embeds 0
No embeds

No notes for slide
  • 受講の要綱にプラットフォームはPC、とありますが、もしここにモバイルに集中している方がいたら申し訳ないのですが
  • 今年の7月からシンラに加わりまして、
  • ずっと言われていることですが、
    コンシューマハードのグラフィクス性能は開発リソースを越えつつあります。
    「性能」が青天井になると、ゲームは劇的な進化をしなくなるのでしょうか?

    行きつくところまで行っちゃったんじゃないの?
  • それが「シンラ・ゲーム・システム」
  • シンラは単なるクラウドゲームではありません
  • シンラは単なるクラウドゲームではありません
  • もはやゲームプラットフォームとして当たり前ですが念のため。
  • どう我々が対策しているのか
  • 今回は割愛しますが、異なるゲームインスタンス間でメモリデータを共有化するなどのトリッキーなしくみを使っています、

    「ニック」 Network Interface Card
  • (商用版)シンラ・プラットフォームの特徴である「リモートレンダリング機能」です。
  • 往復遅延時間,
    シンラではPCに注力しているので、クライアントサイドのデコードによる遅延もほとんどありません
  • あれがだめこれがだめ、ではなくて、「これが新しくできるね」という発想を見つけていく。
    インディーゲーム開発者に期待しているのはそういうところです
  • 究極的にマルチプラットフォームだが、開発はマルチではない。

     (アメリカでのクローズドβでは,Google Fiberと提携)
  • このへんは和田代表がお話していると思うので、さらっと。
  • 究極的にマルチプラットフォームだが、開発はマルチではない。
  • 「ローディング」があるということを踏まえたゲームデザインとシステム設計。
  • この一点に集約されます。
  • (個人的には都市を破壊する巨大ロボ格闘ゲームが作りたい)
  • 非常にでっかいワールドに、15人アクセスしています。
    サンドボックスゲームなのですが、ブロック一つ一つ、15人の間ですべて同じ動きをしています。同期しています。
    というか同期処理はしていません。1ゲームインスタンスで、普通に実行しているだけです。
  • (商用版)シンラ・プラットフォームの特徴である「リモートレンダリング機能」です。
  • クオリティは映像のきれいさとかではなくて、
  • みんな4K4K行っているので紹介しますが、

    720p (1280/720)で1.5 ~2Mbpsぐらい
  • 作れ作ればかり言うのは忍びない。
  • ゲームジャムというのは、48時間以内に与えられたお題で~~
  • 作れ作ればかり言うのは忍びない。
  • ゲームの概要は動画を流しながら説明
  • キセラ
  • シンラ版:
    1つのワールドに大人数でアクセスして遊べる
    AIや物理演算が非常に豪華
  • クリエイター魂を刺激する!シンラが提案する「ゲームの超進化」ロードマップ 20150908

    1. 1. クリエイター魂を刺激する! シンラが提案する 「ゲームの超進化」ロードマップ シンラ・テクノロジー・ジャパン株式会社 一條 貴彰 中嶋 謙互 © 2015 Shinra Technologies, Inc. All Rights Reserved.
    2. 2. はじめに 当社のモバイル端末対応について •現在、スマートフォン対応版は開発しておりません。 • 通信環境の不足: 速度、帯域制限、接続持続性 © 2015 Shinra Technologies, Inc. All Rights Reserved.
    3. 3. さっくり自己紹介 • 一條 貴彰 • ディベロッパー・アソシエイト • シンラのシステムをさまざまな開発者にご紹介するお仕事 • インディーゲームクリエイターとしてBitSummit, TGSに出展 • 中嶋 謙互 • CCDK開発、技術サポート担当 • シンラのシステムをインディー向けに提供するための あらゆる技術的なことをやります • 同じくインディーゲームクリエイターとしてゲームを開発。 © 2015 Shinra Technologies, Inc. All Rights Reserved.
    4. 4. ゲームは 進化するのか? © 2015 Shinra Technologies, Inc. All Rights Reserved.
    5. 5. (シンラロゴ) © 2015 Shinra Technologies, Inc. All Rights Reserved. 進化します!
    6. 6. シンラは、 クラウドゲーム ではありません © 2015 Shinra Technologies, Inc. All Rights Reserved.
    7. 7. 「サーバー上でゲームを動作させて、 描画結果をビデオストリームする」 ので、クラウドゲームと似ていますが…. © 2015 Shinra Technologies, Inc. All Rights Reserved.
    8. 8. 新しいエンターテイメント 体験のための プラットフォーム です。 © 2015 Shinra Technologies, Inc. All Rights Reserved.
    9. 9. 「クラウドゲーム」との違い •クラウドゲーム • 従来通りのゲームをサー バー上で動作させる • プレイヤー1人に対し 1つのゲームインスタンス • サーバーに莫大な投資、 月額費用がかかる •シンラ・システム • サーバー上での動作を前提とした ゲームデザイン • 1つのワールドに大人数が参加 • 物理演算や敵キャラクターの思考 ルーチンに強力なCPUパワーを使う • 「プラットフォーム」なので、 サーバーは構築済み。 初期投資は必要ない © 2015 Shinra Technologies, Inc. All Rights Reserved.
    10. 10. そして法人・個人関係なく すべてのゲーム開発者が 参入できます © 2015 Shinra Technologies, Inc. All Rights Reserved.
    11. 11. 弱点 © 2015 Shinra Technologies, Inc. All Rights Reserved.
    12. 12. ネットを経由するが故の 遅延 © 2015 Shinra Technologies, Inc. All Rights Reserved.
    13. 13. もちろん 遅延の対策を しています © 2015 Shinra Technologies, Inc. All Rights Reserved.
    14. 14. 技術的な遅延対策 •GPU・NICのリモートダイレクトメモリアクセス活用 •IPv6網を活用 •サーバーの”超”最適化 岩崎哲史 シニア・バイス・プレジデント © 2015 Shinra Technologies, Inc. All Rights Reserved.
    15. 15. 一般的なゲーム すべて同一のマシンで動作する。 © 2015 Shinra Technologies, Inc. All Rights Reserved. プレイヤー
    16. 16. Internet いわゆる「クラウドゲーム」 サーバー上の仮想OSなどで動作する。 操作情報 Client © 2015 Shinra Technologies, Inc. All Rights Reserved. ビデオストリーム プレイヤー
    17. 17. シンラ・システム プレイヤー 描画コマンド 操作情報 ビデオストリーム DirectX フェイクDLL GPUマシン CPUマシン 複数のゲームプロセス間でメモリ・演算結果を共有 AI専門マシン・物理演算専門マシンなどを立てることができる © 2015 Shinra Technologies, Inc. All Rights Reserved.
    18. 18. それでも遅延あります (╬ ^ _ ^) © 2015 Shinra Technologies, Inc. All Rights Reserved.
    19. 19. 実際の計測 •東京のテストサーバーへアクセス • 東京から光、実測70Mbps: RTT 40ms程度 • 富山から光、実測10Mbps: RTT 70ms程度 RTT(Round Trip Time)… サーバーが、クライアントデバイスから受け取ったデータで計算した後、 クライアントデバイスがストリームデータを受け取るまでの時間 ※最終的なサービスではさらなる高速化を目指します。 (へたなスマートフォンのタップ イベントより速いのでは) © 2015 Shinra Technologies, Inc. All Rights Reserved.
    20. 20. 遅延でゲームに何が起こるのか •高速で厳密な操作がしにくい • タイミング判定が難しい • 操作がワンテンポ遅れる © 2015 Shinra Technologies, Inc. All Rights Reserved.
    21. 21. それに対して、シンラ・テクノロジーの考え方 •未来方向で必ず解決される • 最近:ADSLの終了、光ファイバー増強、5G回線の研究…。 •今はデメリットより、メリットを感じてくれるように頑張る。 • メリットを生かしたシステムを作るクリエイターと共に。 © 2015 Shinra Technologies, Inc. All Rights Reserved.
    22. 22. デメリットに 対処さえすれば © 2015 Shinra Technologies, Inc. All Rights Reserved.
    23. 23. あらゆるWindows PCで動作する…..! •必要スペック • H.264のHD動画を流す環境 • ネットワークは光ファイバー回線が通っていればOK すべてのWin PCに モンスタースペックゲームの体験が提供可能 開発者は単一の動作環境に集中できる © 2015 Shinra Technologies, Inc. All Rights Reserved.
    24. 24. ネットワーク対戦・協力ゲームが劇的に作りやすくなる •同期処理がいらない • ネットワークプログラミングの知識は必要ない •クラック対策がいらない • パケット解析によるチート不可能 • 海賊版サーバー不可能 © 2015 Shinra Technologies, Inc. All Rights Reserved.
    25. 25. 「ローカルマルチ」実装でそのままオンラインへ • マルチプレイのための仕組みがいらない、ということは • 現在ローカルマルチができているゲームは、そのままオンライン化 • 画面分割の場合はそれぞれの画面をクライアントに割り当てればよい 開発者はゲームシステム側に集中できる © 2015 Shinra Technologies, Inc. All Rights Reserved.
    26. 26. 過去の例を振り返ると • ゲームのメディアがカートリッジ(シリコン)から ディスクに移ったときのこと。 • メリット :大容量!安価!新しいゲーム体験が可能。 • デメリット:シークが発生し、ロードに時間がかかる。 しかし、ディスクメディアにみんな移った。 © 2015 Shinra Technologies, Inc. All Rights Reserved. システムの持つデメリットより、 メリットがもたらすパワーが強力であった
    27. 27. それを踏まえて •シンラ・システムの場合のデメリットは遅延。 •遅延が致命的なゲームジャンルは避ける。 たとえば…. © 2015 Shinra Technologies, Inc. All Rights Reserved.
    28. 28. 音ゲー:✕ © 2015 Shinra Technologies, Inc. All Rights Reserved.
    29. 29. 格ゲー:△ または、フレーム単位での見極めが必要なアクションゲーム © 2015 Shinra Technologies, Inc. All Rights Reserved.
    30. 30. おすすめゲームジャンル • ターンバトル、コマンドRPG • シミュレーション • アクションゲーム • スピードが比較的ゆっくり • 動作やヒット判定がざっくりしたアクションゲーム © 2015 Shinra Technologies, Inc. All Rights Reserved.
    31. 31. 加えて 新しい土俵で可能になる ゲームデザインに注目する © 2015 Shinra Technologies, Inc. All Rights Reserved.
    32. 32. 過去の例を振り返ると その2 • たとえば、スマートフォン • 「タッチパネル」「どこでも遊べる」という特性から、多くの斬新なゲームが生まれた。 • 逆に「1プレイの時間が短い」「だれもが端末を持っている」という制約もあった。 © 2015 Shinra Technologies, Inc. All Rights Reserved. プラットフォームの刷新が、 新しいゲームデザインを生み出す
    33. 33. シンラ・テクノロジーが提案する 新しいゲームデザイン © 2015 Shinra Technologies, Inc. All Rights Reserved.
    34. 34. 3つの利用スタイル(ゲームアーキテクチャ) •「1:1 モデル」…従来のPCゲームと同じ • 1プレイヤーに1サーバープロセス •「N:N モデル」…従来のMMOタイトルと同じ • 複数のゲームサーバープロセスがLAN経由で通信し、マルチプレイを実現 •「1:N モデル」 • ひとつのサーバープロセスが、複数のレンダリングターゲットを保持し プレイヤーごとに異なる内容の描画を行う。 © 2015 Shinra Technologies, Inc. All Rights Reserved.
    35. 35. 1:Nモデル • 同期処理がいらないが故、可能になるもの • 大量のオブジェクトが動きまわる • ゲーム内のマップが有機的に変化する • 物理演算がゲームシステムの中心になっている © 2015 Shinra Technologies, Inc. All Rights Reserved.
    36. 36. 作例: スペース・スウィーパ © 2015 Shinra Technologies, Inc. All Rights Reserved. © 2014 Shinra Technologies, Inc. All Rights Reserved.
    37. 37. 北米ベータテスト時の、15人対戦の様子 © 2015 Shinra Technologies, Inc. All Rights Reserved. © 2014 Shinra Technologies, Inc. All Rights Reserved. http://www.twitch.tv/shinratechnologies
    38. 38. 実際、開発するときは © 2015 Shinra Technologies, Inc. All Rights Reserved.
    39. 39. https://github.com/ShinraTech/CCDK © 2015 Shinra Technologies, Inc. All Rights Reserved.
    40. 40. CCDK: Community Cloud Development Kit •いまのところfor Windows 7 or 8 • DirectX9 / 11 SDK • Python 3.4 • Visual Studio 2012 or 2013 (無料版Visual Studio CommunityでもOK) © 2015 Shinra Technologies, Inc. All Rights Reserved. ※記載されている会社名・商品名は、各社の商標または登録商標です。
    41. 41. 現状CCDKと一緒に使えるゲーム開発環境 •DirectX Tool Kit (おすすめ) •C++用ゲームフレームワーク •Moyai SDK •MoaiSDK APIをまねたゲームエンジン • ゲームエンジンは、まだ非対応 • 現在研究・検証中です。 • ゲームプロセス内に、カメラとオーディオリスナーをプレイヤーごとに持ち、 個別にレンダリングする必要がある。 © 2015 Shinra Technologies, Inc. All Rights Reserved. ※記載されている会社名・商品名は、各社の商標または登録商標です。
    42. 42. 最新情報:Open GL ES 2.0開発行けそう • Google ANGLEで動かしてみた • ANGLEとは: OpenGL ES2.0 APIを DirectX 9/11 APIに変換するもの • とりあえずグラフィクスだけはOK © 2015 Shinra Technologies, Inc. All Rights Reserved. ※記載されている会社名・商品名は、各社の商標または登録商標です。
    43. 43. 開発手順 1. CCDKからスケルトンプロジェクトをコピー、開発 (Visual Studio上の標準的な開発) 2. ローカル環境での動作テスト MCS (Minimal Cloud Set)を使う 3. Shinraが管理するテストサーバーでの動作テスト 当社へ企画を申請、OKならTokyo SVC(Shinra Virtual Cloud)上に載せる © 2015 Shinra Technologies, Inc. All Rights Reserved. 無償でお試しいただけます。
    44. 44. おさらい:シンラ・システムの構成 プレイヤー 描画コマンド 操作情報 ビデオストリーム DirectX フェイクDLL GPUマシン CPUマシン © 2015 Shinra Technologies, Inc. All Rights Reserved.
    45. 45. ローカルテスト(Minimal Cloud Set)構成 単一のマシンで動作サーバーとクライアントをそれぞれ起動。 © 2015 Shinra Technologies, Inc. All Rights Reserved.
    46. 46. ローカルテスト時の制限 • 本番環境より遅く、遅延は大きい。(ローカルLANであっても) • 画質が悪い。 • LANでHD解像度の場合、RTTは200ms以上。 • 理由:ローカルテスト環境は性能的に本番仕様と異なる。 • エンコーダーのハードウェアアクセラレーションがない。 • リソースの共有システムがない。 © 2015 Shinra Technologies, Inc. All Rights Reserved.
    47. 47. • ローカルマシンからP2P通信 • SSHトンネルを経由してバックドアを開け、ネット経由で接続してテスト。 • この場合、MCSの遅延にネットワーク遅延も加わり、300ms以上に…. • 研究中:Microsoft AzureなどのWindowsサーバーを使う • シンラ・システムとは独立して、テスト用にゲームを配信 • 制作中のゲームを、インターネット上の誰でもがテストプレイできるように公開できる シンラ技術ブログ:『CCDKによる「勝手ストリーミング」の動作検証 その1』 https://tech.shinra.com/jp/stream-testing-part-1 勝手にストリーミング(自前サーバー) © 2015 Shinra Technologies, Inc. All Rights Reserved.
    48. 48. アルファ版ゲームが ローカルで動き始めたら © 2015 Shinra Technologies, Inc. All Rights Reserved.
    49. 49. 当社のテストサーバーを使う • Tokyo SVC(Shinra Virtual Cluster) • 時間貸しの予約制 • 速い動画エンコーダ • リモートレンダリングで高速に動作 • 遅延も少なく、RTTは30〜80ms程度。 • 想定スペック:一般に購入できるモンスタースペックPC • ローカルテストで動くものはサーバーでもおおむね動く。 © 2015 Shinra Technologies, Inc. All Rights Reserved.
    50. 50. テストサーバーを使うには • タイトルの申請 • ゲームのアルファ版が完成したら • https://www.shinra.com/jp/の「Contact US」か、DevJ@shinra.com へ • 審査フォームの記入、提出。 当社内でタイトルの審査 © 2015 Shinra Technologies, Inc. All Rights Reserved.
    51. 51. 申請でチェックするところ •クオリティ • エンタテインメントコンテンツとして、成立しているか •エロはアカンのやで © 2015 Shinra Technologies, Inc. All Rights Reserved.
    52. 52. おさらい:全体的な流れ • CCDKを使った試作開発、ローカルテスト • 試作の審査 • テストサーバーで動作テスト この先は個別対応 © 2015 Shinra Technologies, Inc. All Rights Reserved.
    53. 53. 参考:ストリーム動画は調整可能 •ゲーム解像度≒配信動画の解像度 • 解像度が大きくなれば帯域を食う • 形式はH.264 • タイトルごとに圧縮時の画質調整が可能 • 4Kにしてもいいが、必要な帯域が大きくなりすぎる © 2015 Shinra Technologies, Inc. All Rights Reserved.
    54. 54. とりあえず なんかつくろうぜ!! © 2015 Shinra Technologies, Inc. All Rights Reserved.
    55. 55. まず我々で何か作るか!! © 2015 Shinra Technologies, Inc. All Rights Reserved.
    56. 56. ゲームジャム的なミニゲーム集中開発やってみた •1週間、1日5時間程度 •1:Nモデルのネット対戦ゲームをつくろう •ふつうは同期処理がやりにくいゲームをさくっと作ろう © 2015 Shinra Technologies, Inc. All Rights Reserved.
    57. 57. 考えたゲームコンセプト: 物理演算で動くアメーバが殴りあうゲーム © 2015 Shinra Technologies, Inc. All Rights Reserved.
    58. 58. アメーバゲーム「Amoebattle(仮)」 • 従来のシステムでは不可能だったオンラインマルチプレイ • 物理シミュレーション駆動のゲームデザイン © 2015 Shinra Technologies, Inc. All Rights Reserved.
    59. 59. キャラクターイメージ え: いちじょう たかあき © 2015 Shinra Technologies, Inc. All Rights Reserved.
    60. 60. 完成品 © 2015 Shinra Technologies, Inc. All Rights Reserved. Youtube動画 https://youtu.be/tVBPKeDkFbY
    61. 61. 開発環境 •IDE:Visual Studio •CCDK •DirectX Tool Kit •Chipmunk2D(物理演算) https://github.com/slembcke/Chipmunk2D © 2015 Shinra Technologies, Inc. All Rights Reserved. ※記載されている会社名・商品名は、各社の商標または登録商標です。
    62. 62. 開発の大まかな流れ1 • 8/17 月曜 • ミーティング、ゲームアイデアをアメーバゲーに決める。1:1で実装開始 • アニメつきスプライトの実装 (Animated Texture) • 最初期版をTokyoのシンラテストサーバーでストリーム確認 • 8/18 火曜 • Chipmunk 2Dの動作確認 • 2つのアメーバを作成、目を付けた • ○ を描画するプリミティブ描画 Primitive Batch実装 • Chipmunkをゲームに組み込み、テストサーバーで確認 • 8/19 水曜 • Joystick組み込み、2人で対戦可能とした • 操作感の改善 © 2015 Shinra Technologies, Inc. All Rights Reserved.
    63. 63. 開発の大まかな流れ2 • 8/20 木曜 • 勝敗ルールとマッチングの設計, 1:N組み込み • 8/21 金曜 • 勝敗ルール実装.マッチングは省略 • 8/24 月曜 • AddPlayer, DeletePlayerを実装。 • キーボードを押してプレイヤーの増減を動的に行う部分を実装(3時間) • 8/25 火曜 • ShinraAPIをincludeしてAddPlayer, DeletePlayerを呼び出す。 • Tokyo SVCで動作確認する。(5時間) © 2015 Shinra Technologies, Inc. All Rights Reserved.
    64. 64. 1:Nモデル実装について 通常のDirect X開発に何を足せばいいのか © 2015 Shinra Technologies, Inc. All Rights Reserved.
    65. 65. 通常のDirectXゲームプログラム(DirectX Tool Kit) • 初期化 • デバイス,デバイスコンテキスト,スワップチェイン • オーディオエンジン, SoundEffect, テクスチャやモデルなど各種リソース作成 • ジョイスティック初期化(人数分) • 物理計算エンジン初期化 • メインループ • 入力 • アップデート • 描画
    66. 66. 1:N APIにおけるゲームプログラム(DirectX Tool kit) • Game初期化 • D3D11CreateDevice • 物理計算エンジン初期化 • メインループ • Shinra::GetNextEvent()を呼び続ける。 • 新しいプレイヤーが来たら game->AddPlayer(playerID) • d3dcontext = shinra::GetPlayerRenderingContext() • オーディオエンジン, SoundEffect, テクスチャやモデルなど各種リソース作成 • ジョイスティック初期化(人数分) • プレイヤーがいなくなったら • リソース開放処理(~Player)
    67. 67. なんでも人数分 : Update void Game::Update(float dt) { for(int i=0;i<MAX_PLAYER_NUM;i++) { Player *pl = GetPlayer(i); if(pl) pl->Update(dt); } PhysUpdateSpace( m_space, dt); // 物理は全員で1回
    68. 68. なんでも人数分 : Render void Game::Render() { for(int i=0;i<MAX_PLAYER_NUM;i++) { Player *pl = GetPlayer(i); if(pl) pl->Render(); } }
    69. 69. プレイヤーごとにリソースが重複しているのでは? • そのとおりです。 • リソースの共有は実装中です。将来版でリリース予定
    70. 70. Shinra Game APIの全5関数 SHINRAGAME_API ID3D11DeviceContext* GetPlayerRenderingContext(PlayerID playerID); SHINRAGAME_API IMMDevice* GetPlayerAudioDevice(PlayerID playerID); SHINRAGAME_API Event* GetNextEvent(); SHINRAGAME_API ::DWORD GetPlayerGamepadID(PlayerID playerID); SHINRAGAME_API PlayerID GetPlayerIDFromRawInputDevice(HANDLE hRawInputDevice); Amoebaで使用した関数 Amoebaで使用しなかった関数
    71. 71. Shinra Tech Blogでソース公開予定 • https://tech.shinra.com/jp • CCDKを使ったゲームの実装の参考に • 今後もサンプルは増やしていきたい © 2015 Shinra Technologies, Inc. All Rights Reserved.
    72. 72. 成果 • 短期間でも「クラウドで動作するマルチプレイゲーム」ができる面白さ • Shinra APIの組み込みもシンプル。 • SDK同梱のツールでパッケージを作ってテストサーバーに上げるだけ • ネットワーク関連のコードは一切書かなくてOK • 同期処理とか、コネクション関連いらない 予告:近日、みなさんが参加できる開発イベント 「シンラ・ゲームジャム」が開催できるよう調整中 © 2015 Shinra Technologies, Inc. All Rights Reserved.
    73. 73. シンラ・テクノロジーが目指す未来 © 2015 Shinra Technologies, Inc. All Rights Reserved.
    74. 74. ゲーム「開発文化」の超進化 • 誰でも、手軽に面白いゲームを作り、配信し、みんなで遊べる世界を • 「コンテンツが動作するプラットフォーム」ではなく、 ゲーム文化が好きなすべての人が集まる「場所」へ • かつ、クリエイターにしっかりお金が回る世界を提供する © 2015 Shinra Technologies, Inc. All Rights Reserved.
    75. 75. さらなるアドバンスドな使い方も • 物理演算を別プロセスで走らせる • AIを別プロセスで走らせる • AIミドルウェアKYTHERA社とパートナー • 現在研究中 こんな側面からも「ゲームの超進化」を目指す! © 2015 Shinra Technologies, Inc. All Rights Reserved. ※記載されている会社名・商品名は、各社の商標または登録商標です。
    76. 76. 進化の強要ではありません •シンラ・システム向けと、今までのスタイル両方取りでも 大丈夫です。 • コンテンツの独占はしません •従来通りのゲームタイトルに付加価値を • マルチプレイを実現する • AIをめちゃくちゃ強化する © 2015 Shinra Technologies, Inc. All Rights Reserved.
    77. 77. 今後の課題 • シンラ・サーバー上でのテストを手軽に • 開発用、テスト用、デモ用など様々な用途向けの実行環境 • ローカルテストせず、いきなりアップできるとか • ロビーシステム • 従来のローカル対戦ゲームを対応させたときのために • 手広い開発環境のカバー • さまざまなゲームエンジン対応 • アドベンチャーゲームエンジンとか、RPGエンジンとかよさそう © 2015 Shinra Technologies, Inc. All Rights Reserved.
    78. 78. やってみたいこと • コンパニオンアプリ向け開発環境 • シンラ・システム上で実行しているゲームから情報が取れる。 • 観戦アプリなど。 • データ分析ソリューション • せっかくサーバーで全部やるんだから、ばっちりデータ取っておきたい © 2015 Shinra Technologies, Inc. All Rights Reserved.
    79. 79. おさらい • 手軽にマルチプレイを実装 • ネットワーク関連のコード、同期の実装からの解放 • サーバー開発、運用からの解放 • どんなPCでも同一のプレイ体験 • ハイクオリティーなゲームを手軽に • 開発者は単一の動作環境に集中できる • シンラで可能になる新しいゲームデザイン • ゲームクリエイターを新次元に誘うプラットフォーム © 2015 Shinra Technologies, Inc. All Rights Reserved.
    80. 80. 正式サービスは2016年予定 © 2015 Shinra Technologies, Inc. All Rights Reserved.
    81. 81. とにかくシンラ・テクノロジーはオープンになります! 「こんなゲームは動きますか?」 「こういうアイディアは実現可能ですか?」 という発想がありましたら、ぜひご相談ください。 DevJ@shinra.com © 2015 Shinra Technologies, Inc. All Rights Reserved.
    82. 82. 最後に クリエイターの皆様に 提案ブン投げ © 2015 Shinra Technologies, Inc. All Rights Reserved.
    83. 83. ゲームデザイン上の提案 「サーバー上でずっとゲームインスタンスが 起動しているということ」 を生かしたゲームデザインとは? © 2015 Shinra Technologies, Inc. All Rights Reserved.
    84. 84. 質問など 以降、CEDECでいただいた資料を追記いたしました。 © 2015 Shinra Technologies, Inc. All Rights Reserved.
    85. 85. 実際の質問1 Q: DirectX12のサポートは行っていますか。 A: 対応検証中となります。 Q: GPUを使うミドルウェア(NVIDIA Physicsなど)はどれを選ぶべきですか。 A: まだ指針はございませんが、お客様のニーズに合わせて対応いたしま す。シンラはこれまでのゲームコンソールと異なり、ゲームにハードウェア を合わせることが可能です。 © 2015 Shinra Technologies, Inc. All Rights Reserved.
    86. 86. 実際の質問2 Q: D3Dのデバイスはプレーヤーに結びついているという理解ですが、 Physicsなどを利用したいとき、ゲームロジックでD3Dのコンテクストを取り 出すことは可能ですか? たとえばプレーヤー1と2以外にGPUを利用する別の処理がほしいときに GPU 3 を取り出すことができますか? A: レンダリングターゲットはプレーヤーストリームの意味ですので、個別 のGPUが割り当てられるわけではありません。別途GPUを使いたいときに は通常のWindowsの関数を使って実装していただければ大丈夫です。 © 2015 Shinra Technologies, Inc. All Rights Reserved.
    87. 87. 実際の質問3 Q: レーティングはありますか。 A: 現段階ではテストサーバ上に試験的に動かすところまでですので、当 社の判断となります。 R18禁止は当社判断です。本番サービスでのレー ティングは現在検討中です。 Q: 審査を出した後、サーバはすぐ使える状態になっていますか。 A: すぐご利用いただけます。東京にテストサーバーが稼働しており、審査 用フォームをご用意しております。 © 2015 Shinra Technologies, Inc. All Rights Reserved.
    88. 88. 実際の質問4 Q: ドッグフードしてますか? A: 「スペース・スウィーパ」はシンラの中嶋が 開発しています。また、「The Living World」は シンラのモントリオールチームが開発してい ます。 Q: 実際のゲームタイトルをシンラ・システムと並行して作っていますか? A: はい、現在NYで5タイトルほど開発が始まっています。 © 2015 Shinra Technologies, Inc. All Rights Reserved.
    89. 89. 実際の質問5 Q: Mac上で開発可能になりますか? A: Win/Mac対応のゲームライブラリを使っていれば可能です。「スペー ス・スウィーパ」は描画にMoyai、サウンドにFMODを使うことで、基本的に Mac上で開発してWindowsに持っていくスタイルで開発しています。 最近はGoogle ANGLEでOpenGL ES2.0が使えるようになりましたので、将 来的にはCocos2D-xを使って開発ができるようになります。 © 2015 Shinra Technologies, Inc. All Rights Reserved.
    90. 90. 実際の質問6 Q: マルチプレイの際、ユーザーごとに回線速度に違いがあると思います が、シンラのシステム側で解像度を動的に変えるような仕組みはあります か? A: 動的に解像度を変えることはできませんが、現在シンラではクライアン ト側が描画できなかったらフレームをスキップする、という仕組みがありま す。 © 2015 Shinra Technologies, Inc. All Rights Reserved.
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×