【aws black belt online seminar】 amazon gamelift...2017/10/04  · • gamelift client...

94
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. アマゾン ウェブ サービス ジャパン株式会社 ソリューションアーキテクト 祐孝 2017.10.04 【AWS Black Belt Online Seminar】 Amazon GameLift

Upload: others

Post on 07-Sep-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

アマゾン ウェブ サービス ジャパン株式会社ソリューションアーキテクト 森 祐孝2017.10.04

【AWS Black Belt Online Seminar】Amazon GameLift

Page 2: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

森 祐孝(もり ゆうこう)ソリューションアーキテクト経歴• メーカー系SIer(ソフト開発)• 電⼦マネー運営(サーバソフト開発)• 独⽴系SIer

• 情報通信キャリア向けのSIでPL、PM• コンソール系ゲーム会社(テクニカルディレクター)

• ブラウザソーシャルゲーム、スマートフォン向けソーシャルゲーム担当• ソーシャルゲーム、コンソールゲーム系のお客様• Amazon Lumberyard 、Amazon GameLift

⾃⼰紹介

Page 3: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

AWS Black Belt Online Seminar へようこそ!質問を投げることができます!

Adobe ConnectのQ&Aウィンドウから、質問を書き込んでください。(書き込んだ質問は、主催者にしか⾒えません)今後のロードマップに関するご質問はお答えできませんのでご了承ください。Twitterへツイートする際はハッシュタグ #awsblackbelt をご利⽤ください。

①Q&Aウィンドウ右下のフォームに質問を書き込んで

ください

②吹き出しマークで送信してください

Page 4: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

AWS Black Belt Online Seminar とはAWSJのTechメンバがAWSに関する様々な事を紹介するオンラインセミナーです

【⽕曜 12:00~13:00】主にAWSのソリューションや業界カットでの使いどころなどを紹介(例:IoT、⾦融業界向け etc.)

【⽔曜 18:00~19:00】主にAWSサービスの紹介やアップデートの解説(例:EC2、RDS、Lambda etc.)

※開催曜⽇と時間帯は変更となる場合がございます。最新の情報は下記をご確認下さい。

オンラインセミナーのスケジュール&申し込みサイト• https://aws.amazon.com/jp/about-aws/events/webinars/

Page 5: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

内容についての注意点

• 本資料では2017年10⽉4⽇時点のサービス内容および価格についてご説明しています。最新の情報はAWS公式ウェブサイト(http://aws.amazon.com)にてご確認ください。

• 資料作成には⼗分注意しておりますが、資料内の価格とAWS公式ウェブサイト記載の価格に相違があった場合、AWS公式ウェブサイトの価格を優先とさせていただきます。

• 価格は税抜表記となっています。⽇本居住者のお客様が東京リージョンを使⽤する場合、別途消費税をご請求させていただきます。

• AWS does not offer binding price quotes. AWS pricing is publicly available and is subject to change in accordance with the AWS Customer Agreement available at http://aws.amazon.com/agreement/. Any pricing information included in this document is provided only as an estimate of usage charges for AWS services based on certain information that you have provided. Monthly charges will be based on your actual use of AWS services, and may vary from the estimates provided.

Page 6: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Agenda

• セッションゲームのためのGameLift• GameLift 概要• GameLift ゲーム開発• GameLift FlexMatch• GameLift 利⽤事例

Page 7: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

ちょっと、考えてみてください。。。

Page 8: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

マルチプレイヤーゲームサーバを運⽤するのは難しい。

Page 9: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Amazon GameLiftを使うと数分で、マルチプレイゲームのデプロイやスケールが完了します

Page 10: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

典型的なゲームの1週間のトラフィック曲線

Infra

stru

ctur

e Co

st

Time

Page 11: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

キャパシティが不⾜。。

Infra

stru

ctur

e Co

st

Time

インフラ投資額

機会損失 $(ユーザの接続待ち。。)

Page 12: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

キャパシティ

Infra

stru

ctur

e Co

st

Time

インフラ投資額

無駄なコスト $

Page 13: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

GameLift Autoscaling

Infra

stru

ctur

e Co

st

Time

Autoscalingによって、より正確なキャパシティを確保

Page 14: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Amazon GameLift

• セッションベースのマルチプレイヤーゲームサーバーをホスティングするためのマネージドサービス

• 必要に応じ、プレーヤーの要求に合わせて⾃動的に拡⼤/縮⼩します。

• 世界中で低レイテンシのプレーヤー体験を提供• DDoSプロテクション※• ダウンタイムなしでライブアップデートをリリース• 利⽤した分だけの料⾦• カスタマイズ可能なマッチメイキング機能

※DDoS 攻撃からゲームサーバーを保護する方法https://aws.amazon.com/jp/blogs/gamedev/protect-multiplayer-game-servers-from-ddos-attacks-using-amazon-gamelift-2/

Page 15: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

設計とアーキテクト

プロトタイプの作成

本番環境へのデプロイ

専⽤のUIダッシュボードを構築

ローンチ作業

ローンチ後の24/7の対応

$

4⼈以上の経験のあるエンジニアがこれらの作業に1000時間以上費やす必要がありました

不快なスケーリングの仕組みをデバッグし修正 コストの最適化$

Page 16: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

わずか数分の作業で簡単に始められます。

サーバアプリのアップ

ロード

Fleetを構成

スケールアップ

ゲームをプレイ

1 2 3 4

Page 17: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

GameLift概要

Page 18: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

GameLift 全体アーキテクチャ

Page 19: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Build

サーバアプリをゲーム開発者が⽤意

GameLiftへアップロード

Build

Page 20: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Build パッケージ• Buildのパッケージ化

• ゲームサーババイナリ• install.bat(Windows) or install.sh(Linux)

• Buildフォルダのルート直下に配置する必要がある。• インスタンスにコピーされた直後に1 回実⾏

• 依存するファイル• 設定ファイルや依存するライブラリなど

Page 21: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Buildのアップロード• AWS CLI

aws gamelift upload-build --operating-system [WINDOW_2012 or AMAZON_LINUX] ¥--build-root [build path] --name [user-defined name of build] ¥--build-version [user-defined build number] --region [region name]

Page 22: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Fleet

デプロイされた単⼀Build

プレイヤーはこれらに接続

Fleet

1つ以上のEC2インスタンス

Page 23: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Fleet概要

GameServerProcesses

EC2 Instance

EC2 Instance

Build

Developer PlayersFleet

Game Server Processes

Page 24: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Session 1

Player slot 1

Player slot 2

Player slot 3

Player slot 4

Active

Active

Session 2

Player slot 1

Player slot 2

Player slot 3

Player slot 4

Active

Active

Active

Active

Session N

Player slot 1

Player slot 2

Player slot 3

Player slot 4

Reserved

ServerProcess ServerProcess ServerProcess

EC2 Instance EC2 Instance EC2 Instance

Build

Developer

Players

Game Session Management

Infrastructure Management

Page 25: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

シンプルデベロッパー環境:4ステップ

GameLiftはゲームセッションの検索/マッチングを提供(Game sessionの状態, ソート, players の状態, …)

サーバアプリのアップ

ロード

Fleetを構成

スケールアップ

ゲームをプレイ

1 2 3 4

Page 26: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Fleetの設定• EC2インスタンスタイプ• 実⾏ファイル名、パラメータ、同時プロセス数• 開放するポートやプロトコル、CIDR• Auto-scalingポリシー

Page 27: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Page 28: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Page 29: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Fleet Creation

• 状態: Downloading à Validating à Activating à Active• Active: クライアントはFleetに接続できる状態

Page 30: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

GameLiftでのゲーム開発

Page 31: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

GameLift API Interaction

Game Server(Deployed)

GameLiftService

Game ClientAPP

AWS SDKGameLift Client API(HTTPs req/res)

Page 32: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

GameLift Server SDK

• Game Server上で実⾏• C++、C# をサポート

• https://aws.amazon.com/gamelift/getting-started/• Windows Server 、Amazon Linux• Dedicated Server をサポート

• Unreal Engine (plugin) とUnity3Dをサポート• https://aws.amazon.com/blogs/aws/launch-amazon-

gamelift-now-supports-all-c-and-c-game-engines/

• LumberyardではPre-built された状態でサポート

Page 33: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Server SDK Integration

Page 34: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

GameLift Client SDK

GameLift Client SDK• GameLift Client SDKは、AWS SDKに含まれている

• 10以上の⾔語をサポート: C++, C#, Java, Python, …

• GameLift Client APIをバックエンドのゲームサービスに統合することも可能(例 マッチメイキング)• ゲームクライアント側に直接インテグレートすることも可能

• LumberyardではPre-built された状態でサポート

https://aws.amazon.com/jp/tools/

Page 35: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Client SDK Integration

Page 36: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Amazon Lumberyard

特徴 (https://aws.amazon.com/jp/lumberyard/)

• CryENGINEからフォークされたゲームエンジン

• CloudCanvasでAWS & Twitchとの融合• Double Helix Gamesからのシステム• すべてのソースコードが含まれています

価格体系• 無料• ネットワーク接続の無いゲームでも利⽤可能• オンプレサーバとの接続の可能

AWSとTwitchを深く統合させた無料のAAAゲームエンジン

Page 37: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

GameLift ゲームシーケンス

Page 38: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

ゲームサーバーの起動

ゲームセッションを開始

Page 39: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

プレイヤーセッションを追加

ゲームセッションの停⽌

ゲームサーバのシャットダウン

Page 40: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

継続的デプロイメント

ALIAS• Fleet Idへリンクされる• ゲームクライアントはAlias IDを使⽤してFleetに接続できます

Developer New Players

Build A

Fleet A Alias Client

Page 41: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

デプロイしFleetをアップデート

New Players

Build A Fleet A Alias Client

Developer

Fleet BBuild B

Page 42: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

ALIAS先を新しいFleetに変更

New Players

Build A Fleet A Client

Developer

Fleet BBuild B

Alias

Page 43: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

GameLift Local• ローカル開発マシン上のGameLift APIのサブセットをエ

ミュレートするクライアントサイドのデバッグツール• ダウンロード:

• https://aws.amazon.com/gamelift/getting-started/• GameLift Server SDKパッケージに含まれる

• 実⾏⽅法• java –jar GameLiftLocal.jar

• GameLift Server SDK APIsをサポート• 下記のClient APIsをサポート

• CreateGameSession, DescribeGameSessions,CreatePlayerSession, CreatePLayerSessions, DescribePlayerSessions

Debug & Test

Page 44: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Fleetインスタンスへリモートアクセス• GameLift Fleetで実⾏されているインスタンスへログイン可能• トラブルシューティングとデバッグに利⽤可能

• サーバに直接ログインしデバッギングをすることが可能• RDP for Windows• SSH for Linuxhttps://docs.aws.amazon.com/ja_jp/gamelift/latest/developerguide/fleets-remote-access.html

Debug & Test

Page 45: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Debug & TestGame Server Log

• ゲームサーバのLogs & Memory ダンプ等• Fleet上のゲームサーバのデバッギング

• How-to• Buildと⼀緒に“logs” フォルダをアップロード• ゲームサーバーがテキストログとダンプを "logs"フォルダに残す

ように実装する• AWS management consoleから“logs” フォルダをダウンロード

Page 46: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

GameLift Operation

Web-based UI• パフォーマンス計測• スケーリング• イベント• Game sessions、Player sessions• ALIASを使ったデプロイ• APIでも操作可能

Page 47: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Visualization for Scaling Status

Page 48: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Monitoring for Game/Player Sessions

Page 49: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

GameLift FlexMatch

Page 50: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

GameLift FlexMatch

• カスタマイズ可能なマッチング• プレイヤーグループ• レイテンシーによるマッチ• ルールを緩める事も可能• マッチの許可・否認• ベストなリージョン配置• 追加料⾦はなし

グループ プレイ

キューイング

マッチ

Page 51: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

FlexMatch

Match Making Functionality• FlexMatch:カスタマイズ可能なマッチメーキングサービス

https://aws.amazon.com/blogs/gamedev/matchmaking-your-way-amazon-gamelift-flexmatch-and-game-session-queues/

• http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-match.html

• ルールベース• プレヤースキル, レイテンシー、その他のカスタム条件を設定• マッチメイク結果を、⾃動的にゲームセッションキューで管理

Page 52: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

FlexMatch Metrics• 成功/失敗レート• プレイヤー需給

• マッチメイクまでの時間• ルールの有効性

Page 53: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

FlexMatch Metrics• 成功/失敗レート• プレイヤー需給

• マッチメイクまでの時間• ルールの有効性

Page 54: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

GameLift FlexMatch

Group

Client

Client

Client

Client

FrontDoor

GameLiftFlexMatch

RuleSet

Fleet (Tokyo)

Fleet (Seoul)

Fleet (Singapore)

Queue

AWS SDKインテグレート

GameLift Server SDKインテグレート

Page 55: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

GameLift FlexMatch

1. ゲームクライアントからFront Doorゲームサーバにマルチプレイヤーゲームをしたい旨を伝える

Group

Client

Client

Client

Client

FrontDoor

Page 56: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

GameLift FlexMatch

FrontDoor

GameLiftFlexMatch

RuleSet

2. Front Doorサーバが1名もしくは複数名⽤の StartMatchmakingリクエストを作成

• Unique Ticket Id• Unique Player Ids• Which Rule Set to use• Custom player data, e.g.

“skill”

StartMatchmaking

Page 57: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

GameLift FlexMatch

FrontDoor

GameLiftFlexMatch

RuleSet

3. StartMatchmaking リクエストから MatchmakingTicket が返されStatusが SEARCHING に

• Ticket Id• Status = SEARCHING

MatchmakingTicket

Page 58: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

GameLift FlexMatch

FrontDoor

GameLiftFlexMatch

RuleSet

4. Front DoorサーバがDescribeMatchmaking を介して状況確認(Amazon CloudWatchEvents やSNS トピックで通知することも可能)

• Ticket Ids

DescribeMatchmaking

Page 59: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

GameLift FlexMatch

FrontDoor

GameLiftFlexMatch

RuleSet

5. DescribeMatchmaking にてMatchmakingTicket リストが得られる

• Ticket Id• Status = PLACING• List of Player Info

MatchmakingTicket

+

Page 60: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

GameLift FlexMatch

GameLiftFlexMatch

RuleSet

Queue

6. マッチが制作され、プレイヤーがキューイングされるとMatchmakingTicket 内のステータスが PLACING となる

• Ticket Id• Status = PLACING• List of Player Info

MatchmakingTicket

Page 61: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

GameLift FlexMatch

Fleet (Tokyo)

Queue

7. キューイングされたマッチがベストなレイテンシーのGameLiftFleetに配置され、ステータスがCOMPLETED に

• Ticket Id• Status = COMPLETED• List of Player Info• Game Session Info

MatchmakingTicket

+

Page 62: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

GameLift FlexMatch

Group

Client

Client

Client

Client

Fleet (Tokyo)

AWS SDKインテグレート

FrontDoor

GameLiftFlexMatch

RuleSet

Fleet (Seoul)

Fleet (Singapore)

Queue

GameLift Server SDKインテグレート

Page 63: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

FlexMatch ルールセット

GameLiftFlexMatch

RuleSets

Page 64: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

FlexMatch ルールセット

FrontDoor

GameLiftFlexMatch

RuleSet

• Unique Ticket Id• Unique Player Ids• Which Rule Set to use• Custom player data, e.g. “skill”

StartMatchmaking

Page 65: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

FlexMatch ルールセット

• Player attributes (オプション) • Teams (必須)• Rules (オプション)• Expansions (オプション)

Page 66: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

FlexMatch ルールセット

• Player attributes• Teams• Rules• Expansions

Page 67: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

FlexMatch ルールセット

FrontDoor

GameLiftFlexMatch

RuleSet

• Unique Ticket Id• Unique Player Ids• Which Rule Set to use• Custom player data, e.g. “skill”

StartMatchmaking

Page 68: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

FlexMatch ルールセット

• Player attributes• Teams• Rules• Expansions

Page 69: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

FlexMatch ルールセット

• Player attributes• Teams• Rules• Expansions

Page 70: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

FlexMatch ルールセット

• Player attributes• Teams• Rules• Expansions

Page 71: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

FlexMatch ルールセット

• Player attributes• Teams• Rules• Expansions

Page 72: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

FlexMatch ルールセット

• Player attributes• Teams• Rules• Expansions

Page 73: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

FlexMatch ルールセット

• Player attributes• Teams• Rules• Expansions

Page 74: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

FlexMatch ルールセット

• Player attributes• Teams• Rules• Expansions

Page 75: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

既存のマッチメイキングとの連携1.ゲームクライアントからゲームセッションを要求しAPI Gateway+Lambdaでマッチメイクを実行

2.GameLiftからFleet情報を取得

3.Fleetに接続しゲームをプレイ

https://aws.amazon.com/jp/blogs/gamedev/fitting-the-pattern-serverless-custom-matchmaking-with-amazon-gamelift/

Page 76: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

VPC Peeringのサポート

RDS

http://docs.aws.amazon.com/ja_jp/gamelift/latest/developerguide/gamelift-howitworks.html

• ゲームサーバからRDSやAmazon ElastiCacheなどのにデータを保存したい場合などセキュアに通信可能

ElastiCache

注意:CIDR ブロックが一致または重複する場合は作成できないGameLift側のVPCのCIDRはDescribeVpcPeeringConnections()で確認

Page 77: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

GameLift: getting started

Page 78: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Page 79: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

料⾦体系• インスタンス料⾦

(EBS 汎⽤ (SSD) ボリューム 50GBが含まれる)• Linux 料⾦

• インスタンスごとに 1 秒単位で発⽣• Windows 料⾦

• インスタンスごとに 1 時間単位で発⽣

• ネットワーク転送料⾦

Amazon GameLift スタンダードオンデマンドインスタンスボリューム割引• ⼤量のインスタンスを利⽤する場合、ボリュームディスカウントも

https://aws.amazon.com/gamelift/pricing/

Page 80: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Free Tier

Test GameLift for Free• c4.large.gamelift インスタンス125 時間/⽉• EBS 汎⽤ (SSD) ストレージ 50 GB• AWS のすべてのサービスを合わせて、送信帯域幅 15 GB/⽉• https://console.aws.amazon.com/gamelift/• AWS GameLift consoleからサンプルゲームをお試しできます

• 同時8プレイヤーのサッカーゲーム

Page 81: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Case Study:Proletariat Inc.,(StreamLine)

https://aws.amazon.com/jp/blogs/news/streamline-case-study-amazon-gamelift/

Proletariatのチームにとって選択肢は⾮常にシンプルでした。つまり、我々のクラウドインフラストラクチャを構築するのに数ヶ⽉を費やすためにエンジニアチームを雇うか、あるいはAmazon GameLiftで数分でデプロイするか。わずか5⽇間で、Amazon GameLiftを使⽤し⾃信を持ってTwitchCon2016にStreamlineをリリース

• クライアント:Unreal EngineAmazon GameLift Server SDK for C++を利⽤

• サーバ:Node.jsとUnreal EngineゲームサーバAWS JavaScript SDK with Amazon GameLift

Page 82: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Case Study:株式会社カプコンモンスターハンター エクスプロア

• ゲームサーバをGameLiftを用いたアーキテクチャーへ

https://aws.amazon.com/jp/solutions/case-studies/capcom/

Page 83: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

まとめ• GameLiftはセッションベースのマルチプレイヤー

ゲームサーバーをホスティングするためのマネージドサービス

• FlexMatchを⽤いてマッチメイキングをカスタマイズ

• 既存のマッチメイクがある場合はそれも利⽤可能

• 複雑なインフラ設計やキャパシティ管理をGameLiftに任せて、⾯⽩いゲーム開発に集中!

Page 84: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

参考資料ゲームのための AWS

• https://aws.amazon.com/jp/gaming/ゲーム開発者のための Amazon

• https://aws.amazon.com/jp/gamedev/Amazon GameLift

• https://aws.amazon.com/jp/gamelift/Lumberyard & Amazon GameLift Blog

• https://aws.amazon.com/blogs/gamedev/AWS でのマルチプレイヤーゲームサーバーのパフォーマンス最適化AWS でスケーラブルなゲームパターンを実装する⽅法(Gaming whitepaper)

• https://aws.amazon.com/jp/whitepapers/

Page 85: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Q&A

Page 86: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

オンラインセミナー資料の配置場所AWS クラウドサービス活⽤資料集

• http://aws.amazon.com/jp/aws-jp-introduction/

AWS Solutions Architect ブログ• 最新の情報、セミナー中のQ&A等が掲載されています• http://aws.typepad.com/sajp/

Page 87: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

公式Twitter/FacebookAWSの最新情報をお届けします

@awscloud_jp検索

最新技術情報、イベント情報、お役⽴ち情報、お得なキャンペーン情報などを⽇々更新しています!

もしくはhttp://on.fb.me/1vR8yWm

Page 88: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

AWSの導⼊、お問い合わせのご相談AWSクラウド導⼊に関するご質問、お⾒積り、資料請求をご希望のお客様は以下のリンクよりお気軽にご相談くださいhttps://aws.amazon.com/jp/contact-us/aws-sales/

※「AWS 問い合わせ」で検索してください

Page 89: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

AWS Well Architected 個別技術相談会のお知らせ• Well Architectedフレームワークに基づく数⼗個の質問

項⽬を元に、お客様がAWS上で構築するシステムに潜むリスクやその回避⽅法をお伝えする個別相談会https://pages.awscloud.com/well-architected-consulting-2017Q4-jp.html

• 参加無料• 毎週⽕曜・⽊曜開催

89

Page 90: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

AWS Black Belt Online Seminar10⽉の配信予定

• 10⽉10⽇(⽕) 12:00〜13:00 AWSにおけるアプリ認証パターンのご紹介

• 10⽉11⽇(⽔) 18:00〜19:00 Amazon Kinesis

• 10⽉18⽇(⽔) 18:00〜19:00 AWS Glue• 10⽉24⽇(⽕) 12:00〜13:00 エグゼクティ

ブ向けAWS紹介• 10⽉25⽇(⽔) 18:00〜19:00 AWS Key

Management Service申し込みサイト

• https://aws.amazon.com/jp/about-aws/events/webinars/• (もしくは「AWS セミナー」で検索)

Page 91: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

簡単なアンケートにご協⼒ください

画⾯に表⽰されるアンケートフォームに⼊⼒をお願いします。皆様のご意⾒は、今後の改善活動に活⽤させて頂きます。コメント欄には1⾏で⾃由な内容を書き込み下さい。

例)- 本オンラインセミナーへのご意⾒- 今後オンラインセミナーで取り上げて欲しい題材- 発表者への激励等々…

※Q&A同様に書き込んだ内容は主催者にしか⾒えません

Page 92: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

ご参加ありがとうございました

Page 93: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Thank Youhttps://games.amazon.com/

Page 94: 【AWS Black Belt Online Seminar】 Amazon GameLift...2017/10/04  · • GameLift Client SDKは、AWS SDKに含まれている • 10以上の⾔語をサポート:C++, C#, Java,

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.