๐ฎ Reviving Arcade Magic: Building a Modular Game Launcher with Amazon Q CLI in 1 Prompt

โจ Introduction
Childhood memories are often packed with joy, and for many of us, that joy was found in the pixelated worlds of arcade classics like Super Mario, Flappy Bird, and Snake. These games taught us timing, strategy, and perseverance.
When I saw Amazon Q CLIโs challenge to build a game with just prompts, I knew exactly what I wanted to do: build a modular arcade game launcher, where users could choose from multiple retro-inspired games โ starting with my all-time favorite: Super Mario.
Letโs see how I used Amazon Q CLI + Python (Pygame) to bring a childhood dream to life.
๐ Setup: Amazon Q CLI + Pygame = Game Dev Magic
Before jumping in, I ensured I had:
Python installed
Pygame installed (
pip install pygame
)Amazon Q CLI setup (refer to official docs)
Then, I fired up Q CLI and entered this prompt:
๐ง Prompt to Amazon Q CLI:
Create a complete modular arcade game launcher in Python using the pygame library. The launcher should show a graphical menu allowing users to choose from multiple games (like Super Mario, Snake, and Flappy Bird). Each game should be located in its own subfolder with its own assets and entry file.
Requirements:
1. Main launcher screen with clickable buttons for each game.
2. Upon selection, the launcher should load and start the selected game.
3. Shared assets folder for fonts, icons, and global sounds.
4. Each game should have its own structure and run independently.
5. Utilities like screen switching, game loading, and button handling should be reusable and modular.
6. Use comments to explain each part and follow clean coding practices.
7. Include a README.md with game descriptions and installation instructions.
๐๏ธ Folder Structure Generated by Q CLI
arcade_game_launcher/
โ
โโโ launcher.py # Main launcher UI to start games
โโโ config.py # Shared settings (screen size, font, etc.)
โโโ assets/ # Fonts, icons, and general UI sounds
โ โโโ fonts/
โ โโโ icons/
โ โโโ sounds/
โ
โโโ games/
โ โโโ super_mario/
โ โ โโโ main.py
โ โ โโโ levels/
โ โ โโโ sprites/
โ โ โโโ sounds/
โ โ
โ โโโ flappy_bird/
โ โ โโโ main.py
โ โ โโโ sprites/
โ โ โโโ sounds/
โ โ
โ โโโ snake/
โ โโโ main.py
โ โโโ sprites/
โ โโโ sounds/
โ
โโโ utils/
โ โโโ button.py
โ โโโ screen_manager.py
โ โโโ game_loader.py
โ
โโโ README.md
โโโ requirements.txt
This structure blew me away. Amazon Q CLI instantly organized the project just like a professional game engine would.
๐น๏ธ The Games I Added (With Q CLI Help)
๐ธ Super Mario Clone
A platformer with tile-based levels, gravity, jumping physics, enemies, and coins. Built with pygame.sprite.Group()
for collisions and animations.
๐ธ Flappy Bird
Simple yet frustratingly addictive. Press space to fly, avoid pipes, and rack up scores.
๐ธ Snake
The classic that started it all โ with grid movement, food generation, and self-collision detection.
Each game was placed inside the games/
folder and had its own main.py
, assets, and sounds โ making it fully plug-and-play.
๐ฅ๏ธ The Launcher Experience
When you run:
python launcher.py
You get a clean UI with buttons like:
"Play Super Mario"
"Play Flappy Bird"
"Play Snake"
"Exit"
Clicking a button transitions smoothly to the respective game using screen_manager.py
. This modular approach means I can add new games in minutes โ just drop them in the games/
folder and register them.
๐ Documentation Generated by Amazon Q CLI
Q CLI also created a complete README.md
that includes:
Project Overview
Features
Setup Instructions
Game Descriptions
How to Add New Games
License
Hereโs an excerpt:
Features
- Game Launcher with UI
- Super Mario-style platformer
- Flappy Bird
- Classic Snake
- Modular structure
- Clean UI with dynamic transitions
๐ง What I Learned
This project taught me:
Advanced modular design in Python
Dynamic game loading with
importlib
Reusable UI elements with Pygame
How to structure large-scale game projects
Leveraging AI tools like Amazon Q CLI to save hours of manual work
๐ธ Screenshot Gallery
๐ฎ Game Launcher UI with Buttons
๐ Snake Gameplay
๐ฆ Flappy Bird Mode
๐ Mario-like Platformer
(Add screenshots here)
๐ก Want to Try it Yourself?
You can grab the full source code here:
๐ GitHub Repo: github.com/RadhikaSoni7/Build-Games-with-Amazon-Q-CLI
To Run:
pip install -r requirements.txt
python launcher.py
๐ฃ Final Thoughts
Amazon Q CLI is not just a coding tool โ itโs an idea accelerator. Within minutes, I had a working prototype of a game launcher I always dreamed of. And with each new prompt, I unlocked more features.
If you're a nostalgic gamer or a new developer โ this is your sign to try it!
๐ง Prompt-powered development is the future.
๐ฎ Retro fun is forever.
๐ข Share Your Work!
Don't forget to post your project with the hashtag:
#AmazonQCLI #PythonGames #ArcadeVibes #Pygame #SnakeGame #FlappyBird #SuperMario #RebuildingWithPython #CodeYourGame #CodeNewbie
Subscribe to my newsletter
Read articles from Radhika Dholakiya directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by