AeroPuzzle
A real-time, gesture-controlled sliding puzzle game powered by computer vision and hand tracking. Create puzzles from your webcam feed and solve them using air gestures — no mouse or touch input required.
Features
- Gesture-Controlled Gameplay — Use hand gestures to grab, drag, and swap puzzle tiles in real time.
- Live Webcam Integration — Capture a snapshot from your webcam to create the puzzle.
- Adaptive Hand Tracking — Powered by MediaPipe Hand Landmarker with dual-threshold hysteresis filtering.
- Velocity-Adaptive Smoothing — 1€ filter eliminates jitter while keeping the cursor responsive.
- Premium HUD Overlay — Sleek header, status indicators, timer, and victory card rendered directly on the video feed.
- Auto-Termination — Automatically closes 5 seconds after puzzle completion.
Screenshots
Installation
From PyPI
pip install aeropuzzle
From Source
git clone https://github.com/Aarthirt14/AeroPuzzle.git
cd AeroPuzzle
pip install .
Usage
Launch the game
aeropuzzle
Or using the Python module syntax:
python -m aeropuzzle
Command-line options
aeropuzzle --help # Show usage information
aeropuzzle --version # Show version number
How to Play
- Webcam Active — Ensure your webcam is connected and allowed.
- Frame Your Photo — Position both hands in front of the camera and spread your index fingers to define the crop area.
- Capture Snapshot — Pinch your index finger and thumb together to capture the snapshot and start the puzzle.
- Solve the Puzzle:
- Move your hand to control the pointer cursor.
- Pinch to grab a tile.
- Drag the tile to its correct position.
- Release the pinch to swap it with another tile.
- Win — Solve the puzzle to see your completion time. The application automatically closes 5 seconds after solving.
Requirements
- Python 3.10+
- A working webcam
- Dependencies (installed automatically via pip):
opencv-pythonmediapipenumpypillow
Tech Stack
| Component | Technology |
|---|---|
| Language | Python 3.10+ |
| Computer Vision | OpenCV |
| Hand Tracking | MediaPipe (Tasks-Vision API) |
| Typography | Pillow (PIL) |
| Numerical Computing | NumPy |
Development
git clone https://github.com/Aarthirt14/AeroPuzzle.git
cd AeroPuzzle
pip install -e .
Build the package
pip install build
python -m build
Publish to PyPI
pip install twine
twine upload dist/*
License
This project is licensed under the MIT License.
Metadata
Release files for aeropuzzle 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aeropuzzle-0.1.0.tar.gz | 5.8 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aeropuzzle-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.7 MB
Release files / aeropuzzle-0.1.0.tar.gz
| Download URL | aeropuzzle-0.1.0.tar.gz |
|---|---|
| Size | 5.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d898b6127307645b92d1348324679e715178851e7285b162208e4cf4afd2cda6
|
|
BLAKE2b-256 checksum How to use checksums |
91aed7c6874ced9e1f5c2e30a3490178dcdec2f4f96180263246246215f07985
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / aeropuzzle-0.1.0-py3-none-any.whl
| Download URL | aeropuzzle-0.1.0-py3-none-any.whl |
|---|---|
| Size | 5.8 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
27c611878b6436c8c861131946d5e9fa46a6a47ec8863db95d2baf12ab9a1116
|
|
BLAKE2b-256 checksum How to use checksums |
d24ec9e49b04749d88fe49f524d80d117aa2cc9c20ee97d3d4772f4fd3fb873b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|