Oferta Formativa - Sinopse

Inteligência Artificial em Jogos

Código: 425205
Ano Letivo: 2015/16
Departamento: Informática
ECTS: 6
Carga horária: T: 2:00 h; TP: 1:30 h; OT: 2:00 h;
Área Científica: Informática; 

Objetivos da Unidade Curricular

O desenvolvimento de jogos tem-se imposto como uma área de sucesso da informática. As receitas geradas pela comercialização destas aplicações atinge o nível da indústria cinematográfica. A nível técnico, os requisitos de desempenho destas aplicações obrigam a explorar as máquinas ao limite. A pressão sobre a indústria para atingir e manter estes níveis é considerável, forçando inovações ao nível da interactividade e dos desafios apresentados para estratégias de jogo.

Esta disciplina permite aos alunos contactar com técnicas actualmente usadas no desenvolvimento da componente inteligente dos jogos. O objectivo é dar aos alunos a oportunidade de alargar os conhecimentos de Inteligência Artificial e aplicá-los em novas situações reais. O foco central é o estudo e análise de diversas técnicas de IA aplicadas a jogos, embora em algumas situações sejam estudadas outras abordagens que, apesar de apresentarem resultados promissores, ainda não tiveram aplicação prática nesta área.


Pré-requisitos

  • Introdução à Inteligência Artificial (26732)

Conteúdos

História e evolução da aplicação da IA em jogos
Representação e comunicação
Movimentação e Planeamento de trajectos
Arquitecturas e comportamentos de personagens
Técnicas de Planeamento
Aprendizagem e Adaptação de Comportamentos
Tácticas e Estratégias
Aplicação em casos reais 

 

Descrição detalhada dos conteúdos programáticos

Componente Teórica

Introdução [1 semana]
Apresentação da disciplina; Evolução da aplicação da IA em jogos;
Situação actual; Os vários campos de aplicação; Macro e micro
gestão;
Representação e comunicação [2 semanas]
Estruturas para representação do ambiente; Características estáticas
e dinâmicas; Objectos e entidades autónomas; Ambientes 2D e 3D;
Comunicação, percepção e acção
Movimentação e Planeamento de trajectos [2 semanas]
Movimentação evitando colisões; Previsão de efeitos físicos;
Movimentação em 3D; Algoritmos de planeamento de trajectos;
Optimização de trajectos; Planeamento hierárquico e contínuo de
trajectos
Arquitecturas e Comportamentos [3 semanas]
Árvores de decisão; Máquinas de estados finitos; Arquitecturas
Fuzzy; Arquitecturas baseadas em eventos; Arquitecturas
baseados em guiões (scripts); Comportamentos orientados por
objectivos; Comportamentos baseados em regras
Técnicas de Planeamento [1.5 semanas]
Determinação da próxima acção; Planeamento clássico; Planeamento
reactivo; Planeamento hierárquico; Planeamento contínuo;
Aprendizagem e Adaptação de Comportamentos [1.5 semanas]
Adaptação de comportamentos; Antecipação dos efeitos de acções;
Aprendizagem por reforço; Modelação do adversário; Aplicação de
redes neuronais e algoritmos genéticos;
Tácticas e Estratégias [2 semanas]
Comportamentos de grupo; Coordenação de acções; Objectivos comuns
Casos Reais [1 semana]
Análise de casos reais; Sucessos e falhas; Grau de autonomia das
entidades; Micro gestão versus macro gestão; Alternativas de
aplicação

 

Componente Teórica-Prática

Aplicação das metodologias estudadas em diversos casos de estudo reais. Desenvolvimento da componente inteligente de um jogo recorrendo a diferentes técnicas, acompanhando os conceitos apresentados nas aulas teóricas. Exploração de várias plataformas de desenvolvimento de jogos: PyGame, Torque, Unreal Development Kit, Unity, Panda 3D, Crysis, XNA.

 

Componente Prática

Aplicação das técnicas estudadas em casos e experiências reais realizadas no computador.

 

Bibliografia

Recomendada

Ian Millington, Artificial Intelligence for Games, Morgan Kaufman, 2006
Mat Buckland, Programming Game AI by Example, Wordware publishing, 2005
Brian Schawab, AI Game Engine Programming, Charles River Media, 2004
Steve Rabin ed, AI Game Programming Wisdom 3, Charles River Media, 2006
Steve Rabin ed, AI Game Programming Wisdom 2, Charles River Media, 2004
Steve Rabin ed, AI Game Programming Wisdom 1, Charles River Media, 2002
M. Ghallab, D. Nau and P. Traverso, Automated Planning: Theory and Practice, Morgan Kaufmann, 2004
Stuart Russell and Peter Norvig, Artificial Intelligence: A Modern Approach, Prentice Hall, 2003

 

Outros elementos de estudo

Existem vários motores de jogos de domínio público
que podem ser usados para o desenvolvimento de aplicações (UT, Stratagus ou SCI)
que poderão ser usados em apoio às actividades da
disciplina. Pontualmente para ilustrar pequenos exemplos serão usadas outras
alternativas mais específicas (Player/Stage, Raven ou Webots).

 

Métodos de Ensino

Um método de ensino com uma forte componente prática, onde todos os conceitos teóricos vão sendo aplicados e explorados pelos alunos em situações de jogos reais.

 

Métodos de Avaliação

A avaliação terá um equilíbrio entra uma componente prática,
constituída por um conjunto de trabalhos a realizar ao longo do
semestre e uma componente teórica a avaliar em exame. Propõe-se:
Trabalhos práticos (50%) + Exame teórico (50%)

 

Língua de ensino

Português ou Inglês