Este é o repositório do Snake Battle, um jogo multijogador competitivo baseado no clássico "Snake", desenvolvido com:
- Frontend: Phaser 3 (HTML5 2D Game Engine)
- Backend: Express.js + Socket.io
- Linguagem: TypeScript (Full-Stack)
- Estilo: Pixel Art Retro 8-bit
Snake Battle é uma versão moderna e competitiva do clássico jogo da cobrinha. Duas cobras competem em um mapa fechado, comendo frutas para crescer enquanto evitam colisões (consigo mesmas, uma com a outra e com as paredes).
- 🐍 Solo ou 2 Jogadores Locais: modo solo ou P1 (WASD) vs P2 (Setas)
- 🍎 Sistema de Frutas: Coma frutas para crescer e ganhar pontos
- ⚡ Poderes Especiais: 6 poderes únicos para ganhar vantagem tática (Fase 2+)
- 🎯 Níveis de Dificuldade: Easy, Normal, Hard, Insane
- 🗺️ Obstáculos: Blocos estáticos e móveis em Hard e Insane (Fase 3+)
- 🎨 Estética Retro: Visual pixel art 8-bit com cores vibrantes
- Node.js 18+ LTS (download)
- npm 8+ ou yarn 3+
- Git
- Clone o repositório:
git clone https://github.com/felurye/joguinho-o-retorno.git
cd joguinho-o-retorno- Copie o arquivo de variáveis de ambiente:
cp .env.example .env- Instale as dependências:
npm installPara rodar o servidor E cliente em modo desenvolvimento com hot reload:
npm run devIsso iniciará:
- 🖥️ Servidor: http://localhost:3000
- 🎮 Cliente: http://localhost:5173
Qualquer alteração em .ts será refletida instantaneamente!
npm run build
npm run startIsso vai:
- Compilar o TypeScript
- Fazer bundle do Phaser com Vite
- Servir o cliente via Express
| Ação | Jogador 1 | Jogador 2 |
|---|---|---|
| Cima | W | ↑ |
| Baixo | S | ↓ |
| Esquerda | A | ← |
| Direita | D | → |
| Pausa | P | P |
- Chrome 90+
- Firefox 88+
- Safari 14+
- Edge 90+
| Componente | Tecnologia | Versão |
|---|---|---|
| Language | TypeScript | 5.0+ |
| Game Engine | Phaser | 3.55+ |
| Backend | Express | 4.18+ |
| Real-time | Socket.io | 4.5+ |
| Build Tool | Vite | 4.3+ |
| Runtime | Node.js | 18+ LTS |
# Windows
netstat -ano | findstr :3000
taskkill /PID <PID> /F
# macOS/Linux
lsof -i :3000
kill -9 <PID>rm -rf node_modules package-lock.json
npm installVerifique se o servidor está rodando em http://localhost:3000 e a variável CORS_ORIGIN está correta no .env
Fase atual: Fase 0 - Fundação e Single Player ✏️
- Fase 0: Fundação técnica + cobra solo jogável
- Fase 1: Multiplayer local + 4 dificuldades
- Fase 2: Poderes set 1 (Speed Boost, Invisibilidade, Speed Reversal) + polish visual
- Fase 3: Poderes set 2 (Sabre, Caracol, Pedra) + obstáculos em Hard/Insane
- Fase 4 (opcional): Online, skins e leaderboard
- Fase 5: Pós-lançamento
|
Daniele Araújo 💻 📖 🤔 |
Samantha Kellen 💻 💡 🤔 |
Natanael Ferreira 🎨 🤔 |
![]() Vitor Gonçalves 🎨 🤔 |
- Game Design: docs/snake-battle.md - Mecânicas, poderes, dificuldades
- Plano de Desenvolvimento: docs/plano-de-desenvolvimento.md - Fases, entregáveis, checkpoints
Este é um projeto em desenvolvimento. Contribuições são bem-vindas!
- Faça um Fork
- Crie uma branch (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
Distribuído sob a Licença MIT. Veja LICENSE para mais informações.
