Este projeto é um motor para um jogo 2D narrativo de visão de cima (top-down) construído com tecnologias web modernas. O foco principal é criar uma experiência de desenvolvimento extremamente rápida e interativa, aproveitando ao máximo o Hot Module Replacement (HMR) do Vite.
- Vue.js 3: Para a renderização reativa dos componentes do jogo.
- Vite: Como servidor de desenvolvimento e ferramenta de build, fornecendo HMR.
- Pinia: Para o gerenciamento de estado global (posição do jogador, estado do mundo).
- TypeScript: Para segurança de tipos e um desenvolvimento mais robusto.
- Tiled Map Editor: Para o design dos níveis, exportado para JSON.
- Renderização de Mapas do Tiled: Renderiza mapas complexos com múltiplas camadas de tiles, cada uma em seu próprio canvas para um
z-index
correto. - Hot Reload para Level Design: Ao salvar o arquivo
.json
do mapa, o mundo do jogo é atualizado em tempo real sem recarregar a página ou perder a posição do jogador. - Hot Reload para Arte: Ao salvar a imagem do tileset (
.png
), os gráficos do mapa são atualizados instantaneamente. - Movimentação e Colisão: O jogador pode se mover pelo mapa e colide com objetos marcados com a propriedade customizada
solid
no Tiled. - Ilusão de Profundidade: A ordenação (
z-index
) de objetos e do jogador é calculada dinamicamente com base na sua posição Y, permitindo que o jogador passe na frente ou atrás de objetos do cenário.
- Instalar dependências:
npm install
- Iniciar o servidor de desenvolvimento:
npm run dev
O servidor estará disponível em http://localhost:5173
.
Para uma explicação detalhada da arquitetura, veja o arquivo docs/ARCHITECTURE.md
.