Vou tentar fazer usando InferKit; segue abaixo o texto gerado:
Este não é um post real.
No momento, minhas postagens não são exibidas.
Ao visualizar uma postagem no perfil de um usuário, todos os comentários ficam visíveis. Isso se deve a um bug no OpenAI e estou trabalhando em uma correção.
Por favor, habilite o JavaScript para ver os comentários fornecidos pelo Disqus.
Observe que os comentários com links que não são relevantes para a postagem não serão exibidos.
Postagens anteriores feitas por mim
Em 08/01/16, escrevi um post sobre o desenvolvimento da ferramenta que gerou este post.
Em 27/03/16, escrevi um post sobre o desenvolvimento da ferramenta que gerou este post.
Em 13/07/16, escrevi um post sobre o desenvolvimento da ferramenta que gerou este post.
Em 24/09/16, escrevi um post sobre o desenvolvimento da ferramenta que gerou este post.
Em 22/12/16, escrevi um post sobre o desenvolvimento da ferramenta que gerou este post.
Em 02/01/17, escrevi um post sobre o desenvolvimento da ferramenta que gerou este post.
Em 01/06/17, escrevi um post sobre o desenvolvimento da ferramenta que gerou este post.
Em 10/02/17, escrevi um post sobre o desenvolvimento da ferramenta que gerou este post.
Em 10/03/17, escrevi um post sobre o desenvolvimento da ferramenta que gerou este post.
Em 04/04/17, escrevi um post sobre o desenvolvimento da ferramenta que gerou este post.
Em 21/03/17, escrevi um post sobre o desenvolvimento da ferramenta que gerou este post.
Em 28/03/17, escrevi um post sobre o desenvolvimento da ferramenta que gerou este post.
Em 05/05/17, escrevi um post sobre o desenvolvimento da ferramenta que gerou este post.
Eu não estava logado.
O lado da IA:
O objeto final do jogo levou 3,5 horas para ser construído. Você pode ver um vídeo de lapso de tempo da IA movendo o objeto no vídeo abaixo. O modelo usa A* e a rede de árvore aleatória.
As regras usadas atualmente para determinar como mover o objeto são:
Comece com uma posição inicial. Mova os dois primeiros pontos alterando os dois primeiros valores. Mova o primeiro ponto alterando os dois primeiros valores. Em seguida, mova o segundo ponto alterando os dois primeiros valores. Repita os passos 1 e 2, invertendo a ordem.
O número de iterações é bastante alto, assim como o número de etapas, como você verá no vídeo.
Você pode ver no vídeo que a IA tenta mover o objeto para a primeira posição de destino. No entanto, nem sempre é bem-sucedido, como você verá no próximo vídeo.
O código que grava o código AI no gameobject e o código que realmente executa o código estão no módulo ARMA_VECTOR_AI.
O resultado
Aqui está o vídeo do resultado.
O objeto se move praticamente como na imagem abaixo, embora se mova na direção oposta e para cima e para baixo mais de uma vez.
A maneira como o objeto se move não é apenas aleatória, no entanto. Ele se move com base nas regras determinadas pela IA, o que faz com que pareça aleatório, mas não é. Em outras palavras, você pode fazer a IA decidir se mover em uma direção específica, mas também pode fazê-la decidir se mover em uma direção diferente.
Aqui está um vídeo mostrando o resultado da movimentação do objeto pela sala.
O código para mover o objeto de uma posição para a outra é:
moveObjectToPosition: {
dentro: {
se (posição)
moveObjectToPosition(posição,1,0);
senão
moveObjectToPosition(posição,1,1);
}
}
O programa que escreve o código para mover o objeto é:
Programa: {
id: ARMA_VECTOR_AI,
idName: posição
programa: moveObjectToPosition
hora de início: 0
programEndTime: 1
self.program.run
self.program.run(
self.id,
self.idName,
self.startTime,
self.programEndTime
)
}
Observe que o objeto ARMA_VECTOR_AI é usado em vez do objeto ARMA_VECTOR_UI. Isso ocorre porque a IA usa a rede de árvores aleatórias para determinar qual rota seguir.
Aqui está um vídeo mostrando a IA movendo o objeto pela sala:
Você pode ver que a IA segue um caminho específico pela sala, mas a direção que ela toma não é determinada pelo caminho em si, mas sim pela posição final do caminho na sala.
Um grande número de caminhos é usado na pesquisa. Isso ocorre porque a IA não deseja apenas mover o objeto para a primeira posição de destino, mas também movê-lo para a segunda posição de destino.
Aqui está um vídeo mostrando o resultado da pesquisa:
Isso não é muito surpreendente, pois a IA parece ser a mesma do jogo anterior.
Existem algumas pequenas diferenças, no entanto. Nem sempre o objeto para no primeiro destino, como se vê no segundo vídeo.
Ele para em ambos os destinos, mas o faz muito rapidamente, na ordem em que os vídeos foram feitos.