Scaling game servers on AWS

Published on 05 Nov 2023

Decisions and Considerations

Device-to-Device Play

Players now expect their saved games, profiles, and other data to be stored online, facilitating seamless transitions between devices. Synchronization and merging of local data are often required, making a local data storage solution less ideal.

Leaderboards and Rankings

Modern players seek a competitive experience with a focus on friends' leaderboards over a global high score list. This requires a flexible leaderboard capable of multi-dimensional sorting while maintaining performance.

Free-to-Play Model

The gaming industry has witnessed a significant shift to the free-to-play model in recent years. This approach involves free game downloads with revenue generated through advertising and in-app purchases (IAP) for items like weapons, outfits, power-ups, and boost points. Game backends must be cost-effective and scalable to accommodate this model effectively.

Analytics

Maximizing long-term revenue necessitates the collection and analysis of various gameplay metrics. Understanding player behavior, favorite items, and purchase preferences is essential for in-game purchases' success. Analytics can also provide insights for improving gameplay and boosting player engagement.

Content Updates

Games with high player retention often release new items, levels, challenges, and achievements continuously. The shift towards games as a service emphasizes the importance of frequent post-launch changes and updates. Utilizing a content delivery network (CDN) can enhance cost-efficiency and download speed for game content distribution.

Synchronous Gameplay

Synchronous multiplayer features allow real-time interactions among players, but moderation is crucial, as real-time interactions require a constant server connection, which can impact game performance.

Asynchronous Gameplay

Games, regardless of their size, are increasingly focusing on keeping players engaged with asynchronous features. Examples include tracking points, unlocks, badges, or achievements, creating a connected game experience even when players aren't online continuously or are using slower networks.

Push Notifications

To re-engage players, it's common to send targeted push notifications to their mobile devices, informing them of friend challenges, score updates, or new content, drawing them back into the core game experience.

Unpredictable Clients

Modern games run on diverse platforms, from mobile devices to consoles, PCs, and browsers. Ensuring a consistent experience for all players, regardless of their platform, is essential. Stateless protocols and asynchronous calls are crucial to accommodate this platform diversity.

Game Client

While this guide primarily focuses on the architecture deployable on AWS, it's worth noting that your game client's implementation can significantly impact your game's scalability. Frequent network requests from the client not only consume more bandwidth but also affect the cost of running your game backend.

Launching a Game Backend on AWS

To maintain competitiveness in the gaming industry, studios must achieve faster time-to-market, cost-efficiency, and innovative gameplay. Cloud services, like AWS, support these goals by providing on-demand services, eliminating the need to maintain server hardware. AWS empowers studios of all sizes to scale and access advanced tools that were previously accessible only to larger companies.

Here are some key considerations:

  • Emphasize the use of stateless protocols for scalability.
  • Prioritize high availability, scalability, and security, ensuring your game backend is fault-tolerant.
  • Leverage Amazon S3 for efficient storage of binary game data.
  • Implement Elastic Load Balancing for redundancy and SSL handling.
  • Utilize unique Domain Name System (DNS) names for each load balancer.
  • Consider the advantages of NoSQL databases, especially for horizontally scaled game applications.

This strategic approach to game design and the power of AWS can help your studio thrive in the dynamic world of gaming.