Killing Wave Vibe Coded First Person Shooter

Reading Time: 4 minutes

This weekend I disappeared into a flow state and built a game.

Not a design doc.
Not a prototype sitting on my laptop.
A playable, browser based FPS.

It is called Killing Wave, and you can play it right now:



It took about eight hours.

That still surprises me.

What Is Vibe Coding?

If you are searching for “vibe coding” and wondering what it actually looks like in practice, here is my honest answer.

Vibe coding is building at the speed of intuition.

It is less about rigid planning and more about momentum. You define the direction, then iterate rapidly, adjusting based on feel. Instead of getting stuck perfecting architecture upfront, you push something playable as fast as possible and refine from there.

For Killing Wave, I used Claude Code to accelerate development. Not to blindly generate everything, but to compress the gap between idea and implementation. Boilerplate vanished. Iteration cycles shrank. I stayed focused on the experience instead of the scaffolding.

The game runs on three.js for 3D rendering and uses @velkymx/vibeui for the UI layer. That stack made it possible to push an OpenGL style FPS experience directly into the browser without fighting the platform.

Eight hours later, I had something real.

Not polished. Not production ready. But real.

The Hard Part Is Not Rendering, It Is Feel

The biggest lesson was not technical. It was experiential.

Getting an FPS running in the browser is doable. Getting it to feel good is brutal.

Movement feel.
Mouse sensitivity.
Enemy pacing.
Spawn timing.
Audio feedback.
Frame stability.
Input latency.

Every small change shifts the player experience. A tiny tweak to acceleration can make movement feel heavy or slippery. Slightly aggressive spawn logic turns tension into frustration. Weak audio makes combat feel flat.

There is a massive difference between something that works and something that feels good.

Vibe coding does not remove that difficulty. It exposes it faster.

Browser Based Game Development Is Changing

If you are researching browser game development, WebGL experiments, or AI assisted coding workflows, here is my take.

The barrier to entry is collapsing.

With three.js handling rendering, a lightweight UI layer like vibeui, and AI tooling accelerating iteration, you can go from idea to playable FPS in a single weekend. That would have sounded unrealistic a few years ago.

This changes who gets to experiment.

You do not need a studio.
You do not need a massive engine.
You do not need weeks of setup.

You need curiosity and a willingness to ship something imperfect.

Why This Project Matters To Me

Killing Wave reminded me why I started building software in the first place.

There is something deeply satisfying about creating an interactive system where rendering pipelines, state management, input handling, and player psychology all collide. It forces you to think in systems. It sharpens your engineering instincts because everything is connected.

Most importantly, it reminded me that experimentation is a skill.

The future of interactive software will belong to people who prototype quickly, publish early, and iterate in public. Vibe coding, when done intentionally, is not chaos. It is structured momentum.

If you are curious about vibe coding, browser based FPS development, or what is possible with AI assisted game dev, play Killing Wave and tell me what you think.

It is not perfect.

But it is proof that the distance between idea and playable experience has never been shorter.


Discover more from AJB Blog

Subscribe to get the latest posts sent to your email.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.