paint-brush
How I Built a Retro Game in an Hour: My Experience With Gemini 2.5 Pro and Vibe Coding by@bartek
114 reads New Story

How I Built a Retro Game in an Hour: My Experience With Gemini 2.5 Pro and Vibe Coding

by Bartek BogackiApril 1st, 2025
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

I've build a retro game in 1h (check it out https://thiefchase.online)
featured image - How I Built a Retro Game in an Hour: My Experience With Gemini 2.5 Pro and Vibe Coding
Bartek Bogacki HackerNoon profile picture
0-item

TL;DR - Play the game I’ve “written” — HERE. What’s your score? Add it in the comments.

A couple of days ago, I discovered that Gemini 2.5 Pro is now available in Cursor. Having previously built a business app with great support of Cursor (Sonnet 3.5 in ask mode), I was eager to explore how the Agent mode based on Gemini actually functions. My curiosity was further piqued after watching some showcasing its capabilities.


"Street Thief" in Chicago


For a long time, I had entertained the idea of creating a simple, retro-style game — a thief running from the cops while collecting gems. However, the challenge always seemed too daunting, given my packed schedule. But after seeing what was possible with Gemini, I decided to dedicate my Sunday afternoon to finally making it happen.

The Vibe Coding Experience

The experience turned out to be nearly 100% “vibe coding.” In just 12 minutes, I laid down the initial gameplay by simply instructing Cursor on my goals.


Initial game logic after 12mins of Vibe Coding


From there, I iteratively refined the game, crafting levels, selecting colors, and implementing complex behaviors with just a few well-placed prompts. Ultimately, it took me around an hour to create a game that I genuinely enjoyed playing.


To bring my characters to life, I leveraged ChatGPT’s image creation tools to generate sprites.


Making the characters


They weren’t perfect, but they were good enough. I also selected colors using a handy design palette resource I found. And just like that, I had a functional, playable game.

The Messy Side of AI-Driven Development

But let’s not gloss over the downsides. The code is a mess. Everything is packed into a single file — game.js—spanning approximately 1,400 lines. The naming conventions are inconsistent, and odd comments are scattered throughout.


Comments generated in game.js file


Another significant challenge was the Agent’s tendency to make the same mistakes repeatedly, requiring me to intervene with the same corrections over and over again. There were also instances where the Agent reached a dead end and couldn’t recover.


Fortunately, I had set up Git for version control, which made reverting to a functional state relatively easy.


This style of coding felt peculiar. I didn’t have much control, and things often seemed to unfold in an unpredictable manner. Occasionally, the Agent would break parts of the code unrelated to the task at hand. While this approach works well for quickly building small projects, maintaining the resulting code could prove to be a nightmare.


Reverting from the dead end...


Final Thoughts

Overall, this “vibe coding” method has its merits. If you need to whip something up fast and don’t mind a bit of chaos in the code, it’s an exciting and efficient way to create. However, be prepared for the challenges of messy maintenance down the road. As AI development tools continue to evolve, it will be interesting to see how they address these limitations while maintaining their impressive speed and flexibility.


Try it by yourself - https://thiefchase.online