Skip to content

Repository files navigation

DatsPulseSubSchool

Игровой бот для соревнований муравьёв в игре DatsPulse. Команда SubSchool представляет собой умного бота, который управляет муравьями для сбора ресурсов, исследования карты и борьбы с противниками.

🏗️ Архитектура

Проект состоит из двух основных частей:

Backend (Python/FastAPI)

  • API клиент - взаимодействие с игровым сервером
  • Игровой бот - логика принятия решений для муравьёв
  • WebSocket сервер - передача данных на фронтенд
  • Модели данных - структуры для работы с игровыми объектами

Frontend (React/TypeScript)

  • HexMap - визуализация игровой карты
  • ControlPanel - управление ботом
  • LogPanel - отображение логов
  • Sidebar - дополнительная информация

🚀 Быстрый старт

Backend

cd backend
python3 -m venv venv
source venv/bin/activate  # На Windows: venv\Scripts\activate
pip install -r requirements.txt
python main.py

Frontend

cd frontend
npm install
npm run dev

🎮 Игровая логика

Типы муравьёв

  • Worker (type=0) - сборщики ресурсов, ищут еду и несут её в муравейник
  • Fighter (type=1) - бойцы, атакуют врагов и патрулируют территорию
  • Scout (type=2) - разведчики, исследуют неизвестные области карты

Стратегии

  1. Приоритет еды - муравьи с едой всегда идут к муравейнику
  2. Поиск ресурсов - рабочие и бойцы ищут ближайшую еду
  3. Боевые действия - бойцы атакуют врагов в радиусе 3 клеток
  4. Разведка - разведчики исследуют неизвестные клетки
  5. Умный fallback - если нет целей, выбирают направление в зависимости от наличия еды

Улучшенный алгоритм движения

  • Муравьи с едой выбирают из трёх соседних клеток, которые ближе к муравейнику
  • Муравьи без еды выбирают из трёх соседних клеток, которые дальше от муравейника
  • Минимизация случайных движений

📊 Мониторинг

  • Логи - подробные логи всех действий бота
  • WebSocket - реальное время обновления состояния игры
  • Визуализация - гексагональная карта с муравьями, едой и врагами

🏆 Особенности

  • Устойчивость к ошибкам - бот продолжает работать даже при проблемах с API
  • Умная навигация - A* алгоритм для поиска путей
  • Ручная приоритизация - возможность задать цели для конкретных муравьёв
  • Rate limiting - соблюдение лимитов API (3 запроса в секунду)
  • Автоматическая перерегистрация - поддержание соединения с игрой

📝 Лицензия

MIT License - используйте свободно для обучения и соревнований.


Команда SubSchool - создано для участия в DatsPulse! 🐜⚡

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages