Analysis updated 2026-05-18
Play a fun webcam game where you shoot fish by making a fist gesture.
Learn how MediaPipe hand tracking can be turned into game input.
Tune game difficulty, fish spawn rates, and shooting gestures through a config file.
Use the project structure as a starting template for other webcam-controlled games.
| onest4rk/fish-shot | 0xustaz/streamgate | a-bissell/unleash-lite | |
|---|---|---|---|
| Stars | 1 | 1 | 1 |
| Language | Python | Python | Python |
| Setup difficulty | moderate | hard | hard |
| Complexity | 2/5 | 4/5 | 4/5 |
| Audience | vibe coder | developer | researcher |
Figures from each repo's GitHub metadata at analysis time.
Requires a working webcam and good lighting for hand detection to work reliably.
Fish Shot is an arcade game you play with your webcam and your hand instead of a mouse or controller. It uses hand tracking to turn your hand into the game's aiming and shooting device: fish swim across the screen at different speeds and directions, you aim by moving your hand, and you make a fist to fire. Hitting a fish scores points and builds combos, while difficulty rises the longer you survive. Under the hood, the webcam feed is processed by MediaPipe, a library that detects hand landmarks and tracks your index finger. Your on-screen cursor follows that finger position smoothly, and the game checks whether your fingers are curled into a fist, or your thumb and index finger are pinched together, to decide when to fire a shot. If the shot's position overlaps a fish's hitbox, the fish is destroyed and you earn points. To run the game you need Python 3.11 or higher, a working webcam, and pip. After cloning the project, you create a virtual environment and install dependencies, either through the provided package setup or by installing opencv-python, mediapipe, pygame, pyyaml, and numpy directly. Then you start the game by running main.py, or by running the fish-shot command if you installed it as a package. Most of the game is tunable through a config.yaml file: which camera to use, how sensitive hand detection is, how smooth the cursor feels, whether you shoot with a fist or a pinch, how many lives you start with, how long a round lasts, and how often fish spawn, including rare and legendary fish. Keyboard shortcuts let you toggle the hand video overlay, mute audio, pause, and start the game. The project includes a troubleshooting section covering camera access issues, poor hand detection in bad lighting, and performance problems, along with a test suite you can run with pytest. The README lists several planned improvements, including two-player support, new fish types, and an online leaderboard, none of which are built yet. The project is offered for educational and portfolio purposes, and its procedurally generated sound and visual assets are free to use.
A webcam arcade game where you shoot fish using hand gestures tracked in real time by your camera.
Mainly Python. The stack also includes Python, OpenCV, MediaPipe.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly vibe coder.
This repo across BitVibe Labs
Verify against the repo before relying on details.