Como a Oxobox Games construiu um tabuleiro baseado em dados para impulsionar a estratégia de seis jogadores de Sente.

O que acontece quando você pega a profundidade estratégica do xadrez e do Go e permite que até seis jogadores se movam exatamente ao mesmo tempo? Essa é a premissa por trás de Sente , um jogo de estratégia com tabuleiro hexagonal da Oxobox Games, da Argentina, feito com Unity. Os jogadores colocam fichas em um tabuleiro hexagonal para construir redes de energia, disparar lasers e caçar os núcleos de energia dos oponentes – tudo isso enquanto todos os outros na mesa estão planejando a mesma coisa, simultaneamente.
Conversamos com Fernando Picate, diretor de jogos e programador principal (e um dos cofundadores do estúdio), e Joaquín Frere, produtor e responsável pelas relações públicas, sobre como resolver as jogadas de seis jogadores simultaneamente, criar um editor de tabuleiro tão simples que o próprio designer de jogos nunca precisou abrir o Unity e transformar um projeto de paixão de décadas em um jogo publicado.
De um hobby de jogos de mesa a mais de uma década no Unity
Sente é o primeiro jogo da Oxobox; o estúdio também trabalha na pós-produção de filmes e programas de TV, fornecendo legendagem, dublagem e controle de qualidade para a indústria do entretenimento. No entanto, Sente é , na verdade, um filme anterior ao próprio estúdio. A ideia original surgiu de esboços e protótipos em papel com os quais a equipe – que são amigos fora do trabalho – começou a experimentar na década de 1990, com base em uma ideia do designer de jogos Javier Mrad. As primeiras versões jogáveis foram construídas em Flash como um jogo para dois jogadores, com uma breve incursão no canvas HTML5 antes de chegarem ao Unity.
"Eu me senti em casa com o Unity imediatamente, embora não saiba bem porquê – nem me lembro o que havia no Flash que me parecia semelhante", diz Fernando. “Naquela época, o Unity também suportava JavaScript, o que parecia muito mais amigável do que começar direto com C++ para algo como o Unreal Engine. Assim que o JavaScript e o Boo foram descontinuados, migramos definitivamente para o C# – e ainda adoro trabalhar com Unity hoje em dia.”
Essa transição para o Unity (começando na versão 4.0 LTS, como Fernando lembra) também coincide com a mudança da Sente de um protótipo 2D para o tabuleiro totalmente 3D que os jogadores veem hoje. Desde então, a equipe vem aprimorando o sistema e agora desenvolve Sente na Unity 6.

Criar um jogo de tabuleiro onde ninguém precise esperar a sua vez.
O tabuleiro de Sente é construído em torno de núcleos de energia – internamente, o código ainda os chama de “reis” – peças centrais que irradiam energia para as células ao seu redor. Na sua vez, os jogadores podem mover seu núcleo ou colocar uma ficha em uma célula energizada. Os tokens têm dois lados: um lado metálico que protege contra lasers e conduz energia para os tokens vizinhos, e um lado vulnerável que dispara um laser quando carregado. Encadeie fichas suficientes e você poderá destruir o núcleo do seu oponente do outro lado do tabuleiro; perca o controle da sua própria rede e a mesma coisa acontecerá com você. Destrua as peças certas e você poderá até mesmo fundir duas peças conectadas em um novo núcleo de energia – jogando repentinamente com dois “reis” em vez de um, como se tivesse duas rainhas em um tabuleiro de xadrez.
O problema: com até seis jogadores, resolver os lances um de cada vez tornava as partidas insuportavelmente lentas. Assim, a Oxobox reconstruiu Sente em torno de giros simultâneos.

“Quando começa uma rodada, há um cronômetro, e cada jogador escolhe sua jogada”, explica Fernando. “Assim que todos decidirem – ou o tempo acabar – a rodada se resolve de uma só vez.” Isso significa que um jogador pode alinhar o que parece ser um tiro certeiro no centro do campo do adversário, apenas para vê-lo errar porque o adversário moveu um escudo para o lugar naquele mesmo instante.
Evitar que partidas com seis jogadores travassem completamente exigiu anos de ajustes. “Grande parte dos nossos testes foi dedicada a garantir que as placas não ficassem presas”, diz Joaquín. “Quando todos estão na defensiva, pode parecer que nada está acontecendo, mas sempre existe um incentivo para fazer uma jogada. Eventualmente, alguém cria possibilidades suficientes para que os outros não consigam acompanhá-las todas, e é aí que a partida começa. Entre jogadores fortes, essas partidas podem durar mais de uma hora – caso contrário, você estará falando de dez ou quinze minutos.”

Um modelo de dados, dezenas de ferramentas
Em Sente, cada tabuleiro – independentemente do seu tamanho ou das peças que o compõem – é armazenado como o mesmo modelo lógico subjacente, completamente desacoplado de como é renderizado na tela.
“Cada placa é armazenada como um modelo lógico, separado do que você realmente vê”, diz Fernando. “Esses mesmos dados são a base de tudo: nossa ferramenta de tabuleiro no editor, a randomização do tabuleiro durante o jogo e os modelos que incluímos no jogo. Podemos remodelar um tabuleiro qualquer número de vezes por segundo sem nunca tocar diretamente em um objeto da cena.”
Essa única fonte de verdade é o que permite à Oxobox oferecer tabuleiros hexagonais de tamanho 4 até tamanho 10 (sendo "tamanho" o número de células em cada borda do tabuleiro) – pequenos o suficiente para manter partidas rápidas e dinâmicas, e grandes o suficiente para suportar os quebra-cabeças mais elaborados para um jogador do estúdio, tudo isso sem a necessidade de manter sistemas separados para cada um. Ele também serve de base para o Gerenciador de Modelos de Tabuleiro personalizado da Oxobox, uma ferramenta de edição integrada diretamente ao Unity que permite a Fernando pintar tabuleiros manualmente – núcleos, tokens, obstáculos e buracos – com ferramentas de pincel e simetria, e depois salvar o resultado como um modelo reutilizável.

O editor de tabuleiro que não precisava de Unity de jeito nenhum.
Esse mesmo modelo de dados resolveu um problema muito mais específico: como permitir que alguém sem conhecimento de programação crie quebra-cabeças para sua campanha de um jogador?
O criador dos puzzles de Sente , Javier Mrad – a mesma pessoa cuja ideia original deu início a todo o projeto – nunca instalou o Unity. “Nem uma vez, não importa quantas vezes eu pergunte”, ri Fernando. “Foi exatamente isso que me obrigou a criar um editor de tabuleiro adequado para o jogo.” Cada tabuleiro pode ser exportado como uma string codificada, então Javier pode criar um tabuleiro inteiro ou o layout de um quebra-cabeça em sua própria planilha, me enviar a string e eu a importo diretamente para o jogo.”
A Oxobox planeja disponibilizar esse mesmo mecanismo de compartilhamento aos jogadores, para que eles também possam criar, exportar e negociar seus próprios tabuleiros futuramente.

Criando um roteiro para uma campanha de um jogador com o Timeline
A campanha para um jogador de Sente – onde os jogadores se disfarçam de robô para entrar sorrateiramente em um bar e desafiar seus frequentadores habituais – é construída quase inteiramente no pacote Timeline da Unity. Cada nível, ou "ramificação", é uma sequência de Linha do Tempo que entrelaça diálogos, movimentos de câmera e alterações no storyboard.
Para que isso funcionasse, a Oxobox criou várias faixas personalizadas para a Linha do Tempo: uma para mover os personagens de diálogo e definir suas expressões, uma para mover a câmera ao longo de curvas personalizadas para sequências cinematográficas e uma que transforma um quadro de um estado para outro no meio da Linha do Tempo, animando a mudança em vez de cortar para ela. O gerenciamento de ramificações é feito com sinais e marcadores da Linha do Tempo, que permitem que a campanha avance em caso de vitória ou retorne a um ponto de nova tentativa quando um jogador comete um erro.

“Usamos o Timeline constantemente e nunca tive nenhum problema sério com ele”, diz Fernando. “O tutorial é provavelmente a nossa sequência mais complexa – tem diálogos, mudanças no tabuleiro e movimentos de câmera, tudo sobreposto – mas até mesmo a final do nosso torneio, que usa trilhas spline personalizadas para a câmera e os personagens, roda no mesmo sistema.”
Essas mesmas faixas de diálogo também servem como pipeline de localização da Oxobox. “Já tínhamos bastante experiência em localização, graças à nossa trajetória em legendagem e dublagem”, diz Fernando. "Integramos nosso próprio gerenciador de localização diretamente em nossos clipes de diálogo, para que possamos editar as traduções de uma fala no momento em que a estamos escrevendo." No momento, estamos localizando o conteúdo para japonês, chinês, coreano e mais alguns idiomas, tudo por meio do TextMesh Pro.”

O que vem por aí para a Oxobox Games?
A Oxobox firmou parceria com a editora Curveball Games, e Sente está atualmente disponível para PC via Steam. A equipe pretende obter a verificação do Steam Deck e explorar plataformas de console futuramente.
Para um projeto que está em desenvolvimento desde a década de 1990, Sente serve como um lembrete de que uma equipe pequena e engenhosa pode se apoiar nas ferramentas do Editor da Unity para construir algo muito maior do que o número de seus membros – desde um tabuleiro que se remodela dezenas de vezes por segundo até um designer de quebra-cabeças que nunca abriu o Editor da Unity .
Sente está disponível no Steam. Confira mais histórias de desenvolvedores da Unity no Blog da Unity e no Centro de Recursos .
