PlayPendium
Bulwark · Matéria para Reflexão

Como pensa um senhor da guerra

Jogue sozinho e três dos quatro castelos são defendidos por uma máquina. Cada senhor da guerra computadorizado roda o mesmo laço curto, achar a bola digna de medo, adivinhar onde ela cruzará a sua muralha, deslizar para interceptá-la, e a diferença entre um adversário mole e uma ameaça se resume a quatro números.

Fácil · oscilação da mira 0,18 de erro em frações do trilho
contra
Difícil · oscilação da mira 0,015 posicionamento quase perfeito

Escrito e editado em inglês. Esta versão em português foi produzida por tradução automática; quando a precisão importa, o original em inglês é a referência. Ler o original em inglês →

01 · Escolher o que temer

Nem toda bola é uma ameaça

A primeira tarefa de um senhor da guerra, cento e vinte vezes por segundo, é a triagem. Com até duas bolas soltas na arena, a IA precisa decidir qual delas merece o seu escudo. Ela pontua cada bola ativa e não segurada pela distância até o próprio rei e então subtrai um bônus fixo de 250 unidades de qualquer bola que esteja de fato vindo em direção ao canto; uma bola que se afasta é tratada como se estivesse 250 unidades mais longe do que realmente está. 1 A menor pontuação ganha a atenção do escudo.

O efeito é um defensor que não entra em pânico com uma bola que passa inofensiva, mas que trava numa que está mais perto e vindo para cima dele. É um modelo tosco do que um humano faz sem pensar: olhe para a coisa que vem na sua direção, ignore a coisa que está indo embora. Todo o julgamento é um único produto escalar entre a velocidade da bola e a direção até o rei; positivo quer dizer “mirada em mim”, e isso basta.

02 · Adivinhar onde ela vai chegar

Antecipar a bola sobre o trilho

Tendo escolhido uma ameaça, o senhor da guerra precisa decidir onde estar em seu trilho diagonal. Ele não resolve o percurso completo dos ricochetes: nada de traçar reflexões, nada de prever quicadas nas paredes. Ele pega a posição da bola, empurra-a um passo curto adiante ao longo da velocidade atual (uma antecipação de 0,12 segundo) e projeta esse ponto futuro diretamente sobre o trilho para obter uma fração-alvo entre 0 e 1. 1

Essa é uma previsão deliberadamente rasa, e é por isso que a IA pode ser batida. Como ela antecipa apenas um oitavo de segundo e nunca prevê um ricochete, uma bola que vai chegar por meio de uma quicada na parede a engana; ela se compromete com a direção para onde a bola aponta agora. Um humano que rebate tiros nas bordas da arena está explorando exatamente esse ponto cego. A máquina reage ao presente com um fio de previsão; ela não planeja.

O computador não calcula o futuro da bola. Ele se inclina um oitavo de segundo adiante, aponta o escudo para onde a bola estaria se nada interviesse, e deixa que tudo o que intervém seja a sua oportunidade.

03 · Três níveis, quatro botões

A dificuldade é uma tabela, não uma reescrita

As três dificuldades compartilham um único corpo de código idêntico. O que muda entre fácil, médio e difícil é uma fileira de quatro números de ajuste. 1 O tremor acrescenta erro aleatório ao alvo do escudo, de modo que a mira de um senhor da guerra fácil vagueia quase um quinto de seu trilho, enquanto a de um difícil é quase exata. A distância de reação define quão perto uma bola precisa chegar antes que o senhor da guerra se dê ao trabalho de rastreá-la: um fácil ignora qualquer coisa a mais de 420 unidades de seu rei, um pouco menos que a metade da largura do tabuleiro; um difícil rastreia a arena inteira. A chance de agarrar é a probabilidade de ele segurar uma bola que chegue perto o bastante de seu escudo para ser agarrada. E mirar nos rivais é um único interruptor que decide se o senhor da guerra joga no ataque ou não.

A tabela de ajuste da IA: toda a diferença entre os níveis
BotãoFácilMédioDifícil
Tremor da mira (frações do trilho)0.180.070.015
Distância de reação (unidades)4207002,000
Chance de agarrar0%25%55%
Mira nos rivais?nãonãosim

Todos os quatro valores vêm de uma pequena tabela de ajuste dentro do motor do jogo Bulwark, uma fileira por nível. A distância de reação no difícil está escrita como o dobro da largura da arena, e a arena é um quadrado de 1.000 unidades, então 2.000 unidades significam “sempre rastreando”. 1

04 · Quando a máquina ataca

O único interruptor que torna perigoso um senhor da guerra difícil

Um senhor da guerra fácil ou médio nunca agarra com intenção de golpear. Um fácil nunca agarra, e um médio só de vez em quando, sem um plano para o que fazer com a bola depois que ela está com ele. Acione o interruptor de mirar nos rivais, a única coisa que o nível difícil faz, e a IA deixa de ser puramente reativa. Quando está com a bola, ela olha para o outro lado do tabuleiro, escolhe o rival mais ferido (aquele com menos tijolos restantes) e mira nele. 1

Ela faz isso sem nenhuma busca de caminho. Ela amostra onze posições candidatas ao longo do próprio trilho e, para cada uma, reproduz a matemática de soltura do motor para ver em que direção aquele tiro voaria, e então fica com a posição cujo vetor de saída aponta mais diretamente para a vítima escolhida. 1 É força bruta sobre um punhado de opções, e não esperteza, mas é paciente: tendo escolhido um ponto, o senhor da guerra segura a bola até o escudo ter de fato deslizado até lá, e só a solta quando chegou ou quando já a segurou por tempo suficiente para que esperar mais custasse mais do que o tiro vale. A intenção é inequivocamente estratégica, exatamente o que faria um humano caçando uma presa fácil. Escolher o alvo por “menos tijolos” aponta três defensores independentes para quem já está perdendo.

05 · O mesmo senhor da guerra, sempre

Aleatoriedade que se pode repetir

Tudo o que um senhor da guerra faz de “aleatório”, o tremor da mira, o cara ou coroa de agarrar ou não, é tirado de um gerador com semente, uma rotina compacta conhecida como mulberry32 que transforma um número inicial em um fluxo longo e repetível de valores pseudoaleatórios. 2 Dê a ele a mesma semente e ele produz a mesma sequência para sempre. Uma partida ao vivo tira sua semente do relógio, então não há duas partidas que comecem iguais; mas devolva a mesma semente e a partida roda de novo exatamente igual: os mesmos ângulos de lançamento, as mesmas oscilações, as mesmas pegadas.

Esse determinismo não é um detalhe cosmético. É o que torna o jogo testável, sua bateria de testes joga partidas inteiras de computador contra computador a partir de uma semente fixa e espera o mesmo resultado todas as vezes, e é o que permite que toda a simulação, inclusive o cursor do gerador, seja empacotada em JSON e reconstruída, de modo que, no modo on-line, o anfitrião possa transmitir seu estado e cada um dos outros jogadores reconstrua um tabuleiro idêntico. Os senhores da guerra parecem vivos porque seus erros parecem humanos; por baixo, seus “instintos” são uma curta recorrência aritmética que qualquer um pode rebobinar até o início. Uma máquina que guarda um castelo, ao que parece, precisa apenas de alguns números e de um fluxo de sorte reproduzível. 2

Sources & notes
  1. Bulwark game engine: the warlord AI. Threat scoring (distance from a ball to the king, minus a 250-unit bonus for inbound balls), the 0.12-second lead used to project the intercept point, the tuning table that holds jitter, react distance, catch chance and the aim-at-rivals switch for each tier, the “most wounded rival” target selection, and the eleven-sample search over release positions. Read from the game's own source.
  2. Bulwark game engine: the deterministic random generator, an implementation of mulberry32, the compact public-domain algorithm by Tommy Ettinger that maps a 32-bit seed to a repeatable stream. Its own comment notes that it seeds ball launches and AI jitter so that games are reproducible and testable, and it can save and restore its cursor so the state round-trips through JSON. Read from the game's own source.
    Algorithm origin: Tommy Ettinger, “Mulberry32 PRNG” (public domain).
Was this worth reading?
Play Bulwark
PlayPendium · About · Contact · Privacy · Terms · Cookies · Accessibility · Copyright · Browse all games · Classic arcade games · © 2026