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.
JokenGhost — Caçada em Turnos: um RPG de pedra, papel e tesoura contra fantasmas.
Translation pending
GamesJavaScript · PythonGitHub @VitorprogrammerjuniorOnlineOwner 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 ↗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.