Exemplo de RNA para estados

Nesta página, vamos expor um uso de RNA, e tentar esclarecer suas aplicações.

Como funciona o RNA

Usamos a rede neural para decidir os estados do boss, assim, ele ataca, aproxima ou usa ataques especiais baseado nas entradas.

1. As entradas de informação necessárias, são as seguintes:

•       Distância entre o chefão e o jogador

•       Vidas restantes do Jogador

•       Vidas restantes do Chefão

A distância serve para tomar algumas decisões de ataque, e aproximação, se a mesma for muito grande.

Ela pode variar de 0 a 3, onde 0 significa que a distãncia é 0, e 3 significa a distância máxima da arena de luta. 1 e 2 representam entre 25% e 50%, e entre 50% e 75% da distância máxima, respectivamente.As vidas do jogador são para balancear. Se o jogador estiver com vida baixa, o chefão tenta "pegar mais leve"Aqui só pode ser 0 ou 1, como uma booleana. 0 se ele estiver com mais de 50%, 1 se estiver com menos.A vida do chefão serve para liberar ataques mais poderosos, caso ela caia pra menos da metade.A mesma ideia da vida do jogador. Se for maior que 50% é 0, se for menor é 1.Assim, precisamos que o chefão tome uma, de cinco decisões:0. Pular (Charge de aproximação)

1. Ataque Melee

2. Ataque Ranged

3. Aproximação

4. Ataque Especial

Para isso, foi mais fácil criar 5 saídas, e escolher a saída com maior peso depois de um dado número de épocas. Para entendermos qual era a melhor configuração da máquina, primeiro tentamos rodar o Algoritmo baseado em um erro mínimo. Mas isso se mostrou ineficiente e muito custoso. Logo, tentamos usar um número épocas fixo. Fizemos um Debug para visualizar quais eram as escolhas, com condições de entradas específicas. Usamos tentativa e erro para chegar no resultado que era mais parecido com o desejado (base de treinamentos). Porém, sua precisão não foi maior que 80%. Ela serviu para a aplicação acadêmica, mas talvez, para uma aplicação mais profissional, o ideal seria usar algum algoritmo para achar as melhores configurações para o código.

Observações:

A programação desse algoritmo fora feita em cima de uma base que não estava propícia para a sua aplicação. Muitas seções de códigos do chefão tiveram de ser comentadas, ou adaptadas para a aplicação do RNA num cenário fechado para testes.

Essas modificações foram a melhor forma de aplicar o RNA com algo tangente ao TCC. Se a mesma ideia for aplicada em um jogo novo, com o script já estruturado esperando o RNA, ele deve funcionar melhor.