AWS re:Invent 2016| GAM303 | Develop Games Using Lumberyard and Leverage AWS with GameLift, Cloud...
-
Upload
amazon-web-services -
Category
Technology
-
view
420 -
download
0
Transcript of AWS re:Invent 2016| GAM303 | Develop Games Using Lumberyard and Leverage AWS with GameLift, Cloud...
© 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!