Inteligência Artificial Explicada – Westy West

Este é o primeiro de uma série de artigos teóricos sobre o desenvolvimento do jogo Westy West.
Compartilho aqui uma ideia geral de como funciona a Inteligência Artificial dos personagens do jogo.
Vou separar este artigo em 6 partes: Inimigos, Civis Inocentes, Policiais, Bandidos Procurados, Personagens Decorativos, Animais Defensivos e Animais Inofensivos.

1.0 Inimigos – Descrição geral

Os inimigos do Westy West são identificado pelas roupas pretas.
A aparência, a quantidade de vida, o armamento e o meio de locomoção do inimigo é sorteada no início de cada fase do jogo.
Eles são capazes de vagar pelo cenário, desviar de objetos que bloqueiam o caminho, perseguir o jogador e atacá-lo com armas brancas e de fogo com alcances e poder variados.

1.1 Inimigos – Estados de Humor

Os inimigos agem de acordo com 2 estados de “humor”: tranquilo e irritado
O estado “tranquilo” é o estado inicial de todo inimigo e ocorre enquanto este não avistou o jogador. Já o estado “irritado” ocorre após o inimigo avistar o jogador e é caracterizado por um som de surpresa e um balão de emoji sobre a cabeça do inimigo.

bandido-alerta
Inimigo avistando o jogador

1.2 Inimigos – Movimentação

Os inimigos se movimentam de maneira intervalada. O tempo deste intervalo depende de uma variável aleatória cujos valores mínimos e máximos dependem da fase em que o jogador se encontra. Quanto mais avançado o jogador estiver, menor será o intervalo de movimentos dos inimigos, tornando-os assim cada vez mais rápidos, porém, dentro de um limite aceitável que não estrague a experiência de jogo.

O estado de “humor” do inimigo também influencia na maneira como este se movimenta.
Durante o estado “tranquilo”, o personagem caminha pelo cenário em direções aleatórias, podendo inclusive ficar parado no lugar ou andar em círculos.
Já no estado “irritado”, o inimigo caminha constantemente em direção ao jogador com o objetivo de atacá-lo.

1.3 Inimigos – Ataque

O ataque dos inimigos é simples, ele ataca o jogador sempre que este estiver no alcance de sua arma, que pode ser 3 (pistola), 2 (espingarda) ou 1 (arma branca).

bandido-melee
Bandido tentando atacar o jogador com uma marreta

A frequência dos ataques (“fire rate”) depende do mesmo intervalo usado na movimentação, para que o inimigo nunca se mova e ataque ao mesmo tempo, visto que isso seria injusto com o jogador, que só pode fazer 1 ação de cada vez (mover-se ou atirar), além de ficar visualmente confuso num jogo com movimentação em grade, como o Westy West. (fizemos o teste)

 

1.4 Inimigos – Estupidez

O humor é uma das peças-chave do Westy West, e é caracterizado inclusive pela estupidez dos inimigos. Se por um lado, é necessário impôr dificuldade ao jogador, por outro lado, a estupidez dos inimigos cria cenas engraçadas, como inimigos se acertando acidentalmente ou destruindo objetos do cenário que estiverem entre ele e o jogador.

galinha
Galinha entrando na frente do tiro e morrendo

Isso funciona de maneira muito simples: o inimigo atira SEMPRE que o jogador estiver dentro do alcance de sua arma, não se importando em avaliar se há um obstáculo ou personagem no meio do caminho. Sendo assim, antes de atingir o jogador, o inimigo pode destruir objetos acidentalmente, ou ferir comparsas e cidadãos inocentes.

Os únicos inimigos incapazes de cometer estes erros são aqueles que utilizam armas brancas, pois estes precisam obrigatoriamente estar encostados no jogador para poder atacar, visto que suas armas possuem apenas 1 de alcance.

Isso cria situações inusitadas e engraçadas e é totalmente intencional.

2.0 Civis Inocentes

Os civis são os NPCs (personagens não-jogáveis) que apenas vagam pelas cidades do jogo. Eles usam roupas coloridas e ignoram a presença do jogador no cenário, a não ser que este ataque alguém.

2.1 Civis Inocentes – Movimentação

A movimentação dos civis inocentes é idêntica àquela dos inimigos. (item 1.2 do artigo)

2.2 Civis Inocentes – Pânico

Os civis podem entrar em pânico ao ouvir um disparo. Neste caso, eles levantam os braços e correm pelo cenário.

civis-panico
Civis levantando os braços em pânico

2.3 Civis Inocentes – Reação Violenta

Alguns civis possuem armas e começam a perseguir o jogador igual caso este os ataque. No momento em que sofrem um ataque do jogador, eles assumem o mesmo comportamento de um inimigo irritado (como descrito nos itens 1.1, 1.2 e 1.3 do artigo).

3.0 Policiais

Os policiais aparecem no jogo caso o jogador violente animais ou civis inocentes. Sendo assim, eles tem a finalidade de reprimir um eventual comportamento anti-ético por parte do jogador, visto que o jogo não visa estimular a violência gratuita.
Eles se comportam como inimigos (conforme o capítulo 1 do artigo).

policiais-ataque
Policiais atacando o jogador

4.0 Bandidos Procurados

Os bandidos procurados são aqueles que estão nos cartazes de “Procurado” que aparecem ao clicar no botão do canto superior esquerdo da tela, ou ao interagir com o cartaz que está presente nos Checkpoints do jogo.

Estes bandidos possuem aparência de civis inocentes, usando as roupas que constam nos cartazes de procurado, e dessa maneira podem ser descobertos pelo jogador.

procurado
Bandido procurado sendo descoberto e reagindo

Bandidos procurados caminham pelo mapa como um inimigo tranquilo (conforme o item 1.2 deste artigo) e não atacam o jogador caso não sejam atacados por ele.
No caso de o jogador atacá-los, os bandidos procurados sacam uma arma e começam a disparar contra o jogador (conforme o item 1.3 deste artigo).

5.0 Personagens Decorativos

Os personagens decorativos são os Pianistas, as Dançarinas e a Banda Mexicana.
Os pianistas não fazem nada além de tocar o piano.
As dançarinas dançam enquanto o pianista estiver tocando, e param caso este morra.

dancarinas
Dançarinas parando de dançar após morte do pianista

A Banda Mexicana passa o tempo todo tocando e olhando na direção do jogador. Caso um músico da banda seja morto, os outros continuam tocando seus instrumentos como se nada tivesse acontecido, e a música segue com a ausência (sonora) do instrumento que foi destruído.

bandafinal
Banda tocando com 1 integrante a menos e virando para o jogador

6.0 Animais Defensivos

Os animais que se enquadram nesta categoria são as cobras e cavalos, que ficam parados em pontos específicos do mapa e atacam indiscriminadamente qualquer personagem que passe muito tempo parado próximo a eles, seja o personagem controlado pelo personagem ou não.

inimigo-coice
Personagem tomando um coice fatal

Chamo estes animais de “defensivos” pois, mesmo no mundo real, estes animais se atacam apenas para se defender em situações onde se sentem ameaçados. É errado dizer “ataque de cavalo” ou “ataque de cobra”, e é por isso que incidentes com animais peçonhentos são chamados de “acidentes ofídicos” e não “ataques ofídicos”.

Estes ataques matam qualquer personagem instantaneamente.

7.0 Animais Inofensivos

Os animais inofensivos são as galinhas e os coiotes, ambos só caminham pelo cenário, da mesma maneira que um inimigo tranquilo (explicado nos ítens 1.1 e 1.2 do artigo) fazendo barulho e cagando pelo cenário.

Conclusão

O Westy West é um jogo mais complexo do que parece, e a Inteligência Artificial é apenas 1 dos diversos aspectos do jogo que levaram vários dias para serem refinados.
Me orgulho de ter chegado a este nível de trabalho tendo jamais feito um curso de programação, e fico feliz em compartilhar este conhecimento com novos programadores (e experientes também).
Espero, no futuro, escrever outros artigos sobre este jogo.

Publicidade

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s