CoOp:Anything
게임을 검색해 협동 플레이 가능한 모드·단계·품질·커뮤니티 평점을 확인합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗RPG por turnos em pixel art onde cada golpe é decidido no pedra, papel e tesoura. Você é o Caçador: atravesse a Floresta Maldita, invada a mansão, derrote Kastle e depois enfrente o Reino das Sombras até Morgana, a Rainha Banshee.
Campanha
Corridas
Arena dos Caçadores (multiplayer online)
Ranqueada (troféus), Casual, 2x2, Chefe Cooperativo, Torneio Relâmpago (4 a 8 caçadores) e Rei da Arena
Só jogadores de verdade (sem bots); dá para assistir as partidas de quem está online
Deck de 8 cartas (16 cartas, limite por raridade), 6 caçadores, histórico dos poderes do adversário
Avatar com o rosto de um caçador ou desenhado no Ateliê (editor de pixel art 16x16), com moldura
Missões diárias, Ecto, loja de molduras e expressões, temporadas mensais com recompensas
Trilha sonora composta em partituras Scrimshaw, tocada ao vivo
Funciona no navegador, no desktop e no celular
O jogo é estático (HTML + ES modules, sem build). Basta servir a pasta:
npm run dev
Depois abra http://localhost:5173. (O tools/devserver.py desativa o cache para você ver as mudanças na hora.)
Testes das regras do jogo:
npm test
Multiplayer local: veja server/README.md.
| Tecla | Ação |
|---|---|
1 2 3 | Estaca, Aspirador, Cruz |
A / S / B | Armas / Loja / Monstruário |
Tab ou toque no monstro | Trocar de alvo |
Esc | Pausar / fechar |
index.html telas (DOM) por cima do canvas 1280x720
styles/ CSS por área (base, componentes, telas, batalha, multiplayer)
src/
main.js monta serviços, interface e cenas
config/ dados do jogo: armas, monstros, itens, fases, balanceamento
domain/ regras puras e testáveis (batalha, IA, atributos, campanha, corridas, saves, monstruário)
core/ motor: loop e cenas, renderizador pixel-perfect, tweens, partículas, áudio, música
world/ personagens animados, efeitos, cenários laterais e palco de batalha em perspectiva
scenes/ Menu, Mapa, História, Diálogo, Batalha (campanha e corridas), Resultado,
Arena (lobby), Duelo (1x1/2x2/espectador) e Chefe Cooperativo
ui/ HUD da batalha, cartas, modais (saves, opções, monstruário, oficina, relíquias,
desafio do dia, deck, missões, loja, arena), toasts
net/ cliente Socket.io do multiplayer
vendor/scrimshaw/ motor de partituras Scrimshaw (Apache 2.0)
assets/
sprites/ SVGs 64x64 gerados (personagens, inimigos, ícones, efeitos, UI, tiles)
fonts/ fonte pixel JokenPixel (gerada)
music/ trilha sonora em partituras .scrim
audio/ efeito de impacto
tools/
sprites/ gerador das sprites (pixel art desenhada em código)
font/ gerador da fonte JokenPixel
music/ verificador das partituras (node tools/music/check.mjs)
server/ servidor multiplayer (Node + Socket.io, deploy no Render)
tests/ testes do domínio (node --test)
legacy/pygame/ versão original em Python/Pygame
A regra principal: domain/ não conhece tela nenhuma. A batalha (domain/battle.js) decide o que acontece
e devolve um resultado; a cena (scenes/BattleScene.js) só anima esse resultado. O "modo" da batalha
(scenes/battleModes.js) diz se é uma fase da campanha ou uma corrida, sem a cena precisar saber.
Melhorias, relíquias e dificuldade são modificadores (domain/loadout.js) que viram um único objeto de
atributos lido pela batalha. As corridas (domain/run.js) usam geradores com semente e registram cada jogada,
então o servidor refaz a corrida do Desafio do Dia com o mesmo código (server/src/shared.js).
Todas as sprites seguem o padrão 64x64 px (animações são folhas horizontais de frames 64x64) e são desenhadas em código com uma paleta única, então o jogo inteiro tem o mesmo estilo. Para alterar ou criar arte:
tools/sprites/art/ (hunter.mjs, enemies.mjs, icons.mjs, fx.mjs, ui.mjs, tiles.mjs)npm run assets (gera os SVGs, o bundle.json e o manifesto src/config/sprites.generated.js)A fonte JokenPixel (com acentos do português) é desenhada em tools/font/glyphs.mjs.
Use tamanhos múltiplos de 8px (16, 24, 32...) para ela ficar nítida.
Cada música é um texto em assets/music/*.scrim (formato Scrimshaw: vozes, padrões e play/loop).
O jogo compila a partitura e toca com os instrumentos sintetizados do Scrimshaw, então as músicas
pesam poucos KB. Para compor ou testar, cole o arquivo no editor do
Scrimshaw Jukebox e confira com
node tools/music/check.mjs.
Cada tela diz a sua trilha (music() em scenes/); o jogo troca ao entrar na tela e mostra um aviso
discreto "Tocando: nome da música" (dá para desligar em Opções). Janelas com trilha própria, como o
Ateliê, tocam por cima da tela e devolvem a música dela ao fechar. O botão de nota no canto de cima à
direita, presente em todas as telas, liga e desliga só a música (a escolha fica salva).
| Arquivo | Onde toca |
|---|---|
menu | menu principal |
mapa | mapa |
conto | histórias e diálogos |
batalha | batalhas do Ato I e o começo das corridas |
sombras | batalhas do Ato II |
chefe | chefes |
rainha | Morgana |
lobby / duelo | Arena e duelos online |
atelie | Ateliê (editor de avatar) |
vitoria / derrota | vinhetas de resultado |
vercel.json). legacy/, tools/, tests/ e server/ ficam fora do deploy.server/ como raiz.
O endereço fica em src/config/multiplayer.js. Detalhes em server/README.md.MIT — veja LICENSE.