Skip to content

talex00/wow_fishing_project

Repository files navigation

🎣 AI-Powered World of Warcraft Fishing Bot

Python YOLOv8 TensorFlow License

⚠️ DISCLAIMER

Этот проект создан исключительно в образовательных целях для демонстрации возможностей гибридных нейросетевых архитектур (Vision + Audio). Использование средств автоматизации в онлайн-играх может нарушать правила платформы. Автор не несет ответственности за использование данного кода.


💡 О проекте

Это автономный агент для рыбалки, который воспринимает игровой мир "человеческим" способом — через анализ видеопотока экрана и системного звука. Бот не читает память процесса игры.

Архитектура:

  1. Vision: Модель YOLOv8n анализирует экран в реальном времени для нахождения координат поплавка.
  2. Audio: Модель TensorFlow/Keras анализирует аудиопоток (через Loopback) для классификации звука всплеска, игнорируя фоновый шум и музыку.

📂 Структура репозитория

В проекте содержится несколько модулей для полного цикла разработки: от генерации данных до инференса.

🚀 Основной Runtime

  • fishing_bot.py — Главный исполняемый файл. Содержит логику бота: инициализация моделей, захват экрана (mss), захват звука (soundcard), машина состояний (заброс -> поиск -> ожидание -> сбор) и авто-калибровка звука.

🧠 Обучение и Данные

  • train.py — Скрипт для обучения визуальной модели (YOLOv8). Использует размеченные данные для создания весов детектора (.pt).
  • train_audio_model.py — Скрипт для обучения аудио-модели. Преобразует .wav файлы в MFCC-спектрограммы и обучает нейросеть классификации (Splash vs Noise).
  • generate_dataset.py — Генератор синтетических аудио-данных. Использует агрессивную аугментацию (изменение тона, скорости, наложение шума) для создания большого датасета из малого количества сэмплов.
  • prepare_dataset.py — Утилита для автоматического разделения визуального датасета (изображения + лейблы) на обучающую (train) и проверочную (val) выборки.

🛠️ Утилиты и Конфигурация

  • run_detector.py — Инструмент отладки компьютерного зрения. Запускает окно с видеопотоком, где отрисовывает рамки (bounding boxes) вокруг найденного поплавка в реальном времени. Полезно для проверки качества работы YOLO без запуска самого бота.
  • requirements.txt — Список всех необходимых Python-библиотек для запуска проекта.

🔧 Установка и Запуск

1. Установка зависимостей

git clone https://github.com/YOUR_USERNAME/wow-ai-fishing-bot.git
cd wow-ai-fishing-bot
pip install -r requirements.txt

2. Загрузка моделей

Так как веса нейросетей не хранятся в Git-репозитории, их необходимо скачать отдельно: 📥 Скачать модели на Hugging Face

Поместите файлы visual_model.pt (визуальная модель) и audio_model.keras (аудио модель) в корневую папку проекта.

Примечание: Если вы хотите обучить модели с нуля на своих данных, используйте скрипты train.py и train_audio_model.py.

3. Использование

Запустите бота(настройте пути к моделям):

python fishing_bot.py
  • F9 — Режим калибровки (нажать один раз при первом запуске, чтобы бот подстроился под громкость вашей системы).
  • F8 — Старт / Пауза.
  • Esc — Выход.

📄 Лицензия

Исходный код распространяется под лицензией MIT License. Обученные модели и датасеты доступны под лицензией CC BY-NC 4.0.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages