Texto e documentos
Números e cálculo
Dados e formatos
Segurança
Desenvolvimento e DevOps
Inteligência Artificial
Finanças
Saúde & Bem-estar
Produtividade
Jogos & Entretenimento
Multimédia e design
Empresa
Guia de utilização
A mascote: uma máquina de estados de que tu cuidas

A mascote tem um humor (o estado) e muda por duas razões: o que tu fazes (os botões são eventos) e o que lhe acontece (as suas necessidades atravessam um limiar). O mesmo botão faz coisas diferentes consoante o humor: brincar alegra a que está aborrecida e irrita a que está a dormir, e dar-lhe de comer sem fome acaba em indigestão. O diagrama ilumina o humor atual, as suas saídas e a última seta que foi disparada.

A masmorra: planear é pesquisar

Um herói com uma missão: apanhar a chave, abrir a porta, apanhar o tesouro e sair. Planeia com GOAP: procura a cadeia de ações mais barata e, se algo falhar (um guarda vê-o), volta a planear. Os guardas têm uma máquina de estados: patrulham, desconfiam se ouvem algo, perseguem se o veem (cone de visão, uma parede tapa) e procuram no último sítio onde o viram. Aumenta o custo de lutar e vê como o plano muda. Em Jogas tu, clica numa casa e o herói vai até lá.

A casa: como decide o que fazer

Uma personagem com fome, sono e higiene (e diversão, se a adicionares) vive numa casa, como em Os Sims. Cada objeto anuncia o que dá (o frigorífico baixa a fome) e o cérebro escolhe. Por cima da personagem, um balão com o que pensa; por baixo, as barras com as suas marcas e a faixa de tempo (clica nela para voltar a esse momento). Os quatro ao mesmo tempo mostra o mesmo dia com os quatro cérebros, e os desafios verificam-se sozinhos. A ligação guarda o cérebro, a semente, os parâmetros e o tick.

Como se usa

Uma personagem com fome e sono vive num mapa com comida, uma cama, abrigos e inimigos que patrulham e a perseguem se a virem. Escolhe com que cérebro decide e carrega em Reproduzir. Podes mudar de cérebro ou mexer nos seus parâmetros sem parar: o mundo continua e só muda a forma de decidir. Em baixo, o rasto: porque fez o que fez neste tick.

Os quatro cérebros

Máquina de estados: um estado por ação e setas com condição; simples, mas cada nova ação exige setas de e para as restantes. Árvore de comportamento: prioridades; em cada tick percorre-se a partir de cima e ganha o primeiro ramo que puder. Utilidade: cada ação é pontuada com uma curva da sua necessidade e ganha a que tiver mais pontos, como em The Sims. GOAP: planear é procurar; um A* entre estados do mundo (não entre casas) encontra a cadeia de ações que cumpre o objetivo mais urgente.

O vaivém

Se uma decisão depende de um limiar e a necessidade oscila à volta dele, a personagem anda de um lado para o outro entre duas ações. Cada cérebro tem o seu travão: histerese na máquina de estados e no GOAP (entrar com um limiar e sair com outro mais baixo), lembrar a tarefa em curso na árvore e inércia na utilidade (pontos extra para o que já estava a fazer). Tira-os e vê subir as «idas e vindas».

Adicionar uma ação: beber

Ativa a sede e vê a tabela «O que há a acrescentar»: na máquina de estados, um estado e três setas; na árvore, um ramo de três nós; na utilidade, uma curva; no GOAP, uma ação e um objetivo, e o planeador faz o resto. Com muitas ações, a máquina de estados é a que cresce pior.

Inimigos: onde patrulham e como veem

Com Colocar inimigos, clica no mapa onde começa uma patrulha e onde ela dá a volta (até 6); clicar num extremo remove-o. Veem à sua volta é a perceção mais simples: quem estiver a poucos passos. Veem num cone é a dos jogos de furtividade: só o que têm à frente, até certa distância e com linha de visão (uma parede tapa). Por trás passas sem que te vejam. Compara as mortes com uma e outra.

Levar a árvore para um jogo

Com a árvore de comportamento escolhida, Copiar para BehaviorTree.CPP dá a árvore no XML do BehaviorTree.CPP v4, a biblioteca de C++ (e ROS 2) que muitos jogos e robôs usam; abre-se no respetivo editor, o Groot2. As condições vão como ScriptCondition sobre o blackboard (hunger, fear…) e as ações como nós próprios que o jogo programa.

IA de videojogosQuatro cérebros para uma personagem: estados, árvore, utilidade e GOAP
IA de videojogosA mesma personagem com quatro cérebros: máquina de estados, árvore de comportamento, utilidade e GOAP
Fome35
Sono25
Higiene20

Marcas: verde, onde a larga (limiar − histerese); preta, onde se ocupa dela (limiar); vermelha, urgente (interrompe o que estiver a fazer).

passearcomerdormirtomar duche
Tick 0
Acidentes 0Ticks aflito 0Idas e vindas 0

Os quatro cérebros ao mesmo tempo

A mesma personagem na mesma casa, com a mesma semente e os mesmos parâmetros: só muda a forma de decidir.

Tick 0 / 500
Máquina de estados
Acidentes 0Aflito 0Idas e vindas 0
Árvore de comportamento
Acidentes 0Aflito 0Idas e vindas 0
Utilidade
Acidentes 0Aflito 0Idas e vindas 0
GOAP (planear)
Acidentes 0Aflito 0Idas e vindas 0

Desafios

Com a máquina de estados e a histerese a 0, quantas idas e vindas há em 500 ticks?

«Preparar» deixa tudo pronto: carrega em Play até ao tick 500 e olha para o contador.

Acrescenta a diversão: quantas setas NOVAS precisa a máquina de estados?

Conta as que saem de cada estado e pensa nas que chegam ao novo.

Sem travões (histerese 0, sem acabar o que começou, inércia 0), que cérebro passa menos ticks aflito em 500?

«Preparar» tira os travões; depois «Os quatro ao mesmo tempo».

Cérebro

Está em passear. As suas setas, por ordem (a primeira que se cumpre, dispara):

  • → comer se Fome > 50 (35)
  • → dormir se Sono > 50 (25)
  • → tomar duche se Higiene > 50 (20)
Os seus parâmetros (aplicam-se continuamente)
O que há que acrescentar a cada cérebro para a diversão
Máquina de estados12 → 20+8
Árvore de comportamento11 → 14+3
Utilidade4 → 5+1
GOAP (planear)6 → 8+2