DEV Community

Cover image for Creating a Retro Space Invaders Game Using Amazon Q CLI and Python!
Girish Bhatia
Girish Bhatia

Posted on

Creating a Retro Space Invaders Game Using Amazon Q CLI and Python!

Creating a Retro Space Invaders Game Using Amazon Q CLI and Python

Growing up, I played games similar to Space Invaders. These were simple, quick, and endlessly entertaining and did not require much time investment. So when a challenge came up to create a retro game using Amazon Q CLI, I jumped at the chance!

While Generative AI has been producing amazing conversational bots and Retrieval-Augmented Generation solutions, I didn’t realize how effortlessly it could generate complex code involving multiple libraries.

Under 10 seconds to generate 200+ lines of working game code using Python!

Let’s walk through how I built the game from scratch using just a prompt and the power of Amazon Q CLI.

Game Overview

A full-featured clone of the classic Space Invaders game, including:

Player Controls:

  • Arrow Keys or A/D to move the ship left/right
  • Spacebar to shoot bullets
  • ESC to quit the game

Gameplay Features:

  • A grid of invaders that moves horizontally and drops when hitting edges.
  • A player ship at the bottom that can shoot bullets upward.
  • Collision detection between bullets and invaders.
  • A score system that gives +10 points per invader destroyed.

Win/Lose conditions:

  • Win: Destroy all invaders.
  • Lose: If any invader reaches the player's ship.

Visual Style:

Retro “pixel-style” using simple colored rectangles, mimicking the original arcade aesthetic.

Pre-Requisites

  • Amazon Q CLI
  • Python 3.x
  • PyGame (pip install pygame)

Create a Session with Amazon Q CLI

First, initiate a Q chat session using the command below:

q chat

Image amazonq

Once the session is established, enter the prompt:

Prompt: Create a simple retro game Space Invaders using Python and Pygame.

You’ll notice the CLI “thinking”… and then — code magic begins.

Sample Code Generated

Here is an example of code generated:

Image codegenerated

The code includes class definitions for the Player, Bullet, and Invader, with logic to handle movement, shooting, collisions, scoring, and game-over conditions.

Review Message Post Code Generation

You'll see a success message in your CLI confirming that the code has been written to your file (e.g., space_invaders.py).

Image msg

Say No to Sounds or Advanced Features (For Now)

Image nofeatures

I kept it minimal:

  • No sound effects
  • No power-ups
  • No multiple lives (but you can easily add them!)

The goal was to keep the retro charm alive while letting Amazon Q do the heavy lifting!

Run the Game

Once the file is generated, simply run:

python3 space_invaders.py
Enter fullscreen mode Exit fullscreen mode

Image runthegame

And enjoy your game!

Win Screen!

As you destroy all invaders, you’ll be rewarded with this message:
"YOU WIN! Press ESC to quit"

Image win

See the Game in Action

Here is the game in action!

Conclusion

This experiment was a blast! What amazed me most is how Amazon Q CLI was able to:

  • Understand a high-level prompt
  • Stitch together the logic, graphics, and controls
  • Produce a polished, playable retro game using pygame

Generative AI has come a long way—from generating documentation to building entire applications. If you're exploring creative ways to test AI coding capabilities or want to build games, this is a fun and powerful way to start.

Next steps? I might explore adding:

  • Sound effects
  • Lives and levels
  • Leaderboards or power-ups

Feel free to fork the code, improve it, or just play and enjoy!

Link to git repo of this code generated by Amazon Q CLI:

https://github.com/bhatiagirish/Retro-Space-Invaders-Game.git

Watch the video here:

Thanks,

𝒢𝒾𝓇𝒾𝓈𝒽 ℬ𝒽𝒶𝓉𝒾𝒶
𝘈𝘞𝘚 𝘊𝘦𝘳𝘵𝘪𝘧𝘪𝘦𝘥 𝘚𝘰𝘭𝘶𝘵𝘪𝘰𝘯 𝘈𝘳𝘤𝘩𝘪𝘵𝘦𝘤𝘵 & 𝘋𝘦𝘷𝘦𝘭𝘰𝘱𝘦𝘳 𝘈𝘴𝘴𝘰𝘤𝘪𝘢𝘵𝘦
𝘊𝘭𝘰𝘶𝘥 𝘛𝘦𝘤𝘩𝘯𝘰𝘭𝘰𝘨𝘺 𝘌𝘯𝘵𝘩𝘶𝘴𝘪𝘢𝘴𝘵

Top comments (0)