Esse jogo de VR travava só quando dois alemães entravam na mesma partida. Levou meses pra descobrir o motivo
O Iron Rebellion travava sem deixar rastro por meses. A culpada era uma vírgula do alemão, a mesma que o brasileiro usa pra escrever R$ 1,99.
Imagina a cena. Você comanda um estúdio pequeno, passou quase oito anos construindo um jogo de mechs em realidade virtual, e do nada começam a pipocar reclamações de que o jogo fecha sozinho no meio da partida. No Steam, na loja da Meta Quest, vários jogadores dizendo que a tela some sem aviso. Você abre o painel de crash report, aquele relatório automático que todo jogo dispara quando quebra, procurando a linha de código culpada. E não encontra nada. Silêncio total. O jogo trava e não deixa rastro. Foi exatamente isso que a Black Beach Studio, dona do Iron Rebellion, encarou por meses.
O jogo é um shooter de mechs feito pra VR, na linha do saudoso Hawken, daqueles em que você senta na cabine e estica a mão de verdade pra puxar alavanca e apertar botão. Custa cerca de US$ 25 no Steam, chegou na versão 1.0 em dezembro de 2024 e acumula avaliações majoritariamente positivas. Um projeto pequeno, honesto, do tipo que a gente torce pra dar certo. E ele estava travando por um motivo que ninguém conseguia enxergar.
A parte mais doida é o tanto de coisa que precisava acontecer ao mesmo tempo pro bug aparecer: quatro condições, todas juntas, na mesma partida.
- um mech ser destruído;
- os destroços caírem pra esquerda;
- a luta rolar num ponto específico de um mapa específico;
- e, o detalhe que deixou todo mundo de cabelo em pé, exatamente dois jogadores alemães na sala.
Dois alemães. O idioma dos jogadores derrubava a partida. Como é que a língua que a pessoa escolheu no menu tem qualquer coisa a ver com o jogo fechar?
A vírgula que você tem no teclado
A resposta está num detalhe que todo brasileiro conhece de cor, mesmo sem saber que conhece. O computador guarda, junto com o idioma, um formato de número. Em inglês, a casa decimal vem depois de um ponto: 1.99. Em alemão, vem depois de uma vírgula: 1,99. É o mesmo número, escrito de dois jeitos.
Agora junta isso com o funcionamento de um jogo multiplayer. Pra todo mundo ver o mesmo mech no mesmo lugar, os computadores ficam trocando as coordenadas dos objetos pela internet o tempo inteiro, e essas coordenadas são números com casa decimal. Quando o mech explodia e os destroços iam pra esquerda, o jogo calculava aquela posição e mandava o número pros outros jogadores. Só que, na máquina configurada em alemão, o número saía formatado com vírgula. Do outro lado, o código que lia aquele dado esperava um ponto. Viu a vírgula, não soube o que fazer com ela e derrubou a partida inteira. Pra todo mundo.
Se você é brasileiro e já sacou onde isso vai dar, é porque a gente escreve igualzinho aos alemães: R$ 1,99, 3,5 km, sempre com vírgula onde o inglês usa ponto. A mesma vírgula que quase enterrou o Iron Rebellion está no seu teclado e na sua cabeça. Um jogador brasileiro com o sistema em português teria feito o mesmo estrago que os dois alemães. A gente só não apareceu nessa história porque VR ainda é caro demais por aqui, e o headset custa bem mais que o jogo inteiro.
O bug perfeito pra enlouquecer um estúdio pequeno
E aqui mora a parte cruel. O bug não gerava log. O relatório automático não acusava nada porque, do ponto de vista do programa, não existia erro: ele recebeu um texto que não conseguia interpretar e simplesmente desistiu, sem mensagem, sem aquela linha vermelha que aponta o culpado. Os desenvolvedores só descobriram quando pararam de procurar no escuro e começaram a recriar situações de jogo na mão, uma por uma, até a combinação maldita se repetir na frente deles. Meses caçando um fantasma que só existia quando quatro coisas improváveis aconteciam no mesmo segundo.
“A língua alemã quebrou o nosso jogo”, resumiu o estúdio num vídeo publicado no TikTok, com aquele humor de quem sobreviveu ao trauma e já consegue rir, história depois recuperada pela imprensa alemã. O problema já foi corrigido.
O consolo é que nem os grandes escapam desse tipo de armadilha. The Witcher 2, da CD Projekt, teve um bug clássico ligado justamente aos caracteres especiais do alemão, aqueles com trema e o ß, que bagunçavam a memória do jogo e acabaram sendo remendados pela própria comunidade. Formato de número, acento, caractere estranho: são os detalhes invisíveis que separam um jogo rodando no mundo inteiro de um que quebra em silêncio assim que cruza a fronteira do idioma.
Pra quem faz jogo, fica a lição velha que todo programador aprende no soco: nunca confie no formato de número da máquina do usuário na hora de trocar dados entre computadores. Pra quem só quer jogar, fica algo mais gostoso de guardar. Da próxima vez que um jogo de estúdio pequeno travar do nada e ninguém souber explicar, lembra do Iron Rebellion. Às vezes o monstro embaixo da cama é uma vírgula, dois alemães e um mech caindo pro lado errado.
Marina Costa
Entusiasta de tech e indie games
Especialista em games indie e multiplayer. Jogadora e analista de mecânicas de jogo.
LEIA TAMBEM
O grupo que vazou GTA 6 exige o fim da pré-venda digital. Os demitidos da Rockstar pedem que ninguém boicote o jogo
No sábado, Sora e Riku leram a carta da Kairi juntos no palco do D23 pela primeira vez em 25 anos. Um dia depois, Hayden Panettiere morreu aos 36