Vibe coding

Apr 6, 2025

AIGame developmentCreation

I recently vibe coded a 3D game I named Snowball. Inspired by the mechanics of Katamari Damacy, the player controls a snowball that grows in size when snow is collected, and shrinks when it comes in contact with lava.

Snowball game on desktop

For this particular project, I did my best to not touch the code, and instead go all-in on vibe coding. I steered the prompts, and let AI do 98+% of the coding.

I began the project using Anthropic's Claude 3.7 Sonnet through Cline in VS Code, which makes for a pretty great workflow.

Development of Snowball game, using Claude Sonnet 3.7 via Cline in VS Code

However, I ultimately used:

  • Google DeepMind's Gemini 2.5 Pro for project planning and code
  • OpenAI's GPT-4o model for generating in-game texture images (like snow and lava); and
  • Suno v4 for generating the background music.
Development of Snowball game, using ChatGPT GPT-4o and Gemini in AI Studio

I restarted the project a handful of times, but once in a rhythm, found myself having a ton of fun creating this game. It sparked a similar joy to my early days of learning web development in the first place. Bringing my ideas and designs to life has always felt special. I learned a ton about working with Three.js, and got a small taste of the many aspects involved in creating even simple games.

I let go of my code purist mindset, and “vibed.”

Snowball is the first project I created using Three.js, a powerful web-based 3D library. It's playable on desktop and mobile, using the arrow keys and an on-screen joystick, respectively.

Snowball on mobile

I submitted Snowball to the 2025 Vibe Coding Game Jam, created by Pieter Levels [levelsio], and judged by Ricardo Cabello [mrdoob] (creator of Three.js), s13k, Tim Soret, levelsio himself, and Andrej Karpathy (who coined the term “vibe coding”).

Andrej Karpathy's post where he coined "vibe coding"

At the very least, creating Snowball helped me with prompting AI systems. It will only get easier to work with these systems, but clear communication will always be important. To give an analogy, it's simple to ask for a burger, but to get extra onions, with cheese, and no pickles, it's important to specify your order.

Have fun, learn things, and vibe code responsibly.

Check out Snowball (with sound on! 🔊).