TDC 2013 - POA - Blind Counter-Strike: um caso de uso do Arduino
Agentes em Counter-Strike IST, AASM, 2007-2008. Agentes em Counter-Strike2 O Jogo Counter-Strike é...
Transcript of Agentes em Counter-Strike IST, AASM, 2007-2008. Agentes em Counter-Strike2 O Jogo Counter-Strike é...
Agentes em Counter-StrikeIST, AASM, 2007-2008
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
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
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
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)
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
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
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
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
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
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
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
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
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