TL;DR – Check Out This E-Book on Scalable Game Development Patterns
We recently published an e-book called Introduction to Scalable Game Development Patterns on AWS, and I wanted to talk a bit about it as I think it’s a great resource. It will help you understand how to get started with any aspect of online play, be it as simple as setting up a leaderboard all the way to hosting fully scalable multiplayer services. Just click the banner below to access the e-book.
The book dives in to typical choices you need to make when considering what kind of online services you want to offer with your game. For example, do you need persistent game data, leaderboards, analytics, dynamic content, security, multiplayer ability? Deciding what your game needs to offer players will drive many of the back end technology decisions you’ll need to make. And this book guides you through that decision making process.
Once you’ve landed on your online feature set, the book quickly dives in to how to set up AWS services to best suit your needs. One of the neat “features” of the book is that it starts small, with a simple service you can set up very quickly using AWS Elastic Beanstalk. Elastic Beanstalk is a great choice to get started quickly on game service development because it manages and configures a lot of AWS infrastructure that would otherwise be left up to you, like monitoring, load balancing, auto scaling, and more. You just need to upload the server code in the language of your choice. The book walks you through setting up a simple client service that includes a database to store player data and an Amazon S3 bucket to store and deliver binary game data to your game client. For many smaller single player games, especially mobile games, this may actually be all you ever need to support your players with robust game services.
The book then introduces the “reference architecture.” Though it looks complicated, and supports a lot of features (login, leaderboards, challenges, chat, binary game data, analytics and real time multiplayer) it’s really just an iteration of the backend that was developed in Elastic Beanstalk.
You’ll then dive in to each of the pieces of the architecture. For instance, one section deals with what parts of your game should use REST API’s (web style) and which need a persistent connection. Another large section discusses different types of databases that can be used with games, and what use cases are appropriate for what type of database. There’s a thorough discussion of leaderboards, matchmaking, chatting, binary game content deliver and even cost.
All in all, if you’re considering adding any type of online services to your game, I encourage you to grab this e-book. It’s free, and is packed with a lot of great information to get you started.