← Projetos

Race Game

Jogo de corrida 1v1 side-scrolling no navegador, desenvolvido com Three.js puro, com física customizada, áudio procedural e modelagem gráfica 100% gerada via código.

2026
Jogar agora →GitHub →
Three.jsViteWeb Audio APICanvas APIJavaScript
Race Game - lobby 3D interativo

O Contexto e o Desafio

Este projeto nasceu da vontade de explorar os limites da renderização 3D e da manipulação de dados diretamente no navegador, sem depender de engines ou frameworks de interface.

O desafio central foi criar um jogo de corrida fluido e imersivo, controlando um veículo com física de suspensão realista, onde a dependência de assets externos fosse reduzida a quase zero. O resultado é uma aplicação leve, rápida e que extrai o máximo desempenho das APIs nativas da web.

Destaques Técnicos e Engenharia

O maior diferencial na arquitetura dessa aplicação é a forte dependência de geração procedural, tanto para a parte visual quanto para a sonora.

Modelagem Procedural

O veículo (inspirado no clássico Toyota Bandeirante) foi construído inteiramente via código no Three.js, eliminando a necessidade de carregar arquivos 3D tradicionais (.glb). A malha foi montada com formas geométricas primitivas sobrepostas para eliminar costuras, com detalhes como janelas com clearcoat e faróis hemisféricos.

Engenharia de Som

O jogo não utiliza arquivos de áudio pré-gravados para o motor. O som é sintetizado matematicamente em tempo real via Web Audio API. O sistema simula um motor de 4 marchas com transições dinâmicas de frequência, oscilações de RPM e um efeito de descompressão do turbo (blow-off) criado através da filtragem precisa de ruído branco.

Física Customizada

A mecânica do carro não utiliza bibliotecas de física prontas. Foi implementado um sistema matemático próprio que calcula o comportamento independente da suspensão (mola-amortecedor), a influência da gravidade durante saltos e a interação da hitbox dinâmica 2D contra a malha do terreno gerado.

Sistema de Partículas

A fumaça do escapamento é gerenciada por um pool otimizado de 100 sprites em Canvas API. A densidade, direção e turbulência das partículas reagem de forma dinâmica às ações do jogador, mudando com a ativação do turbo, aumento de velocidade ou durante manobras no ar.

Lobby e Otimização

O menu inicial apresenta uma visualização 3D interativa do carro, suportando eventos de drag e zoom para mouse e touch. O loop principal da corrida foi desenhado para atualizar a telemetria, renderizar o cenário e processar a inteligência do bot inimigo sem comprometer a taxa de quadros do navegador.

Próximos Passos

A infraestrutura atual serve como MVP de um ecossistema competitivo. As próximas etapas focam em transformar a experiência individual em uma plataforma multiplayer.

PvP Online

Implementação de modo multiplayer em tempo real utilizando WebSockets para sincronização de estado entre jogadores.

Ranking e Leaderboard

Sistema de pontuação persistente com tabela de classificação global e histórico de corridas por jogador.

Economia Interna

Desenvolvimento de moeda virtual e sistema de apostas nas corridas, com potencial de evolução estrutural para uma plataforma competitiva.