Portfólio

Do Not Disturb - Steam | itch.io

Do Not Disturb é um terror side-scroller 2D ambientado em locais reais abandonados de Manaus, onde Lara procura sua amiga desaparecida, Yara, enquanto enfrenta criaturas do folclore amazônico. Com ritmo lento e opressivo, o jogo mistura narrativa direta, tensão crescente e puzzles desafiadores. Entre música tensa, jump scares e ambientes em decomposição, os jogadores são levados a questionar a relação entre Lara e Yara — e até o que é real. Inspirado em Detention e Little Nightmares, entrega uma experiência densa e emocional enraizada na cultura brasileira.

Funcionalidades

  • Reconhecido na Game Jam Plus 2020 (em uma edição com mais de 1.100 participantes e mais de 280 jogos competindo) Melhor Narrativa, Melhor Jogo do Brasile Melhor Jogo do Mundo.
  • Tech Lead & Lead Programmer de um terror side-scroller 2D inspirado em narrativas de Manaus, Brasil, liderando uma equipe com programadores, design, artistas e áudio.
  • Arquitetou sistemas core do zero usando arquitetura event-driven (events/delegates em C#), design orientado a SOLID, padrão Observer e State Machines, melhorando desacoplamento e escalabilidade de features.
  • Responsável pela implementação end-to-end, incluindo IA de inimigos, sistema de câmera, player controller, puzzles, sistema de interação, implementações de UI, iluminação, sistema de jump-scare e sistema de cutscene customizado (baseado em vídeo e controle autônomo de personagens).
  • Construiu sistema de diálogos ramificados com escolhas e variáveis, apoiado por conteúdo JSON e dados em ScriptableObject para narrativa/coletáveis, permitindo iteração rápida de conteúdo de história e localização.
  • Implementou pipeline de localização com suporte a EN/PT/ES (demo lançada com EN/PT, projetado para permitir integração simples de novo conteúdo de diálogos).
  • Integrou FMOD com abordagem de disparo de áudio orientada a eventos e expôs controles de áudio via menu de Settings no jogo.
  • Estabeleceu processo de engenharia com Git Flow, branches de feature e code review obrigatório; atuou como único aprovador de PRs, garantindo consistência estrutural e prevenindo desvio arquitetural.

Crisálida - Steam

Crisalida é uma visual novel narrativa 2D com point-and-click , câmera fixa e foco em escolhas. A história acompanha uma jornada curta e emocional sobre memória, lutoe cura, em que o jogador ajuda Írisa reconstruir lembranças fragmentadas e descobrir verdades escondidas. O jogo está planejado para Nintendo Switch e Steam e futura expansão para outras plataformas.

Atuei como Unreal Programmer. Durante o desenvolvimento, fui responsável pelo papel de UI/UX para atender demandas críticas, atuando como UI Designer e UI Programmer para assegurar que a interface do projeto estivesse completa a tempo.

Funcionalidades

  • Interação point-and-click: correção das áreas de toque em todos os cenários, garantindo consistência e reduzindo erros de interação.
  • UI completa de menus:
    • Menu principal
    • Menu de pause
    • Menu de opções/configurações
  • Áudio: configuração de opções de volume
  • Sistema Enhanced Input:
    • suporte a controle, teclado e mouse.
    • desenvolvi sistema de remapeamento de comandos.
  • Bug fixing geral: correções de estabilidade e comportamento, especialmente em UI e interação.

Klysm

Klysm foi um projeto de FPS futurista em Unreal Engine 4.26 para PC, com foco em partidas multiplayer e modos competitivos como Capture the Flag, Conquest, Team Deathmatche Rush. Isso representou um marco significativo na demonstração da adaptabilidade técnica e do desenvolvimento de UI em alta velocidade.

Atuei como programador com um time multidisciplinar de 6 pessoas, incluindo desenvolvedores, level designers e artistas 3D/VFX.

Funcionalidades

  • Desenvolvimento de elementos de HUD responsivos e menus interativos.
  • Implementação de efeitos de UI/UX para reforçar a sensação futurista.
  • Garantir que a nova interface fosse totalmente integrada à mecânica principal do jogo em menos de quatro meses.
  • Analisar a arquitetura existente do projeto para compreender o fluxo de dados em rede.
  • Implementação de atualizações de UI sincronizadas com a rede e sistemas de feedback do jogador.

Embora minha principal especialização seja em Unity e C#, este projeto demonstrou minha capacidade de adaptação para a Unreal Engine e dominar programação visual Blueprint em um ambiente profissional. A entrega bem-sucedida de uma reformulação completa da UI destacou minha eficiência e habilidades de comunicação ao integrar design e programação.

Portfólio Interativo - Jogue agora

O Portfolio Interativo é uma experiência baseada em navegador desenvolvida em Unity WebGL. É um sandbox isométrico 3D hospedado no site pessoal dele, com o código fonte disponível publicamente no GitHub. Construí quatro minigames principais além de elementos interativos no mundo, focando em lógica de gameplay limpa e otimização de performance para WebGL. A câmera só muda de perspectiva durante os minigames ou ao entrar em áreas específicas, mantendo a navegação intuitiva.

Minigames

  • Jogo da Velha (3×3): Single-player contra uma IA, acessado ao interagir com um quadro de sala de aula.
  • Timbiriche (Dots and Boxes): Regras clássicas com um oponente de IA; cada linha colocada referencia quadrados adjacentes e aciona uma verificação das quatro bordas vizinhas
  • Labirinto Procedural: Gerado via recursive backtracking; ao entrar na primeira célula a câmera muda para visão top-down, e ao sair a cena é reiniciada — quando o jogador se afasta, um novo labirinto é gerado e surge do chão.
  • Jogo da Memória (4x4): Cartas baseadas em números; após revelar duas peças, o sistema compara seus valores de texto internos para detectar combinações e marcar pontos.

Recursos e áreas de demonstração

  • Interações dinâmicas no ambiente, como uma estátua central que muda de pose sempre que o jogador se afasta e ela sai do campo de visão da câmera.
  • Uma área de vitrine de hobbies com avatares animados (exercícios físicos, jogos e momentos em família), transformando informações pessoais em narrativa interativa.
  • Uma sala de Museu com uma câmera em primeira pessoa, apresentando outros projetos através de placas descritivas, screenshots emoldurados nas paredes e hologramas que renderizam vídeos de cada jogo.
  • Uma zona de Arcades (em desenvolvimento) que introduzirá uma economia de moedas: jogadores coletam moedas no mundo e ganham mais ao vencer minigames, depois as gastam para acessar novos minigames de arcade.
  • Consistent Transição de câmera para cada minigame, melhorando legibilidade e interação sem quebrar o fluxo geral da experiência.

Enchanted Dreams - Jogue agora

Enchanted Dreams é um jogo de exploração com combate desenvolvido em 7 dias para a Joga Manaus Jam 2025 (JMJ 2025), publicado no itch.io. O projeto conta a história de um jovem garoto que adentra o mundo dos sonhos de sua avó em coma, enfrentando memórias esquecidas e desafios simbólicos.

Mecânicas e Sistemas Implementados

  • Combate em duas etapas: Um sistema único onde o espírito da avó se projeta na última direção de input com movimento elástico. Se o jogador pressionar ataque novamente durante a projeção, um ataque de espada espiritual causa dano; caso contrário, o inimigo é apenas empurrado. Isso exige timing e precisão do jogador.
  • Movimentação e controle do personagem: Movimentação e controle do personagem: Implementação de movimento, ataque e sensor para detectar objetos escondidos no ambiente.
  • Comportamento de inimigos: IA de sapo que pula rapidamente, exigindo dois ataques para ser derrotado.
  • Interações com ambiente: Portas, gatilhos de interação e objetos escondidos.
  • Sistema de diálogo: Interface para narrativa e interação com o espírito da avó.
  • UI e splash screen: Implementações de interface e vídeo de introdução.

CLOOP - Play Store | itch.io

CLOOP é um jogo casual mobile desenvolvido em Unity (C#) publicado na Google Play Store e itch.io. O jogo apresenta uma estética minimalista 2D em preto e branco e foca em uma mecânica core simples mas viciante: uma bola orbita ao redor de uma esfera, e o jogador toca em qualquer lugar da tela para lançá-la em linha reta. Se atingir outra esfera, o jogo continua infinitamente; se errar, a sessão termina e a pontuação mais alta é salva localmente.

Mecânicas e Sistemas Implementados

  • Controle de um toque: Toque em qualquer lugar para lançar a bola em linha reta; botões adicionais de UI para navegação.
  • Posicionamento procedural de esferas: Todas as esferas são posicionadas aleatoriamente com base na distância da última esfera, tamanho da tela e pontuação atual. O tamanho da esfera e a velocidade de rotação aumentam conforme o jogador progride.
  • Object pooling: Esferas são reutilizadas via pooling para evitar overhead de alocação e manter performance suave em dispositivos móveis.
  • Sistema de high score local: Melhor pontuação persistida localmente sem serviços externos.
  • Fluxo completo de UI: Menu principal, HUD do jogo, tela de game over, créditos e diálogo de confirmação de saída.

Trash Dash - Jogue agora

Trash Dash é um endless runner 3D desenvolvido em Unity (C#) publicado na itch.io. O jogador controla um gato ágil coletando peixes enquanto escapa de um cão bravo, correndo por um sistema de 3 pistas com mecânicas de pulo e deslize. O projeto apresenta um estilo de arte 3D cartunesco usando assets da Unity Asset Store, com scripts customizados para todos os sistemas de gameplay.

Mecânicas e Sistemas Implementados

  • Endless runner de 3 pistas: Controles de swipe no mobile (toque), setas/WASD no PC, com ações de troca de pista, pulo e deslize.
  • Geração procedural de níveis: Blocos de cenário se conectam sem costura, spawnando novas seções conforme o jogador avança, criando uma corrida infinita.
  • Sistema de obstáculos: Obstáculos estáticos (lixeiras, placas, cones) distribuídos pelas pistas, exigindo reflexos rápidos para evitar.
  • Coletáveis: Peixes espalhados pelo percurso, recompensando atenção e tomada de risco do jogador.
  • High score local: Pontuação calculada com base na distância percorrida, persistida localmente para valor de replay.
  • Object pooling: Blocos de cenário reutilizados via pooling para otimizar memória e manter performance suave em dispositivos móveis com assets 3D texturizados.