Fazemos o motor, as ferramentas, o anti-cheat e o jogo.

Oito anos construindo uma camada de cada vez — do renderizador ao meio de pagamento. Não alugamos nenhuma delas: cada uma abre na nossa máquina, num arquivo que a gente escreveu.

UnderWar Engine UnderStudio UnderProtection

Sobre o estúdio

Desde 2018 no mesmo projeto, construindo camada por camada até não sobrar nenhuma peça que a gente não pudesse abrir.

São oito anos empilhando: primeiro o que fazia o jogo rodar, depois o que fazia ele ser jogável por outra pessoa, depois o que o mantinha de pé com gente dentro. Nessa ordem, porque não dá pra pular etapa — um gerador de mapa não serve de nada antes de existir um editor que abra o mapa gerado.

Estúdio pequeno não costuma ter essa opção. O caminho normal é licenciar um motor, aceitar as decisões de outra pessoa e esperar pela próxima versão quando algo não serve. Fomos pelo outro lado, e isso tem um preço: ferramenta que vem de graça em motor comercial, aqui a gente escreve. Nós escrevemos.

O retorno é que nada do nosso jogo é caixa-preta. Quando alguma coisa está errada, existe sempre um arquivo pra abrir — e não é um arquivo qualquer: é um que passou pela nossa mão.

Escrito por nós, uma camada de cada vez

  • O anti-cheat inteiro, escrito do zero. Não integramos detecção de ninguém: as três camadas — validação no servidor, agente no cliente e telemetria por partida — são projeto e código nossos.
  • A interface do jogo, tela por tela. Cada tela foi projetada e escrita por nós num sistema próprio de componentes, descrita em arquivo de dados e montada num editor visual nosso, com recarga a quente — mexer numa tela não exige recompilar nada.
  • O gerador de mundo. Relevo com erosão, rede de rios, malha de ruas, divisão de quarteirões, lotes, construções e vegetação — cada etapa é um algoritmo que a gente escreveu e roda dentro do motor, não um script por fora.
  • As ferramentas de autoria. Editor de níveis, de física, de partículas, de animação, de personagem e o painel do anti-cheat — todos dentro do mesmo executável que roda o jogo.
  • A esteira de personagem. Do FBX ao personagem em pé no jogo, com esqueleto, pele e animação convertidos pela nossa ferramenta — sem depender de nenhum programa de terceiro no caminho.
  • O backend e o meio de pagamento. Da autenticação ao fluxo de compra que roda hoje, incluindo a carteira do jogador e o histórico de transações.
  • O launcher e a distribuição. Instala, atualiza e verifica o jogo por conta própria, baixando só o pedaço que mudou; a versão sobe a cada build.

O estúdio e uma das nossas ferramentas têm o mesmo nome. Não é descuido — a ferramenta é o estúdio. É nela que o jogo é construído, testado e jogado.

O que construímos

Quatro coisas, e uma depende da outra na ordem em que aparecem.

UnderWar Engine

O motor

Renderizador, física, som, rede e sistema de console. É a camada que não aparece pra ninguém e que decide tudo: quantos objetos cabem numa cena, quanto tempo leva pra carregar um mapa, se um tiro registra.

Mantido por nós, o que significa que otimização não é pedido de recurso para um fornecedor — é uma tarde de trabalho no arquivo certo.

UnderStudio

As ferramentas

Um único executável que é o jogo e a oficina ao mesmo tempo. Dentro dele: editor de níveis, de física, de partículas, editor visual de interface e o painel do anti-cheat.

É também onde vive nosso gerador de mapa. Ele começa no relevo — erosão e rede de rios — e vai subindo: malha de ruas, quarteirões, lotes, construções e vegetação. Um mapa nasce de uma semente e só vira nível jogável depois de passar por uma bateria de validação.

UnderProtection

O anti-cheat

Construído por necessidade: o serviço de anti-cheat que usávamos simplesmente deixou de existir, e com ele foi embora toda a detecção. Em vez de trocar por outro fornecedor e ficar exposto à mesma coisa de novo, escrevemos o nosso — e hoje não integramos detecção de ninguém.

São três camadas. No servidor, onde o jogador não alcança, cada partida é validada contra dezenas de tipos de trapaça — vida infinita, voo, velocidade, item aparecido do nada, receita forjada, inventário, recarga, veículo — em quase duzentos pontos de verificação.

No cliente roda um agente nosso, compilado dentro do próprio executável e sem DLL alguma: confere a assinatura do binário, procura depurador acoplado e varre a memória atrás de módulo injetado, tanto por conta própria quanto quando o servidor manda escanear.

A terceira é a telemetria. Cada partida grava quem matou quem, a que distância, em quanto tempo e com quantos tiros na cabeça, e uma análise em lote cruza isso para levantar suspeita. O veredicto final é sempre de uma pessoa — a máquina aponta, ainda pede uma captura de tela ao cliente na hora, mas ninguém aqui é banido por um número sozinho.

Dread Thicket

O jogo

Survival de mundo aberto com PvP e perda do que você carrega quando morre. É pra ele que as três camadas acima existem, e é ele que testa cada uma delas com gente de verdade dentro.

Projetos de fã

Coisas que a gente construiu por gosto, fora da linha oficial do estúdio. São projetos de fã, sem vínculo, patrocínio ou aprovação de qualquer detentor de direitos.

Tamer Quest

Projeto de fã · não oficial

MMORPG gratuito de captura, treino e batalha de criaturas, jogável direto no navegador e todo em português. Nasceu como homenagem ao gênero de domar monstros e continua no ar com servidor próprio.

Abrir tamerquest

Como trabalhamos

Seis regras que a gente não afrouxa. Elas custaram tempo pra serem aprendidas e economizam muito mais do que custaram.

  • Não terceirizar o que pode desaparecer

    Serviço externo que some leva a funcionalidade junto. Já aconteceu conosco, e é por isso que o anti-cheat, a interface e a telemetria são nossos.

  • Ler no código, nunca deduzir pelo nome

    O papel de um arquivo se lê onde ele é carregado e usado — pasta, extensão e convenção de nome são pista, não verdade. Se a fonte contradiz o palpite, a fonte ganha. Temos a fonte inteira justamente pra isso.

  • Medir antes de afirmar

    Número que aparece nos nossos documentos foi contado, não estimado. Antes e depois de cada mudança, com a mesma régua e o mesmo conteúdo dos dois lados.

  • Português por padrão

    A língua de fábrica do jogo é português do Brasil, e todo texto passa pelo sistema de idiomas desde a primeira linha. Tradução não é etapa final aqui.

  • A ferramenta mora dentro do motor

    Nada de script externo gerando conteúdo por fora. Se o motor sabe assentar um objeto no terreno, o gerador chama o motor — não reescreve a conta em outro lugar, onde ela vai divergir.

  • Uma camada por vez, e a de baixo primeiro

    Ferramenta antes de conteúdo, motor antes de ferramenta. É mais lento no começo e é o motivo de hoje conseguirmos gerar um mapa inteiro a partir de uma semente.

Dread Thicket abre em pré-beta

Survival de mundo aberto rodando no nosso motor. O pré-beta sai antes da página na Steam — dá pra entrar na lista de avisos agora.

Conhecer o jogo