You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A Python framework for building game automation bots that can see, understand, and interact with Windows applications in a human-like way.
How it works
Capture screenshots → Train a model → Run a GameBot → Write game modules
(CLI) (CLI/API) (event loop) (plugin API)
Capture — point the pixeler-capture tool at your game window and draw bounding boxes around the objects you care about (enemies, health bars, loot, UI elements). Frames are saved as a labeled dataset.
Train — run pixeler-train to fine-tune a YOLOv8 nano model on your dataset and export it as an ONNX file.
Detect — load the ONNX into a GameBot alongside color filters, templates, and OCR regions. Every frame, the ScreenAnalyzer runs all detectors and fires events.
React — write a GameModule that subscribes to events ("detection.enemy", "color.health_low", "ocr.health_bar") and calls mouse/keyboard actions in response.
Installation
pip install pixeler
Training support (YOLOv8 via Ultralytics) is an optional extra — skip it if you only need inference at runtime:
# Runtime only
pip install pixeler
# With training support
pip install "pixeler[train]"
Additional requirement:Tesseract OCR must be installed separately and its directory added to your system PATH before OCR functions will work.
Exports the dataset into a YOLO-compatible structure, trains yolov8n, and writes the final model to models/mygame.onnx. Training artifacts (charts, confusion matrices, checkpoints) land in training_runs/mygame/.
Circle — random_point_normal() for human-like aiming.
math/polygon.py
Polygon — ray-casting containment, random_point() via rejection sampling.
math/random.py
reaction_delay(), idle_delay(), gaussian_jitter() — human timing distributions.
Development Setup
git clone https://github.com/klobbix/Pixeler
cd Pixeler
# Install runtime dependencies
uv sync
# Install with training support
uv sync --extra train
# Run examples
uv run python examples/example_bot.py