Prompting Pixels: How Amazon Q Powered My Asteroids Homage
Asteroids is burned into my brain, my first taste of gaming on an Atari 2600 in the early 90s. That thrill of vector ships and drifting rocks never left me, fueling countless hours on Asteroids like Flash games in the early 2000s. As a lifelong retro game nut and collector, that pure joy is why I built Astro Blaster. What started as a simple idea evolved into a fully featured game with vector graphics, physics-based movement, and particle effects all developed with the assistance of Amazon Q. This article explores our development journey, the features we ( Q and I ) built, the prompting strategies used, and an analysis of Amazon Q’s strengths and weaknesses in game development.
Initial Concept and Setup
The project started with a clear vision, to create a vector based arcade shooter with the player’s ship fixed at the center of the screen. We established the core game mechanics early the ship would rotate to aim in different directions, and the goal would be to destroy asteroids for points.
Amazon Q helped establish the initial project structure, creating the necessary files and implementing the PyGame framework. The modular approach we adopted, which separated game elements into distinct Python files (ship.py, asteroid.py, projectile.py, particles.py, and game.py), made the codebase organized and maintainable from the outset.
While Amazon Q excelled at implementing specified features, the initial game design required human creativity and direction. The core concept, game mechanics, and aesthetic choices needed to come from human input.
Development proceeded iteratively. The first day was all about a well crafted and detailed game design Prompt, which included
- GAME FLOW & STATES
- Core Mechanics
- Game Objects
- Physics System
- Welcome Screen Implementation
- GAME OBJECTS – VECTOR IMPLEMENTATION ( Ship – projectiles – Asteroids )
- UI Elements
- Technical Implementation
- Scoring
Of course! Each section was very well defined and highly structured, for example
The development timeline spanned 3 days, with focused work on specific aspects. Each session builds upon the previous one. We started with basic ship controls and asteroid movement, then added projectiles, collision detection, scoring systems, and visual effects.
Key Features Implementation
Space Ship Behaviors and Physics
The implementation of the ship’s physics based rotation system by Q was very fascinating. The ship rotates with angular momentum, creating a sense of inertia that feels authentic to classic arcade games while adding a skill element to the controls. We fine tuned the parameters to achieve the right balance:
- Rotation acceleration: 0.25°/frame²
- Maximum rotation speed: 4.0°/frame
- Friction coefficient: 0.9625 (reducing drift by 25%)
Projectiles inherit 30% of the ship’s angular momentum, adding strategic depth to the shooting mechanics.
Asteroid Behavior and Hierarchy
We implemented a classic asteroid breaking system where:
- Large asteroids break into 2 medium asteroids
- Medium asteroids break into 2 small asteroids
- Small asteroids are destroyed completely
Different sizes correspond to varying point values: 10, 20, and 50 points. During testing, I noticed that the asteroids appeared too rapidly, so we adjusted their speed, resulting in a more balanced and natural progression.
- Large asteroids maintain their original speed
- Medium asteroids move 10% slower than large ones
- Small asteroids move 10% slower than medium ones (19% slower than large)
Combo Scoring System
To encourage skillful play, we implemented a combo system where consecutive hits within 0.5 seconds multiply the score. This rewards precision and quick reactions, adding depth to the scoring mechanics.
Visual Effects and Aesthetics
To fully embrace the Retro Theme, we incorporated pure vector graphics along with a color palette inspired by the nostalgic Atari 2600. This combination effectively evokes the charm of classic gaming. Vibrant dynamic particle effects bring the visuals to life, making explosions and engine thrusts burst with energy. To enhance the nostalgic feel, we applied a scanline overlay that mimics the appearance of vintage CRT screens. Moreover, we crafted a custom font that captures the essence of the beloved 8-bit aesthetic, transporting players back to a simpler time in gaming.
Prompting Strategies and Effectiveness
The most effective prompts were those that clearly specified a feature with technical parameters. For example:
Add a background image to all game screens, with fallback to the starfield if the image isn’t available.
Triangle shape (3 vertices) Drawn as filled isosceles triangle: vertices = [(0, -15), (-10, 10), (10, 10)]
Reduce the speed of medium asteroids by 10% compared to large ones, and small asteroids by 10% compared to medium ones.
This approach worked well because it built upon existing code and made targeted modifications. Amazon Q effectively implemented these enhancements, integrating them seamlessly with the existing Code.
Amazon Q’s Strengths
Repository Management
Amazon Q excelled at handling repository management tasks. These tasks were completed efficiently and accurately, with appropriate commit messages and proper Git workflow. I was working on two different versions of the game simultaneously, each using a separate repository, and Q understood which version the changes were made to, pushing the changes to the correct repository on GitHub.
Code Organization and Architecture
Amazon Q demonstrated exceptional skill in creating a well-organized, modular codebase. The separation of concerns between different game elements (ship, asteroids, projectiles, etc.) This strategic design approach not only streamlined the development process but also provided the flexibility necessary for implementing new features and making adjustments with confidence.
Adaptability and Iteration
Amazon Q demonstrated an impressive capability to refine and enhance existing code, implementing precise adjustments that improved functionality while preserving the integrity of other systems. This proficiency was clearly illustrated through the meticulous modifications made to asteroid speeds, spawn rates , the seamless integration of a new background , showcasing a thoughtful approach to development that minimizes disruption.
Documentation
Throughout the project, Amazon Q maintained clear documentation in code comments and README files, making the project accessible and maintainable.
Also I asked Q to create a Session summary file that should have information about every change or new implementation for each session so in the start of every new session, Q can have a clear context on where we are in the project right now .
Conclusion
Developing Astro Blaster with Amazon Q demonstrated the powerful synergy between human creativity and AI assistance. The human developer provided the vision, game design direction, and feedback on feel and balance, while Amazon Q handled implementation details, code organization, and technical challenges.
The result is a polished, enjoyable game that captures the spirit of classic arcade shooters while adding modern touches. The project showcases how AI assistance can accelerate game development without sacrificing quality or creative control.
As AI tools like Amazon Q continue to evolve, this collaborative approach to game development—combining human creativity with AI implementation—represents an exciting path forward for indie developers and small teams looking to bring their game ideas to life efficiently and effectively.
With the solid foundation established, Astro Blaster could be expanded in several directions:
- Additional enemy types beyond asteroids
- Power-ups and special weapons
- Level progression with increasing difficulty
- Multiplayer capabilities
- Mobile-friendly controls for the web version
The modular architecture created with Amazon Q’s assistance makes these extensions feasible, demonstrating how a well-structured initial implementation can support ongoing development and feature expansion.
The game is available on Itch.io : https://farrukhkhalid.itch.io/astro-blaster