๐ŸŽฎ 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


  • ๐ŸŽฎ 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

0
Subscribe to my newsletter

Read articles from Radhika Dholakiya directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Radhika Dholakiya
Radhika Dholakiya