ARDamas
Jogo de damas realidade aumentada

Intro
A ideia de transpor o clássico jogo de damas para a Realidade Aumentada (RA) foi um mergulho profundo e colaborativo na engenharia gráfica e na lógica de jogo dentro de um ambiente tridimensional. Quero deixar um agradecimento especial ao meu colega, Henrique Leal, com quem tive o prazer de desenvolver cada aspecto desta experiência. Juntos, exploramos os limites do ARKit e RealityKit, criando uma jornada incrivelmente enriquecedora e um projeto que vai muito além de simples sobreposições visuais. A seguir, detalho as decisões técnicas que sustentam essa aplicação.
Project

A Engenharia da Geometria Procedural
O maior diferencial técnico deste projeto foi a decisão de não utilizar modelos 3D externos baixados da internet. Em vez de consumir recursos de rede ou carregar arquivos pesados, mergulhei profundamente na geometria computacional dentro do RealityKit. Toda a cena — as peças e o tabuleiro — foi gerada matematicamente via código. Ao invocar as geometrias generateBox e generateCylinder, o processador calcula, em tempo real, as coordenadas exatas de cada vértice e ponto no espaço para esculpir o cubo do tabuleiro ou o cilindro das peças. Esse controle sobre o 'esqueleto' de cada objeto garantiu uma otimização ímpar da aplicação.
Materiais PBR e Realismo Físico
Para que as formas geométricas gerassem imersão, não podíamos apenas 'pintá-las'. Implementei materiais utilizando o conceito de PBR (Physically Based Rendering - Renderização Baseada em Física) através de SimpleMaterial. Em vez de cores estáticas, definimos propriedades físicas reais. É por isso que as peças de damas reagem de forma realista à luz da sua sala, refletindo o ambiente com um acabamento que simula plástico real, enquanto o tabuleiro foi ajustado com uma Roughness (rugosidade) diferente para parecer mais fosco. Cada objeto não é apenas um modelo; é uma simulação física de um material real.
Arquitetura de Hierarquia de Entidades e Lógica de Estado
Para gerenciar a complexidade de um tabuleiro de damas móvel no mundo real, desenhei uma arquitetura baseada em hierarquia rigorosa. A boardEntity funciona como a entidade pai, enquanto todas as peças e quadrados são filhas dela. Isso foi crucial para a UX, pois permite que o usuário movimente o tabuleiro inteiro para onde quiser e a física e a lógica do jogo o acompanham perfeitamente.
Nos bastidores, integrei uma robusta lógica de validação de estado. O jogo não apenas valida as regras básicas (movimento diagonal e captura), mas também implementa verificações de turno rigorosas: se o jogador está com as pedras vermelhas, a lógica de inputs impede qualquer interação com as peças pretas. Todo esse fluxo de jogo é orquestrado até a renderização de telas específicas para vitória, derrota ou reinício da partida.

O Desafio do Multiplayer
Para levar a imersão ao próximo nível, expandi o projeto para uma experiência colaborativa. Através do framework Multipeer Connectivity, estabeleci uma rede local de baixa latência que sincroniza as ações entre dois dispositivos. Isso exigiu a implementação de um fluxo constante de troca de dados de estado do jogo, garantindo que a posição de cada peça (e a captura dela) fosse refletida instantaneamente e com fidelidade espacial no dispositivo de ambos os jogadores.


