AWS Logo
Menu
AmazonQ-Games: A Suite of Offline Mini-Games

AmazonQ-Games: A Suite of Offline Mini-Games

Q-Games is a beautifully designed collection of offline mini-games built in Python. Developed using the powerful Amazon Q developer assistant.

Published May 29, 2025
Last Modified May 30, 2025

🔥Hi Co-AWS Builders !


🎮 Overview of the Game Suite: Github | LinkedIn | Demo

  • Snake – Eat food, grow longer, avoid collisions.
  • Chess – Fully playable local chess game.
  • Carrom – Simplified version of the classic tabletop game.
  • Sliding Puzzle – Solve the 4x4 tile rearrangement puzzle.
  • Memory Match – Match card pairs from memory.
All games are accessible through a central launcher window, and everything runs offline with zero external dependencies outside of Python.

🛠️ Tools Used:

  • Amazon Q (Q Developer mode)
  • Python 3.12 & +
  • Tkinter and Pillow (PIL) for GUI and images
  • Pygame for sounds

Prerequisites

  • Python 3.8 or higher
  • pip (Python package installer)

SetUp & Installation

  • Github - git clone https://github.com/VinayVamsiKanakala/AmazonQ-GameChallenge.git
  • cd AmazonQ-GameChallenge
  • python -m venv venv
  • source venv/bin/activate

Run the Game Suite

  • python games_suite.py

📦 Step-by-Step: How I Built and Packaged the Game Using Amazon Q

Step 1: Planning the Game Suite

Using Amazon Q in my CLI, I described the idea:
AmazonQ CLI - Ubuntu 24
CLI version of AmazonQ
"Generate a modular structure where each game is implemented in a separate Python file or module. The launcher should dynamically load and run each game module when selected.The games I want to include are:1. Snake – with increasing speed and score tracking
2. Chess – 2-player mode with basic rules and restart option
3. Sliding Puzzle – 4x4 tile puzzle with move counter and reset
4. Memory Match – grid of hidden cards, match pairs by flipping
5. Carrom – a simplified version with drag-and-flick mechanics
The UI must be clean and modern, preferably with a dark mode theme. Use Pillow for image handling and allow for sound integration using pygame"
Amazon Q instantly scaffolded a basic Tkinter window and offered a modular structure suggestion.

Step 2: Developing the Games

For each mini-game, I followed a repeatable process using Amazon Q’s suggestions. I would provide prompts, get starter code, and then customize it as needed.

Process:

  • Prompt Q:
    • "Create a 2-player chess game in Python with Tkinter."
    • "Build a snake game using Tkinter canvas."
    • "Write a memory match game with card flip animations."
    • "Develop a sliding puzzle game with 4x4 buttons."
    • "Simplify a carrom game using click-and-drag mechanics."
  • Customize UI:
    • I refined the UI design using prompts
    • Adjusted logic as per user experience via prompts
    • Integrated game modules into the main launcher using Q prompts
  • Dedicated BackGrounds & Game icons:
    • I refined the Bg's and downloaded and stored into seperate folder using prompts
    • Adjusted icons as per user experience via prompts
Amazon Q Accelerated:
  • UI layout suggestions for each game
  • Real-time debugging for animation glitches
  • Event handling logic (e.g., key bindings, click detection)
  • Better modular structure (e.g., using importlib to load games dynamically)

Step 3: Organizing the Project developed by Q

Directory structure:
Q also helped automate icon loading, game selection, and animation logic in the main canvas.

🚀 Getting Started & UI preview

Game Interface
UI Interface
Live Demo - Watch Here !!!!!
AmazonQ integrated multiple games into a single interface and each game have a seperate dailog box while playing .

🤖 How Amazon Q Helped

  • Suggested and auto-completed Tkinter layout and logic
  • Helped debug common animation and event handling issues
  • Provided quick game skeletons from prompts
  • Boosted productivity by reducing dev time by ~60%

🔚 Conclusion

With Amazon Q, building a suite of desktop games became fast, intuitive, and even fun. Whether you're an indie game dev or a Python hobbyist, Amazon Q can supercharge your workflow.
 

Comments