AWS Logo
Menu
From Shame to Game: Young Teen Humbles Developer

From Shame to Game: Young Teen Humbles Developer

The Game That Turns Artistic Shame into Fame

Published Jan 8, 2025
Picture this (pun intended): have you ever had a 13-year-old critique your artistic abilities? Well, I have, and let me tell you-teenagers can be brutally honest! What I thought clearly looked like a cat, my niece's response was 'You can't draw. What's that supposed to be?' crushed whatever ego I had.
The cat in question:
Recreation of the cat in question
Recreation of the cat in question
After defending myself for about 30 minutes, the shame I got from my niece inspired me to create Sketch It! - A game where an AI judges your drawings instead of my niece.
The Sketch It game is simple yet hard to master:
  1. Players are presented with hidden words, shown as blocks indicating word length
  2. Based on the category and word length, players must draw their interpretation on what the word could be
  3. Amazon Bedrock's AI image analyzes the drawing to determine if it matches the word
  4. Players earn points for successful matches, and their scores are tracked on a leaderboard. Additionally, all successful drawings are submitted to the gallery for all players to see

How Amazon Q Helped Me Build it

When I first sat down to build this game, I had only a rough idea but wasn't sure how to structure it. That's when I turned to Amazon Q with what might be the longest, most stream-of-consciousness prompt ever:
"a game where the words are hidden the player needs to draw what the think the word is like no we have words that are blocked but we have blocks indicating the word length based on how many blocks use amazon bedrock image capabilities to identify if the drawing matches the word The UI needs to be sketch UI like I'm drawing on a sketch book the font needs to be pencil and needs to be cute and look visually beautiful for a game design. SO make sure that the buttons are sketch like with shading around the buttons and etc. It really needs to look good as well as the game mechanics needs to look good as well including the drawing section that needs to be perfect as we draw it needs to have that pencil feel and look and when we submit the drawing the amazon bedrock image will analyze to see if the drawing matches the word. I need you to provide me with the full file structure for this react tailwind game and all the packages I'll need for this project"
Amazon Q game prompt
Amazon Q game prompt
Yes, that's the exact prompt, in its peak grammar form! Nevertheless, Amazon Q understood the vision I was going for and provided me with a comprehensive file structure, and component breakdown that became the foundation of Sketch It!
File Structure
File Structure
Then I asked I asked Amazon Q to create the components and files, which it provided the basic implementation. My main issue with code assistants is that the first run often ends up with bugs, requiring manual intervention. To my surprise not only on the first run did everything run smoothly but the UI and functionality looked and worked flawlessly, and was exactly how I envisioned it. Minus a few layout issues, the design and functionality were a great base to build upon.
First Run
First Run

 


Implementing Core Features with Amazon Q

Amazon Q helped implement key components, by key components I mean literally everything.
First, I wanted to get the canvas implemented so I asked Amazon Q chat to provide this for me:

Amazon Bedrock for Image Analysis

The core functionality of my game uses Amazon Bedrock for analyzing all the players drawings. Using Claude 3.5 Sonnet, it analyzes players drawings with precision of an art critic, but without the existential crisis-inducing commentary. Here's Amazon Q implementation for it:
Amazon Bedrock
Amazon Bedrock

Amazon DynamoDB for Game State

I used DynamoDB to store game state, leaderboards, drawings, profiles and player scores:
DynamoDB
DynamoDB

Amazon Cognito for Authentication

User authentication is handled by Amazon Cognito. So only a select few can view my beautiful drawings:
Amazon Cognito
Amazon Cognito

Amazon S3 for Drawing Storage

Drawings are stored in S3 for persistence:
Amazon S3
Amazon S3

AWS Amplify

Game is hosted and deployed on Amplify
AWS Amplify
AWS Amplify

Development Challenges and Solutions

1. Real-time drawing Performance

Initially, I faced performance issues. Amazon Q helped optimize the code:

2. AWS Service Rate Limiting

To prevent enthusiastic artists from overwhelming Bedrock's API (and my AWS bill), I implemented a rate limiter. Here's how Amazon Q helped:

Architecture and Data Flow

The application follows a serverless architecture:
  1. User authenticates through Cognito
  2. Drawing data is captured on the canvas
  3. Image is analyzed by Amazon Bedrock
  4. Results are stored in DynamoDB
  5. Drawing is archived in S3
  6. Scores are updated and displayed on the leaderboard

Lessons Learned

  1. Amazon Q significantly accelerated the development process by:
    1. Providing accurate initial project structure
    2. Generating working code implementations from the chat interface or from the /dev command
    3. Helping debug and optimize performance issues
    4. Generating well documented README.md based on the codebase, as well as providing sources for further understanding.
  2. AWS Services Integration:
    1. Bedrock's Image analysis thanks to Claude 3.5 Sonnet
    2. DynamoDB's single digit millisecond performance is crucial for game responsiveness
    3. Cognito simplifies user authentication and security
  3. Sometimes the best ideas come from moments of shame.

What's Next? (Besides Art Lessons)

On the roadmap, I have few features planned:
  • Multiplayer mode (to showcase those art skills and be the best)
  • A cozy draw and chat mode, with real time chat features using AppSync
  • And maybe, just maybe, a special "niece mode" where the AI is extra honest (for those who can handle the truth)

Conclusion

Now let's reflect: What started off as a moment of shame has evolved into something pretty amazing. Thanks to Amazon Q and a suite of AWS services, we have created a game where everyone can practice and improve their drawings without fear and judgement.
If you find the cat in question does in fact look like a cat, leave a meow in the comments below.
 

4 Comments