Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

【NCMB】ゲームのバックエンドを「サーバーレス」で実現!NCMBの最新事例とその紹介

1,152 views

Published on

2017/09/01@CEDEC 2017

Published in: Technology
  • Be the first to comment

【NCMB】ゲームのバックエンドを「サーバーレス」で実現!NCMBの最新事例とその紹介

  1. 1. Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED 2017/9/1 CEDEC2017 【開発工数3人月!?】 ゲームのバックエンドを 「サーバーレス」で実現! NCMBの最新事例とその紹介 富士通クラウドテクノロジーズ株式会社 山本 昇平 株式会社ネストピ 栗田 優輔, 青木 仁志
  2. 2. 1Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED ゲームなどアプリのバックエンド機能の 開発が楽になるクラウドサービスです。 今日お話する内容 略してNCMB
  3. 3. 2Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED 例えばこんな機能を簡単に実装できちゃいます などなど プッシュ通知 アプリ内の お知らせメッセージ ガチャ機能 ギルド・フレンド 機能 端末引継ぎ機能 メールアドレスの認証 パスワードの再発行 ゲームに関する データの保存 画像のアプリ内共有 (キャラクター情報 スクリーンショット) ゲームに必要な機能をサーバーレスで組み込むことができる 位置情報使った マッチング機能
  4. 4. 3Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED 富士通クラウドテクノロジーズ株式会社 山本 昇平 Photonネットワークエンジンの技術支援の経験を経て、ニフティ(現・富士通クラ ウドテクノロジーズ)入社。ニフティクラウドmobile backendの企画・普及活動を 行っています。趣味は海外旅行とスプラトゥーン(前作S+99)などゲーム全般。 登壇者紹介
  5. 5. 4Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED 株式会社ネストピ 栗田 優輔 2008年に大手ゲーム開発会社に入社。某有名恋愛ADVゲーム、某有名サッカーゲー ムシリーズの開発にプログラマーとして携わる。 2015年にGameBank株式会社に入社。『強くてNEW GAME』ではメインプログラマ ーとしてゲームシステム全般を担当。 2017年に株式会社ネストピを立ち上げる。 登壇者紹介 株式会社ネストピ 青木 仁志 2017年より株式会社ネストピに所属。「強くて NEW GAME」ではサーバエンジニア として NCMB スクリプトのプログラム開発を担当。
  6. 6. Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED はじめに
  7. 7. 6Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED 富士通クラウドテクノロジーズ株式会社とは? ニフティ株式会社から社名変更しました! クラウド事業を継承 サービス内容に変更はありません!
  8. 8. 7Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED  ニフティクラウド mobile backend  ニフティクラウド(IaaSなど)  IoTデザインセンター 会社分割のイメージ  ISP(プロバイダ)  NifMo  デイリーポータルZ 存続会社 (社名変更) 新会社 旧・ニフティ株式会社 新・ニフティ株式会社 富士通クラウドテクノロジーズ株式会社
  9. 9. Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED 1. そもそもサーバーレスって何? 2. NCMBにおけるサーバーレス 3. 事例のご紹介 4. まとめ&お知らせ
  10. 10. 9Copyright © NIFTY Corporation All Rights Reserved. Confidential | サーバーレス?
  11. 11. 10Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED サーバーレスとは(当初)  当初サーバーレスの意味は、バックエンドアプリケーション を動かすためのサーバーのセットアップ・管理を、 開発者が気にする必要がないということを意味していた  バックエンドのインフラはクラウド事業者よってメンテナンス され、データベースやストレージなど、必要な機能をサ ービスとして提供されること =これらはmBaaS (mobile Backend as a Service)と呼ばれた 参考:ニフティクラウド mobile backendは 2013年にmBaaSとしてサービス開始
  12. 12. 11Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED AWS Lambdaの登場でサーバーレスの概念が変わる  2014年にAmazonがAWS Lambdaを発表され、 サーバーレスに新たなパラダイムが生まれた  AWS Lamdbaとはイベント駆動でクラウド上のコードを実行可能なサービス  実行したリソース分だけ課金される  特定のイベントの発生時に実行されるコードを書くだけとなり、 サーバのことを考える必要がなくなる  このタイプのサービスをFaaS(Function as a Service)と呼ぶ  最近ではこれをサーバーレスと呼ぶことの方が多い  定義がまだ曖昧な分野で、どれが正しいということではない  サーバーレスアーキテクチャーとも呼ばれる  サーバーレスはマイクロサービスと相性が良い
  13. 13. 12Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED そもそもマイクロサービスとは?  機能を独立した小さなサービスに分割して、 それらを組み合わせてアプリケーションを開発する手法のことを指す  具体的には機能を関数化することによってマイクロサービスを 実現することが可能 アイテム 付与機能 アカウント 登録機能 他ゲームとの 連携機能 関数化 …
  14. 14. 13Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED サーバーレスとマイクロサービスの親和性が高い  マイクロサービスごとに実装することで、コストの削減を実現できる  機能ごとに徹底的に切り分けた疎結合の開発が可能となる  共通的なインフラ構築を必要としないので、 よりスケーラブルなバックエンドを構築できる アイテム 付与機能 アカウント 登録機能 他ゲームとの 連携機能 スケーラブルなバックエンド • 担当者A • 開発会社A クラウドなので、 自動でプロビジョニング
  15. 15. 14Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED 時間単位からリクエスト単位へ  赤色:リクエストの上限  青色:実際のリクエスト数 IaaSのようなコンピューティングでは時間単位の課金だったため…  急なリクエストが発生した際の対応が必要  リクエストが少ない時は余計な費用が発生 無駄なコストが発生! 従来は…
  16. 16. 15Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED 時間単位からリクエスト単位へ  青色:実際のリクエスト数 =インフラ費用 サーバーレスはリクエスト単位の課金のため…  急なリクエストが発生しても対応は不要  リクエストが少ない時は余計な費用を節約! 余計なコストは不要! サーバーレスは
  17. 17. 16Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED 時間単位からリクエスト単位へ クラウドの登場でサーバーが時間単位で利用可能となった サーバーレスの登場でサーバーがリクエスト単位で可能となった
  18. 18. 17Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED (参考)サーバーレスの可能性について  2017年8月に発表した先進技術に おけるガートナーのハイプサイクル  テクノロジの成熟度を示している  VRは啓蒙活動期  一般にリーチする所まで浸透  VRがそうであったかのように 大きな可能性を秘めた分野である ことがデータから読み取れる  新たなテクノロジを採用することで メリットを手にする可能性がある Hype Cycle for Emerging Technologies, 2017 http://www.gartner.com/newsroom/id/3784363 Serverlessは黎明期 期待 時間
  19. 19. 18Copyright © NIFTY Corporation All Rights Reserved. Confidential | サーバーレスは バックエンドにおける パラダイムシフト
  20. 20. 19Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED サーバーレスを導入することのメリットまとめ  コンピュータリソースはリクエスト単位で利用可能  負荷が高い時は、自動でスケール・プロビジョニングを行う  クラウド上に疎結合されたコンポーネントからシステムを構築する  サーバーレスとはサーバに関与しないということではく、開発者が サーバを意識せずに開発を行うことが出来ることを意味する (2012) 「Why The Future Of Software And Apps Is Serverless」 http://readwrite.com/2012/10/15/why-the-future-of-software-and-apps-is-serverless/ つまり、サーバーレスとは
  21. 21. 20Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED サーバーレスを導入することのメリットまとめ  IaaSといった従来の手法に比べて負担が減る  本来やるべき業務に着手することができる  特にインフラエンジニアの方にとってメリットが大きい  必要な時だけ費用が発生するのでコスト削減に繋がる  時間単位からリクエスト単位の費用の時代へ  通常時~イベント時などトラフィックが異なるといった インフラを予想して構成する必要が無くなる サーバーレスを使うメリット
  22. 22. 21Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED サーバーレスを導入することのメリットまとめ  IaaS(例:Amazon EC2, ニフティクラウド)  起動直後にOSがインストールされた状態  アカウントの初期設定、必要なデータベース、HTTPサーバな どのインストール・設定を行う必要がある  FaaS(例:AWS Lambda, NCMBスクリプト)  インフラ環境の整備が不要、プログラムのみ用意する  クラウドサービスのデータベースやストレージ)に 糊付けするようにコードを作成していく(グルーコード) 従来の手法との比較
  23. 23. 22Copyright © NIFTY Corporation All Rights Reserved. Confidential | 各クラウドサービスに 糊付けする形で利用 = Glue Code
  24. 24. 23Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED サーバーレスを利用したサーバーサイドアーキテクチャ 関数 (Node.js) ファイルストア データーベース クラウド イベント
  25. 25. 24Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED サーバーレスを利用したサーバーサイドアーキテクチャ ファイルストア データーベース クラウド データ処理はFaaSに実装されたマイクロサービス レイヤーで行われる(=Glue Code)。 関数 (Node.js) イベント
  26. 26. Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED 1. そもそもサーバレスって何? 2. NCMBが考えるサーバレス 3. 事例のご紹介 4. まとめ&お知らせ
  27. 27. 26Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED サーバーレスを利用したサーバーサイドアーキテクチャ ファイルストア データーベース クラウド 関数 (Node.js) イベント
  28. 28. 27Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED NCMBを利用した構成イメージ FaaS ファイルストア データーベース クラウド イベント
  29. 29. 28Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED サーバーレスを利用したサーバーサイドアーキテクチャ FaaS ファイルストア データーベース 既存のインフラ環境 イベント
  30. 30. 29Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED NCMBを利用した構成イメージ FaaS ファイルストア データーベース クラウド 管理画面 イベント
  31. 31. 30Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED NCMBを利用した構成イメージ FaaS ファイルストア データーベース クラウド 管理画面 他にも
  32. 32. 31Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED ゲームなどアプリのバックエンド機能が 開発が楽になるクラウドサービス NCMBでは現在7つの機能として提供中! Unity (iOS/Android/WebGL(開発中)), ネイティブiOS, AndroidとJavaScript SDKを提供 REST APIがあるのでSDKの無い環境でも開発可能現在提供中の機能
  33. 33. 32Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED こんな機能をサーバーレスで実装できちゃいます などなど プッシュ通知 アプリ内の お知らせメッセージ ガチャ機能 ギルド・フレンド 機能 端末引継ぎ機能 メールアドレスの認証 パスワードの再発行 ゲームに関する データの保存 画像のアプリ内共有 (キャラクター情報 スクリーンショット) ゲームに必要な機能をサーバーレスで組み込むことができる 位置情報使った マッチング機能
  34. 34. 33Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED 管理画面上からデータストアの値を変更することも出来る ガチャの確率を管理画面上で変更できる アイテムの出現位置の座標として DBの知識が無くても簡単に操作可能
  35. 35. 34Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED (例)スクリプトは管理画面から操作することが可能  日本語で直感的に操作可能  管理画面からソースのアップロード、 実行、ログの取得などが出来る  SDKを入れてクライアントから呼出す NCMBScript script = new NCMBScript ("testScript.js", NCMBScript.MethodType.GET); Dictionary<string, object> query = new Dictionary<string, object> (){ { "name", "tarou" } }; script.ExecuteAsync (null, null, query, (byte[] result, NCMBException e) => { if (e != null) { // 失敗 } else { // 成功 } }); Unityコード例
  36. 36. 35Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED お知らせ機能をデータストアで 管理画面から変更可能! (例)お知らせ機能もデータストアで実現 文章 追加
  37. 37. Copyright © NIFTY Corporation All Rights Reserved. Copyright © FUJITSU CLOUD TECHNOLOGIES LIMITED All Rights Reserved. 36Copyright © FUJITSU CLOUD TECHNOLOGIES LIMITED All Rights Reserved. | データストアへ保存:Unityの場合 NCMBObjectは、NCMBへのオ ブジェクトの保存・更新・削除 などを行うクラス オブジェクトの保存先は NCMBObjectの初期化時に指定 したクラス名「PlayerData」で 識別されます KVS形式のオブジェクトで扱う ことでき、Addメソッドで値を 追加します。
  38. 38. Copyright © NIFTY Corporation All Rights Reserved. Copyright © FUJITSU CLOUD TECHNOLOGIES LIMITED All Rights Reserved. 37Copyright © FUJITSU CLOUD TECHNOLOGIES LIMITED All Rights Reserved. | データストアへ保存:Unityの場合 KVS形式のオブジェクトで扱う ことでき、Addメソッドで値を 追加します 今回は引数として下記をセット • PlayerName: “AAA” • Score: 100 • Coin: 300
  39. 39. Copyright © NIFTY Corporation All Rights Reserved. Copyright © FUJITSU CLOUD TECHNOLOGIES LIMITED All Rights Reserved. 38Copyright © FUJITSU CLOUD TECHNOLOGIES LIMITED All Rights Reserved. | データストアへ保存:Unityの場合 引数に別メソッドを設定し、内 部で呼出すコールバック、 サーバ保存時の処理を記載して います
  40. 40. Copyright © NIFTY Corporation All Rights Reserved. Copyright © FUJITSU CLOUD TECHNOLOGIES LIMITED All Rights Reserved. 39Copyright © FUJITSU CLOUD TECHNOLOGIES LIMITED All Rights Reserved. | データストアへ保存:Unityの場合 NCMBObjectでセットした 文字列がクラス名として、 Addで追加したパラメータ がレコードとして登録
  41. 41. 40Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED つまり NCMB とは 略してNCMB ゲームなどアプリのバックエンド機能の 開発が楽になるクラウドサービスです。
  42. 42. 41Copyright © NIFTY Corporation All Rights Reserved. Confidential | 無料サービスでまずはお試し! 個人でも、法人でも無料プランでほぼ全ての機能が利用可 能です! 有償プランに比べて叩けるAPIの回数などに制限を設けています
  43. 43. 42Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED 運用フェーズ 無料でほぼ全ての機能が使えるので、本番投入するまでコストゼロ おすすめの利用方法 • 企画段階で使うデモ用のゲームや、低予算のゲームにぴったり • 不幸にも開発途中で計画変更があってもコストゼロで済む • リリース後も月額3万円とお手頃、しかもSLA99.95%で安心! 開発フェーズ企画・設計フェーズ 無料! 30,000円/月
  44. 44. 43Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED NCMBを利用した構成イメージ FaaS ファイルストア データーベース クラウド 管理画面 他にも
  45. 45. 44Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED NCMBを利用した構成イメージ FaaS ファイルストア データーベース クラウド 管理画面 他にも 全て無料で利用可能
  46. 46. 45Copyright © NIFTY Corporation All Rights Reserved. Confidential | まずは無料で お試しください
  47. 47. Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED 1. そもそもサーバレスって何? 2. NCMBが考えるサーバレス 3. 事例のご紹介! 4. まとめ&お知らせ
  48. 48. 株式会社ネストピ 『強くてNEW GAME』における NCMB 事例 株式会社ネストピ 栗田優輔 青木仁志
  49. 49. 48 ゲーム紹介
  50. 50. 49 目次 なぜNCMBを選んだのか? 構成概要 NCMBを用いて実現した機能 NCMBで高速開発できる理由 まとめ
  51. 51. 50 目次 なぜNCMBを選んだのか? 構成概要 NCMBを用いて実現した機能 NCMBで高速開発できる理由 まとめ
  52. 52. 51 構成概要 CDN Web Ranking クライアント 会員管理・認証 データストア(DB) スクリプト(ゲームロジック)
  53. 53. 52 目次 なぜNCMBを選んだのか? 構成概要 NCMBを用いて実現した機能 NCMBで高速開発できる理由 まとめ
  54. 54. 53 なぜNCMBを選んだのか? 神 3か月でリリース!! ミッション 開発費は抑えたい。 神
  55. 55. 54 なぜNCMBを選んだのか? エンジニアの声 Unityと相性の良いサービス クライアント サーバー サーバーエンジニア不足 インフラ構築のリスク プロジェクト発足時 エンジニア2名
  56. 56. 55 なぜNCMBを選んだのか? 国内サービスの安心感 初期コストが0円!! 一通りの機能が揃っていた
  57. 57. 56 目次 なぜNCMBを選んだのか? 構成概要 NCMBを用いて実現した機能 NCMBで高速開発できる理由 まとめ さくっと
  58. 58. 57 使っている機能 使用している機能
  59. 59. 58 会員管理・認証
  60. 60. 59 会員管理・認証 サインイン・ログイン アカウント引継ぎ
  61. 61. 60 データストア
  62. 62. 61 データストア プレイヤー情報 セーブデータ キャラクター プレゼント クエスト 宝箱
  63. 63. 62 データ構造 objectId playerId createDate ・・・ HogeHoge FooFoo 2017-xx-xx ・・・ PiyoPiyo BarBar 2017-xx-xx ・・・ FugaFuga BazBaz 2017-xx-xx ・・・ 会員情報 objectId playerName createDate ・・・ FooFoo ほげ 2017-xx-xx ・・・ BarBar ぴよ 2017-xx-xx ・・・ BazBaz ふが 2017-xx-xx ・・・ Playerクラス objectId playerId ・・・ ・・・ FooFoo ・・・ ・・・ BarBar ・・・ ・・・ BazBaz ・・・ Characterクラス objectId playerId ・・・ ・・・ FooFoo ・・・ ・・・ BarBar ・・・ ・・・ BazBaz ・・・ Presentクラス objectId playerId ・・・ ・・・ FooFoo ・・・ ・・・ BarBar ・・・ ・・・ BazBaz ・・・ ・・・クラス
  64. 64. 63 データ引継ぎ objectId playerId createDate ・・・ ・・・ FooFoo ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ 会員情報 objectId playerName createDate ・・・ FooFoo ほげ 2017-xx-xx ・・・ BarBar ぴよ 2017-xx-xx ・・・ BazBaz ふが 2017-xx-xx ・・・ Playerクラス 引継ぎコード1 引継ぎPlayerId FooFoo 2 3
  65. 65. 64 スクリプト
  66. 66. 65 スクリプトを使用する箇所 チートされたくないところ ロジックを変更したいところ 動的に 基本的に
  67. 67. 66 スクリプト プレイヤー作成 初期データの作成 キャラクター レベルアップ・進化・削除 プレゼント 付与・受取 ガチャ 抽選・キャラクター付与 アイテム 購入・使用 課金 レシート検証・ダイヤ付与 装備 レベルアップ ログインボーナス 付与・受取 クエスト 達成更新・報酬付与 宝箱 付与・開封 精霊ボーナス ダイヤ付与 動画広告ボーナス 上限判定
  68. 68. 67 スクリプトの基本 1 スクリプトの実行 3 スクリプトの結果 { JSON } Error Code 2 ロジックの実行 マスターデータの参照 データの追加・削除・更新
  69. 69. 68 スクリプトの基本 public void ExecuteHogeScript() { NCMBScript script = new NCMBScript(“hoge.js", NCMBScript.MethodType.GET); // hoge.jsに渡すクエリ Dictionary<string, object> query = new Dictionary<string, object>() { { “param1", 1 }, { “param2", 2 }, { “param3", 3 }, { “param4", 4 } }; // 非同期処理でスクリプトを実行 script.ExecuteAsync(null, null, query, (byte[] result, NCMBException e) => { // スクリプト実行後の処理 } } 1 3 例)クライアントからhoge.jsを実行
  70. 70. 69 スクリプトの基本 objectId data1 data2 ・・・ ・・・ 1 4 ・・・ ・・・ 2 5 ・・・ ・・・ 3 6 ・・・ MasterDataクラス objectId data1 data2 ・・・ ・・・ ・・・ ・・・ ・・・ New Data New Data New Data New Data ・・・ ・・・ ・・・ ・・・ Dataクラス マスターデータの参照例)hoge.jsを実行 データの追加・削除・更新 2.1 2.2 2.3 結果 { JSON } Error Code Query param1 : 1 param2 : 2 param3 : 3 param4 : 4
  71. 71. 70 例)ガチャ public void ExecuteGachaScript(string myPlayerId, string selectGachaId, int selectGachaType) { NCMBScript script = new NCMBScript(“gacha.js”, NCMBScript.MethodType.GET); // gacha.jsに渡すクエリ Dictionary<string, object> query = new Dictionary<string, object>() { { “playerId", myPlayerId }, { “gachaId", selectGachaId }, { “gachaType", selectGachaType } }; // 非同期処理でスクリプトを実行 script.ExecuteAsync(null, null, query, (byte[] result, NCMBException e) => { // スクリプト実行後の処理 } } 1 3 例)クライアントからgacha.jsを実行
  72. 72. 71 例)ガチャ objectId probability rewards ・・・ gachaId1 { 0, 10, 20, 70 } { 1, 2, 3, ・・・ } ・・・ gachaId2 { 0, 0, 0, 100 } { 1, 2, 3, ・・・ } ・・・ gachaId3 { 10, 30, 40, 20 } { 1, 2, 3, ・・・ } ・・・ GachaMasterDataクラス objectId playerId id ・・・ ・・・ ・・・ ・・・ ・・・ New Data xxxx New Data New Data ・・・ ・・・ ・・・ ・・・ Characterクラス ガチャマスターデータの参照例)gacha.jsを実行 データの追加・削除・更新 2.1 2.2 2.3 結果 { JSON } Error Code Query playerId : xxxx gachaId : xxxx gachaType : xxxx
  73. 73. 72 GMツール
  74. 74. 73 GMツール 各種設定の更新 マスターデータ ログインボーナス ガチャのスケジュール プレゼントのスケジュール プレゼント配布 各種チェックツール
  75. 75. 74 実装の流れ 設計 GMツール テスト クライアント
  76. 76. 75 NCMBの環境 開発環境 ステージング環境 本番環境
  77. 77. 76 ・ゲームシステム ・通信 エンジニアの担当 クライアント サーバー ・インゲーム演出 ・メニュー クライアント ・NCMB設計 ・NCMBスクリプト ・GMツール ナビゲーター ・技術調査 ・検証
  78. 78. 77 目次 なぜNCMBを選んだのか? 構成概要 NCMBを用いて実現した機能 NCMBで高速開発できる理由 まとめ
  79. 79. 78 良かった点 クライアントだけで完結できる事が多い クライアント サーバーサイドの知識を吸収してくれる Unityとの相性が良い サンプルがキチンと動く
  80. 80. 79 良かった点 マイグレーションの手間がない サーバー サーバーの設計・運用がいらない クライアントで組んだロジックの移植 が容易
  81. 81. 80 目次 なぜNCMBを選んだのか? 構成概要 NCMBを用いて実現した機能 NCMBで高速開発できる理由 まとめ
  82. 82. 81 強力なデータストア データストアは、いつでもKey-Valueを増やす事 が出来る。 この柔軟性による気軽さから「高速プロトタイピ ング」が可能となり、いち早く実装の向こう側に ある問題に気づく事が出来た。 まとめ
  83. 83. 82 強力なスクリプト NCMBスクリプトは、メンテナンスを挟まずに更 新が可能。 アクセス集中時のパフォーマンス改善など、運用 フェーズで特に力を発揮した。 まとめ
  84. 84. 83 NCMB = 共通言語 NCMBがサーバーサイドとクライアントの間を取 り持ってくれる。 NCMBの仕様を理解する事で、両者の知識の差を 吸収してくれる。 まとめ
  85. 85. Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED 1. そもそもサーバレスって何? 2. NCMBが考えるサーバレス 3. 事例のご紹介! 4. まとめ&お知らせ
  86. 86. 85Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED このセッションのまとめ  NCMBとはmBaaS+サーバーレスのクラウドサービス  短期間・低コストでゲームに必要な機能を実装できる  サーバーの運用が不要となるので…  インフラエンジニアは楽をすることで本当にやりたかったことに専念  クライアントエンジニアはサーバー不要でバックエンド機能を実現  スクリプトを利用することでクライアント側にコードを 持たせる必要がなくなるのでチート対策にも向いている
  87. 87. 86Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED 例えばこんな機能を簡単に実装できちゃいます などなど プッシュ通知 アプリ内の お知らせメッセージ ガチャ機能 ギルド・フレンド 機能 端末引継ぎ機能 メールアドレスの認証 パスワードの再発行 ゲームに関する データの保存 画像のアプリ内共有 (キャラクター情報 スクリーンショット) ゲームに必要な機能をサーバーレスで組み込むことができる 位置情報使った マッチング機能 まずは無料でお試しください!
  88. 88. 87Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED ブースでご覧いただけます。 書籍も好評発売中です!
  89. 89. 88Copyright © NIFTY Corporation All Rights Reserved. Confidential | NCMBは開発者コミュニティを応援します! 会場提供・懇親会の費用負担など ご興味のある方はご相談ください
  90. 90. 89Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED Unity夏LT大会2017  日時:9/3(日)15:00~20:00  会場:富士通クラウドテクノロジーズ株式会社  内容:Unityに関わる内容の  主催:日本Androidの会 Unity部  http://peatix.com/event/288912/ コミュニティ支援活動について
  91. 91. 90Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED NCMB×PlayCanvas 共催ハンズオンセミナー  日時:9/5(火)19:00~21:30  会場:GMOクラウド本社(渋谷/セルリアンタワー)  内容:各ステップで講師の説明に沿って進めていくハンズオン形式 とにかくNCMBを体験してみたい方 サーバレスでアプリを作ってみたい方にオススメです! 今後の予定はセミナー一覧をご覧ください! http://mb.cloud.nifty.com/seminar.htm 今後の展示会・セミナーについて ぞくぞく開催予定
  92. 92. 91Copyright © NIFTY Corporation All Rights Reserved. Confidential | NCMB UE4 プラグイン 開発決定
  93. 93. 92Confidential |Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED 参考文献  (2012) 「Why The Future Of Software And Apps Is Serverless」 http://readwrite.com/2012/10/15/why-the-future-of-software-and-apps-is-serverless/  (2014) 「Microservices」 https://martinfowler.com/articles/microservices.html  (2016) 「Serverless Architectures」 https://martinfowler.com/articles/serverless.html  (2016) 「FaaS, PaaS, and the Benefits of the Serverless Architecture」 https://www.infoq.com/news/2016/06/faas-serverless-architecture  (2017) 「Gartner Identifies Three Megatrends That Will Drive Digital Business Into the Next Decade」 http://www.gartner.com/newsroom/id/3784363 Special Thanks: Yukari (Translation)
  94. 94. Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED ご清聴ありがとうございました
  95. 95. Copyright 2017 FUJITSU CLOUD TECHNOLOGIES LIMITED94

×