Do outro lado da corda

Para testar uma partida de oito pessoas, a gente abriu oito janelas do jogo no mesmo computador, cada uma com a IA jogando no lugar de alguém. No meio da batalha, fechamos uma delas e abrimos de novo.
Chegar até esse teste levou o capítulo inteiro.
Primeiro, um contra um
Cabo de guerra fica melhor com uma pessoa do outro lado da corda, então o online chegou cedo. Um jogador cria a sala pela Steam, convida um amigo, cada um escolhe facção e perk, e a partida começa. No fim, Revanche leva os dois de volta à sala com as mesmas escolhas, já prontos.
A parte interessante é o que não passa pela internet. Uma batalha pode ter 90 tropas de cada lado, cada uma com vida, alvo, caminho e recargas. Transmitir tudo isso seria pesado e frágil. Então não transmitimos.
Xadrez por correspondência
Pense em duas pessoas jogando xadrez por carta. Cada uma tem o próprio tabuleiro em casa, e o que viaja pelo correio é só o lance: "cavalo para f3". Se ninguém mexer numa peça sem escrever, os dois tabuleiros continuam idênticos para sempre.
O online do Castle Arena funciona assim. Os dois computadores rodam a mesma simulação, lado a lado, e trocam só as ordens dos jogadores: construa aqui, evolua aquilo, lance o Resgate ali. Uma ordem sua roda nas duas máquinas uns 200 milissegundos depois.
A comparação para de funcionar num ponto, e é o ponto mais difícil. Xadrez não tem dados, e o Castle Arena tem: golpes críticos, esquivas, sorteios. Se cada computador rolasse os próprios dados, os tabuleiros se separariam no primeiro golpe. Por isso todo o acaso sai de uma mesma sequência de rolagens, que começa da mesma semente nos dois lados. Um teste automático falha se alguma regra tirar um número aleatório de qualquer outro lugar.
Com o mesmo começo e as mesmas ordens, as duas máquinas precisam chegar à mesma batalha, até o último ponto de vida.
Mais ou menos uma vez por segundo, os dois computadores comparam uma impressão digital da batalha inteira. Se elas diferirem, a partida para, em vez de deixar dois jogos diferentes seguirem cada um para um lado.
O que vem de graça
Esse jeito de fazer online trouxe presentes. Como a batalha é sempre a mesma a partir das mesmas ordens, um replay é minúsculo: a configuração da partida, a semente e a lista de ordens. Dá para assistir de 0,5x a 8x e pular para qualquer ponto.
Enquanto você joga, um olheiro anota quanto cada trilha esquentou a cada segundo e marca os grandes momentos: Resgates, prédios caindo, a queda do castelo. No fim, Melhores momentos monta um rolo de 30 a 60 segundos com esses trechos, e o castelo cai em câmera lenta. E os gráficos da tela de resultado são clicáveis: clique num ponto e o replay abre exatamente ali. É o jeito mais rápido de responder "peraí, quando foi que perdemos a trilha norte?"
Quando alguém cai
Conexões caem, jogos travam, computadores reiniciam. Num duelo, se o seu oponente sumir, a partida pausa com uma contagem de reconexão de 2:30. Quem caiu só precisa abrir o jogo de novo e escolher Voltar à partida: o computador que ficou manda um retrato completo da batalha, e os dois seguem dali.
Mais gente de cada lado
No mesmo embalo vieram os modos de jogo. Um modo é uma receita: facções escolhidas, sorteadas, espelhadas ou num draft, séries de melhor de N e 48 comandos para empilhar por cima, de "sem Resgate" a moedas caindo no seu território. Cada receita vira um código curto, como -rr3-nt-cc, que dá para copiar e mandar para um amigo.
Depois vieram as partidas de time, 2×2 e 3×3. Cada jogador tem o seu worker, ouro e Resgate. O castelo, o território e as tropas em campo são do time. E veio uma pergunta que parecia óbvia: um castelo de 3×3 deveria ser três vezes mais resistente?
Medimos.
| Formato | Duração das partidas |
|---|---|
| 1×1 | 10,1 min |
| 2×2 | 12,1 min |
| 3×3 | 13,0 min |
Multiplicar a vida do castelo pelo número de jogadores mudou a duração em só uns 0,3 minuto. A partida se decide quando a defesa cai, não na vida do castelo. Então o castelo é o mesmo em todo formato, e o que cresce é o teto de tropas de cada lado: 90, 135 e 180.
Oito pessoas, uma batalha
No começo, online em time era você e um amigo, cada um com IAs aliadas. Depois cada vaga passou a poder ter uma pessoa, do 2×2 ao 4×4.
Com duas pessoas, os computadores trocam as ordens direto. Com oito, ligar todo mundo com todo mundo daria 28 conexões, cada uma podendo falhar do seu jeito. Então o online em time é uma estrela: cada convidado fala só com o anfitrião, e o anfitrião repassa as ordens para os outros.
E cair num 4×4 não pode ser como cair num duelo. Pausar a partida para esperar uma pessoa seria injusto com as outras seis.
| Quando alguém cai | No 1×1 | No 4×4 |
|---|---|---|
| A partida | Pausa e espera | Continua |
| O lugar de quem caiu | Fica vazio | A IA assume na hora, no mesmo turno em todos os computadores |
| Quando a pessoa volta | Recebe o retrato e segue | Recebe o retrato, alcança os outros e pede o lugar de volta |
O que oito janelas ensinaram
Os testes sem gráficos já simulavam quedas e voltas em todos os formatos, e todos terminavam na mesma batalha. Mas abrir o jogo de verdade, com quatro janelas para um 2×2 e oito para um 4×4, mostrou quatro problemas que nenhum deles pegava:
- A sala que nunca começava. Todo mundo entrava com a facção padrão, e um time não pode repetir facção. Agora o botão Pronto avisa na hora.
- O convidado que desistia de entrar. Com oito janelas carregando ao mesmo tempo, o anfitrião demorava a responder, e o pedido de entrada ia uma vez só. Agora ele insiste por até 20 segundos.
- Sete pessoas esperando uma. Na primeira versão, o lugar voltava para quem reconectou antes da cena dela carregar, e os outros sete ficavam uns 30 segundos parados. Foi assim que a IA passou a segurar o lugar até a pessoa alcançar a partida.
- O PC mais lento. Quem levava mais de 8 segundos para montar a partida perdia o lugar para a IA antes do primeiro turno. Agora quem ainda está carregando tem 45 segundos.
Na janela que fechamos e abrimos de novo, a partida continuou. No fim, as oito terminaram com a batalha idêntica.
O que ainda não tem
Se o anfitrião cair e não voltar, ninguém assume a sala no lugar dele, e o time dele perde. E as ordens sempre passam pelo anfitrião, mesmo entre dois aliados. As duas coisas estão anotadas.
Oito pessoas numa batalha querem oito jeitos diferentes de jogar. E é aí que entram as facções.
— A equipe





