Skip to content

fronzavini/guitarFlask

Repository files navigation

🎸 Guitar Flask

📚 Descrição

Guitar Flask é um jogo de ritmo inspirado no estilo Guitar Hero, desenvolvido com Python e Flask no back-end e HTML, CSS e JavaScript no front-end.

O jogador deve pressionar as teclas corretas no momento exato em que as notas atingem a linha de execução, acumulando pontos e mantendo combos para multiplicar a pontuação. O sistema avalia precisão e tempo de resposta, proporcionando uma experiência dinâmica e desafiadora.

O projeto combina desenvolvimento web full-stack com conceitos de jogos rítmicos, incluindo sincronização musical, detecção de batidas e persistência de dados em banco de dados.


🛠️ Tecnologias utilizadas

Backend

  • Python 3
  • Flask
  • Flask-SQLAlchemy
  • Mutagen (leitura de metadados de MP3)
  • Librosa (análise de áudio e detecção de batidas)

Frontend

  • HTML5
  • CSS3
  • JavaScript (ES6+)

Banco de Dados

  • SQLite

✨ Funcionalidades e principais diferenciais

  • 🎵 Menu com múltiplas músicas
  • 🏆 Ranking com os 10 melhores jogadores por música
  • 💾 Salvamento automático de pontuações no banco de dados
  • ⏸️ Sistema de pausa e saída da partida
  • 🔥 Sistema de combo com multiplicador de pontuação
  • ❌ Penalidade por erro (quebra de combo ao pressionar tecla incorreta)
  • 🎧 Assistente de Beatmaps automático
  • 📊 Geração de mapas de notas:
    • Modo aleatório
    • Modo baseado na análise real do ritmo da música

O principal diferencial do projeto é o sistema automatizado de geração de beatmaps, que utiliza análise de áudio para sincronizar notas com o ritmo real da música.


🔄 Processo de desenvolvimento

O projeto foi desenvolvido em etapas:

  1. Estruturação do servidor Flask
  2. Modelagem do banco de dados com SQLAlchemy
  3. Criação do sistema de ranking
  4. Implementação do sistema de tempo e pontuação
  5. Integração entre backend e frontend
  6. Desenvolvimento do analisador de batidas com Librosa
  7. Testes de sincronização e balanceamento

O jogo permite selecionar uma música, iniciar a partida, acompanhar as notas em tempo real e salvar a pontuação automaticamente ao final.


📚 O que aprendemos com o projeto

Durante o desenvolvimento do Guitar Flask, foram aprimorados conhecimentos em:

  • Desenvolvimento full-stack com Flask
  • Modelagem de banco de dados com SQLAlchemy
  • Integração entre backend e frontend
  • Manipulação de eventos em tempo real no JavaScript
  • Sincronização entre áudio e elementos visuais
  • Análise de sinais de áudio com Librosa
  • Organização de projeto escalável

About

Guitar Flask é um jogo de ritmo inspirado no clássico Guitar Hero, desenvolvido utilizando Python, Flask e JavaScript.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors