bots em counter strike projecto geral de aasm 2005/2006

Post on 18-Apr-2015

113 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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;

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.

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

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/’)

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

6. API Navegação (1\2) O que são waypoints? Correr exemplo

‘navegação’…

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

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’…

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

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

Correr exemplo ‘combate’… Primitivas:

Disparar Mudar arma (Des)armar bomba Comprar Etc.

top related