Disciplinas
Inteligência Artificial para Jogos
Reconhecer as diferenças entre a IA tradicional e aplicação de técnicas de IA ao desenvolvimento de Jogos de Computador, onde outros factores como a jogabilidade são mais importantes que a inteligência do adversário. Conhecer os problemas práticos do desenvolvimento de IA para Jogos de Computador, bem como as diferentes vertentes das técnicas aplicadas em Jogos de Computador comerciais. Saber desenhar e construir um sistema de IA para um jogo de computador, qualquer que seja o seu estilo: acção, desporto, estratégia, narrativa, etc.
Agentes Autónomos e Sistemas Multi-Agente
Adquirir noções gerais de agentes e sistemas multi-agente; saber identificar e classificar agentes e ambientes, de acordo com diferentes propriedades. Saber desenvolver sistemas complexos e de diferentes áreas de aplicação, usando uma metodologia orientada a agentes. Saber especificar uma sociedade de agentes para a resolução de um problema concreto. Ter a capacidade de conceber agentes com arquiteturas reativas, deliberativas e híbridas. Ter a capacidade de criar sociedades de agentes que comunicam, de uma forma prática, usando linguagens e plataformas adequadas.
Computação Gráfica para Jogos
Computação gráfica para jogos cobre aspetos teóricos e práticos do desenvolvimento de motores gráficos para videojogos (game engines). Aborda os diferentes subsistemas presentes num motor de jogo, incluindo, entre outros, subsistemas de rasterização, animação de personagens, e físicos, e discute a articulação necessária entre os vários subsistemas para suportar o desenvolvimento de jogabilidade. Após a frequência desta disciplina, os alunos deverão compreender como funciona um motor gráfico moderno e serem capazes de desenvolver os seus próprios motores gráficos para jogos.
Design de Jogos
Esta disciplina permite ao aluno adquirir capacidades para concepção de uma experiência de jogo e desenvolvimento de protótipos que realizem essa experiência. As capacidades são desenvolvidas fomentando a discussão sobre o que é um jogo, quais são os seus constituintes e qual a relação do jogo com os seus jogadores (tendo em conta as suas diferenças). O aluno desenvolve o seu trabalho com base em documentos de design e construção de protótipos.
Metodologia de Desenvolvimento de Jogos
Dar ao alunos uma visão geral das diferentes metodologias e tecnologias envolvida no desenvolvimento de videojogos discutindo as principais questões de cada uma delas. Dotar os alunos de ferramentas e técnicas para desenvolver interfaces de videojogos tendo especial atenção aos modos de controlo usados. Dotar os alunos de capacidade de reflecção sobre a jogabilidade e a experiência do jogador seguindo uma perspectiva de modelação conceptual juntamente com uma perspectiva empírica de realização de testes com jogadores. Salientar processos de exploração da experiência na perspectiva do jogador.
Produção de Conteúdos Multimédia
Conhecer os vários tipos de informação multimédia e como os manipular para a produção de conteúdos. Reconhecer as características de um processo de Produção de Conteúdos Multimédia. Entender os constrangimentos tecnológicos que se colocam na Produção, nomeadamente nos aspetos de captura, codificação, processamento e visualização dos vários media. Conhecer os vários tipos de ferramentas de autoria disponíveis. Produzir conteúdos Multimédia; Conhecer os vários contextos em que o multimédia por ser consumido, com ênfase em aspectos de rede (requisitos de largura de banda, tempo de latência, sincronização, etc.) e dispositivos móveis. Introduzir algumas formas avançadas de utilização de multimédia como a modelação procedimental, arte generativa e realidade aumentada. Aplicar métodos eficientes de pesquisa de informação multimédia baseada no conteúdo.
Teses
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.
E-lumination - Lighting 3D Scenes Using Examples
Lighting has much more importance than simply establishing visibility. In cinematography, theatre and videogames, good lighting is expected to create images with emotional content, set atmosphere and mood, direct attention and provide depth to a two-dimensional image. Lighting design is the process of finding light parameters: positions, directions, colours, and intensities to achieve the visual properties wanted for a specific scene. The traditional method of lighting design for a scene is iterative, requiring trial and error until the desired goal is reached. This is a repetitive and tedious work, which requires technical and artistic expertise in the field. Inverse lighting design aims to provide designers with semi-automated approaches and easy to use tools, to configure lighting for scenes, minimizing the time and expertise needed. This work will explore lighting by example. More specifically, the possibility of using videos and images as examples for lighting 3D scenes. The major goal of the proposed system is to emulate in the virtual scenes the same mood present on the short videos or images used as input. Tests were conducted with users, rating the mood of images used as input of the system and the resulting automatically illuminated 3D scenes. The obtained results were satisfactory, presenting some similar ratings.