Elite Dangerous is a Kickstarter-backed, massive-scale space MMO by Frontier Games. With no prior experience with AWS, Frontier have used EC2, S3, RDS, DynamoDB, Elasticache, and CloudFormation to deploy a cross-platform PC & Console MMO experience that is sold and distributed worldwide. Every action made by each of the 825,000 (and counting) Elite Dangerous players drives the combined game's story forward, and impacts a live galactic commodities market running on EC2 and RDS in real-time. Frontier uses Elite Dangerous is a Kickstarter-backed, massive-scale space MMO by Frontier Games. With no prior experience with AWS, Frontier have used EC2, S3, RDS, DynamoDB, Elasticache, and CloudFormation to deploy a cross-platform PC & Console MMO experience that is sold and distributed worldwide. Every action made by each of the 825,000 (and counting) Elite Dangerous players drives the combined game's story forward, and impacts a live galactic commodities market running on EC2 and RDS in real-time. Frontier uses AWS to create a simulation of the entire 400 billion star systems of the Milky Way galaxy using physics engines running on Amazon EC2. Finally, learn how Elite distributes updates and DLC to game clients using Amazon S3 and Amazon CloudFront.to create a simulation of the entire 400 billion star systems of the Milky Way galaxy using physics engines running on Amazon EC2. Finally, learn how Elite distributes updates and DLC to game clients using Amazon S3 and Amazon CloudFront.
16. edServer and Matchmaking
Giving players the best possible online experience
GET /server
API
EU/GB
Travelled to Barnards Star
In Wing
0 5 10 15 20 25
Server OC 1
Server EU 2
Server EU 3
Alpha Centauri
Sol
Barnards Star
Wings
17. edServer and load balancing
Quiet servers are easier to terminate
Stack players up to server load capacities
18. Central web API, autoscaling, and authentication
eu-west-1
Availability Zone A
DynamoDB
RDS
Amazon ElastiCache
Auto Scaling group
PHP
S3
PHP
Availability Zone B
19. A few learning points
aws autoscaling suspend-processes --scaling-
processes AZRebalance --region eu-west-1 --auto-
scaling-group-name <ASGNAME>
boto.ec2.autoscale.connect_to_region().
terminate_instance(instanceId, true)
20. A few learning points
EC2 API rate limit
PHP’s Composer is vulnerable at deployment time
Orchestration and configuration in source control
23. Boss level challenge 2
• Have similar impact as Elite did in 1984 using
• Modern CPU and GPU power
• Network connectivity
• Massively multiplayer
• Set in the real 1:1 sized Milky Way galaxy
• Accurately simulate 400 B star systems
29. Name: LHS 6309 A 1.
Class: TerrestrialClassification_EarthLike.
Mass: 1.8877(Gas:0.000, Volatiles:0.685, Rock:0.212, Metal:0.102)
Radius: 1.475 Earths.
Surface temp: 144.821 K.
Black body temp: 144.821 K.
Approx magma temp: 3740.786 K.
Semi-major axis: 0.025 AU.
Eccentricity: 0.076.
Inclination: -0.000 radians?]
Surface pressure: 4961.263 Atm.
Volcanism type: WaterGeysers.
Atmosphere composition: eAtmosphereClass_EarthLike(Nitrogen(1.000),
Oxygen(0.000), Neon(0.000)).
Description: Tidally locked Earthlike body with thick atmosphere and major water
geysers volcanism.
30.
31. Data storage
EC2 SSD instance storage
Elasticache Redis
RDS MySQL and Mongo
S3
Sophisticated simulation
Speed
Consistency
Only store “interesting” data
32. Boss level challenge 3
• Have similar impact as Elite did in 1984 using
• Modern CPU and GPU power
• Network connectivity
• Massively multiplayer
• Set in the real 1:1 sized Milky Way galaxy
• Accurately simulate 400 B star systems
• Exploration, dynamic trading, outfitting
40. Trading and outfitting
Overlays:
Default stock of 1000
Player buys 200
Current stock of 800
Gets stored as 0.8
Gradually restocks over time
Until it returns to 1000 when it gets deleted
Players
Politics
Supply and demand
Core simulation
41. Supply and demand
eu-west-1
Availability Zone A Availability Zone B
Auto Scaling group
PHP PHP
{“buy”:{“fish”:200, “mkt”: “Lave”}}
{“buy”:{“fish”:75, “mkt”: “Lave”}}
{“sell”:{“fish”:275, “mkt”: “Sol”}}
{“buy”:{“tea”:20, “mkt”: “Lave”}}
{“sell”:{“cobalt”:200, “mkt”: “Lave”}}
{“buy”:{“tea”:500, “mkt”: “Lave”}}
{“sell”:{“cobalt”:40, “mkt”: “Lave”}}
{“buy”:{“fish”:200, “mkt”: “Lave”}}
{“sell”:{“tea”:500, “mkt”: “Sol”}}
{“lave”: {“fish”: 0.8,
“cobalt”: 1.1,
“tea”: 0.5}
{“sol”: {“fish”: 1.2,
“tea”: 1.5}
45. Boss level challenge 4
• Have similar impact as Elite did in 1984 using
• Modern CPU and GPU power
• Network connectivity
• Massively multiplayer
• Set in the real 1:1 sized Milky Way galaxy
• Accurately simulate 400 B star systems
• Exploration and dynamic trading
• Player-driven story
46.
47.
48.
49. Player-driven story
eu-west-1
Availability Zone A Availability Zone B
Auto Scaling group
PHP PHP
{
“faction: "9469194806713“,
"boom": 148,
"bust": 7,
"famine": 10,
"influence": 49
}
Sobek Boys
vs
Federal Bridge
{boom: +1} {inf: -4}
53. Boss level challenge 5
• Have similar impact as Elite did in 1984 using
• Modern CPU and GPU power
• Network connectivity
• Massively multiplayer
• Set in the real 1:1 sized Milky Way galaxy
• Accurately simulate 400 B star systems
• Exploration and dynamic trading
• Player-driven story
• Sell and distribute the game ourselves
56. Boss level challenge 6
• Have similar impact as Elite did in 1984 using
• Modern CPU and GPU power
• Network connectivity
• Massively multiplayer
• Set in the real 1:1 sized Milky Way galaxy
• Accurately simulate 400 B star systems
• Exploration and dynamic trading
• Player-driven story
• Sell and distribute the game ourselves
• Add platforms, features, seasons
57.
58.
59.
60.
61. Close quarters combat championships
eu-west-1
Availability Zone A Availability Zone B
Auto Scaling group
PHP PHP
• Instant action PvP
• Join lobbies
• Background matchmaker
62. Boss level challenge 6
• Have similar impact as Elite did in 1984 using
• Modern CPU and GPU power
• Network connectivity
• Massively multiplayer
• Set in the real 1:1 sized Milky Way galaxy
• Accurately simulate 400 B star systems
• Exploration and dynamic trading
• Player-driven story
• Sell and distribute the game ourselves
• Add platforms, features, seasons