Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

AWS Logo
Menu
Lets Build a game !  Scratch that, lets build two !

Lets Build a game ! Scratch that, lets build two !

Game building fun with a 12 year old and the Amazon Q Developer CLI

Derek Bingham
Amazon Employee
Published Apr 1, 2025
Last Modified Apr 15, 2025

Introduction

Last weekend, my 12-year-old son and I embarked on a game development adventure that transformed our usual Sunday afternoon gaming session into something a bit different. Armed with Pygame, the new Amazon Q Developer CLI, and an experimental approach we called "child coding" we decided rather than play games, lets build one. So thats what we did ! - but in the end we managed to create not one but two simple games in a single day.

Here's how it went down.

Setting Up Our Environment

This was easy, all we had to do was install the Amazon Q Developer CLI. We would then use the capabilities of this tool to work out what else to install and how to install it, including any of the other software we needed on our quest.
The easiest way to get started, we found was to use THIS LINK, this excellent blog by Ricardo is a one stop shop on how to set everything up. Q Developer CLI is a coding assistant that brings generative AI capabilities directly to the command line. While not specifically designed for game development, we discovered it's remarkably effective when paired with Pygame.
We knew we had everything running by executing
running Q Doctor
Just Run Q Doctor to see if everything is setup

Using a game engine

For this we decided on Pygame which is a a free and open-source cross-platform library for the development of multimedia applications like video games using Python. I had previously been shown what Pygame could do and thought it would be a great fit. Its python so pretty easy to pick up and my son had very limited coding experience to begin with and installation was easy.

Our First Game: "PacNibbles"

For our first creation we reused an idea I had heard about previously, that is, creating a game that is a mashup of two other games. So we created PacNibbles - a mashup of Pacman and Snake(nibbles). Instead of meticulously planning every detail, we embraced "child coding" - a term loosely based on "vibe coding", coined for our approach of starting with a core game play feeling and iteratively building toward it, using AI to fill in the technical gaps. Once we had our idea we then started to prompt the AI Assistant.
First prompt to create SnakeMan
write a pygame game which combines the ideas of pacman and nibbles
This is were Q Developer CLI started doing all the heavy lifting for us. It created a code repo, created a ReadMe.md and started to fill out the python file pacnibbles.py with code. Once complete all assertions and mechanics were outputted to the console
First Run of Q Developer CLI
Game is ready to Play
So this was the end of our first iteration and guess what ? When we started the game it worked !! BUT it was very 'blocky' and not fun to play. So we started some "child coding" iterations. Our next prompt was:
and then we added better graphics
Our "vibe coding" technique followed these principles:
  1. Focus on the game feel first
  2. Build the minimum viable prototype
  3. Use AI to overcome technical roadblocks
  4. Test frequently with our target audience (Kiddo's friends)
  5. Iterate based on immediate feedback
This approach proved perfect for our father-son project. Kiddo could focus on the creative aspects while I handled the technical, with Amazon Q Developer bridging our knowledge gaps.
In the end we had this game looking quite nice and playing well
The Finished Product
The Finished Product


Our Second Game: "Clowns Adventure"

Encouraged by our success with PacNibbles, we moved on to a more ambitious project: a simple 2D platformer called "PlumberPlatformer." This time, we needed more complex mechanics like jumping, platforms, and gravity. Rather than writing everything from scratch, we leveraged Amazon Q's ability to generate boilerplate code:
The CLI output gave us a solid starting point that we could then customize to fit our game's vibe and this is how the first iteration turned out.
The Clowns Adventure Game
The Clowns Adventure Game
We will work on that next weekend :)

Lessons Learned

Our weekend project taught us several valuable lessons:
  1. AI coding assistants can dramatically accelerate development, especially for educational projects
  2. "Vibe / child coding" - focusing on the feel and iterating rapidly - works well for game development
  3. Parent-child coding is more engaging when both contribute to the creative direction
  4. Pygame remains an excellent entry point for young game developers

Conclusion

One day, two games, and a whole lot of fun, we had created something we were mostly proud of. Our games weren't perfect, but they were fun, and more importantly, they were ours. For parents looking to connect with their children through coding, I highly recommend this combination of Pygame and Amazon Q Developer AI CLI coding assistance. The barrier to entry has never been lower, and the creative possibilities have never been greater.
If you want to get started

Any opinions in this post are those of the individual author and may not reflect the opinions of AWS.

Comments