Voltar para Lista
BLOG / mrj / / 3 min leitura

🎸 BitGuitar: o Guitar Hero de terminal com multiplayer ao vivo (e por que saiu do ar)

O BitGuitar era o jogo do laboratório da CROM — um jogo de ritmo com visual hacker, rádio central sincronizada e placar ao vivo, que dava até para jogar pelo terminal com curl. Saiu do ar em setembro de 2026; o código é aberto.

O que era o bitguitar.crom.run

O BitGuitar ("AI Hacker Training") foi um experimento do laboratório de jogos da CROM: um jogo de ritmo no estilo Guitar Hero, com visual de terminal verde, onde todo mundo toca a mesma música ao mesmo tempo.

Ficou no ar em bitguitar.crom.run a partir de maio de 2026. Na reorganização dos servidores da CROM em setembro de 2026 ele saiu do ar — é um serviço que precisa de backend rodando o tempo todo, e hoje o foco está em menos projetos. O código é aberto.

📦 Repositório: github.com/MrJc01/crom-jogos-bitguitar

Como funcionava

  • Rádio central: o servidor toca uma trilha para a sala inteira. Quem entra sincroniza com a música que está tocando e pode entrar na fila para a próxima.
  • 4 colunas, 4 teclas: D F J K por padrão (dá para trocar nas configurações). Você aperta a tecla quando o bit chega na linha de baixo. Tem pontuação e combo.
  • Placar ao vivo: um painel com os competidores da rodada e a pontuação global da sala, via WebSocket.
  • Modo terminal raiz: dava para jogar sincronizado direto no terminal:
curl -sL https://SEU-SERVIDOR/play.sh | bash

O detalhe técnico que eu mais gosto

Os beatmaps (onde cai cada nota) não são desenhados à mão. O servidor gera o mapa a partir do próprio arquivo de música: calcula o hash MD5 do arquivo e usa como semente de um gerador pseudoaleatório (Mulberry32 portado para Go). Resultado: a mesma música gera sempre o mesmo mapa, em qualquer máquina, sem guardar nada.

Stack

  • Backend em Go: servidor HTTP, hub de multiplayer (WebSocket), geração de beatmap, e ainda um bot e uma CLI (cmd/bot, cmd/cli).
  • Frontend em HTML/CSS/JS puro (public/).
  • Deploy com Docker; o ranking fica num rankings.json.

Rodando o seu

git clone https://github.com/MrJc01/crom-jogos-bitguitar.git && cd crom-jogos-bitguitar
cp .env.example .env
echo "{}" > rankings.json
docker compose up -d --build        # sobe na porta 8080

Para adicionar músicas, coloque os arquivos na pasta musicas/ (tem o script add_music.sh). As trilhas que usei eram músicas livres da NCS.

O que ficou pelo caminho

Ideias que não chegaram a sair: salas separadas, modos de dificuldade, ranking persistente entre temporadas e o "AI Hacker Training" de verdade — usar o jogo para treinar reflexo e ritmo com bots competindo junto (o bot já existe em cmd/bot).

Quer jogar ou continuar?

Se você quer subir uma instância para a sua comunidade, contribuir ou só dar uma ideia, abra uma issue no repositório ou fale comigo pelos canais da CROM.

Este post faz parte da reorganização da CROM de setembro de 2026, em que concentrei tudo no crom.run e tirei do ar os projetos que eu não conseguia manter.

Fim da Transmissão

Crom Ecossistema

Todas as ferramentas conectadas em um único lugar.

arrow_outward language

ENGLISH

arrow_outward watch

MODO HACKER

arrow_outward menu_book

CROM Wiki

arrow_outward dynamic_feed

MiniBlog

arrow_outward build

Ferramentas

arrow_outward storefront

AppShop

arrow_outward library_books

Sume

arrow_outward sync_alt

P2PFile

arrow_outward database

DbFakeAI

arrow_outward code

Verbo

arrow_outward apps

MiniApps