AWS for Games Blog
The Unique Architecture behind Amazon Games’ Seamless MMO New World
An innovative mix of Amazon EC2–powered worlds and microservices are used to create an immersive game that meets the challenging demands of scale
New World is a massively popular multiplayer online (MMO) game created by Amazon Games and released in September 2021. Its users create custom characters and enter an expansive, supernatural realm called Aeternum, interacting with thousands of other virtual adventurers. Unlike a session-based game, players don’t lose their accomplishments once they log out. Instead, characters grow over time, accumulating items, meeting comrades, and accruing expedition skills. For players, the game is an extremely immersive experience: they don’t have to wait for screens to load or other interruptions. This is known as “seamlessness,” and it’s a valuable trait for developers to be able to deliver. The developers behind New World used Amazon Web Services (AWS) solutions to create this seamless user experience while maintaining and operating a backend structure that keeps the game available virtually 24/7 globally.
Creating Expansive MMO Worlds Using Amazon EC2
Developers built New World using a unique architecture built around different instances of Amazon Elastic Compute Cloud (Amazon EC2), which provides secure and resizable compute capacity for virtually any workload. While a traditional MMO simulates, redraws, analyzes, and processes user states and actions around five times per second, New World does these 30 times a second. “In the old world, if things needed to scale up, you bought bigger hardware,” says Werner Vogels, chief technology officer of Amazon.com. “In the new world, it’s all about scale out.”
For each of Aeternum’s virtual worlds, clients connect to one of four remote entry points (REPs). These REPs are the only public IP addresses, and they are where the game handles resilience and security. Each of the four REPs is a separate Amazon EC2 C5 Instance, specifically an Amazon EC2 C5.2xlarge Instance. Hidden behind each group of REPs are seven computational processing units—each of which is an Amazon EC2 C5.9xlarge Instance—that create a set of what New World developers call a “hub.” Each hub corresponds to two nonconsecutive subdivisions of a grid that overlays the imaginary world, with each grid representing a physical simulation volume.
As a player moves through the game, state information is handed from hub instance to hub instance, spreading the compute load over virtual servers hosted globally in multiple AWS Regions, physical locations that contain clusters of data centers. The game also features session-based modes, in which users participate in temporary adventures. Sessions are powered by a separate pool of hubs shared based on availability. When users finish their quest, the Amazon EC2 instance returns to the shared pool. “This kind of game simulation requires a lot of CPU,” Vogels says. “The use of multiple Amazon EC2 instances powering this world leads to very immersive game play and a much better user experience.”
Collectively, the Amazon EC2 instances for a single world in Aeternum can simulate more than 7,000 artificial intelligence entities and hundreds of thousands of objects for 2,500 players. Each server set often processes millions of state changes per second, selecting the relevant data to create individual immersive experiences. The game writes state to Amazon DynamoDB, a fast, flexible NoSQL database service for single-digit millisecond performance at virtually any scale, which is well suited for game data that often has low coherency and structure. Using Amazon DynamoDB, the game was able to grow from single test servers during development to more than 500 in production without code changes. Plus, Amazon DynamoDB handles about 800,000 writes every 30 seconds to store game state, providing high performance and reliability that means developers can recover state without damaging player character data.
Deriving Data Insights to Enhance the User Experience
For New World developers, observability is extremely important for quickly and accurately identifying potential problems in near real time without additional testing. To capture telemetry streams from each world and player, developers use Amazon Kinesis Data Streams, a serverless streaming data service that makes it simple to capture, process, and store data streams at virtually any scale. Amazon Kinesis Data Streams ingests data from hundreds of thousands of sources at subsecond latency, pushing it to Amazon Kinesis Data Firehose, an extract, transform, load service that reliably captures, transforms, and delivers streaming data to data lakes, data stores, and analytics services. Using these solutions, New World developers derive insights in seconds or minutes instead of hours or days. In fact, every minute, Amazon Kinesis Data Firehose pushes 23 million events in New World into Amazon Simple Storage Service (Amazon S3), an object storage service offering industry-leading scalability, data availability, security, and performance. The data stored in Amazon S3 is then processed using AWS analytics solutions such as Amazon Athena, a serverless interactive query service that makes it simple to analyze data in Amazon S3 using standard SQL.
Every part of the New World team uses the massive data flow. Data analysts can use the information to discover specific insights, such as which wolf in the forest has been fought the most. Then game designers use these insights to modify the game in real time. On the operational side, Amazon Games can anticipate service issues and deal with them quickly.
Using APIs on the Operational Side
As a bridge between the AWS solutions behind the game and their external applications, New World uses Amazon API Gateway, a fully managed service that makes it simple for developers to create, publish, maintain, monitor, and secure APIs at virtually any scale. APIs act as the front door for the applications to access data, business logic, or functionality from backend services, and New World features 200 million calls for Amazon API Gateway every minute.
To power the known core game play activities, New World uses AWS Lambda, a serverless, event-driven compute service that lets developers run code for the backend service without provisioning or managing servers. Lambda functions power microservices across global services—achievements, channels, globally unique user naming—as well as local services, such as queues, contracts, sessions, guilds, and characters. Each AWS Lambda function runs in an isolated environment, with its own resources and file system view, handling more than 150 million invocations per minute.
Embracing Scalability to Meet Unexpected Demand
The scalability of the suite of AWS solutions helped Amazon Games meet unexpected consumer demand, which well exceeded its forecast. New World became the fifth highest-played game by concurrent users in the history of the video game distribution service Steam, with more than 900,000 concurrent users in its first weekend. “We would never be able to build this kind of immersive experience on hardware,” Vogels says. “New World is truly an MMO game born in the cloud.”
Learn more about how game developers build, run, and grow their games with AWS for Games
Learn more about Amazon Game Studios and New World