尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Arena shooter 2D multiplayer que roda no navegador (PC, Android, iPhone) sem instalação. Phaser 3 + TypeScript + Vite (cliente) · Node.js + Colyseus + WebSocket (servidor autoritativo).
npm install
npm run build && npm start # http://localhost:2567 (cliente e servidor juntos)
# ou, em desenvolvimento:
npm run dev:server # terminal 1 (porta 2567)
npm run dev:client # terminal 2 (http://localhost:5173)
Para testar no celular na mesma rede Wi-Fi, abra http://IP-DO-PC:2567 (após npm run build && npm start).
| PC | Celular |
|---|---|
| WASD/setas: mover | Joystick esquerdo: mover |
| Mouse: mirar · clique: atirar | Joystick direito: mirar; empurrar = atirar |
| Espaço: dash · R: recarregar · Esc: menu | Botões DASH e ↻; ⚙ abre o menu |
Som e efeitos: botão 🔊 (ou tecla M) liga/desliga o som; ⚙ (ou Esc, também no menu inicial) abre as opções: volume, sons de tiro, de movimento, de combate, efeitos visuais, seta de mira e vibração. Tudo fica salvo no aparelho.
Toques são multitoque (mover e atirar ao mesmo tempo); rolagem, zoom por pinça e toque duplo são bloqueados; HUD respeita a área segura (notch).
src/shared/sim.ts: regras, mapa e física (movimento/dash) usados pelo servidor e pela predição do cliente.src/server/ArenaRoom.ts: simulação a 30 Hz, tiros, dano, abates, respawn, fim/reinício de partida, reconexão (20 s), limite de taxa. O cliente só envia entradas; todo resultado é decidido no servidor, igual para PC e celular.src/client: Phaser (mundo), predição + reconciliação do jogador local, interpolação dos demais, HUD/controles em DOM, qualidade gráfica automática (reduz só efeitos, nunca regras).O servidor serve o cliente e o WebSocket na mesma porta/origem, então basta hospedar o container:
Dockerfile (render.yaml incluso). O domínio recebe HTTPS e o cliente usa WSS automaticamente.Variáveis: PORT (padrão 2567), KILL_LIMIT (padrão 15).
npm run test:smoke (com o servidor rodando; use KILL_LIMIT=4 para ser rápido): 2 bots jogam, valida tiros, abates, fim/reinício e reconexão.
Chrome e Edge (PC), Chrome (Android), Safari (iPhone): toque/multitoque, paisagem/retrato, tela cheia (não existe no iPhone; use "Adicionar à Tela de Início"), partida com PC + celular juntos, queda de Wi-Fi.
Gatos: kit "Free Cartoon Cat Defense Game Asset Kit" (Craftpix.net, licença gratuita da Craftpix). As folhas de sprites em public/cats/ foram geradas a partir dele; a pasta original do kit não vai para o deploy (.dockerignore).