MAC0499 - Trabalho de Formatura Supervisionado

Rule-Based Godot: um arcabouço de Sistemas Baseados em Regras para um motor de jogos

Aluno

Rodrigo Volpe Battistin

Orientador

Dr. Wilson Kazuo Mizutani

Dentre inúmeras aplicações de Inteligência Artificial (IA), a sua presença em jogos eletrônicos é uma das mais perceptíveis para o público geral. As personagens automatizadas são responsáveis por dar vida a uma grande variedade de videogames, demonstrando como é relevante a integração de IA com o desenvolvimento de jogos. Neste trabalho foi criado um plugin para o motor de jogos Godot que funciona como um arcabouço software livre de Sistemas Baseados em Regras. O principal objetivo do projeto é fornecer uma ferramenta que facilite a implementação de comportamentos automatizados para personagens em jogos eletrônicos. Outra meta é permitir que pessoas sem muita experiência em programação consigam definir comportamentos interessantes. Para isso, primeiro foi feito um estudo de material bibliográfico sobre essa técnica de Inteligência Artificial. Em adição, fizemos um aprofundamento na tecnologia do motor de jogos escolhido e uma pesquisa por jogos que utilizam sistemas desse tipo. A seguir, foi definido um processo de desenvolvimento inspirado em metodologias ágeis, com iterações de duas semanas e entregas parciais. Ao final, foi produzido um framework que disponibiliza: a estrutura completa de execução de regras, um subsistema de pareamento de variáveis, interfaces gráfica e textual e vários módulos prontos e reutilizáveis. O complemento foi feito para a Godot Engine 4.1+ e procura se integrar com o ambiente de desenvolvimento da maneira menos aparente e invasiva possível. Além disso, ele foi concebido para ser facilmente extensível, permitindo a adição de novos recursos e funcionalidades que se moldem a usos específicos. Em suma, desenvolvedores de jogos podem usar o plugin criado para definir comportamentos semelhantes aos encontrados nos jogos de referência. Ademais, a aplicação demonstra um uso expressivo de um método de IA incomum na atualidade, mas que costumava ser amplamente utilizado como um tipo de sistema especialista.

Material

Arquivos