i.a. parte um
- Apr 7, 2022
- 2 min read
Olá a todos, aqui é o Uveso! Bem vindo ao devlog sobre a IA do Sanctuary!
Esse devlog é direcionado aos jogadores que gostam jogar contra a IA e modders que desejam modificá-la ou desenvolver uma IA própria.
A estrutura básica da IA, onde todas as decisões são feitas, será programada em LUA. Aqui, fizemos decisões sobre: estratégias usadas pela IA, suporte à funções disponíveis para o jogador e sobre scripts executados em missões. A operação de bases e extensões também são administradas aqui.

Depois que a IA decidir sobre qual estratégia usar, lentamente pararemos o uso da programação em LUA. A construção e movimentação de unidades, além do path finding, são iniciadas pelo script LUA mas realizadas por funções em C#. Desse modo, criamos um ambiente extensivamente modificável para a IA que ainda consegue controlar milhares de unidades.
Como a IA irá funcionar? (Atenção, aqui entraremos em detalhes sobre a programação)
Primeiramente, o gerenciador de estratégias da IA é iniciado.
Isso significa que iniciamos uma thread independente em programação LUA cujos únicos propósitos são executar uma tabela repetidamente e checar se certa condição são verdadeiras ou falsas; Se todas as condições de uma estratégia são verdadeiras, então o nome da estratégia é salvo.
Várias estratégias podem estar ativas ao mesmo tempo.
Mas como isso funciona, exatamente?
Primeiramente, vamos dar uma olhada no criador de estratégias:

Aqui temos StrategyName e StrategyDescription, que são usadas na interface de usuário.
Agora, a AIdifficulty pode entrar em ação. No nosso exemplo, a estratégia apenas seria executada se a IA estivesse na dificuldade média ou superior.
Todas as estratégias são executadas em ordem de prioridade. Prioridade 100 é executada antes da 50.
E o coração do criador de estratégias, o StrategyConditions. Todas as condições listadas precisam ser verdadeiras para a estratégia ser usada. Essas condições podem ser um certo número de unidades, construções inimigas ou condições do mapa.
No nosso caso, checamos se estamos gerando menos que 10x energia em relação à quantidade de recursos.(energia <= recurso * x = verdadeiro)
Se a condição for verdadeira, esta estratégia será ativada e levará a IA a construir mais geradores de energia.
O que acontece depois disso você descobrirá no próximo devlog sobre a IA.
Agradeço pela paciência e espero que tenha sido algo interessante pra você.
Atenciosamente, Uveso.