Inspiration
The inspiration behind my project came from a fascination with memory games and the challenge of testing and improving human memory. The idea of creating a game that could push users to remember sequences and enhance their memory skills intrigued me. As someone passionate about technology and problem-solving, I wanted to create a simple yet engaging application that was both fun and mentally stimulating. This led me to the concept of building a Simon Memory Game.
What it does
The Simon Memory Game is a challenge designed to test the memory of its users. The game consists of four buttons, each with a distinct color. At each level, a new button is pressed automatically in a sequence. The player's task is to remember the sequence and press the buttons in the correct order to progress to the next level. As the game advances, the sequences become longer and more challenging, putting the user’s memory to the test.
How we built it
I built the game using the MERN stack (MongoDB, Express.js, React.js, and Node.js). Here's how the different components came together:
Frontend The frontend was designed with simplicity and usability in mind. I used:
- React.js for building the interactive UI.
- CSS for styling the components and providing a vibrant, dynamic feel to the buttons and interface.
- Sounds for adding auditory feedback to button presses, making the game more immersive.
Backend
- I initially designed the backend to handle user data, such as login details and high scores, using Node.js and Express.js.
- For data storage, I used MongoDB to keep track of the top 5 highest levels achieved by users.
Deployment I deployed the project using AWS Amplify, which made it easy to host and manage the application. AWS Amplify provided seamless integration for frontend hosting and simplified the deployment process.
Challenges we ran into
As this was my first experience with AWS services, I encountered several challenges, such as:
- Understanding AWS Amplify: Deploying the project using Amplify was initially confusing due to my lack of prior experience. It took time to understand the build and deployment process.
- AWS Services Integration: I explored services like Amazon Q Developer during the journey, which required additional learning to integrate effectively.
- Debugging Issues: Ensuring the game logic worked flawlessly and debugging errors in the code was time-intensive but rewarding.
- Time Management: Participating in the AWS Game Challenge Hackathon on Devpost meant working within tight deadlines, which required efficient time management and quick problem- solving.
Accomplishments that we're proud of
Throughout this project, there were several milestones that I am proud to have achieved:
- Successful Deployment: Despite being new to AWS Amplify, I successfully deployed the game and made it accessible to users worldwide.
- Interactive Gameplay: The game functions smoothly, with seamless transitions between levels and an engaging user experience.
- Learning New Technologies: Gaining hands-on experience with AWS services and Amazon Q Developer was a significant achievement.
- Hackathon Participation: Completing the project within the timeframe of the AWS Game Challenge Hackathon and submitting it on Devpost was a rewarding accomplishment.
- User-Centric Design: Creating a fun and challenging game that appeals to users and fulfills its purpose of testing memory was a key success.
What we learned
Working on this project taught me several valuable lessons:
- I gained hands-on experience with AWS services, which opened up new possibilities for cloud- based development.
- I learned how to deploy and manage applications using AWS Amplify.
- I enhanced my skills in using the MERN stack to build interactive applications.
- I improved my debugging and problem-solving skills while tackling issues during development.
What's next for MemoRace
The MemoRace game has immense potential for further development. Here are some features and enhancements planned for the future:
- Multiplayer Mode: Introducing a multiplayer mode where users can challenge their friends in real- time memory battles.
- Difficulty Levels: Adding different levels of difficulty to make the game accessible to beginners while challenging for experts.
- Mobile App Version: Developing a mobile-friendly version of the game to make it accessible on iOS and Android devices.
- Dynamic Themes: Allowing users to customize themes and sounds to make the game more personalized and engaging.
- Advanced Analytics: Using data analytics to provide players with insights into their memory performance and improvement over time.
Log in or sign up for Devpost to join the conversation.