My Journey Creating CloudJack-21
How I built a gamified AWS learning serverless application...
Published Jan 6, 2025
Last Modified Jan 8, 2025
Building CloudJack-21: A Labor of Love and Learning
Nine months ago, I knew next to nothing about AWS cloud computing. Today, I'm excited to share the story of how I developed CloudJack-21, a serverless card game that teaches AWS concepts. This journey has been nothing short of transformative, pushing me to learn new technologies, overcome challenges, and contribute to the AWS learning community.
The Spark of Inspiration:
As an Amazon Cloud Institute learner and recent AWS Cloud Practitioner, I was captivated by the potential of cloud technologies. The idea for CloudJack-21 was born from a desire to contribute to the AWS gamified learning ecosystem. Inspired by games like AWS Cards Clash, I envisioned a battle-style card game where AWS services come to life.
You can play the game here: https://www.cloudjack-21.com. You can also check out the short demo video below...
The Game Concept:
CloudJack-21 is an interactive card game where players battle using AWS service cards. Each card represents a real AWS service, complete with attributes based on its real-world characteristics. Players strategize, selecting the best services for various cloud computing scenarios, learning about AWS as they play.
Each round of Cloud Watch-21 consists of two alternating phases:
- Phase 1: Infrastructure Building • Objective: Build your cloud infrastructure while keeping your total under 21 • Gameplay: Similar to traditional blackjack, aim to get as close to 21 as possible without going over
- Phase 2: Cloud Battle • Roles: Players are assigned either "Cloudjacker" or "Cybersecurity" roles • Gameplay: Use challenge or defense cards (based on your role) to compete against the computer • Strategy: Leverage your knowledge of AWS services to gain an advantage
Technical Implementation:
Developing CloudJack-21 pushed me to apply newly acquired skills:
- Frontend: HTML, CSS, JavaScript
- Backend: Python, AWS Lambda
- Database: Amazon DynamoDB
- Other AWS Services: S3, CloudFront, API Gateway, Route 53, KMS
I opted for a serverless architecture, building everything from scratch without relying on existing game engines. This approach, while challenging, provided an invaluable learning experience.
Leveraging AI in Development:
To meet tight deadlines, enhance development efficiency, and because it was a requirement of the Game Builder Challenge, I utilized AI tools like Amazon Q Developer and Party Rock. These tools were instrumental in content generation and problem-solving, acting as a virtual team member in this solo project.
Here are six specific ways these tools proved invaluable during my recent Blackjack-based game project:
- Intelligent Code Suggestion Amazon Q quickly analyzed my open files in VS Code and detected that I was working on a Blackjack-based game. It then suggested a substantial section of relevant code, which I was able to review and adapt, saving hours of initial coding time.
- Intuitive Understanding of Intent Even with incomplete comments, Amazon Q seemed to grasp my intentions. For instance, when I started typing comments, it often accurately predicted and suggested the function I had in mind, demonstrating its ability to understand context and developer needs.
- Database-Specific Optimizations When working with DynamoDB tables, Amazon Q provided coding suggestions that were perfectly tailored to the database structure. This expertise in AWS services significantly improved my data handling efficiency.
- Contextual Awareness Throughout the development process, Amazon Q consistently offered relevant suggestions based on the current file, surrounding code, and project structure. This context-awareness felt like having a knowledgeable colleague always ready to assist.
- Content Generation Assistance Surprisingly, Amazon Q even helped in generating game content. When I needed to create action-relevant data for the game, it provided suggestions that fit seamlessly with the game's theme and mechanics.
- Efficient Debugging and Logic Validation with Party Rock, Integrating Party Rock into my development workflow was a game-changer for debugging and validating game logic. Party Rock allowed me to ensure the accuracy of my game engine's statements about AWS services.
Amazon Q, along with tools like Party Rock, has become an indispensable part of my development toolkit. These AI-powered and cloud-native assistants not only accelerated my coding process but also enhanced the quality and reliability of my work. The seamless integration between Amazon Q's intelligent suggestions and Party Rock's real-world AWS service information created a powerful development environment that significantly improved my productivity and code quality.
If you're a developer looking to boost your productivity and create more robust applications, I highly recommend giving Amazon Q and Party Rock a try, especially for AWS-based projects.
Overcoming Challenges:
The path to creating CloudJack-21 was not without its hurdles:
1. **Time Constraints**: Working against a submission deadline pushed me to prioritize effectively and leverage AI tools.
2. **Solo Development**: Managing all aspects of the project alone was daunting but incredibly rewarding.
3. **Learning Curve**: Simultaneously learning new programming languages and AWS services while building the game was a significant challenge.
4. **Balancing Education and Entertainment**: Creating a game that's both fun and educational required constant iteration and playtesting.
Something to be proud of:
Reflecting on this journey, several accomplishments stand out:
- Rapid skill acquisition in AWS services, Python, and JavaScript
- Successfully designing and implementing a serverless architecture
- Creating an original, educational game concept
- Completing a complex project solo within a tight timeframe
- Effectively integrating AI tools into the development process
What's Next for CloudJack-21:
While I'm proud of what CloudJack-21 has become, I'm even more excited about its future. Plans include:
- Expanding the card deck with more AWS services
- Implementing multiplayer functionality
- Developing an AI-powered opponent
- Creating mobile apps for iOS and Android
- Exploring Augmented Reality features for immersive learning experiences
In Conclusion:
Developing CloudJack-21 has been more than just a technical project; it's been a transformative journey. I've gone from an AWS novice nine months ago, to being able to conceive and create a functional, educational game in two months, that I hope will help others on their cloud learning journey.
This experience has reinforced my passion for cloud computing and opened my eyes to the vast possibilities at the intersection of education, gaming, and cloud technology. As I continue to enhance CloudJack-21 and explore new projects, I'm excited to see where this journey in cloud development will take me next.
To all aspiring cloud practitioners out there: embrace the challenges, leverage the resources available to you, and don't be afraid to dive in and build something. The cloud is full of possibilities, and your next big idea could be the key to unlocking them.