AWS Case Study: Naughty Dog
About Naughty Dog
Naughty Dog is a video game development company responsible for many popular titles, including the Crash Bandicoot, Jak and Daxter, and Uncharted franchises. The company launched in 1986 but admits that it did not become an influential force in the console gaming industry until it began developing Crash Bandicoot in 1994. Seven years later, Naughty Dog became a subsidiary of Sony Computer Entertainment.
Naughty Dog’s 2005 release for PlayStation 2, Jak X: Combat Racing, included an online multiplayer feature that interfaced with local servers. Despite the game’s success, the company was dissatisfied with the expense and limited flexibility of its online infrastructure. By the time Naughty Dog started developing Uncharted 2: Among Thieves for PlayStation 3, it knew it needed an alternative infrastructure for online game components.
Why Amazon Web Services
A comparison of cloud technology providers revealed that Amazon Web Services (AWS) was considerably less expensive and more comprehensive than the competition. “Additionally, we had low-level access to these powerful services that enabled us to rapidly troubleshoot problems and enhance the performance of the application,” explains Naughty Dog’s Co-President, Christophe Balestra.
The company has since debuted both Uncharted 2 (2009) and Uncharted 3: Drake’s Deception (2011) with all online components supported by AWS. In fact, the Beta version of the latter was debugged live in AWS. Naughty Dog fixed all of the major bugs in only sixteen hours.
Although both titles use AWS in a similar manner, the company refined its architecture for Uncharted 3. When players start a new game on their PS3, they receive a page of instructional information that is stored and delivered from Amazon Simple Storage Service (Amazon S3). Profile changes and customized options are also stored in Amazon S3. If players want to join live multiplayer games, they are routed to an Amazon Elastic Compute Cloud (Amazon EC2) “matchmaking” server, which connects them with games currently in progress.
When the game ends, the game results are saved in Amazon S3 as binary files, which can be easily shared throughout the system. These results are also processed by the open-source data store Redis, which runs in Amazon EC2 with Amazon EBS and the data is replicated to Amazon S3 for backup. Players can then easily review all of their results directly on their PlayStation 3 or through the Naughty Dog website.
The company uses Amazon’s content delivery service, Amazon CloudFront, when it needs to perform substantial game updates or push large amounts of data to PlayStation 3 clients.
Over time, all console games experience a decline in player activity. As usage drops, Naughty Dog can simply scale down individual servers and storage instances related to specific games. This ensures the highest level of cost effectiveness, helping them to save approximately 90 percent versus their on-premise IT service.
But Uncharted 3 and its AWS-based online features are still riding a wave of popularity. The game has received many rave reviews, nominations, and awards from within the gaming industry and mainstream publications, including a 92 percent positive rating from Metracritic.
Christophe Balestra notes, “With AWS, we have tremendous flexibility, and we never get into a situation where there is something we can’t do.”
To learn more about how AWS can help support your gaming needs, please visit: http://aws.amazon.com/game-hosting/.