🦆
Developer Story

Duck Hunter AR

A modern tribute to a childhood classic — ducks in your living room, shot with your phone.

It started with a plastic gun and a fuzzy TV

If you grew up in Romania in the late 90s or early 2000s, there's a good chance you had one of those brick-shaped Chinese clone consoles — the kind that came in a cardboard box with "8-bit" written in Comic Sans and a bright orange plastic light-gun. You'd plug it into the TV via RCA cables, and suddenly there it was: Duck Hunt.

🕹️ The original Duck Hunt

Originally released by Nintendo in 1984, Duck Hunt became one of the most iconic NES games ever made. You pointed a light-gun at a CRT screen and tried to shoot pixelated ducks before they flew away — while a smug dog laughed at you every time you missed. It sold over 28 million copies worldwide and became the default answer to "what's the first game you ever played."

For millions of kids in Eastern Europe, that experience came through bootleg Famiclone cartridges — sometimes labeled "9999999 IN 1" — sold at open-air markets. The light-gun didn't always work. The dog still laughed. The ducks still flew away. And it was magical.

"I must have spent more hours trying to shoot those ducks than I care to admit. This project is my way of saying thank you to that little yellow cartridge."

What if the ducks were actually in your room?

The concept was simple: take the core loop of Duck Hunt — spot the duck, aim, shoot before it escapes — and put it in augmented reality so the ducks fly through your actual physical space. No app to install, no special hardware. Just your phone's camera and a browser.

The challenge was making it feel real enough to be exciting without the overhead of a native app. AR in the browser has come a long way, and with A-Frame + AR.js it's now genuinely possible to build something that feels like a game, not a demo.

How it was built

Everything runs in a single HTML file. No build tools, no frameworks, no app stores.

📐A-Frame 1.6
📷AR.js 3.4
🔊Web Audio API
🎮Vanilla JS
📱Touch Events
🌐WebXR Camera

3D Duck Model

Built entirely out of A-Frame primitives — spheres, boxes, cones, toruses. No external 3D models. The wings actually flap using sine-wave animation on the rotation attribute.

AR Placement

Ducks spawn in front of the camera's look direction and fly across the field of view. The radar in the bottom-left shows their position relative to you in real time.

Procedural Audio

Every sound — gunshot, hit, escape, win fanfare, ambient birds and wind — is generated on the fly using the Web Audio API. No audio files, no loading screens.

Wave System

Each wave adds one more duck (capped at 7), and ducks get faster. You have 7 bullets before you need to reload. Miss too many and they all get away.

For everyone who missed that laughing dog

This game is dedicated to all the kids who crouched two feet from the TV with a plastic light-gun, squinting at 8-bit ducks on a blurry screen, convinced that getting closer would somehow help.

It's dedicated to the market vendors who sold those cartridges. To the parents who bought them without really knowing what they were. To the older siblings who always had better aim.

🏆 OpenProjects.ro

Duck Hunter AR is part of OpenProjects.ro — a collection of free browser-based tools, games, and creative utilities. Everything is free, no installs required, built with love and a slight obsession with making things that actually work on a phone.

Ready to shoot some ducks? 🔫

Point your phone, aim at the crosshair, tap SHOOT. Don't let them get away.

🦆   Back to Duck Hunter AR