aws re:invent 2016| gam303 | develop games using lumberyard and leverage aws with gamelift, cloud...

Post on 06-Jan-2017

417 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

November 28, 2016

GAM303

Develop Games Using Lumberyard

and Leverage AWS with

GameLift, Cloud Canvas, and Twitch

Dan Winters, Head of Business Development, AWS

Kevin Ashman, Technical Evangelist, AWS

Old School

Chicago Tribune, Sep 13, 1983.

Home School

Multiplayer LAN Party

Communities

BIG Communities - esports

Community Participation

What Matters Most To Developers?

Speed

What Matters Most To Developers?

Reach

What Matters Most To Developers?

Users/Monetization Strategies

Future: Evolution Of Game Development

Cloud computing will

continue to revolutionize

games and game

development.

End-to-End Solutions for Game Developers

COMMUNITY

CLIENT

COMMERCE

CLOUD

game services

Amazon Gamer Services (AGS)

Amazon Lumberyard – Speed, Reach, Monetization

Lumberyard is a AAA game engine deeply integrated with AWS and Twitch leveraging

the power of “cloud and crowd.”

Client

Cloud Community

What’s AAA?

Performance – Optimized native performance

(e.g. <10 second mobile load times, fast iteration, 64-player low-

latency multiplayer, etc.)

14

Highest Fidelity – Capable of the highest ceiling of quality,

robust and professional tools

Modular – Flexible, differentiate your game and easily customize the

engine with your own technology. Native C++ source code included.

Beautiful Worlds

15

Stylized, immersive worlds

Create Compelling Characters17

Client - Engine Platforms

PC

Windows Vista, 7, 8, 10 support

at launch

PlayStation 4,

Xbox OneAvailable by request

from verified developers

Android, iOS

Virtual Reality

Oculus, Vive, Morpheus Supported

No seat licenses

No backend royalties

Really, really FREE

Committed to…

…best in class tools and services

… highest quality games quicker and

easier.

…we do the heavy lifting of building

infrastructure

…you focus on more important parts

of your development.

…provide end to end solutions that

help your games succeed.

Unlocking the vast

compute and storage of

the cloud

21

Twitch Has Reach

100+ million unique monthly active viewers

1.7+ million unique broadcasters per month

106 minutes watched per person per day

20+ billion minutes watched per month

2

3

Retention & Monetization: Big Data!

• Amazon Mobile Analytics - Collect,

visualize, and understand your mobile

app usage

• Amazon Machine Learning – Fully

managed machine learning service for

batch and real-time predictions

• Amazon Kinesis – React in real-time

upon incoming game events

Amazon Mobile

Analytics

Amazon Machine

Learning

Amazon Kinesis

Create and upload

artwork using our

templates.

Promote your t-shirt

using our tools.

Analyze your sales

and iterate for best

monetization.

"We know how to make games really well, but retail and merchandising is

not our core business. Working with Amazon really helped get us out

there."

— Bryan Davis, Big Blue Bubble creators of My Singing Monsters

Physical Goods

Lumberyard Technical Demonstrations

About Me – Kevin Ashman

• Amazon Lumberyard – Technical Evangelist

• Game Engine Tech for 15+ years

• Supported Hundreds of Engine Evaluations

Technical Demos

• Lumberyard Editor

• GameLift

• Cloud Canvas

• Twitch

Real-time gameplay editor, content creation, collaboration, and more.

Lumberyard Editor

Terrain, vegetation, clouds, time of day

Environment Tools

CPU/GPU particles, soft particles, attach to characters, event driven

Particle Effects Editor

Geppetto, Mannequin, Track View

Character Tools

Material Editor, physically-based rendering or stylized

Materials

2D component-based UI editor (preview)

UI Editor

Node-based visual scripting tool

Flow Graph Visual Scripting

Editor Overview

Lumberyard Cloud Features

Managed deployment, operating, and scaling of session-based games

GameLift

Scaling multiplayer games is hard

Deploy and scale multiplayer games, in minutes

with Amazon GameLift

Build It Yourself

Design & architect

Build a prototype

Build (again) for production

Build a UI dashboard

Launch

Provide 24/7 post-launch coverage

$

Hire 4+ expert engineers

Give them thousands of hours to:

Debug and fix nasty scaling issues Optimize for cost$

GameLift Service

Easy to use. Start in minutes.

Upload

server

binary

Configure

fleet

Scale up Play

1 2 3 4

Easy, fast and low latency

Deliver low-latency player experiences from 9 regions

US West (Oregon)

Japan

Ireland

US East (Virginia)

Coming SoonAWS performance, reach

No added latency

Brazil

Germany

India

Singapore

Korea

Coming Soon

Game A

Player slot 1

Player slot 2

Player slot 3

Player slot 4

Active

Active

Game B

Player slot 1

Player slot 2

Player slot 3

Player slot 4

Active

Active

Active

Active

Game C

Player slot 1

Player slot 2

Player slot 3

Player slot 4

Reserved

Game A Game B Game C

EC2 Instance EC2 Instance EC2 Instance

Players

Session Management

Infrastructure Management

Game A

Player slot 1

Player slot 2

Player slot 3

Player slot 4

Active

Active

Game B

Player slot 1

Player slot 2

Player slot 3

Player slot 4

Active

Active

Active

Active

Game C

Player slot 1

Player slot 2

Player slot 3

Player slot 4

Reserved

Game A Game B Game C

EC2 Instance EC2 Instance EC2 Instance

Players

Session Management

Infrastructure Management

Latency

Latency Added by GameLift

0ms

more than just getting players into games

Cloud Operations

GameLift Developer Interfaces

Unified web interface Command line tool Language SDKs

Nomenclature: Build

Server binaries, created

by developer

Given to GameLift

Build

Nomenclature: Fleet

Deployed state of a single

Build

Players connect

to these

Fleet

1 or many EC2

instances

Nomenclature: Builds & Fleets

Game A Game B

EC2 Instance EC2 Instance

Build

Developer PlayersFleet

Scaling GameLift resources

Scale up

Scaling policy

Adjust scale based on real-time availability of player sessions, game servers, or instances (VMs).

GameLift adjusts capacity as needed

GameLift web console

Pay as you go. No upfront commitments.

Example using our cost estimation tool:

EC2 with Reserved Instances

300 instances reserved for 1 year

$23,000 per month

GameLift on-demand

100 to 200 instances per hour

$16,000 per month (30% savings!)

with no risk of over-capacity

GameLift pricing: On-demand compute and bandwidth + $1.50 per 1k DAU

GameLift Demo

Monitoring Fleets

Ensure availability of servers for players

Monitor server health

Fleet Monitoring

• Overall Fleet Analytics

• Server Processes Statistics

• Game Specific Events

• Player Activity Logs

Deploying Updates

Transparent to players

No impact to current gameplay

Nomenclature: Alias

Alias

Controls player flow to Fleets

Specify which Fleet an Alias “resolves” to

Game clients contact GameLift using Alias uuid

Deploying Updates

Developer New Players

Build A Fleet A Alias Client

Deploying Updates

New Players

Build A Fleet A Alias Client

Developer

Fleet BBuild B

Deploying Updates

New Players

Build A Fleet A Client

Developer

Fleet BBuild B

Alias

Automate Fleet Deployments

• Update deployed server versions and automate

migrating players easily with AWS CloudFormation

• See “Automating Deployments to Amazon GameLift”

blog written by Geoff Pare.• https://aws.amazon.com/blogs/gamedev/automating-deployments-to-amazon-gamelift/

GameLift Benefits

• Managed service for hosting session-based

multiplayer game servers

• Automatically scale up and down to meet

player demand, as needed

• Track health of fleet across regions

• Deliver low-latency player experiences

around the world

• Release live updates with no downtime

• Pay only for what you use

• Focus on your game!

IDE support for managing and scripting against AWS cloud resources

Cloud Canvas

Building Cloud Connected Games Using

Lumberyard’s Cloud Canvas

What are Examples of a “Cloud Connected

Feature”?

Leaderboards & Achievements

Cloud Save

Storing Character Stats & Inventory

Message of the Day & Daily Challenges

Downloadable Content

Newsticker

User-Generated Content (“UGC”)

Server-Authenticated Transactions

What Problems are Game Developers Facing?

What Problems are Game Developers Facing?

Difficult to iterate on connected features

Design

Backlog

Implement

Test

What Problems are Game Developers Facing?

Cloud Canvas improves the iteration cycle

Design

ImplementTest

Cloud Canvas Core Concepts

Cloud Canvas Core Concepts

Cloud accessible storage

Cloud Canvas Core Concepts

Amazon Simple Storage Service

(Amazon S3)

• Cloud storage location for files.

• Create a folder hierarchy similar to what’s on your local drive.

• Uses a resource called a bucket.2

Cloud Canvas Core Concepts

Persistent player data in the cloud

Amazon DynamoDB

• Database for storing arbitrary data.

• Associate data with a key, like a player ID.

• Uses a resource called a table.

Cloud Canvas Core Concepts

2

Cloud Canvas Core Concepts

Execute Cloud-Based Logic

Cloud Canvas Core Concepts

AWS Lambda

• Execute cloud-based code. Without a server!

• Write code using Python, Node.js, or Java.

• Uses a resource called a function.

Cloud Canvas Core Concepts

Managing Identity

Amazon Cognito

• Authenticate players, either anonymously or via Login with Amazon,

Facebook or Google.

• Provides unique identifier to track them across sessions, devices.

• Uses a resource called an identity pool.

Cloud Canvas Core Concepts

2

Cloud Canvas Core Concepts

Cloud Canvas acts like the glue between Lumberyard and the cloud:

• Define and manage your cloud resources with Resource Manager.

• Game communicates with resources through Flow Graph, Lua, & C++.

• Team collaboration and iteration.

Cloud Canvas AWS Resource Manager

Cloud Canvas Resource Manager

• Define AWS resource in the Lumberyard Editor

• Create stacks of deployed AWS resources for

development and test

• Remove AWS resource

management for most

of the team.

Cloud Canvas Resource Manager

• Maintain descriptions of the AWS resources that your

game depends on

• Create as many copies of the AWS resources as needed

for your releases and development teams

• Help you secure access to those resources

Cloud Canvas Example

Native bindings to the cloud

AWS C++ SDK

The AWS SDK for C++ is integrated with Lumberyard, and

used to drive all of our cloud-connected features –such as

Cloud Canvas and Game Lift

Integrated with Lumberyard

AWS SDK for C++

Source Available

The AWS SDK for C++ is hosted and maintained on GitHub,

under an Apache license:

github.com/awslabs/aws-sdk-cpp

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

Amazon Lumberyard

Jonathan Henson

GDC 2016

AWS SDK for C++Developing High-Performance, Cloud-

Connected Games Using the AWS SDK for

C++

Connecting Broadcasters & Viewers in Lumberyard

Twitch

New Gameplay Experiences

Broadcaster

AudienceGames

2

31

Twitch Metastream Example - Breakaway

Twitch Integration

Twitch ChatPlay

Allows viewers to type chat

commands to influence game

Twitch JoinIn

Broadcasters can invite viewers into their

game

Twitch ChatPlay Demo

Where do I get Lumberyard?

Get up and Running Faster

Full Source Download & Installer

• Lumberyard is free and comes with the full source

• No subscription fees, no royalties, no special “source code license”

• Binaries and source for editor, engine, and tools are included in the installer

Lumberyard Launcher

Where do I get it?

aws.amazon.com/lumberyard

Thank you!

Remember to complete

your evaluations!

top related