Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages