Um jogo FPS retro desenvolvido em Vanilla JavaScript, explorando temas do cangaço brasileiro e elementos místicos. Uma engine de raycasting do zero, sem frameworks ou bibliotecas externas.
"O Rezo" é uma homenagem ao folclore brasileiro, combinando mecânicas clássicas de FPS com a estética da caatinga e elementos sobrenaturais. O projeto serve tanto como jogo quanto como material educacional para desenvolvimento de jogos 2.5D.
Características principais:
- 🎯 Engine Raycasting construída do zero
- 👻 Inimigos sobrenaturais (Alma Penada)
- 🔫 Sistema de combate com hitscan
- 🌙 Ambiente noturno místico
- 🎨 Texturas procedurais
- 📚 Código educativo e bem documentado
Acesse a versão mais recente diretamente no navegador: [Link do Jogo Aqui] (GitHub Pages - em breve)
- WASD - Movimentação
- Mouse - Olhar ao redor
- Clique Esquerdo - Atirar
- Clique Direito - Bloquear ponteiro do mouse
Objetivo: Sobreviva aos espíritos da caatinga! Mate a Alma Penada antes que ela consuma sua fé.
Importante: Devido ao uso de módulos ES6, o jogo não pode ser executado diretamente abrindo o arquivo
index.htmlno navegador. É necessário um servidor local para evitar erros de CORS.
# Navegue até a pasta do projeto
cd /caminho/para/orezo
# Execute o servidor
python3 -m http.server 8080
# Abra http://localhost:8080 no navegador# Instale globalmente (opcional)
npm install -g http-server
# Execute na pasta do projeto
http-server .
# Abra http://localhost:8080 no navegador- Instale a extensão "Live Server" no VSCode
- Clique com o botão direito em
index.html - Selecione "Open with Live Server"
- Frontend: HTML5 Canvas, CSS3
- Linguagem: JavaScript ES6+ (Módulos)
- Renderização: Raycasting customizado
- Áudio: Web Audio API (planejado)
- Build: Nenhum (Vanilla JS puro)
orezo/
├── index.html # Página principal
├── style.css # Estilos globais e HUD
├── src/ # Código fonte
│ ├── main.js # Loop principal do jogo
│ ├── player.js # Classe do jogador
│ ├── raycaster.js # Engine de renderização
│ ├── weapon.js # Sistema de armas
│ ├── enemy.js # Inimigos
│ ├── map.js # Definição do mapa
│ └── textures.js # Texturas procedurais
├── assets/ # Recursos (planejado)
├── docs/ # Documentação adicional
├── README.md # Este arquivo
├── CONTRIBUTING.md # Guia para contribuidores
└── LICENSE # Licença MIT
Contribuições são bem-vindas! Este projeto é mantido pela comunidade de desenvolvedores brasileiros interessados em jogos indie e cultura nacional.
Leia o CONTRIBUTING.md para começar.
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
"Na caatinga, o sertão vira labirinto e o céu vira inferno."