Inspiration
The inspiration for Hack-tic-toc came from a desire to make learning Python more engaging and fun. While many resources focus on teaching concepts, we wanted to create a game that tests your understanding in an interactive and competitive environment. Drawing inspiration from the classic Tic-Tac-Toe game, we designed a project that combines coding challenges with a familiar and simple game mechanic, making it easy for players to focus on learning while having fun.
What it does
Hack-tic-toc is an interactive coding game that challenges players to answer Python-related questions in order to make moves on a Tic-Tac-Toe board. The game adjusts its difficulty based on the player’s performance, providing a customized experience. If the player answers incorrectly, a helpful hint is displayed to guide them toward the correct solution. Players can compete against a computer. The game tests Python concepts such as syntax, functions, lists, and more, making it perfect for anyone looking to assess their Python knowledge.
How we built it
We built the game using a combination of technologies:
Amazon Q Developer was used to accelerate code generation and assist with automating repetitive development tasks. This included: • Generating boilerplate code for Phaser.js-based game mechanics. • Creating game components like interactive UI elements (buttons, menus, grids). • Streamlining debugging and testing with automated suggestions for code improvements. This allowed the development process to focus on creative elements and fine-tuning gameplay rather than spending time on foundational coding tasks.
Frontend: The game is developed using React for the main interface and Phaser.js to handle the game mechanics and interactions.
Backend: The game uses AWS Amplify for deployment, S3 for static file storage, and CloudFront for content delivery, ensuring fast load times and seamless access.
Game Logic: The coding challenges have a question and multiple choice answers. The game checks the player’s answers, provides hints for incorrect responses, and allows them to continue playing.
Challenges we ran into
Balancing Game Complexity: One of the main challenges was ensuring the game’s difficulty was well-balanced. We needed to design challenges that were neither too easy nor too hard. This required fine-tuning the complexity of the questions so that players could feel challenged but not frustrated.
Integrating Game Mechanics with Coding Challenges: Initially, the flow between answering coding questions and making game moves was rough. We had to make sure the questions were engaging without disrupting the game pace too much. This took several iterations to get right.
Hosting and Deployment: Hosting the game on AWS was relatively straightforward using Amplify, S3, and CloudFront, but we encountered some difficulties with file management and deployment configurations since we were not familiar with the services used.
Accomplishments that we're proud of
Smooth Integration of Python Questions: We are proud of how seamlessly the coding challenges were integrated into the game, maintaining the flow and engagement of the game while still providing educational value.
Interactive Gameplay: The combination of the coding challenges and the classic Tic-Tac-Toe gameplay was a success. The game is interactive, fun, and provides immediate feedback, which keeps players engaged.
Scalable Hosting Solution: Using AWS Amplify, we were able to deploy the game efficiently, ensuring that it is scalable and performs well under various conditions.
What we learned
Game Development with Phaser: We learned how to use Phaser.js for handling game mechanics, including creating interactive game boards, handling player input, and managing game states.
AWS Hosting: We gained valuable experience in using AWS S3, CloudFront, and Amplify for hosting and deploying static web applications.
Balancing Education and Entertainment: We learned how to strike a balance between the educational content and the entertainment value of the game. Making the game both challenging and enjoyable was key to keeping players engaged.
What's next for Hack-tic-toc
Expand the Question Pool: We plan to expand the variety of Python questions, adding more categories and difficulty levels to provide a richer learning experience.
AI Improvements: The AI opponent can be improved by implementing more intelligent decision-making, rather than just random moves, to offer a better challenge for players.
Multiplayer Mode Enhancements: We plan to develop a more robust multiplayer mode, allowing players to compete against friends online, and even track high scores and rankings.
Mobile Compatibility: In the future, we may adapt the game for mobile platforms to reach a wider audience.
Hack-tic-toc is an exciting, interactive way to test and improve your Python skills, and we look forward to adding new features and challenges in the future!
Built With
- amazon-cloudfront
- amazon-web-services
- aws-amplify
- aws-cloudfront
- aws-q-developer
- css
- html
- javascript
- phaser.js
- python
- react


Log in or sign up for Devpost to join the conversation.