Projetos / Streets of Rio

Jogo web

Streets of Rio

Jogo de luta 2D estilo arcade clássico, ambientado no Rio de Janeiro, com um elenco de personagens baseado na família do criador — sem sangue, com arte cartoon vetorial e 60 quadros por segundo.

Publicado
SO

O problema ou oportunidade

Um projeto autoral, feito para explorar até onde a IA consegue ajudar a programar um jogo de luta completo do zero — do motor gráfico à trilha sonora — sem usar nenhum motor de jogo pronto.

O que a solução faz

Streets of Rio é um jogo de luta 2D com o campeonato clássico (Versus CPU, Versus Local e Treinamento) e um modo história cooperativo, tipo beat 'em up, percorrendo sete bairros do Rio de Janeiro. O elenco de seis lutadores é formado por personagens batizados com nomes da família do criador, cada um com atributos próprios de força, velocidade, defesa, alcance e especial.

Principais funcionalidades

  • Campeonato clássico: Versus CPU (fácil, normal e difícil), Versus Local (2 jogadores no mesmo teclado ou gamepad) e Treinamento (hitboxes, reset rápido, barra infinita e boneco de treino controlável)
  • Modo História cooperativo, com ondas de inimigos, itens e chefes em sete bairros: Copacabana, Lapa, Centro, Madureira, Barra da Tijuca, Santa Teresa e Ramos
  • Seis lutadores selecionáveis — Rafael, Alice, Nathalia, Ana Clara, Bela (acompanhada do cachorro Bingo) e Raquel — cada um com atributos de Força, Velocidade, Defesa, Alcance e Especial
  • Golpes especiais próprios por personagem (como Scratch Combo, Uppercut de Vinil e Guarda no Ritmo), supers com até três barras, movimentos EX e comandos clássicos
  • Cinco cenários: Dojo da Família Braz, Sala de Casa, Studio Cinza, Playground Arcadizado e Noite no Rio
  • Controles completos por teclado (dois jogadores) e gamepad, com remapeamento de botões nas Opções
  • Regras de campeonato: melhor de três rounds, 99 segundos por round e bônus por vencer sem tomar dano ("Perfeito")

Como a inteligência artificial foi utilizada

  • ChatGPT, Claude e Codex apoiaram a programação do motor do jogo (física, colisões, máquina de estados de combate) e o balanceamento dos golpes
  • Geração e ajuste da arte vetorial dos personagens e cenários, e da trilha sonora sintetizada via WebAudio
  • Testes e ajustes finos do sistema de combos, supers e do modo história

Arquitetura resumida

Jogo inteiramente client-side: HTML5 Canvas acelerado por GPU, JavaScript puro (sem frameworks ou motores de jogo prontos), sprites vetoriais desenhados para o projeto e áudio 100% sintetizado via Web Audio API — cada golpe e personagem tem sons próprios gerados por código. O loop principal roda a 60 quadros por segundo fixos, com buffer de input.

Estado atual

Publicado e jogável no navegador, hospedado no Cloudflare Pages.

Tela de abertura, menu principal e seleção de personagens vistos ao vivo durante esta análise — para o restante (combate e modo história), o melhor é jogar direto no link.