agentes em counter-strike ist, aasm, 2007-2008. agentes em counter-strike2 o jogo counter-strike é...

14
Agentes em Counter-Strike IST, AASM, 2007-2008

Upload: internet

Post on 17-Apr-2015

109 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Agentes em Counter-Strike IST, AASM, 2007-2008. Agentes em Counter-Strike2 O Jogo Counter-Strike é um jogo First Person Shooter (FPS) Counter-Strike é

Agentes em Counter-StrikeIST, AASM, 2007-2008

Page 2: Agentes em Counter-Strike IST, AASM, 2007-2008. Agentes em Counter-Strike2 O Jogo Counter-Strike é um jogo First Person Shooter (FPS) Counter-Strike é

Agentes em Counter-Strike 2

O Jogo• Counter-Strike é um jogo First Person Shooter (FPS)

• Counter-Strike é uma mod doHalf-Life (HL)

– Outras mods: Team Fortress, Deathmatch Classic, Natural Selection, etc.

• Adicionalmente, é um FPS orientado a equipas

• Existem duas equipas: terroristas e contra-terroristas

• Existem três tipos de mapas:

– Bomba

– Recuperação de Reféns

– Assassínio de VIP

• Em mapas de bomba, os terroristas devem armar uma bomba e detoná-la, enquanto os contra-terroristas os devem prevenir

Page 3: Agentes em Counter-Strike IST, AASM, 2007-2008. Agentes em Counter-Strike2 O Jogo Counter-Strike é um jogo First Person Shooter (FPS) Counter-Strike é

Agentes em Counter-Strike 3

O Projecto• O objectivo é desenvolver agentes inteligentes para as equipas do Counter-Strike

• O projecto foca em mapas do tipo bomba

– Mapas com obstáculos destrutíveis, portas ou elevadores serão evitados

• Os principais objectivos, que valem 80% da nota, incluem:

– Desenvolver um agente reactivo

– Desenvolver um agente BDI

– Desenvolver estratégias de cooperação para ambas as equipas

– Avaliar e comparar as arquitecturas acima mencionadas

• Um objectivo secundário, que vale 20% da nota, é explorar um tópico adicional

– Sejam criativos. O que gostariam de explorar?

– Algumas sugestões: emoções, interacção com humanos e aprendizagem

Page 4: Agentes em Counter-Strike IST, AASM, 2007-2008. Agentes em Counter-Strike2 O Jogo Counter-Strike é um jogo First Person Shooter (FPS) Counter-Strike é

Agentes em Counter-Strike 4

O Torneio• No final do semestre, os projectos serão confrontados num torneio

• Os agentes submetidos devem restringir-se às interfaces fornecidas

– Batota implica desqualificação imediata

• A pontuação é influenciada pelos seguintes factores:

– Se o objectivo foi atingido

– Número de mortes

– Tempo de sobra após completar o objectivo

• Não existe valor de bónus este ano

Page 5: Agentes em Counter-Strike IST, AASM, 2007-2008. Agentes em Counter-Strike2 O Jogo Counter-Strike é um jogo First Person Shooter (FPS) Counter-Strike é

Agentes em Counter-Strike 5

Planeamento• 1ª Entrega: 26 de Maio, 2008

– Devem entregar a implementação completa do agente reactivo

• Entrega final: 17 de Junho, 2008

• Laboratórios:

– Lab.8 – Introdução ao Projecto

– Lab.9 – Agentes Reactivos (19 de Maio) Não esperem até esta data para começar a trabalhar!!!! Usem a aula para tirar dúvidas/resolver problemas.

– Lab.10 – Agentes BDI & Cooperação (26 de Maio)

– Lab.11– Comparação de Agentes (2 de Junho)

Page 6: Agentes em Counter-Strike IST, AASM, 2007-2008. Agentes em Counter-Strike2 O Jogo Counter-Strike é um jogo First Person Shooter (FPS) Counter-Strike é

Agentes em Counter-Strike 6

Plataforma AASM CS Agents• A plataforma AASM CS Agents suporta a criação de agentes em Counter-Strike

• Fornece sensores e actuadores para interagir com o mundo

• Os módulos da plataforma suportam:

– Navegação, navegação livre e navegação por waypoints

– Combate

– Finanças

– Visão, Audição e Radar

– Comunicação

• Internamente, os agentes em Counter-Strike correm como uma mod do HL

– Uma mod é uma Dynamic Link Library (DLL) gerada a partir do código

Page 7: Agentes em Counter-Strike IST, AASM, 2007-2008. Agentes em Counter-Strike2 O Jogo Counter-Strike é um jogo First Person Shooter (FPS) Counter-Strike é

Agentes em Counter-Strike 7

Ciclo de Vida do Agente

modAPI:StartFrame

Agent::main

Agent::think

Agent::preThink

Agent::postThink

O ciclo de decisão

do agente

Page 8: Agentes em Counter-Strike IST, AASM, 2007-2008. Agentes em Counter-Strike2 O Jogo Counter-Strike é um jogo First Person Shooter (FPS) Counter-Strike é

Agentes em Counter-Strike 8

Interfaces de Navegação (1/2)• Navegação Simples suporta actuadores

de navegação básicos

– Mover para frente/trás, lados, rodar, saltar e abaixar

• Navegação Livre suporta navegação automática para posições no mundo

– Constrói sobre Navegação Simples

• Navegação por Waypoints suporta navegação baseada em grafos

– Posições no grafo chamam-se waypoints

– Waypoints representam conhecimento do mundo: normal, objectivo, acampar, etc.

– Pathfinding inclui procura A* e o F-W shortest path algorithm

– Interface reactiva separada considera apenas waypoints visíveis

– Constrói sobre Navegação Livre

moveToDestination

update

Reached destination?

Yes

No

Page 9: Agentes em Counter-Strike IST, AASM, 2007-2008. Agentes em Counter-Strike2 O Jogo Counter-Strike é um jogo First Person Shooter (FPS) Counter-Strike é

Agentes em Counter-Strike 9

Interfaces de Navegação (2/2)• Mapas com informação de waypoints revista inclui: de_dust, de_dust2, de_airstrip,

de_inferno, de_piranesi, de_survivor

• Estes podem ser utilizados como referência durante o desenvolvimento

• Contudo, a avaliação e o torneio não estão limitados a estes mapas

• Soluções de detecção de colisões e tratamento são fornecidas pela plataforma

– Vide interface agents::interfaces::ICollisionHandler

• Contudo, estes algoritmos podem ser estendidos

– Vide interface agents::interfaces::ICollisionManager

• Counter-Strike é um sistema multi-agente complexo, tratamento de colisões faz parte do desafio de construir agentes inteligentes

Page 10: Agentes em Counter-Strike IST, AASM, 2007-2008. Agentes em Counter-Strike2 O Jogo Counter-Strike é um jogo First Person Shooter (FPS) Counter-Strike é

Agentes em Counter-Strike 10

Interfaces de Combate & Finanças• A Interface de Combate suporta:

– Apontar

– Disparar

– Selecção de armas

– Armar/desarmar bombas

• A Interface de Finanças suporta compra de armas e armadura

Page 11: Agentes em Counter-Strike IST, AASM, 2007-2008. Agentes em Counter-Strike2 O Jogo Counter-Strike é um jogo First Person Shooter (FPS) Counter-Strike é

Agentes em Counter-Strike 11

Interfaces Visão, Audição e Radar• A Interface de Visão suporta:

– Campo de visão de 90º

– Percepcionar outros agentes

– Percepcionar armas no chão

– Percepcionar a bomba

• A Interface de Audição suporta:

– Percepcionar a direcção da bomba com base no tick da bomba

– Influenciada pela distância e tempo para detonação

• A Interface do Radar suporta:

– Percepcionar a localização, com precisão limitada, de colegas de equipa

– Percepcionar a localização de bombas para terroristas

Page 12: Agentes em Counter-Strike IST, AASM, 2007-2008. Agentes em Counter-Strike2 O Jogo Counter-Strike é um jogo First Person Shooter (FPS) Counter-Strike é

Agentes em Counter-Strike 12

Interface de Comunicação• Existem dois tipos de comunicação: chat e rádio

• Chat fornece comunicação genérica e flexível

– Existe chat de equipa e chat global

• Rádio fornece comunicação predefinida com som

• Para além da mensagem em si, o receptor obtém a seguinte informação:

– Tempo de envio da mensagem

– Localização no radar do emissor

Page 13: Agentes em Counter-Strike IST, AASM, 2007-2008. Agentes em Counter-Strike2 O Jogo Counter-Strike é um jogo First Person Shooter (FPS) Counter-Strike é

Agentes em Counter-Strike 13

Depuração• Depuração passo-por-passo no MS Visual Studio 2005

– Vide {SDK Home}\aasmCsAgents\docs\debugging.htm

• Biblioteca de depuração

– Imprimir para consola

– Log para um ficheiro

– Vide espaço de nomes util::debug

Page 14: Agentes em Counter-Strike IST, AASM, 2007-2008. Agentes em Counter-Strike2 O Jogo Counter-Strike é um jogo First Person Shooter (FPS) Counter-Strike é

Agentes em Counter-Strike 14

Documentação Adicional• API em {SDK Home}\aasmCsAgents\docs\api\index.html

• Ajuda para instalação, depuração e waypoints em {SDK Home}\aasmCsAgents\docs\

• Recursos na secção ‘Projecto’ da página da disciplina