AWS for Games Blog
How Gamercraft and Theodo built a highly scalable serverless gaming tech platform
Guest post authored by the Gamercraft team.
Gamercraft offers a next-generation competitive gaming platform to make it easy for amateur gamers to compete in high-quality tournaments in a fair, fun, and skill-adjusted way. With its anti-cheating and advanced matchmaking algorithms, Gamercraft’s ecosystem ensures that gamers always compete against others of their rank, thus minimizing bad competitive experiences.
Today, the competitive gaming scene is skewed towards professional gamers. While the typical pro-gamer has access to massive prize pools and competitions, most casual and competitive gamers struggle with smurfing, chaotically organized tournaments, and few opportunities to monetize their gaming time. That’s where Gamercraft comes in: to empower the amateur gamer by giving them access to a gamified, competitive ecosystem with better prizes and fair chances of winning.
The Gamercraft platform needed the ability to support a massive volume of users and accommodate traffic spikes during large-scale tournaments and low usage periods. Being a greenfield tech product, the team at Gamercraft decided to use the best of AWS, adopting a serverless, cloud-native approach. This approach allows them to focus on delivering the best gaming experience to their customers while providing the scalability needed to adjust to demand. By using AWS, Gamercraft can offer a fantastic experience to gamers of all ranks while practicing good cloud economics for the business.
Gamercraft worked with Theodo to build its initial platform. At its core, the Gamercraft platform allows gamers to connect and compete in the form of tournaments. The ecosystem will enable users to subscribe and win “significantly larger than normal” prizes and engage in gamified competition.
The “Gamercraft experience” centers around giving amateur esports teams the means to grow and find sustainability. Team captains can draft and assemble rosters, find new teammates, compare their performance with other teams, and play in various competitive experiences and formats. Each function is based on underlying APIs from some of the world’s largest game publishers.
As the Gamercraft platform is inherently event-driven, the team started architecting the solution by conducting an “EventBridge Storming” session, a workshop from Domain-Driven Design DDD that allows the business domain events, system boundaries, and entities to be elaborated.
This ensured a shared understanding of the process that the platform needed to support and that the underlying microservices were based on the correct boundaries. The output of this session was the following list of microservices and domain events. The domain events were formalized into an Event Schema for use with Amazon EventBridge, which provided the communication mechanism between the distributed services.
The architecture is divided into six distinct services:
- Prize service
- Tournament service
- Match service
- User service
- Team service
- Notification Service
The solution leverages the following AWS cloud services:
- AWS Lambda – backend application logic & third-party API integration
- Amazon API Gateway – HTTP interface to backend APIs
- AWS Step Functions – User and tournament workflows
- Amazon EventBridge – Microservice communication
- Amazon DynamoDB – Application data primary storage
- Amazon Cognito – User account management and authentication
- Amazon Simple Notification Service (SNS) – Phone number verification
- AWS Amplify – JS Library interacts with cloud resources
For more information about how Theodo builds event-driven architectures with Amazon EventBridge, read this article on Medium.
By leveraging Serverless Artillery for application load testing, the team has shown the system’s ability to scale out gracefully under heavy load and to rapidly scale back to zero once load stops.
Focusing on system design tailored to the business domain, and leveraging AWS & open source tools, sets Gamercraft up to create a new standard for online gaming experiences. Theodo ensured best practices were followed to facilitate a smooth transition to an internal serverless development capability built inside Gamercraft after the minimal viable product was completed. An event-driven serverless architecture on AWS allowed Gamercraft to focus on their end-users today, while building a platform to scale as their user base grows.