bots em counter strike projecto geral de aasm 2005/2006

12
Bots em Counter Strike Projecto Geral de AASM 2005/2006

Upload: internet

Post on 18-Apr-2015

113 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Bots em Counter Strike Projecto Geral de AASM 2005/2006

Bots em Counter Strike

Projecto Geral de AASM 2005/2006

Page 2: Bots em Counter Strike Projecto Geral de AASM 2005/2006

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

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

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

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

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

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

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

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

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

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

9. APIs de Combate, Finanças e Visão

Correr exemplo ‘combate’… Primitivas:

Disparar Mudar arma (Des)armar bomba Comprar Etc.