Skip to content

eoLucasS/VisionQuest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VisionQuest v2.0.0

VisionQuest

Jogo educacional de matematica controlado por gestos das maos via webcam

Python OpenCV MediaPipe License: MIT PRs Welcome

Funcionalidades · Quick Start · Como Jogar · Estrutura · Colaboradores


Sobre

O VisionQuest utiliza visao computacional para transformar a webcam em um controle de jogo. O jogador responde questoes matematicas usando gestos das maos - juntando o indicador com o polegar (gesto de pinca) para selecionar respostas.

O projeto foi desenvolvido como ferramenta educacional alinhada ao ODS 4 da ONU (educacao de qualidade), promovendo aprendizagem interativa e acessivel.

Note

Originalmente criado como projeto academico em 2024, foi completamente reestruturado em 2026 com arquitetura modular, novo sistema de UI/UX e mecanicas de jogo aprimoradas.


Funcionalidades

Deteccao de Maos em Tempo Real
  • Deteccao de ate 2 maos simultaneamente via MediaPipe Tasks API
  • Cursor visual seguindo o dedo indicador em tempo real
  • Gesto de pinca (indicador + polegar) para interacao
  • Esqueleto da mao desenhado sobre a interface
  • Cursor muda de cor ao realizar a pinca (azul → verde)
Sistema de Questoes Matematicas
  • Facil: soma e subtracao com numeros de 1 a 20
  • Medio: multiplicacao, divisao e potencias
  • Dificil: logaritmos, raizes quadradas, equacoes de 1o grau e expressoes com ordem de operacoes
  • Plano cartesiano interativo - toque no ponto correto com a mao
  • Distratores inteligentes (opcoes erradas plausíveis, sem respostas obvias)
Mecanicas de Jogo
  • 3 vidas - erros tem consequencia real
  • Sistema de streak - bonus a cada 3 acertos consecutivos
  • Barra de progresso com contador de pontos (ex: 7/10)
  • Feedback sonoro - sons distintos para acerto e erro
  • Resposta correta revelada ao errar - aprendizado pelo erro
  • Tela de fim de jogo com estatisticas completas (acertos, erros, pontuacao)
Interface e UX
  • HUD com pontuacao, streak, vidas (coracoes) e dificuldade
  • Botoes com hover highlight - mudam de cor ao passar o dedo
  • Mao sempre visivel por cima de overlays (dicas, fim de jogo)
  • Tema escuro com contraste otimizado para leitura sobre webcam
  • Instrucoes visuais de como interagir em cada tela

Quick Start

Tip

Pre-requisitos: Python 3.9+ e uma webcam.

# 1. Clone o repositorio
git clone https://github.com/eoLucasS/VisionQuest.git
cd VisionQuest

# 2. Crie e ative um ambiente virtual
python -m venv venv
source venv/Scripts/activate   # Windows (Git Bash)
# ou: venv\Scripts\activate    # Windows (CMD/PowerShell)
# ou: source venv/bin/activate # Linux/macOS

# 3. Instale as dependencias
pip install -r requirements.txt

# 4. Execute o jogo
python main.py

Important

Na primeira execucao o MediaPipe carrega o modelo de deteccao de maos, o que pode levar alguns segundos.


Como Jogar

Acao Gesto
Mover cursor Mova a mao - o dedo indicador controla o cursor
Selecionar/Clicar Junte o indicador com o polegar (pinca)
Sair Pressione a tecla Q a qualquer momento

Fluxo do Jogo

Tela Inicial → Selecao de Dificuldade → Questoes → Fim de Jogo
     │                                      │            │
     └─ Sair                                └─ Dicas     └─ Jogar Novamente
  1. Tela inicial - selecione "Jogar" com o gesto de pinca
  2. Dificuldade - escolha entre Facil, Medio ou Dificil
  3. Questoes - responda fazendo pinca sobre a opcao correta ou tocando o ponto no plano cartesiano
  4. Fim - ao atingir 10 pontos (vitoria) ou perder 3 vidas (derrota), veja suas estatisticas

Estrutura do Projeto

VisionQuest/
├── main.py                    # Ponto de entrada
├── requirements.txt           # Dependencias
├── assets/
│   ├── hand_landmarker.task   # Modelo MediaPipe de deteccao de maos
│   ├── preview.png            # Screenshot do jogo
│   ├── images/                # Fotos dos colaboradores, icones
│   └── sounds/                # Efeitos sonoros (acerto/erro)
└── src/
    ├── config.py              # Constantes e configuracoes centralizadas
    ├── game.py                # State machine principal do jogo
    ├── hand_tracker.py        # Deteccao de maos (MediaPipe Tasks API)
    ├── button.py              # Botoes interativos com hover
    ├── cartesian_plane.py     # Renderizacao do plano cartesiano
    ├── question_generator.py  # Gerador de questoes matematicas
    ├── score_system.py        # Pontuacao, vidas e streaks
    └── screens/
        ├── title.py           # Tela inicial
        ├── difficulty.py      # Selecao de dificuldade
        ├── gameplay.py        # Tela principal do jogo + HUD
        ├── game_over.py       # Tela de fim de jogo com estatisticas
        └── hint.py            # Overlay de dicas

Stack Tecnica

Tecnologia Uso
Python 3 Linguagem principal
OpenCV Captura de video e renderizacao da interface
MediaPipe Deteccao de maos em tempo real (Tasks API)
Pygame CE Sistema de audio
NumPy Operacoes numericas

Topicos Matematicos

O projeto abrange os seguintes topicos, alinhados a ementa academica:

  • Aritmetica (soma, subtracao, multiplicacao, divisao)
  • Potenciacao e raizes quadradas
  • Logaritmos
  • Equacoes de 1o grau
  • Expressoes com ordem de operacoes
  • Plano cartesiano e coordenadas

Colaboradores


Lucas Silva

Nycolas Garcia

Danilo Santos

Breno Melo


Licenca

MIT. Veja LICENSE para detalhes.


Feito por Lucas Silva

About

VisionQuest é um jogo educacional interativo que utiliza visão computacional para promover a aprendizagem de matemática. Desenvolvido para assegurar a educação inclusiva e de qualidade, o projeto integra reconhecimento de gestos e geração dinâmica de perguntas, proporcionando uma experiência de aprendizado inovadora e acessível para todos.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages