DEV Community

KovacZan
KovacZan

Posted on

Vibe Coded 2D Platformer for a challenge

Vibe 2D Platformer

This project was implemented in order to submit to "Build Games Challenge: Build Classics with Amazon Q Developer CLI"

Challenge: https://community.aws/content/2y6egGcPAGQs8EwtQUM9KAONojz/build-games-challenge-build-classics-with-amazon-q-developer-cli

Repository: https://github.com/KovacZan/Vibe-2D-Platformer

Video: https://youtu.be/-vNyE4CPmxQ

The reason to participate in the challenge is to compare Q Developer CLI to Gemini CLI, which I started using recently.

Prompting

The game was implemented with two main prompts. I was experimenting with these prompts of various different retro games, but decided to go with a 2d platformer, since I have also implemented a 2d platformer game with Unity in the past.

1. Initial Prompt - REQUIREMENTS.md

Implement the REQUIREMENTS.md file for a 2D platformer game in Python.
The game should use the Pygame library for implementation.
The game should have a requirements.txt file for dependencies.
The game should use a virtual environment (venv) for its environment.
The game will later be implemented from the REQUIREMENTS using a prompt.
Enter fullscreen mode Exit fullscreen mode

After getting the results, I am able to modify the requirements before getting into the implementation phase. That way I have a clear sight on what and how it will be generated.

2. Implementation Prompt

Implement a game based on the REQUIREMENTS.md file.
Enter fullscreen mode Exit fullscreen mode

After this, I can add complementary prompts to fix bugs or change the game, but all things considered, with these two prompts, you can get a working, runnable product most of the time.

Game Screen Shots

Menu

Game Menu

Game

GamePlay

Conclusion

Compared to Gemini CLI as of the time of this writing, it looks like you can modify Amazon Q Developer CLI more than you can Gemini CLI.
I was amazed that Q Developer CLI implemented tests and executed them; if the tests failed, it went into a loop and fixed the game until it ran successfully.
It was a fun experience implementing a retro game so simply, without even writing any code myself, and just running the application that I wanted.

Top comments (1)

Collapse
 
dzhuneyt profile image
Dzhuneyt

Super impressed! Also slightly worried that the AI might start speedrunning the game better than us. 😅