Planejamento aplicado a jogos de computador: uma implementac ¸˜ ao baseada em Redes de Tarefas Hier´ arquicas Marcos A. Castilho 1 , Luis Allan K ¨ unzle 1 , Silvio A. Porto 1 , Fabiano Silva 1 1 Departamento de Inform´ atica – Universidade Federal do Paran´ a (UFPR) Caixa Postal 19081 – 81531-980 – Curitiba – PR – Brasil castilho@ufpr.br, kunzle@inf.ufpr.br, sap st@yahoo.com.br, fabiano@inf.ufpr.br Resumo. Neste trabalho n´ os investigamos como planejadores s˜ ao atualmente utilizados na ´ area de jogos de computador. Analisamos os planejadores base- ados em redes de tarefas hier´ arquicas e apresentamos uma nova implmentac ¸˜ ao que ´ e adequada para este tipo de aplicac ¸˜ ao. Abstract. In this work we investigate how planners are used nowadays in computer games. We analyse planners based on hierarquical tasks networks and show a new implementation which is adequate for this kind of aplication. 1. Introduc ¸˜ ao A inteligˆ encia artificial atualmente ´ e considerada pelos desenvolvedores de jogos como parte essencial de um jogo moderno. Mas nem sempre foi assim. No princ´ ıpio o tempo destinado para o desenvolvimento desta era bem limitado e a inteligˆ encia n˜ ao passava de umas poucas regras ou ac ¸˜ oes baseadas em estat´ ısticas. Estas regras ou ac ¸˜ oes geralmente eram escritas diretamente no c ´ odigo do jogo. Desta forma n˜ ao havia como adicionar mais inteligˆ encia ao programa depois de compilado. Tamb´ em havia escassez de recursos para executar os algoritmos de inteligˆ encia artificial devido a cada quadro da animac ¸˜ ao ter um tempo limite para ser montado, o que obrigava os desenvolvedores a sacrificar a IA em favor da computac ¸˜ ao gr´ afica. Embora os desenvolvedores de jogos tenham usado t´ ecnicas melhores desde ent˜ ao, os agentes implementados em jogos s˜ ao essencialmente reativos. Agentes reativos tˆ em como caracter´ ısticas principais a facilidade em obter a pr´ oxima ac ¸˜ ao que dever´ a ser exe- cutada e o baixo custo de implementac ¸˜ ao e execuc ¸˜ ao. Mas, entre os novos desafios, est´ a tornar os agentes deliberativos, ou seja, inserir neles um mecanismo que lhes permita fazer uma an´ alise mais complexa do mundo do que a feita pelos agentes reativos. Geralmente isto ´ e conseguido com o uso de um planejador (Sec ¸˜ ao 2) Entre os planejadores existentes, os mais adequados para esta aplicac ¸˜ ao s˜ ao os semi-autom´ aticos baseados em HTN. Dentre eles uma opc ¸˜ ao ´ e SHOP2, que consiste de um sistema de planejamento baseado em redes de tarefas hier´ arquica que se diferencia dos demais planejadores HTN por fazer planejamento para frente, e assim simplifica o processo de planejamento permitindo um aumento consider´ avel do poder de express˜ ao. O objetivo do nosso trabalho foi implementar o algoritmo de planejamento SHOP2 adaptando-o para que possa ser usado como parte do m´ odulo deliberativo de um agente de jogo. A nossa implementac ¸˜ ao de SHOP2 tem a forma de uma biblioteca orientada a objetos. Desta forma ´ e f´ acil para o programa usu´ ario da biblioteca criar instˆ ancias de 1162