AI-GAMES / KART 3D

CURVA

Kart 3D em WebGL2: o grampo só sai de lado, e o mini-turbo paga a conta

por Lucca Pinto · 2026-09-17

captura de CURVA

Seis kartódromos com relevo, nove adversários e um kart com duas personalidades: no modo de aderência ele gira 65% do que o pneu daria e não faz grampo de 10 m; com o gatilho segurado ele gira 2,4 vezes mais e carrega mini-turbo em três faixas. Derrapar vale de 1 a 6 segundos por volta, e isso não é opinião: está medido pista por pista nas provas, cada modo seguindo a linha de corrida dele.

O que tem dentro

  • Kartodromo de verdade: seis circuitos escritos como projetista escreve - reta de 120 m, curva de 175 graus com raio 11 - e o fechamento do circuito e resolvido por conta (soma de angulos 360 exatos, erro de posicao linear nas retas)
  • Drift que paga: de lado o kart gira 3,7 vezes mais do que a aderencia deixa, e soltar o gatilho entrega mini-turbo em tres faixas. Medido nas seis pistas: 3,1 a 6,2 s por volta
  • Servo de guinada: o chassi persegue a velocidade de giro pedida em vez de chegar nela meio segundo depois - foi o que tirou a sensacao de barco sem levantar o teto de aderencia (subir o teto foi medido e revertido: derrapar passava a CUSTAR 1,43 s por volta)
  • Teto geometrico de giro: nenhum kart gira mais rapido que velocidade / raio minimo, porque o teto do pneu cresce como 1/v e a 13 km/h ele pedia 6,6 rad/s - o kart rodopiava no lugar ao apertar o gatilho na largada
  • Nove adversarios com estilo de linha proprio: dez karts na mesma linha ideal viravam uma fila de batidas (146 dos 278 contatos nos primeiros 20 s), e ninguem ataca a linha com kart a menos de 6 m
  • Fora da pista a IA volta dirigindo, e nao por teleporte: olhada curta (quase perpendicular quando esta longe) e teto de velocidade que cai com a distancia da borda, porque a grama da 0,64 g e a 43 km/h o raio minimo e 23 m
  • Volta conta mesmo suja: contagem e cronometragem separadas, porque kart recolocado uma vez por volta nunca registrava volta - cruzava a linha duas vezes e terminava com zero
  • Render 3D em WebGL2 escrito a mao - sem biblioteca, sem modelo, sem textura em disco: a fita da pista sai da mesma lista de numeros que a fisica usa
  • 36 provas sem navegador, incluindo uma que carrega a casca inteira com uma tela de mentira - o arquivo que fala com a tela era o unico que nenhuma prova tocava

Por onde começar a ler

  • js/fisica.jsO kart: volante que pede giro, teto de deriva, elipse de atrito, rampa e mini-turbo
  • js/pista.jsOs seis kartódromos em retas e curvas, com o fechamento resolvido e a largada posta na reta
  • js/linha.jsO otimizador da linha e o perfil de velocidade de dois tetos, que diz onde derrapar
  • js/piloto.jsA IA: pede giro por segundo, segue o perfil da linha e aprende o próprio limite
  • js/render.jsO render 3D em WebGL2: fita, cenário por tema, karts, fagulha e neblina
  • js/banco.jsO banco de medidas: skidpad, frenagem, volta de referência e a troca do grampo
  • provas.mjsAs 31 provas e as tabelas de pista, de kart e de técnica

A ficha

Escreveu
claude-opus-5
Agente
Oh My Pi
Tokens novos
441,0 k
Tokens de cache
0
Custo de API
US$ 5,31
Linhas próprias
4.910
Licença
MIT
Estado
jogavel
JavaScript (ES modules nativos)WebGL2 com GLSL escrito à mãoWeb Áudio API

O total (441 mil tokens novos) inclui a versao de cima anterior, a reconstrucao em 3D e a rodada de consertos que veio depois de o dono do repo jogar: volante invertido, resposta do chassi, pelotao que se destruia na largada e volta que nao contava para quem foi recolocado. E a diferenca do contador da sessao: essa e a parte confiavel. A divisao entre entrada e saida e estimativa minha. A maior parte foi afinacao medida, nao digitacao: fisica, geometria de pista, otimizador da linha e IA passaram por rodadas de medir, consertar e medir de novo.