Bots em Counter Strike Projecto de AASM 2004/2005
O Jogo O que é o Half-Life? O que é um MOD do Half-Life? http://half-life.sierra.com/ http://www.planethalflife.com/ O que é um MOD do Half-Life? Counter Strike, Team Fortress Classic, Deatmatch Classic O que é o Counter Strike? First-person-shooter Terroristas vs Contra-terroristas Cenários: (Des)armadilhar bombas Salvar reféns Proteger/assassinar VIPs
2. O Projecto (1\2) Mapas: Equipas: Arquitecturas: Cooperação: do tipo “Bomba”; simples (sem escadas, elevadores, etc.); Equipas: Desenvolvimento de bots para ambas as equipas: terroristas e contra-terroristas; Arquitecturas: Exploração de bots com diferentes arquitecturas (reactivo com estado interno, BDI); Cooperação: Trabalho de equipa; Comunicação;
2. O Projecto (2\2) Tópico adicional: Análise e comparação: Temática: O elemento criativo – emoções, arquitecturas híbridas, realismo, aprendizagem, etc.; Análise e comparação: Estudo das arquitecturas e abordagens seguidas deverá constar no relatório; Temática: Realismo; Estratégias inteligentes, etc.
3. AASM Bot SDK Qual o enquadramento deste SDK no projecto? Porquê criar um SDK? Em que bots se baseou o SDK? Porquê? YaPB (POD Bot): boa arquitectura de navegação RACC: abordagem orientada à IA
4.Como instalar Bots? Estrutura de ficheiros de um MOD do Half-Life Todos MODs seguem a mesma estrutura Metamod Permite correr mais do que um MOD em simultâneo Instalação de Bots DLL Ficheiros de configuração Ficheiros de waypoints Instalação do AASM Bot SDK…
5. Exemplo 1: Navegação & Waypoints (1\2) Correr exemplo do SDK… O que são waypoints?
5. Exemplo 1: Navegação & Waypoints (2\2) Como funciona a navegação no AASM Bot SDK?
6. Exemplo 2: Comunicação Existem dois tipos de comunicação: Chat - Flexível, genérico Rádio – Mensagens pré definidas, com som Mostrar exemplo do AASM Bot SDK… Interface de depuração do AASM Bot SDK: debugPrintToServer - Impressão na consola debugLog – Escrita num ficheiro de log
7. O Ciclo do Bot
8. Exemplo 3: API de Combate Mostrar exemplo do AASM Bot SDK Primitivas: Disparar Mudar arma (Des)armadilhar bomba Etc.