Building "Memory Quest" Game: My Journey with AWS and Amazon Q Developer
Discover how I built Memory Quest, an engaging online memory card game, using AWS services and Amazon Q Developer. Learn about the game’s features like live chat and leaderboards, the challenges I overcame, and the skills I gained during the AWS Game Challenge. Dive into my journey of innovation and growth!
Published Dec 12, 2024
Creating "Memory Quest," an interactive and engaging online memory game, was an incredible journey filled with learning, challenges, and growth. Leveraging AWS services and the power of Amazon Q Developer, I turned a concept into a fully functional game that includes exciting features like live chat, leaderboards, and multi-level gameplay. Here’s how I did it:
As a developer, I’ve always been fascinated by the potential of technology to create fun and engaging experiences. I wanted to build something that wasn’t just entertaining but also challenged the players’ memory and focus. When the AWS Game Challenge was announced, I saw it as the perfect opportunity to bring my vision to life.
Memory Quest is a fun and interactive memory card game where players can:
- Play anonymously or with a username.
- Match cards by memorizing their positions and minimizing clicks.
- Choose from three difficulty levels: Easy (6 cards), Medium (12 cards), and Hard (16 cards).
- Compete on a leaderboard that tracks performance based on total clicks, invalid clicks, and completion time.
- Enjoy live chat with other players right on the game page.
I built the frontend using React—my first experience with the framework. Thanks to Amazon Q Developer, the process was seamless. I relied heavily on its capabilities, using it to write over 98% of the code, including JavaScript and CSS. It was like having a coding mentor by my side, guiding me every step of the way.
The backend was developed using Spring Boot, and again, Amazon Q Developer was instrumental in generating REST APIs and backend logic. The backend stores game data in Amazon DynamoDB, a powerful and scalable database service.
- Amazon S3: To store and serve the card images. Making them publicly accessible allowed smooth integration with the frontend.
- Amazon Amplify: For hosting the frontend application effortlessly. Its simplicity and quick setup impressed me.
- Amazon DynamoDB: For managing game-related data such as player scores and leaderboard information.
- Learning Curve: Having zero prior experience with React was a major hurdle, but Amazon Q Developer made it manageable.
- Image Accessibility: Initially, I struggled to access images stored in S3, but after learning to make them public, the issue was resolved.
- Amplify Deployment: There were challenges deploying to Amplify due to account-specific issues, but AWS Support guided me to a resolution swiftly.
Building Memory Quest taught me:
- How to use Amazon DynamoDB, S3, and Amplify effectively.
- The immense power of Amazon Q Developer as a tool to accelerate development.
- Problem-solving skills in real-world scenarios, from debugging to deployment.
I am proud to have completed my first hackathon project and grateful for the tools and support AWS provided along the way.
There’s a lot more to explore:
- Adding themed card sets for kids or specific interests like animals or flowers.
- Introducing user accounts with history, profiles, and login/logout options.
- Expanding to mobile platforms for a broader audience.
Memory Quest is not just a game; it’s a testament to what’s possible with AWS and Amazon Q Developer. Whether you’re a seasoned developer or a novice, these tools empower you to turn your ideas into reality.
Check out the Game here: Memory Quest Game