<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sathira Desitha</title>
    <description>The latest articles on DEV Community by Sathira Desitha (@sathira_desitha_28d335593).</description>
    <link>https://dev.to/sathira_desitha_28d335593</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2008727%2F66386030-78a9-488c-8f40-6b46824917fe.png</url>
      <title>DEV Community: Sathira Desitha</title>
      <link>https://dev.to/sathira_desitha_28d335593</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sathira_desitha_28d335593"/>
    <language>en</language>
    <item>
      <title>🎮 Color Catch — My First Game Built with Amazon Q CLI and PyGame</title>
      <dc:creator>Sathira Desitha</dc:creator>
      <pubDate>Mon, 26 May 2025 13:22:54 +0000</pubDate>
      <link>https://dev.to/sathira_desitha_28d335593/color-catch-my-first-game-built-with-amazon-q-cli-and-pygame-44g3</link>
      <guid>https://dev.to/sathira_desitha_28d335593/color-catch-my-first-game-built-with-amazon-q-cli-and-pygame-44g3</guid>
      <description>&lt;p&gt;Building a game with the help of an AI assistant? That sounded both futuristic and fun — and it &lt;em&gt;was&lt;/em&gt;! As part of the &lt;strong&gt;Build Games with Amazon Q CLI&lt;/strong&gt; campaign, I created a color-matching game called &lt;strong&gt;Color Catch&lt;/strong&gt;, powered by Python and PyGame, and built interactively with &lt;strong&gt;Amazon Q CLI&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 What is Color Catch?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Color Catch&lt;/strong&gt; is a simple but addictive game where you control a color-changing bucket to catch falling balls — but only the ones that match your current color! Miss a matching one or catch the wrong color? You lose points. Your goal is to survive as long as you can — and track your &lt;strong&gt;Timestreak&lt;/strong&gt;, a score based on how long you stayed alive with a positive score.&lt;/p&gt;




&lt;h2&gt;
  
  
  💡 What Sparked the Idea?
&lt;/h2&gt;

&lt;p&gt;The idea behind Color Catch was to create something fun, visual, and easy to play but hard to master. I also wanted to explore how well Amazon Q CLI could help me shape and build a game from scratch — and it absolutely delivered.&lt;/p&gt;




&lt;h2&gt;
  
  
  📸 My First Prompt to Amazon Q CLI
&lt;/h2&gt;

&lt;p&gt;Here’s the &lt;strong&gt;very first prompt&lt;/strong&gt; I gave to Amazon Q CLI:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxdlwkwfn182r8is81dik.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxdlwkwfn182r8is81dik.png" alt="Very First Prompt" width="800" height="338"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🛠️ How I Installed Amazon Q CLI
&lt;/h2&gt;

&lt;p&gt;I followed the official AWS guide to install Amazon Q CLI on Ubuntu:&lt;/p&gt;

&lt;p&gt;🔗 &lt;a href="https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-installing.html" rel="noopener noreferrer"&gt;Amazon Q CLI Installation Guide (AWS Docs)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After installing, I started a chat session right in my terminal and iteratively built the game through prompts.&lt;/p&gt;




&lt;h2&gt;
  
  
  💬 What I Prompted Amazon Q CLI
&lt;/h2&gt;

&lt;p&gt;Here are some examples of my actual prompts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“Create a Pygame game with a bucket at the bottom that moves left and right, and colored balls falling from the top..”&lt;/li&gt;
&lt;li&gt;“Change the color of the bucket every 5 seconds.”&lt;/li&gt;
&lt;li&gt;“Add a scoring system based on catching/missing balls.”&lt;/li&gt;
&lt;li&gt;“Gradually the balls falling frequency should be increased. If the player atching a matching color ball: +2 points. Catching a non-matching color ball: -1 point. Missing a ball that matches your bucket's color: -2 points”&lt;/li&gt;
&lt;li&gt;“Add sounds and background music to the game.”&lt;/li&gt;
&lt;li&gt;“Add a pause menu and game over screen.”&lt;/li&gt;
&lt;li&gt;“Display a Timestreak that measures survival time.”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Amazon Q was incredibly responsive — giving useful snippets and adapting to my needs each time.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎮 Gameplay &amp;amp; Rules
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;You &lt;strong&gt;start with 10 points&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;left/right arrow keys&lt;/strong&gt; to move the bucket&lt;/li&gt;
&lt;li&gt;The bucket changes color every 5 seconds&lt;/li&gt;
&lt;li&gt;Balls fall from the top — only catch the ones that match your bucket's color&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  📊 Scoring
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Action&lt;/th&gt;
&lt;th&gt;Points&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;✅ Catch matching color ball&lt;/td&gt;
&lt;td&gt;+2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;❌ Catch non-matching ball&lt;/td&gt;
&lt;td&gt;-1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;⬇️ Miss matching color ball&lt;/td&gt;
&lt;td&gt;-2&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The game ends when your score drops to &lt;strong&gt;0&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Your final performance is measured by your &lt;strong&gt;Timestreak&lt;/strong&gt; — how long you stayed alive with a score above zero.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎁 Game Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🌌 Animated starry background&lt;/li&gt;
&lt;li&gt;🎮 Menus: main, pause, and game-over&lt;/li&gt;
&lt;li&gt;🎧 SFX: &lt;code&gt;correct.mp3&lt;/code&gt;, &lt;code&gt;wrong.mp3&lt;/code&gt;, &lt;code&gt;miss.mp3&lt;/code&gt;, &lt;code&gt;game_over.mp3&lt;/code&gt;, and background music&lt;/li&gt;
&lt;li&gt;⚡ Increasing difficulty — faster falling balls&lt;/li&gt;
&lt;li&gt;⌛ “Timestreak” time-based survival score&lt;/li&gt;
&lt;li&gt;💬 Encouraging appreciation messages based on how long you survived&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧪 How to Play It
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🖥️ Requirements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Python 3.6 or higher&lt;/li&gt;
&lt;li&gt;PyGame&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ⚙️ Installation
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;pygame
python bucket_game.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🎥 Watch the Gameplay
&lt;/h2&gt;

&lt;p&gt;Want to see Color Catch in action? Here’s a short gameplay video:&lt;br&gt;
▶️ &lt;strong&gt;&lt;a href="https://youtu.be/v0trDQH0CKk?si=XfuUtKSxOKiAMGZW" rel="noopener noreferrer"&gt;Watch on YouTube&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🖼️ Screenshots
&lt;/h2&gt;

&lt;p&gt;Here are a few snapshots from the game:&lt;/p&gt;

&lt;h3&gt;
  
  
  🧺 Initial Screen
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3lhurfj2rvfrz1dw4lb2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3lhurfj2rvfrz1dw4lb2.png" alt="Image description" width="800" height="558"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎨 Game In Action
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwbeh587ii8q2rees05kr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwbeh587ii8q2rees05kr.png" alt="Image description" width="800" height="558"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ☄️ Game Paused Screen
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flj5k44hm3ki1fnfwg9f2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flj5k44hm3ki1fnfwg9f2.png" alt="Image description" width="800" height="558"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ⏳ Game Over Screen
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6meea28d44jqzl901nh3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6meea28d44jqzl901nh3.png" alt="Image description" width="800" height="558"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📁 View the Code on GitHub
&lt;/h2&gt;

&lt;p&gt;You can explore the full source code here:&lt;br&gt;
👉 &lt;strong&gt;&lt;a href="https://github.com/S-Desitha/Color-Catch-Game-with-Amazon-Q.git" rel="noopener noreferrer"&gt;GitHub Repository – Color Catch&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📈 What I Learned
&lt;/h2&gt;

&lt;p&gt;This experience taught me:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How to prompt effectively to guide AI&lt;/li&gt;
&lt;li&gt;How to use PyGame for sprite animation, audio, and logic&lt;/li&gt;
&lt;li&gt;That AI-assisted game development is fast, fun, and efficient&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧵 Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Participating in the &lt;strong&gt;Amazon Q CLI&lt;/strong&gt; campaign was one of the most engaging and educational experiences I’ve had. Seeing a playable game come to life through AI-powered collaboration was both empowering and exciting.&lt;/p&gt;

&lt;p&gt;If you're a developer (or even a beginner), I highly recommend giving it a try.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 Join the Build Games with Amazon Q CLI Program!
&lt;/h2&gt;

&lt;p&gt;If you’re excited to try building your own game with AI assistance and want to earn a chance to get an exclusive Amazon Q CLI T-shirt, don’t miss this opportunity!&lt;/p&gt;

&lt;p&gt;Sign up and learn more here:&lt;br&gt;
&lt;a href="https://community.aws/content/2xIoduO0xhkhUApQpVUIqBFGmAc/build-games-with-amazon-q-cli-and-score-a-t-shirt?trk=b085178b-f0cb-447b-b32d-bd0641720467&amp;amp;sc_channel=el" rel="noopener noreferrer"&gt;Build Games with Amazon Q CLI and Score a T-shirt&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Join the community, unleash your creativity, and have fun building games with Amazon Q!&lt;/p&gt;




</description>
      <category>amazonqcli</category>
      <category>aws</category>
      <category>gamedev</category>
    </item>
  </channel>
</rss>
