![Page 1: Bots em Counter Strike Projecto Geral de AASM 2005/2006](https://reader035.vdocuments.pub/reader035/viewer/2022062319/552fc13d497959413d8dd3a5/html5/thumbnails/1.jpg)
Bots em Counter Strike
Projecto Geral de AASM 2005/2006
![Page 2: Bots em Counter Strike Projecto Geral de AASM 2005/2006](https://reader035.vdocuments.pub/reader035/viewer/2022062319/552fc13d497959413d8dd3a5/html5/thumbnails/2.jpg)
O Jogo O que é o Half-Life?
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)armar bombas Salvar reféns Proteger/assassinar VIPs
![Page 3: Bots em Counter Strike Projecto Geral de AASM 2005/2006](https://reader035.vdocuments.pub/reader035/viewer/2022062319/552fc13d497959413d8dd3a5/html5/thumbnails/3.jpg)
2. O Projecto (1\2) Mapas:
do tipo “Bomba”; Equipas:
Desenvolvimento de bots para ambas as equipas: terroristas e contra-terroristas;
Arquitecturas: Exploração de bots com diferentes arquitecturas
(reactiva com estado interno, BDI, etc.); Cooperação:
Trabalho de equipa; Comunicação;
![Page 4: Bots em Counter Strike Projecto Geral de AASM 2005/2006](https://reader035.vdocuments.pub/reader035/viewer/2022062319/552fc13d497959413d8dd3a5/html5/thumbnails/4.jpg)
2. O Projecto (2\2)
Tópico adicional: O elemento criativo – emoções, realismo,
aprendizagem, narrativa, etc.; Análise e comparação:
Comparação estatística do desempenho das várias arquitecturas;
Temática: Realismo; estratégias de combate;
formações de grupo; etc.
![Page 5: Bots em Counter Strike Projecto Geral de AASM 2005/2006](https://reader035.vdocuments.pub/reader035/viewer/2022062319/552fc13d497959413d8dd3a5/html5/thumbnails/5.jpg)
3. AASM Bot SDK O que é o AASM Bot SDK?
Porquê criar um SDK?
Em que bots se baseou o SDK? Porquê? YaPB (Yet Another POD Bot)
Bastante comportamento Navegação por Waypoints Separação conceptual sensores, actuadores, decisão Engenharia de software
POD Bot Bot original para MODs do Half-Life
![Page 6: Bots em Counter Strike Projecto Geral de AASM 2005/2006](https://reader035.vdocuments.pub/reader035/viewer/2022062319/552fc13d497959413d8dd3a5/html5/thumbnails/6.jpg)
4. Como instalar Bots? MODs seguem estrutura de ficheiros bem definida
Metamod Permite correr mais do que um MOD em simultâneo
Instalação do AASM Bot SDK DLL (aasmBot.dll) Ficheiro de configuração (aasmBot.cfg)
Parâmetros do jogo, bots iniciais, etc. Ficheiros de waypoints (‘wptcs16/’ e ‘wptdefault/’)
![Page 7: Bots em Counter Strike Projecto Geral de AASM 2005/2006](https://reader035.vdocuments.pub/reader035/viewer/2022062319/552fc13d497959413d8dd3a5/html5/thumbnails/7.jpg)
5. Ciclo de um Bot
modAPI:StartFrame
Bot::main
Bot::think
Bot::preThink
Bot::postThink
Hierarquia de Bots Ciclo de um Bot
+main()#preThink()#think()#postThink()
Bot
TerroristBot CounterTerroristBot
NavigationSampleTBot NavigationSampleCTBot
CommunicationSampleBot CombatSampleBot
ReactiveTBotBdiTBot ReactiveCTBotBdiCTBot
![Page 8: Bots em Counter Strike Projecto Geral de AASM 2005/2006](https://reader035.vdocuments.pub/reader035/viewer/2022062319/552fc13d497959413d8dd3a5/html5/thumbnails/8.jpg)
6. API Navegação (1\2) O que são waypoints? Correr exemplo
‘navegação’…
![Page 9: Bots em Counter Strike Projecto Geral de AASM 2005/2006](https://reader035.vdocuments.pub/reader035/viewer/2022062319/552fc13d497959413d8dd3a5/html5/thumbnails/9.jpg)
6. API Navegação (2\2) Como funciona a navegação no AASM Bot
SDK?
+setDestination(in destination)+setMoveSpeed(in speed : float)+setSideSpeed(in speed : float)+detectCollision()+handleCollision()
Navigation
+moveToWaypoint(in destinationWaypoint) : bool+update() : bool+setIsAutomaticWaypointNavigation(in isAutomatic : bool)
WaypointNavigation
moveToWaypoint
update
Atingiu destino?
Sim
Não
![Page 10: Bots em Counter Strike Projecto Geral de AASM 2005/2006](https://reader035.vdocuments.pub/reader035/viewer/2022062319/552fc13d497959413d8dd3a5/html5/thumbnails/10.jpg)
7. API Comunicação
Existem dois tipos de comunicação: Chat - Flexível, genérico Rádio – Mensagens pré definidas, com
som
Correr exemplo ‘comunicação’…
![Page 11: Bots em Counter Strike Projecto Geral de AASM 2005/2006](https://reader035.vdocuments.pub/reader035/viewer/2022062319/552fc13d497959413d8dd3a5/html5/thumbnails/11.jpg)
8. Depuração
Depuração através do .Net Leiam ‘docs/debbuging.htm’
Interface de depuração: debugPrintToServer - Impressão na
consola debugLog – Escrita num ficheiro de log
![Page 12: Bots em Counter Strike Projecto Geral de AASM 2005/2006](https://reader035.vdocuments.pub/reader035/viewer/2022062319/552fc13d497959413d8dd3a5/html5/thumbnails/12.jpg)
9. APIs de Combate, Finanças e Visão
Correr exemplo ‘combate’… Primitivas:
Disparar Mudar arma (Des)armar bomba Comprar Etc.