Swarm Intelligence in Strategy Games
Desenvolver um jogador inteligente para um jogo não é tarefa fácil. Cada Jogador Artificial Inteligente é criado especificamente para o seu contexto e, por essa razão, é não é facilmente reutilizável. No entanto, alguns dos desenvolvimentos a mais baixo nível possuem maior significância tanto para jogos como para outras área — como é o caso de algoritmos de procura, optimização de caminhos (pathing), ou optimização geral. Neste trabalho, desenhámos e implementámos um algoritmo que combina conceitos de Inteligência de Enxame (Swarm Intelligence) com os mechanismos de decisões tradicionais utilizados em jogadores artificiais inteligentes — especificamente aqueles usados em Jogos de Estratégia. O nosso principal objectivo era, portanto, averiguar a adequação do conhecimento actual em Inteligência de Enxame para com os requisitos do Jogador Artificial Inteligente, seguido do desenvolvimento do algoritmo de teste em si. O conceito básico passo pelo o afastamento da comum solução centralizada, e aproximação de uma solução descentralizada, complementada pela aplicação de algumas noções relativas à Inteligência de Enxame actualmente documentadas. O algoritmo resultante estava responsável pelo método de comunicação entre as unidades de um Jogador Artificial Inteligente. Um Jogador Artificial Inteligente de implementação centralizada e scriptada foi usado como referência para a nossa solução baseada em Inteligência de Enxame. Este trabalho é assim uma tentativa de resposta aos problemas resultantes de Jogadores Artificiais previsíveis — um problema comum de implementações scriptadas — e melhorar a sua capacidade de adaptação — ao tirar partido do comportamento emergente resultante dos conceitos de Inteligência de Swarm.
Believable Interactions Between Synthetic Characteres
The human player is often required to interact and cooperate with synthetic characters, which also cooperate and interact with each other. However, unless the action is tightly linear and scripted, the expression of interaction is often confusing and difficult to understand by the human player. This work explores how traditional animation principles can be applied to the expression of interaction between the actors, both synthetic and human, and make the communication and cooperation more believable and the experience more immersive. To validate our work, we implemented our model in a multiplayer sports-game, where each character is an artificial player, and asked participants to evaluate videos of the interactions. The data we collected suggests that our approach not only significantly improves believability, but also makes the interactions between agents easier to understand and the action easier to interpret.
My Army: Strategy game engine
O presente documento aborda todo o processo necessário para se refazer o atual motor de jogo do “My Army”, para isso foi efetuada uma análise detalhada de forma a se verificar o estado do mesmo, o funcionamento do respetivo simulador de batalhas, bem como uma análise entre a linguagem do atual simulador e a nova linguagem selecionada para se compreender a capacidade de cada uma destas solucionar os problemas existentes. De seguida, apresenta-se uma possível solução para se resolverem estes problemas, tendo em conta toda a verificação anteriormente efetuada. Após várias semanas de desenvolvimento e de correção de problemas, a nova versão do simulador ficou concluída, porém ainda foi alvo de uma nova análise para se inserir paralelismo de modo a melhorar o seu desempenho. Após várias tentativas, chegou-se à solução paralela que oferecia maior segurança e com uma melhoria significativa no desempenho. Por fim, todas as versões do simulador de batalhas foram testadas utilizando-se vários exemplos de batalhas retirados do jogo para se realizar uma análise comparativa e assim demonstrar-se o desempenho de cada uma delas.
Cooperation through Reinforcement Learning in a Collaborative Game
This work has the objective of creating agents that are able to work together with other previously unknown teammates and without any a priori coordination for the collaborative game Geometry Friends. Starting with an agent for the circle character that uses a reinforcement learning approach, this work continues its development to further improve its behavior and performance. This process goes through various stages, analyzing the agent's various components and adjusting their behavior when necessary and possible to improve the agent's performance. These mechanisms are then extrapolated for the other character of the game, the square, adapting the components whenever necessary for the specific problems the square character faces. After both agents are completed, the work focuses on problems of coordination between the agents and the difficulties that the implementation brings to the extension of the agents for the cooperative problems. During the various phases of development, the agents are tested determine the impact that each change has on their performance. The tests suggest that the internal functionalities result in some incompatibilities with the intended behavior, since it limits the behaviors that can be added to the agents. While there is an improvement of the circle agent, the square and cooperative performances are below expectation.