AWS Logo
Menu

Building My First Game with Amazon Q Developer and AWS Beanstalk

Test your knowledge of Amazon Web Services now with Cloud Guesser Game.

Published Dec 23, 2024
Last Modified Dec 24, 2024

Building My First Game with Amazon Q Developer and AWS Beanstalk

Hello! I am a beginner with AWS services and an Amazon Q Developer with just a few months of experience, all gained from a Udemy course. The "AWS Game Builder Challenge" hackathon is the first hackathon I've ever participated in, and Cloud Guess Game is the first game I've ever created.
For this project, I aimed to incorporate as many AWS services as possible into my game. I saw this hackathon as a great opportunity to practice and deepen my understanding of AWS. The more services I integrated, the more I learned and gained valuable hands-on experience.
There were many challenges along the way, but I was able to overcome them with the help of tools like Amazon Q Developer and AWS Elastic Beanstalk. Their support was invaluable in building my first game and tackling complex issues.
You can play the game here: Game Link
And check out a demo here: Demo Video

The Inspiration: AWS Cloud Guesser Game

When I started learning about AWS services, I encountered many services whose names I was seeing for the first time. This sparked the idea: why not create a game to help others become more familiar with AWS services?
The challenge of the game is to guess 3 AWS services from a list of 10 randomly provided services as quickly as possible. These 10 services are generated from a pool of common AWS services, so chances are you’ll come across some that are new to you too!

How I built my game

1. Build the core game with Java Spring Boot: The core game is built using Spring Boot, which is a solid choice due to its features like auto-configuration, dependency injection, and Spring Security for managing game sessions and player authentication.
2. Integration with AWS DynamoDB: To store leaderboard data for your game, which is crucial for tracking player scores and ranking.
3. Integration with Elastic Cache: To improve query speed for leaderboard data by caching frequently accessed data.
4. S3 and CloudFront: To store and serve static files (e.g., JavaScript, CSS, audio, image) efficiently.
5. AWS Cognito for Authentication
6. Using Certificate Manager and Route 53: To secure traffic with SSL/TLS certificates and manage custom domain routing.
7. CloudWatch: To monitor and log application metrics and system performance.
8. Parameter Store for Secret Parameters: To securely store sensitive configuration parameters.
9. AWS IAM for EC2 Role: To define and manage permissions for EC2 instances.
10. Key Management Service (KMS): To encrypt sensitive data at rest.
11. AWS Beanstalk: To simplify application deployment
Architectural overview
Architectural overview

How I used Amazon Q Developer

  • Seek guidance on integrating AWS services into my game.
Guide to deploy spring app to aws with beanstalk
Guide to deploy spring app to aws with beanstalk
  • Find solutions to errors encountered during game development.
Error when deploying spring app to aws with beanstalk
Error when deploying spring app to aws with beanstalk

Conclusion

I would like to extend my special thanks to Amazon Q Developer and AWS Elastic Beanstalk for helping me create an outstanding game ever leveraging various AWS services.
 

Comments