Inspiration
The inspiration for the Candy Catcher game came from a desire to create an engaging and interactive browser-based arcade experience. Combining game mechanics with cloud technology, I aimed to enhance gameplay while exploring AWS services for real-time tracking and seamless user experience. The challenge of integrating cloud services like DynamoDB, Cognito, and S3 sparked my interest in applying cloud architecture to web development. Additionally, Amazon Q's guidance in resolving technical issues, such as CORS, motivated me to further explore the potential of AWS. Ultimately, the project merged fun gameplay with cloud innovation, providing both a technical challenge and creative outlet.
What it does
The Candy Collector game allows players to control a basket to catch falling candies while avoiding lightning bolts, aiming for the highest score. The game tracks scores in real-time using AWS DynamoDB and features user authentication via Amazon Cognito. Game assets, including images and sounds, are stored in S3 buckets for efficient delivery.
How we built it
We built the Candy Collector game using Phaser.js for game development, JavaScript for interactivity, and HTML5 for the game's structure. The game's assets, including images and sounds, were stored in AWS S3 buckets for optimized delivery. We integrated AWS DynamoDB to track and store real-time high scores. For user authentication, Amazon Cognito was used to ensure secure logins. The game was hosted on AWS, and Amazon Q provided guidance on integrating cloud services, resolving CORS issues, and managing the free tier's limitations. The development also involved tackling challenges such as game physics, cross-browser compatibility, and cloud service integration.
Challenges we ran into
During development, we faced several challenges, including:
- Game Physics Implementation: Creating realistic falling candy mechanics and basket movement required fine-tuning physics to ensure smooth gameplay.
- Cross-Browser Compatibility: Ensuring the game worked consistently across different browsers required addressing performance and rendering issues.
- CORS Issues: We encountered CORS (Cross-Origin Resource Sharing) issues when accessing game assets stored in AWS S3 and interacting with AWS services from the frontend. These issues were resolved with guidance from Amazon Q, which provided code snippets to enable proper handling of CORS and ensure seamless communication between the game and cloud services.
- Cloud Service Integration: Configuring AWS DynamoDB for real-time score tracking and integrating user authentication with Amazon Cognito required careful handling of API calls and security settings.
- Free Tier Limitations: Working within AWS's free tier restrictions meant optimizing services like storage and database usage to avoid additional costs while maintaining performance.
These challenges provided valuable learning experiences in both game development and cloud architecture.
Accomplishments that we're proud of
We’re proud of several key accomplishments in the development of the Candy Collector game:
- Seamless Cloud Integration: Successfully integrated AWS services like DynamoDB for real-time score tracking, S3 for asset storage, and Cognito for user authentication, ensuring a robust and scalable game experience.
- Smooth Gameplay Mechanics: Overcame challenges in game physics to create a fun, engaging gameplay experience where players can easily control the basket and interact with falling candies and lightning bolts.
- Cross-Browser Compatibility: Ensured the game works seamlessly across different browsers, providing a consistent experience for all players.
- CORS Issue Resolution: Leveraged Amazon Q's guidance to resolve complex CORS issues, ensuring smooth communication between the game frontend and AWS services.
- Optimizing AWS Free Tier: Effectively managed resources within AWS's free tier, balancing performance with cost-efficiency while maintaining a high-quality user experience.
These accomplishments not only highlight our technical skills but also demonstrate our ability to integrate cloud technologies with interactive game development.
What we learned
Through the development of the Candy Catcher game, we learned a great deal about both game development and the power of cloud services, particularly AWS. One of the key learning experiences came from working with Amazon Q, which was instrumental in overcoming a variety of technical challenges.
Amazon Q is a service that provides valuable guidance and best practices for developers working with AWS, especially in scenarios where cloud service integration can be complex. Here's what we learned from using Amazon Q:
- Resolving CORS Issues: Amazon Q provided guidance on configuring CORS settings, allowing smooth communication between the frontend and AWS services like S3 and DynamoDB.
- AWS SDK Integration: It helped us effectively use the AWS SDK for JavaScript, streamlining user authentication with Cognito and real-time score tracking with DynamoDB.
- Free Tier Optimization: Amazon Q offered tips for managing AWS resources within the free tier, ensuring optimal performance without exceeding limits.
- Cloud Architecture Insights: We learned how to design a scalable, efficient system using AWS services, such as S3 for asset storage and DynamoDB for backend functionality.
- Game Development Tips: Amazon Q provided practical advice on performance improvement and latency reduction, enhancing the overall gameplay experience.
What's next for Candy Catcher
The next steps for Candy Catcher involve several exciting updates and improvements:
- Enhanced Gameplay Features: Introducing new power-ups, like speed boosts or shields, to make the gameplay more dynamic and challenging.
- Multiplayer Mode: Adding a competitive multiplayer feature where players can race to collect the most candies or challenge each other in real-time.
- Leaderboard Integration: Expanding the score tracking system to include global leaderboards, allowing players to compete against others worldwide.
- Mobile Compatibility: Optimizing the game for mobile devices, ensuring smooth touch controls and an enjoyable experience on smartphones and tablets.
- UI and Visual Enhancements: Updating the user interface with more engaging visuals, animations, and sound effects to improve the overall aesthetic and user experience.
- Cloud Service Enhancements: Exploring additional AWS services, such as AWS Lambda for serverless game logic, to improve scalability and reduce operational costs.
These updates will continue to enhance the game’s fun factor, scalability, and overall player experience, ensuring it stays engaging and accessible to a growing audience.
Log in or sign up for Devpost to join the conversation.