CoOp:Anything
Search any game and see how much of it you can play with friends: every co-op mod, its stage, quality and community rating.
Tralalero, Tung Tung Sahur, Bombardiro e companhia contra La Vacca Saturnita.
Translation pending
GamesHTML · JavaScriptGitHub @Le-JrOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗O jogo de luta 2D estilo Street Fighter II estrelado pelos memes do Italian brainrot. Tralalero, Tung Tung Sahur, Bombardiro e companhia contra uma vaca cósmica que quer controlar todos os memes do mundo.
🎮 Jogar · 🌴 Abertura · 🧬 Elenco · ✨ Recursos · 🛠️ Desenvolvimento · 📚 Documentação
Uma vinheta de estúdio no estilo dos arcades dos anos 90: a arte da Tupinicode na selva acende como um CRT enquanto o jogo carrega de verdade ("PREPARANDO O CAOS", com porcentagem), o logo original é revelado ao som do jingle e o crédito do desenvolvedor aparece antes da tela de aviso e do título. A tela de título toca Quarter In The Slot; ao apertar Start, o menu passa para Last Token Remaining.
Muito além da internet existe Brainrotália: a terra paralela onde moram os memes mais absurdos já criados.
Durante séculos, bastava um tralalá, um tung tung, um bananini… e o mundo sorria. Até que La Vacca Saturno Saturnita surgiu nos anéis de Saturno com O ALGORITMO, um sinal que hipnotiza qualquer meme. Os olhos ficaram roxos. As vozes, ocas.
Apenas um coração resistiu. Atravesse Brainrotália, liberte sete rivais hipnotizados, recupere os 7 fragmentos do sinal e enfrente a vaca cósmica no fim do universo.
| Lutador | VEL | FOR | DEF | ALC | Casa |
|---|---|---|---|---|---|
| Tralalero | 1,7 | 1,0 | 1,0 | 1,0 | Spiaggia |
| Tung Sahur | 1,5 | 1,15 | 0,95 | 1,25 | Villaggio |
| Bombardiro | 1,3 | 1,2 | 1,1 | 1,1 | Cielo |
| Ballerina | 2,0 | 0,85 | 0,9 | 1,0 | Teatro |
| Patapim | 1,4 | 1,1 | 1,05 | 1,15 | Giungla |
| Chimpanzini | 1,9 | 0,9 | 0,95 | 0,9 | Piantagione |
| Assassino | 1,9 | 1,0 | 0,9 | 1,15 | Caffè |
| Lirilì | 1,2 | 1,2 | 1,2 | 1,1 | Deserto |
| Saturnita | 1,35 | 1,3 | 1,45 | 1,3 | Saturno |
Fichas completas, falas e rivalidades em docs/jogo/05-personagens.md.
Dash com dois toques para frente ou para trás
Golpes direcionais: soco/chute ascendente, agachado e especial normal / ascendente / baixo
Correntes, cancelamento em especial, uppercut com comando → ↓ ↘, agarrão
EX (meia barra) e Super com tela de corte
Juggle, escalonamento de dano, hit-stop e tremor de tela
Hitboxes medidas dos pixels dos próprios sprites (aperte Tab para ver)
IA em 3 níveis que defende alto/baixo, faz anti-aéreo e gasta barra
Prólogo do mundo + prólogo e final próprios de cada lutador
Cena antes e depois de cada rival, com rivalidades especiais
Mapa animado de Brainrotália entre as lutas, com arte renovada e emblema de Saturno na viagem final
Chefe em duas fases: Saturnita, ascensão do Mega Brain e batalha final
Cutscene global com Bri Bri jogável e desbloqueável, novas vozes e duas trilhas FM originais
Ataque coletivo dos brainrots, salvação do planeta e epílogos separados de cada herói
Bri Bri desbloqueável após vencer a segunda forma, com 16 poses e especial próprio
Narração Chatterbox pré-gerada em 🇧🇷 🇮🇹 🇬🇧
19 faixas gravadas no estilo Neo Geo: título, menu, fases, bônus, chefe, final, epílogos, vitória e continue, normalizadas para ~−20 LUFS e com emenda para loop
As demais fases usam arranjos FM renderizados em OGG; as 21 partituras do sintetizador FM de 2 operadores (família YM2151) continuam como reserva
Mixer de áudio (MÚSICA · EFEITOS · VOZES) em Opções e na Pausa, salvo no navegador
Página OUVIR TRILHA com todos os players
25 efeitos sonoros sintetizados ao vivo, com reverb e delay
13 cenários pintados em código e convertidos em pixel art moderna: faixas de luz sem granulado, contorno nas silhuetas e perspectiva atmosférica
Destrua a Macchina del Nonno, o Cybercaminhão de "vidro blindado" e o Bi-ai-di (com papagaio do milk shake 🦜, que agora toca o meme completo num poleiro redesenhado)
XP e níveis 1–10 por personagem, salvos no navegador
Versus contra a CPU ou local, Treino com leitura de dano e modo celular: tela cheia na horizontal com D-pad de 8 direções e botões sobre o jogo
npm install
npm run dev # http://localhost:3000
Aperte Enter (ou toque na tela) para começar: o navegador só libera o som depois da primeira interação. Escolha HISTÓRIA para a campanha ou TREINO para praticar combos. Os volumes de música, efeitos e vozes ficam em OPÇÕES → ÁUDIO ou em PAUSA → ÁUDIO (↑↓ seleciona, ←→ ajusta).
| Jogador 1 | Jogador 2 (versus) | |
|---|---|---|
| Mover / pular / agachar | A D W S | ← → ↑ ↓ |
| Soco · Chute · Especial | J · K · L | B · N · M |
| Start / pausa | Enter | |
| Voltar / pular cutscene | Esc | |
| Ver hitboxes | Tab |
| Golpe | Comando |
|---|---|
| Avanço / recuo rápido | Dois toques para frente / para trás |
| Ascendente (soco / chute) | ↑ + Soco / Chute, juntos |
| Soco agachado / rasteira | ↓ + Soco / Chute |
| Especial normal / ascendente / baixo | Especial / ↑ + Especial / ↓ + Especial |
| Soco forte (alto) | → + Soco |
| Rasteira (baixo) | ↓ + Chute |
| Uppercut (lança para juggle) | → ↓ ↘ + Soco |
| Agarrão | Perto + → + Chute |
| Especial EX (½ barra) | ↓ ↘ → + Especial |
| Super (barra cheia) | Especial |
| Corrente | Soco → soco / chute / forte · acerto → especial cancela |
| Defesa | Segure para trás (agachado contra golpes baixos) |
Mais detalhes em docs/jogo/03-controles-e-comandos.md e docs/jogo/04-sistema-de-combate.md.
Requer Node.js 20.9+. Os testes de áudio usam FFmpeg e ffprobe; renderizar a trilha exige também Chromium e FFmpeg com
libvorbis. O pipeline atual de sprites usa Node.js; somente o pipeline legado requer Python compillow,numpyescipy.
| Comando | O que faz |
|---|---|
npm run dev | Servidor de desenvolvimento (Turbopack) |
npm run build · npm start | Build de produção (página estática) e servidor |
npm run lint · npm run typecheck | ESLint e TypeScript |
npm run format · npm run format:check | Prettier |
npm test | Campanha completa, lutas CPU × CPU, combate direcional, final, sprites, resolução, textos, vozes, música e snapshots visuais, tudo headless |
npm run test:combat · test:music · test:finale · test:local · test:voices | Só uma parte da suíte |
npm run test:snapshot:update | Aceita uma mudança visual intencional |
npm run readme:art | Regera as imagens deste README com o próprio motor |
npm run sprites | 19 poses por personagem → atlas em public/atlases/ |
npm run sprites:projectiles | Empacota os oito artefatos com três fases cada |
npm run sprites:bonus | Empacota os estados de dano dos carros e as expressões do papagaio e do Elon |
npm run sprites:finale · stages:art | Processa a arte do final e dos cenários/mapa |
npm run music:render · music:check | Renderiza a trilha FM em OGG e confere os arquivos |
npm run render:ui · render:map · render:projectiles · render:finale | Galerias de conferência visual em output/ |
npm run voices:catalog · voices:generate | Catálogo e geração das vozes Chatterbox |
As faixas gravadas ficam em public/audio/music/ e são mapeadas em src/game/audio/imported-music.js; elas têm prioridade sobre os arranjos FM. Faixas longas tocam por streaming (HTMLAudioElement ligado ao bus de música), sem decodificar tudo na memória. Se um arquivo falhar, o sintetizador assume a música da fase.
python3 tools/import-music.py converte os MP3 de origem em OGG com ganho constante (~−20 LUFS, teto −3 dBTP) e emenda de um segundo para o loop; --only title select reprocessa só as faixas escolhidas. As medições ficam em public/audio/music/import-report.json. Depois, node tools/music-playlist.js atualiza a página OUVIR TRILHA (/audio/music/index.html). Os prompts usados para gerar a trilha estão em docs/audio/prompts-trilha-neo-geo.md.
Os volumes do mixer ficam salvos em localStorage.brb_audio. O áudio completo do meme do papagaio é processado por tools/process-parrot-audio.js (−18 LUFS, sem cortes nem mudança de velocidade). Detalhes em docs/tecnico/05-audio-e-narracao.md.
Todas as falas usam arquivos MP3 locais em public/audio/voices/, gerados com Chatterbox Multilingual. Não é necessária chave de API para jogar. As chamadas de confronto reutilizam os nomes dos lutadores. O navegador só sintetiza uma fala caso o arquivo não possa ser reproduzido.
O Elon usa cinco sprites cartunescos gerados por imagem, do sorriso ao choro, no mesmo formato de atlas do papagaio. Para reempacotar os originais locais: npm run sprites:bonus -- --only=elon.
Para regenerar as vozes, veja tools/voices/README.md. O catálogo inclui narrador, menus, nomes, golpes, história completa, papagaio e Elon. Os áudios usam a voz sintética incluída no modelo, com ajustes por personagem, sem gravações de pessoas reais. A procedência e os parâmetros de cada clipe ficam em public/audio/voices/generation.json.
A intro, os menus, as seleções, a pausa, o HUD e os resultados compartilham a paleta e os componentes de src/game/ui/theme.js: azul escuro, dourado, branco quente, vermelho para 1P e azul para 2P. Títulos usam Press Start 2P; os textos menores usam a fonte bitmap 5×7 de src/game/core/pixel-font.js, com acentos em português e italiano.
O desenho usa a resolução lógica 320×180 e escala mantendo 16:9. O canvas acompanha a densidade real da tela (até 4K no desktop e 1280 px em telas de toque), com suavização de alta qualidade acima de 640 px; sprites e projéteis mantêm proporções e alinhamento ao pixel (tests/display-resolution.js, tests/projectile-scale.js). Cabeçalhos, rodapés, margens, foco e painéis seguem o mesmo padrão. npm run render:ui gera uma galeria dos estados da interface em output/ui/after/; para reproduzir, coloque a fonte TTF Press Start 2P em output/ui/PressStart2P-Regular.ttf. O teste manual node tools/review-ui-browser.js usa Chromium e uma instância de produção em localhost:3011 para capturar desktop, tablet e celular.
Em localhost, clique em TESTES (F2) ou pressione F2. O primeiro item abre a última luta como Bri Bri, com God Mode, especial infinito e relógio parado. O painel também acessa cutscenes, bônus, personagens, cenários, músicas e vozes, com XP isolado do progresso salvo. Guia do painel local.
src/
├── app/ Next.js App Router: layout, página, fonte, ícones
├── components/game/ Casca React: gabinete, barra de botões, toque, legenda
└── game/ Motor do jogo em módulos ES (sem React)
├── core/ canvas, entrada, cenas e loop de 60 Hz
├── audio/ trilha OGG, sintetizador FM, mixer, narrador, locutor
├── sprites/ atlas HD, cache, hitboxes medidas dos pixels
├── characters/ um arquivo por lutador + carros
├── combat/ Fighter, Fight, IA, especiais, Treino, Bônus
├── story/ textos da campanha e montagem das cutscenes
├── stages/ kit de pintura + um arquivo por cenário
├── scenes/ todas as telas e o fluxo da história
└── index.js createGame(): a API que a página usa
A página e o motor conversam por uma API pequena e tipada (createGame, setMusic, setNarrator, pressButton, on('voice')). O motor é carregado só no cliente, com import() dinâmico. Veja docs/tecnico/01-arquitetura.md.
O jogo nasceu como um único index.html de 2,7 MB (guardado em legacy/). A migração recortou o código em módulos sem reescrever a lógica e foi comparada com a versão original usando a mesma semente aleatória:
Essa rede de segurança continua no projeto como tests/visual-snapshot.js.
🎮 O jogo
🛠️ Técnico
🎨 Arte e áudio